ОтелПостроительСпана
Построитель спана (SpanBuilder).
Описание
Создаётся через Трассировщик.ПостроительСпана(ИмяСпана). Позволяет настроить спан до его начала. По умолчанию устанавливает родителем текущий спан контекста.
Аналог Java SDK: SpanBuilder.
Конструктор
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
Трассировщик | ОтелТрассировщик | — | Трассировщик |
ИмяСпана | Строка | — | Имя спана |
Методы
УстановитьРодителя
Устанавливает родительский контекст (Context). Принимает только полный контекст, не спан и не контекст спана: спан оборачивается в контекст через ОтелКонтекст.КонтекстСоСпаном().
Родитель определяется по контексту: спан из контекста становится родителем, контекст без спана даёт корневой спан (неявный текущий контекст не используется; без SDK — пустой незаписывающий спан). Заданный контекст передаётся процессорам в ПриНачале.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
Значение | Соответствие, ФиксированноеСоответствие | — | Родительский контекст (Context) |
Возвращает: ОтелПостроительСпана — ЭтотОбъект для fluent API
БезРодителя
Явно указывает, что спан должен быть корневым (без родителя). Отменяет УстановитьРодителя.
Возвращает: ОтелПостроительСпана — ЭтотОбъект для fluent API
УстановитьВидСпана
Устанавливает вид спана.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
Значение | Число | — | Вид из ОтелВидСпана |
Возвращает: ОтелПостроительСпана — ЭтотОбъект для fluent API
УстановитьАтрибут
Добавляет начальный атрибут. Атрибуты, добавленные до НачатьСпан(), передаются сэмплеру.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
Ключ | Строка | — | Имя атрибута |
Значение | Строка, Число, Булево, Массив | — | Значение атрибута |
Возвращает: ОтелПостроительСпана — ЭтотОбъект для fluent API
ДобавитьЛинк
Добавляет линк к другому спану. Линк к контексту, известному при создании спана, лучше задавать здесь, а не через ОтелСпан.ДобавитьЛинк после создания: решение сэмплера (head sampling) учитывает только данные, известные при создании спана.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
КонтекстСпана | ОтелКонтекстСпана | — | Контекст спана |
НовыеАтрибуты | Соответствие | Неопределено | Атрибуты линка |
Возвращает: ОтелПостроительСпана — ЭтотОбъект для fluent API
УстановитьВремяНачала
Устанавливает время начала спана. Время передаётся при создании спана: процессоры видят его уже в ПриНачале.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
Значение | Строка | — | Время начала в наносекундах (Unix epoch) |
Возвращает: ОтелПостроительСпана — ЭтотОбъект для fluent API
НачатьСпан
Создаёт и возвращает настроенный спан. Если семплер решил отбросить спан — возвращает незаписывающий спан (ОтелНезаписывающийСпан — служебный класс, напрямую не создаётся).
Возвращает: ОтелСпан, ОтелНезаписывающийСпан
Пример
Спан = Трассировщик.ПостроительСпана("обработка")
.УстановитьВидСпана(ОтелВидСпана.Сервер())
.УстановитьАтрибут("http.method", "POST")
.УстановитьАтрибут("http.url", АдресЗапроса)
.НачатьСпан();