Skip to content

ОтелТрассировщик

Трассировщик — потокобезопасный объект для создания и управления спанами.

Описание

Все публичные методы безопасны для параллельного вызова из нескольких потоков. Создаётся через ОтелПровайдерТрассировки.ПолучитьТрассировщик() или ОтелSdk.ПолучитьТрассировщик(). Аналог Java SDK: Tracer.

Методы

ПостроительСпана

Создает построитель спана (SpanBuilder).

ПараметрТипПо умолчаниюОписание
ИмяСпанаСтрокаИмя спана

Возвращает: ОтелПостроительСпана


Включен

Проверяет, включён ли трассировщик. Имеет двухрежимную семантику:

  • Истина (SDK-режим): IdGenerator + Sampler работают штатно, создаются реальные спаны.
  • Ложь (API-режим): возвращается non-recording Span, IdGenerator не вызывается.

По спецификации: инструментирующий код SHOULD вызывать Включен() непосредственно перед каждым созданием спана, не кэшируя результат надолго.

Возвращает: БулевоИстина, если трассировщик может обрабатывать спаны


НачатьСпан

Начинает новый спан. Если в контексте есть текущий спан, создаёт дочерний; иначе — корневой.

ПараметрТипПо умолчаниюОписание
ИмяСпанаСтрокаИмя спана
ВидСпанаЧислоНеопределеноВид спана из ОтелВидСпана
НачальныеАтрибутыСоответствиеНеопределеноНачальные атрибуты, передаются сэмплеру
ЛинкиМассив из ОтелЛинкНеопределеноНачальные линки

Возвращает: ОтелСпан, ОтелНезаписывающийСпан — спан или незаписывающий спан, если отброшен семплером


НачатьКорневойСпан

Начинает новый корневой спан (без родителя).

ПараметрТипПо умолчаниюОписание
ИмяСпанаСтрокаИмя спана
ВидСпанаЧислоНеопределеноВид спана из ОтелВидСпана
НачальныеАтрибутыСоответствиеНеопределеноНачальные атрибуты
ЛинкиМассив из ОтелЛинкНеопределеноНачальные линки

Возвращает: ОтелСпан, ОтелНезаписывающийСпан


НачатьДочернийСпан

Начинает новый дочерний спан.

ПараметрТипПо умолчаниюОписание
ИмяСпанаСтрокаИмя спана
РодительскийКонтекстОтелСпан, ОтелКонтекстСпанаРодительский спан или контекст спана
ВидСпанаЧислоНеопределеноВид спана из ОтелВидСпана
НачальныеАтрибутыСоответствиеНеопределеноНачальные атрибуты
ЛинкиМассив из ОтелЛинкНеопределеноНачальные линки

Возвращает: ОтелСпан, ОтелНезаписывающийСпан


ОбластьИнструментирования

Возвращает область инструментирования трассировщика.

Возвращает: ОтелОбластьИнструментирования


УстановитьКонфигурация

Обновляет конфигурацию трассировщика.

ПараметрТипПо умолчаниюОписание
ЗначениеОтелКонфигурацияТрассировщикаНовая конфигурация

Пример

bsl
Трассировщик = Сдк.ПолучитьТрассировщик("мой-сервис", "1.0.0");

Спан = Трассировщик.ПостроительСпана("обработка-запроса")
    .УстановитьВидСпана(ОтелВидСпана.Сервер())
    .УстановитьАтрибут("http.method", "GET")
    .НачатьСпан();

Токен = Спан.СделатьТекущим();
Попытка
    // ... логика обработки ...
Исключение
    Спан.ЗаписатьИсключение(ИнформацияОбОшибке());
    Спан.УстановитьСтатус(ОтелКодСтатуса.Ошибка());
КонецПопытки;
Токен.Закрыть();
Спан.Завершить();

См. также