ОтелГлобальный
Модуль глобального реестра OpenTelemetry (GlobalOpenTelemetry).
Описание
Хранит единственный экземпляр ОтелSdk для всего приложения. Потокобезопасен: использует АтомарнаяСсылка. Аналог Java SDK: GlobalOpenTelemetry.
Если SDK не установлен явно, shortcut-методы используют noop-fallback (SDK с AlwaysOff семплером, без процессоров и читателей), чтобы инструментирующий код не блокировал конфигурацию.
Функции
Установить
Устанавливает глобальный экземпляр OpenTelemetry SDK. Может быть вызван только один раз; повторный вызов вызывает исключение. Потокобезопасен (CAS).
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
Сдк | ОтелSdk | — | Экземпляр SDK |
Получить
Возвращает глобальный экземпляр OpenTelemetry SDK.
Возвращает: ОтелSdk, Неопределено
Сбросить
Сбрасывает глобальный экземпляр. Предназначен для тестов.
СброситьИЗакрыть
Закрывает SDK и сбрасывает глобальный экземпляр. Предназначен для тестов.
ПолучитьТрассировщик
Shortcut: получить трассировщик из глобального SDK.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
ИмяБиблиотеки | Строка | — | Имя инструментирующей библиотеки |
ВерсияБиблиотеки | Строка | "" | Версия библиотеки |
Возвращает: ОтелТрассировщик
ПолучитьЛоггер
Shortcut: получить логгер из глобального SDK.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
ИмяБиблиотеки | Строка | — | Имя инструментирующей библиотеки |
ВерсияБиблиотеки | Строка | "" | Версия библиотеки |
Возвращает: ОтелЛоггер
ПолучитьМетр
Shortcut: получить метр из глобального SDK.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
ИмяБиблиотеки | Строка | — | Имя инструментирующей библиотеки |
ВерсияБиблиотеки | Строка | "" | Версия библиотеки |
Возвращает: ОтелМетр
УстановитьПропагаторы
Устанавливает глобальные пропагаторы контекста. Может использоваться независимо от SDK.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
Пропагаторы | ОтелКомпозитныйПропагатор, ОтелНоопПропагатор | — | Пропагаторы контекста |
ПолучитьПропагаторы
Возвращает глобальные пропагаторы контекста. Если не установлены явно — из SDK. Если SDK не инициализирован — default composite propagator (W3C Trace Context + W3C Baggage).
Возвращает: ОтелКомпозитныйПропагатор, ОтелНоопПропагатор — пропагаторы контекста
Пример
// Регистрация
ОтелГлобальный.Установить(Сдк);
// Использование из любой точки приложения
Трассировщик = ОтелГлобальный.ПолучитьТрассировщик("мой-сервис");
Спан = Трассировщик.НачатьСпан("операция");
// ...
Спан.Завершить();