Skip to content

ОтелПростойПроцессорСпанов ​

Простой (синхронный) процессор спанов.

Описание ​

Экспортирует спаны синхронно в момент их завершения. Не буферизует данные — каждый завершённый спан немедленно передаётся экспортеру. Подходит для разработки и тестирования; в продакшне рекомендуется использовать ОтелПакетныйПроцессорСпанов.

Аналог Java SDK: SimpleSpanProcessor.

Конструктор ​

ПараметрТипПо умолчаниюОписание
ЭкспортерПроизвольный—Экспортер спанов (должен реализовывать интерфейс экспортера)

Методы ​

ПриНачале ​

Вызывается при начале спана. В простом процессоре не выполняет действий.

ПараметрТипПо умолчаниюОписание
СпанОтелСпан—Начавшийся спан
РодительскийКонтекстПроизвольный—Родительский контекст

ПриЗавершении ​

Вызывается при завершении спана. Синхронно экспортирует спан.

ПараметрТипПо умолчаниюОписание
СпанОтелСпан—Завершённый спан

СброситьБуфер ​

Синхронизирует незавершённые операции экспорта: в пределах таймаута дожидается экспорта, начатого в другом потоке, затем сбрасывает буфер экспортера.

ПараметрТипПо умолчаниюОписание
ТаймаутМсЧисло0Таймаут в миллисекундах (0 — без ограничения)

Возвращает: ОтелРезультатЭкспорта — результат сброса буфера экспортера; таймаут, если экспорт в другом потоке не завершился за срок


Закрыть ​

Завершает работу процессора: дожидается текущего экспорта, сбрасывает буфер экспортера (СброситьБуфер) и закрывает экспортер — в пределах общего срока. Экспортер закрывается и после сбоя сброса буфера. Повторный вызов ничего не делает и возвращает успех.

ПараметрТипПо умолчаниюОписание
ТаймаутМсЧисло0Таймаут в миллисекундах (0 — без ограничения)

Возвращает: ОтелРезультатЗакрытия — ошибка сброса буфера или закрытия экспортера; иначе таймаут, если истёк срок; иначе успех

Пример ​

bsl
// OTLP HTTP-экспортер (из подсистемы Экспорт)
Экспортер = Новый ОтелЭкспортерСпанов(Новый ОтелHttpТранспорт("http://localhost:4318"));

Процессор = Новый ОтелПростойПроцессорСпанов(Экспортер);

Провайдер = Новый ОтелПостроительПровайдераТрассировки()
    .ДобавитьПроцессор(Процессор)
    .Построить();

См. также ​