Skip to content

ОтелSdk ​

Главный класс OpenTelemetry SDK — единая точка входа в телеметрию.

Описание ​

Агрегирует ОтелПровайдерТрассировки, ОтелПровайдерЛогирования, ОтелПровайдерМетрик и пропагаторы контекста. Предоставляет shortcut-методы для получения ОтелТрассировщик, ОтелЛоггер и ОтелМетр.

Аналог Java SDK: OpenTelemetrySdk.

Экземпляр создаётся через ОтелПостроительSdk — прямой вызов конструктора в пользовательском коде не рекомендуется.

Не заданный провайдер заменяется no-op провайдером, не заданные пропагаторы — ОтелНоопПропагатор (как в Java OpenTelemetrySdkBuilder). Поэтому shortcut-методы всегда возвращают рабочие объекты: например, у SDK из файла конфигурации без секции tracer_providerПолучитьТрассировщик() возвращает трассировщик, который создаёт незаписывающие спаны. Логгеры no-op провайдера выключены, инструменты его метров не хранят измерений.

Конструктор ​

ПараметрТипПо умолчаниюОписание
ПровайдерТрассировкиОтелПровайдерТрассировкиНеопределеноПровайдер трассировки; не задан — no-op провайдер
ПровайдерЛогированияОтелПровайдерЛогированияНеопределеноПровайдер логирования; не задан — no-op провайдер
ПровайдерМетрикОтелПровайдерМетрикНеопределеноПровайдер метрик; не задан — no-op провайдер
ПропагаторыОтелКомпозитныйПропагаторНеопределеноПропагаторы контекста; не заданы — ОтелНоопПропагатор
НовыйТаймаутЗакрытияМсЧисло30000Таймаут Закрыть без параметра в миллисекундах, 0 — без ограничения

Методы ​

ПровайдерТрассировки ​

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

Возвращает: ОтелПровайдерТрассировки — провайдер трассировки


ПровайдерЛогирования ​

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

Возвращает: ОтелПровайдерЛогирования — провайдер логирования


ПровайдерМетрик ​

Возвращает провайдер метрик.

Возвращает: ОтелПровайдерМетрик — провайдер метрик


Пропагаторы ​

Возвращает пропагаторы контекста.

Возвращает: ОтелКомпозитныйПропагатор, ОтелНоопПропагатор — пропагаторы контекста; ОтелНоопПропагатор, если они не заданы


ПолучитьТрассировщик ​

Shortcut: получить трассировщик. Аналог Java SDK: openTelemetry.getTracer("name").

ПараметрТипПо умолчаниюОписание
ИмяБиблиотекиСтрока—Имя инструментирующей библиотеки
ВерсияБиблиотекиСтрока""Версия библиотеки

Возвращает: ОтелТрассировщик — трассировщик


ПостроительТрассировщика ​

Shortcut: получить построитель трассировщика.

ПараметрТипПо умолчаниюОписание
ИмяБиблиотекиСтрока—Имя инструментирующей библиотеки

Возвращает: ОтелПостроительТрассировщика — построитель трассировщика


ПолучитьЛоггер ​

Shortcut: получить логгер.

ПараметрТипПо умолчаниюОписание
ИмяБиблиотекиСтрока—Имя инструментирующей библиотеки
ВерсияБиблиотекиСтрока""Версия библиотеки

Возвращает: ОтелЛоггер — логгер


ПостроительЛоггера ​

Shortcut: получить построитель логгера.

ПараметрТипПо умолчаниюОписание
ИмяБиблиотекиСтрока—Имя инструментирующей библиотеки

Возвращает: ОтелПостроительЛоггера — построитель логгера


ПолучитьМетр ​

Shortcut: получить метр.

ПараметрТипПо умолчаниюОписание
ИмяБиблиотекиСтрока—Имя инструментирующей библиотеки
ВерсияБиблиотекиСтрока""Версия библиотеки

Возвращает: ОтелМетр — метр


ПостроительМетра ​

Shortcut: получить построитель метра.

ПараметрТипПо умолчаниюОписание
ИмяБиблиотекиСтрока—Имя инструментирующей библиотеки

Возвращает: ОтелПостроительМетра — построитель метра


СброситьБуфер ​

Принудительно отправляет все накопленные данные из всех провайдеров.

ПараметрТипПо умолчаниюОписание
ТаймаутМсЧисло0Таймаут в миллисекундах (0 — без ограничения)

Возвращает: ОтелРезультатЭкспорта — агрегированный результат сброса всех провайдеров


ТаймаутЗакрытия ​

Возвращает таймаут, с которым SDK закрывается, если Закрыть вызван без таймаута. Задаётся построителем (УстановитьТаймаутЗакрытия), при автоконфигурации — переменной OTEL_SDK_SHUTDOWN_TIMEOUT.

Возвращает: Число — таймаут в миллисекундах (0 — без ограничения)


Закрыть ​

Завершает работу всех провайдеров.

ПараметрТипПо умолчаниюОписание
ТаймаутМсЧислоНеопределеноТаймаут завершения в миллисекундах, 0 — без ограничения. Если не задан, действует ТаймаутЗакрытия()

Возвращает: ОтелРезультатЗакрытия — первый неуспешный результат или успешный результат

Пример ​

bsl
Сдк = Новый ОтелПостроительSdk()
    .УстановитьПровайдерТрассировки(ПровайдерТрассировки)
    .УстановитьПровайдерМетрик(ПровайдерМетрик)
    .Построить();

Трассировщик = Сдк.ПолучитьТрассировщик("мой-сервис");
Спан = Трассировщик.НачатьСпан("обработка-запроса");
// ...
Спан.Завершить();

Сдк.Закрыть();

См. также ​