ОтелПостроительТрассировщика
Построитель трассировщика (TracerBuilder): задаёт параметры области инструментирования и получает трассировщик.
Описание
Создаётся через ПостроительТрассировщика(ИмяБиблиотеки) провайдера трассировки или ОтелSdk (SDK передаёт вызов своему провайдеру трассировки). Имя инструментирующей библиотеки задаётся при создании построителя, версия, адрес схемы и атрибуты области — методами построителя. Аналог Java SDK: TracerProvider.tracerBuilder("name").
Построить() получает трассировщик так же, как ПолучитьТрассировщик(ИмяБиблиотеки, ВерсияБиблиотеки, АтрибутыОбласти, АдресСхемы) провайдера: трассировщик с той же областью — именем, версией, адресом схемы и атрибутами — возвращается из кэша провайдера. Пустое имя библиотеки (или Неопределено) допускается: провайдер пишет предупреждение в лог и использует пустое имя.
Незаданные параметры берутся по умолчанию: версия и адрес схемы — пустая строка, атрибутов области нет.
Методы
УстановитьВерсию
Задаёт версию инструментирующей библиотеки.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
Значение | Строка | — | Версия библиотеки |
Возвращает: ОтелПостроительТрассировщика — ЭтотОбъект для fluent API
УстановитьАдресСхемы
Задаёт адрес схемы телеметрии (schema URL) области.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
Значение | Строка | — | Адрес схемы, например "https://opentelemetry.io/schemas/1.29.0" |
Возвращает: ОтелПостроительТрассировщика — ЭтотОбъект для fluent API
УстановитьАтрибутыОбласти
Задаёт атрибуты области инструментирования (InstrumentationScope). Атрибуты входят в идентичность области: трассировщики одной библиотеки с разными атрибутами — разные трассировщики.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
Значение | ОтелАтрибуты | — | Атрибуты области |
Возвращает: ОтелПостроительТрассировщика — ЭтотОбъект для fluent API
Построить
Возвращает трассировщик с заданными параметрами: из кэша провайдера, если трассировщик с такой областью уже создан, иначе новый. Область хранит копию атрибутов: изменение объекта атрибутов после Построить() трассировщик не меняет.
После закрытия провайдера возвращает отключённый трассировщик: его Включен() возвращает Ложь, а спаны он создаёт незаписывающие.
Возвращает: ОтелТрассировщик
Пример
АтрибутыОбласти = Новый ОтелАтрибуты();
АтрибутыОбласти.Установить("component", "http-client");
Трассировщик = Провайдер.ПостроительТрассировщика("my-library")
.УстановитьВерсию("1.2.0")
.УстановитьАдресСхемы("https://opentelemetry.io/schemas/1.29.0")
.УстановитьАтрибутыОбласти(АтрибутыОбласти)
.Построить();
Спан = Трассировщик.НачатьСпан("запрос");
Спан.Завершить();