Skip to content

ОтелСпан

Спан трассировки (Span).

Описание

Потокобезопасный объект, содержащий данные одной единицы работы. Создаётся через Трассировщик.НачатьСпан(), НачатьКорневойСпан(), НачатьДочернийСпан() или ОтелПостроительСпана.НачатьСпан().

Важно: Конструктор технически публичен из-за ограничений OneScript, но НЕ должен вызываться напрямую. Используйте только методы трассировщика.

Все методы записи (установка статуса, атрибутов и т.д.) не производят действий, если спан уже завершён.

Методы чтения

Имя

Возвращает имя спана.

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


КонтекстСпана

Возвращает неизменяемый контекст спана (SpanContext).

Возвращает: ОтелКонтекстСпана


ИдРодительскогоСпана

Возвращает идентификатор родительского спана.

Возвращает: Строка — 16 hex-символов или пустая строка для корневого спана


КонтекстРодительскогоСпана

Возвращает контекст спана родителя.

Возвращает: ОтелКонтекстСпана


ВидСпана

Возвращает вид спана.

Возвращает: Число — константа из ОтелВидСпана


ВремяНачала

Возвращает время начала спана.

Возвращает: Дата


ВремяОкончания

Возвращает время окончания спана (Неопределено если не завершён).

Возвращает: Дата, Неопределено


Атрибуты

Возвращает атрибуты спана.

Возвращает: ОтелАтрибуты


События

Возвращает список событий спана.

Возвращает: Массив из ОтелСобытиеСпана


Линки

Возвращает список линков спана.

Возвращает: Массив из ОтелЛинк


Ресурс

Возвращает ресурс спана (из провайдера трассировки).

Возвращает: ОтелРесурс


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

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

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


КодСтатуса

Возвращает код статуса спана.

Возвращает: Число — константа из ОтелКодСтатуса


СообщениеСтатуса

Возвращает сообщение статуса.

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


Завершен

Проверяет, завершён ли спан.

Возвращает: Булево


КоличествоОтброшенныхАтрибутов

Возвращает: Число — количество атрибутов, отброшенных из-за лимита


КоличествоОтброшенныхСобытий

Возвращает: Число — количество событий, отброшенных из-за лимита


КоличествоОтброшенныхЛинков

Возвращает: Число — количество линков, отброшенных из-за лимита

Методы записи

УстановитьСтатус

Устанавливает статус спана. По спецификации OpenTelemetry: статус Ок и Ошибка не могут быть понижены до НеУстановлен. Переход ОкОшибка игнорируется.

ПараметрТипПо умолчаниюОписание
ЗначениеЧислоКод статуса из ОтелКодСтатуса
СообщениеСтрока""Сообщение статуса (только для Ошибка)

Возвращает: ОтелСпанЭтотОбъект для fluent API


ПереопределитьВремяНачала

Изменяет время начала спана.

ПараметрТипПо умолчаниюОписание
НовоеВремяНачалаДатаНовое время начала

СделатьТекущим

Помещает спан в текущий контекст (аналог Java Span.makeCurrent()).

Возвращает: ОтелТокенКонтекста — токен для последующего Закрыть()


Завершить

Завершает спан и отправляет его в цепочку процессоров. После вызова методы записи игнорируются.

ПараметрТипПо умолчаниюОписание
НовоеВремяОкончанияДатаНеопределеноВремя окончания; если не указано — текущее время

Пример

bsl
Спан = Трассировщик.НачатьСпан("SQL-запрос");
Токен = Спан.СделатьТекущим();
Попытка
    Спан.УстановитьСтатус(ОтелКодСтатуса.Ок());
Исключение
    Спан.УстановитьСтатус(ОтелКодСтатуса.Ошибка(), ОписаниеОшибки());
КонецПопытки;
Токен.Закрыть();
Спан.Завершить();

См. также