ОтелТрассировщик
Трассировщик — потокобезопасный объект для создания и управления спанами.
Описание
Все публичные методы безопасны для параллельного вызова из нескольких потоков. Создаётся через ОтелПровайдерТрассировки.ПолучитьТрассировщик() или ОтелSdk.ПолучитьТрассировщик(). Аналог Java SDK: Tracer.
Методы
ПостроительСпана
Создает построитель спана (SpanBuilder).
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
ИмяСпана | Строка | — | Имя спана |
Возвращает: ОтелПостроительСпана
Включен
Проверяет, включён ли трассировщик. Имеет двухрежимную семантику:
Истина(SDK-режим): IdGenerator + Sampler работают штатно, создаются реальные спаны.Ложь(API-режим): возвращается non-recording Span, IdGenerator не вызывается.
По спецификации: инструментирующий код SHOULD вызывать
Включен()непосредственно перед каждым созданием спана, не кэшируя результат надолго.
Возвращает: Булево — Истина, если трассировщик может обрабатывать спаны
НачатьСпан
Начинает новый спан. Если в контексте есть текущий спан, создаёт дочерний; иначе — корневой.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
ИмяСпана | Строка | — | Имя спана |
ВидСпана | Число | Неопределено | Вид спана из ОтелВидСпана |
НачальныеАтрибуты | Соответствие | Неопределено | Начальные атрибуты, передаются сэмплеру |
Линки | Массив из ОтелЛинк | Неопределено | Начальные линки |
Возвращает: ОтелСпан, ОтелНезаписывающийСпан — спан или незаписывающий спан, если отброшен семплером
НачатьКорневойСпан
Начинает новый корневой спан (без родителя).
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
ИмяСпана | Строка | — | Имя спана |
ВидСпана | Число | Неопределено | Вид спана из ОтелВидСпана |
НачальныеАтрибуты | Соответствие | Неопределено | Начальные атрибуты |
Линки | Массив из ОтелЛинк | Неопределено | Начальные линки |
Возвращает: ОтелСпан, ОтелНезаписывающийСпан
НачатьДочернийСпан
Начинает новый дочерний спан.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
ИмяСпана | Строка | — | Имя спана |
РодительскийКонтекст | ОтелСпан, ОтелКонтекстСпана | — | Родительский спан или контекст спана |
ВидСпана | Число | Неопределено | Вид спана из ОтелВидСпана |
НачальныеАтрибуты | Соответствие | Неопределено | Начальные атрибуты |
Линки | Массив из ОтелЛинк | Неопределено | Начальные линки |
Возвращает: ОтелСпан, ОтелНезаписывающийСпан
ОбластьИнструментирования
Возвращает область инструментирования трассировщика.
Возвращает: ОтелОбластьИнструментирования
УстановитьКонфигурация
Обновляет конфигурацию трассировщика.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
Значение | ОтелКонфигурацияТрассировщика | — | Новая конфигурация |
Пример
Трассировщик = Сдк.ПолучитьТрассировщик("мой-сервис", "1.0.0");
Спан = Трассировщик.ПостроительСпана("обработка-запроса")
.УстановитьВидСпана(ОтелВидСпана.Сервер())
.УстановитьАтрибут("http.method", "GET")
.НачатьСпан();
Токен = Спан.СделатьТекущим();
Попытка
// ... логика обработки ...
Исключение
Спан.ЗаписатьИсключение(ИнформацияОбОшибке());
Спан.УстановитьСтатус(ОтелКодСтатуса.Ошибка());
КонецПопытки;
Токен.Закрыть();
Спан.Завершить();