ОтелСпан
Спан трассировки (Span).
Описание
Потокобезопасный объект, содержащий данные одной единицы работы. Создаётся через Трассировщик.НачатьСпан(), НачатьКорневойСпан(), НачатьДочернийСпан() или ОтелПостроительСпана.НачатьСпан().
Важно: Конструктор технически публичен из-за ограничений OneScript, но НЕ должен вызываться напрямую. Используйте только методы трассировщика.
Все методы записи (установка статуса, атрибутов и т.д.) не производят действий, если спан уже завершён.
Методы чтения
Имя
Возвращает имя спана.
Возвращает: Строка
КонтекстСпана
Возвращает неизменяемый контекст спана (SpanContext).
Возвращает: ОтелКонтекстСпана
ИдРодительскогоСпана
Возвращает идентификатор родительского спана.
Возвращает: Строка — 16 hex-символов или пустая строка для корневого спана
КонтекстРодительскогоСпана
Возвращает контекст спана родителя.
Возвращает: ОтелКонтекстСпана
ВидСпана
Возвращает вид спана.
Возвращает: Число — константа из ОтелВидСпана
ВремяНачала
Возвращает время начала спана.
Возвращает: Дата
ВремяОкончания
Возвращает время окончания спана (Неопределено если не завершён).
Возвращает: Дата, Неопределено
Атрибуты
Возвращает атрибуты спана.
Возвращает: ОтелАтрибуты
События
Возвращает список событий спана.
Возвращает: Массив из ОтелСобытиеСпана
Линки
Возвращает список линков спана.
Возвращает: Массив из ОтелЛинк
Ресурс
Возвращает ресурс спана (из провайдера трассировки).
Возвращает: ОтелРесурс
ОбластьИнструментирования
Возвращает область инструментирования (InstrumentationScope).
Возвращает: ОтелОбластьИнструментирования
КодСтатуса
Возвращает код статуса спана.
Возвращает: Число — константа из ОтелКодСтатуса
СообщениеСтатуса
Возвращает сообщение статуса.
Возвращает: Строка
Завершен
Проверяет, завершён ли спан.
Возвращает: Булево
КоличествоОтброшенныхАтрибутов
Возвращает: Число — количество атрибутов, отброшенных из-за лимита
КоличествоОтброшенныхСобытий
Возвращает: Число — количество событий, отброшенных из-за лимита
КоличествоОтброшенныхЛинков
Возвращает: Число — количество линков, отброшенных из-за лимита
Методы записи
УстановитьСтатус
Устанавливает статус спана. По спецификации OpenTelemetry: статус Ок и Ошибка не могут быть понижены до НеУстановлен. Переход Ок → Ошибка игнорируется.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
Значение | Число | — | Код статуса из ОтелКодСтатуса |
Сообщение | Строка | "" | Сообщение статуса (только для Ошибка) |
Возвращает: ОтелСпан — ЭтотОбъект для fluent API
ПереопределитьВремяНачала
Изменяет время начала спана.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
НовоеВремяНачала | Дата | — | Новое время начала |
СделатьТекущим
Помещает спан в текущий контекст (аналог Java Span.makeCurrent()).
Возвращает: ОтелТокенКонтекста — токен для последующего Закрыть()
Завершить
Завершает спан и отправляет его в цепочку процессоров. После вызова методы записи игнорируются.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
НовоеВремяОкончания | Дата | Неопределено | Время окончания; если не указано — текущее время |
Пример
Спан = Трассировщик.НачатьСпан("SQL-запрос");
Токен = Спан.СделатьТекущим();
Попытка
Спан.УстановитьСтатус(ОтелКодСтатуса.Ок());
Исключение
Спан.УстановитьСтатус(ОтелКодСтатуса.Ошибка(), ОписаниеОшибки());
КонецПопытки;
Токен.Закрыть();
Спан.Завершить();