Skip to content

ОтелСэмплер

Модуль — стратегии семплирования.

Описание

Предоставляет встроенные стратегии семплирования спанов и функцию ДолженСэмплировать(). Семплер вызывается провайдером трассировки при создании каждого спана для принятия решения — записывать и экспортировать спан, только записывать, или отбросить.

Аналог Java SDK: Sampler + встроенные реализации.

Стратегии семплирования

ВсегдаВключен

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

Возвращает: Число


ВсегдаВыключен

Все спаны отбрасываются.

Возвращает: Число


ПоДолеТрассировок

Семплирует заданную долю трассировок. Решение принимается на основе trace-id.

Возвращает: Число


НаОсновеРодителя

Наследует решение о семплировании от родительского спана. Для корневых спанов применяет НоваяКорневаяСтратегия (по умолчанию — ВсегдаВключен).

Возвращает: Число


ВсегдаЗаписывать

Все спаны записываются, но не экспортируются (только локальное хранение).

Возвращает: Число

Константы решений семплирования

РешениеЗаписатьИЭкспортировать

Спан записывается в память и экспортируется в бэкенд.

Возвращает: Число


РешениеЗаписать

Спан записывается в память, но НЕ экспортируется.

Возвращает: Число


РешениеОтбросить

Спан не записывается и не экспортируется; возвращается незаписывающий объект.

Возвращает: Число

Служебные функции

Описание

Возвращает строковое описание конфигурации семплера (для логирования).

ПараметрТипПо умолчаниюОписание
СтратегияЧислоСтратегия из этого модуля
ДоляЧисло1.0Доля для ПоДолеТрассировок
КорневаяСтратегияЧислоНеопределеноКорневая стратегия для НаОсновеРодителя

Возвращает: Строка


ДолженСэмплировать

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

ПараметрТипПо умолчаниюОписание
СтратегияЧислоСтратегия семплирования
ДоляЧислоДоля для ПоДолеТрассировок
ИдТрассировкиСтрокаИдентификатор трассировки (32 hex)
РодительСэмплированБулевоФлаг семплирования родительского спана
ЕстьРодительБулевоЕсть ли родительский спан
...ПроизвольныйНеопределеноДополнительные параметры для конкретных стратегий

Возвращает: ОтелРезультатСэмплирования

Пример

bsl
// Семплировать 10% трассировок (родительские наследуют решение)
Провайдер = Новый ОтелПостроительПровайдераТрассировки()
    .УстановитьСэмплер(
        ОтелСэмплер.НаОсновеРодителя(),
        1.0,
        ОтелСэмплер.ПоДолеТрассировок()  // корневая стратегия
    )
    // При построении передаётся доля для корневой стратегии
    .Построить();

См. также