SpanProcessor
SpanProcessor - компонент который предназначен для сбора и изменения трейсов. Он перехватывает трейс дважды: в начале и в конце. Такие обработчики могут выстраиваться в pipeline в порядке регистрации и этот порядок важен! Обработчики изменяющие телеметрию должны быть включен в конвейер раньше, чем например группирующие её. В целом практически любые операции над телеметрией могут быть сделаны как в процессоре так и потом уже в Collector’e.
BatchProcessor
Дефолтная реализация SpanProcessor. Он буферизует данные трейсов и управляет плагинами экспортеров. В общем случае BatchProcessor устанавливается как последний объект SpanProcessor в конвейере обработки. Основные параметры:
- exporter - экспортер, которому передаются интервалы.
- maxQueueSize - максимальное количество интервалов, содержащихся в буфере. Все дополнительные интервалы отбрасываются. Значение по умолчанию равно 2048.
- scheduledDelayMillis - интервал по умолчанию в миллисекундах между двумя последовательными экспортированиями. Значение по умолчанию равно 5000.
- exportTimeoutMillis - продолжительность выполнения процедуры экспортирования до момента ее отмены. Значение по умолчанию равно 30 000.
- maxExportBatchSize - Максимальное количество спанов в экспортировании. Если очередь достигает размера maxExportBatchSize, пакет будет экспортирован, даже если срок scheduledDelayMillis еще не истек. Значение по умолчанию равно 512.
Значения по умолчанию
Если Collector запущен на локально хосте то значение параметра
scheduledDelayMillis
можно и нужно существенно уменьшить.