ОтелПровайдерМетрик
Провайдер метрик (MeterProvider) — центральная точка управления метрами и читателями метрик.
Описание
ОтелПровайдерМетрик реализует спецификацию OpenTelemetry MeterProvider. Хранит кэш объектов ОтелМетр по ключу (имя библиотеки + версия + атрибуты scope), управляет представлениями (Views) и читателями метрик. Поддерживает несколько читателей.
Все публичные методы потокобезопасны.
Рекомендуется создавать через ОтелПостроительПровайдераМетрик.
Методы
ПостроительМетра
Создаёт построитель метра (MeterBuilder). Аналог Java SDK: MeterProvider.meterBuilder("name").
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
ИмяБиблиотеки | Строка | — | Имя инструментирующей библиотеки |
Возвращает: ОтелПостроительМетра
ПолучитьМетр
Создаёт или возвращает из кэша метр для указанной библиотеки. После Закрыть() возвращает no-op метр.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
ИмяБиблиотеки | Строка | — | Имя инструментирующей библиотеки |
ВерсияБиблиотеки | Строка | "" | Версия библиотеки |
АтрибутыОбласти | ОтелАтрибуты | Неопределено | Атрибуты InstrumentationScope |
АдресСхемы | Строка | "" | URL схемы телеметрии |
Возвращает: ОтелМетр
Ресурс
Возвращает ресурс провайдера.
Возвращает: ОтелРесурс
ЧитательМетрик
Возвращает первый зарегистрированный читатель метрик (для обратной совместимости).
Возвращает: ОтелПериодическийЧитательМетрик, Неопределено
ЧитателиМетрик
Возвращает массив всех зарегистрированных читателей метрик.
Возвращает: Массив
СброситьБуфер
Принудительно экспортирует все накопленные метрики через все читатели.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
ТаймаутМс | Число | 0 | Таймаут в миллисекундах (0 — без ограничения) |
Возвращает: ОтелРезультатЭкспорта — агрегированный результат всех читателей
Закрыть
Завершает работу провайдера. Отключает все инструменты, закрывает читателей. Идемпотентен.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
ТаймаутМс | Число | 30000 | Таймаут операции в миллисекундах |
Возвращает: ОтелРезультатЗакрытия
ПринудительноВыгрузитьСРезультатом
Принудительно выгружает все накопленные метрики через читателей.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
ТаймаутМс | Число | 30000 | Таймаут операции в миллисекундах |
Возвращает: ОтелРезультатЗакрытия
СброситьБуферАсинхронно
Асинхронно сбрасывает буфер.
Возвращает: Обещание
ЗакрытьАсинхронно
Асинхронно завершает работу провайдера.
Возвращает: Обещание
ЗарегистрироватьПредставление
Регистрирует представление (View) с селектором инструментов.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
Селектор | ОтелСелекторИнструментов | — | Селектор инструментов |
Представление | ОтелПредставление | — | Представление |
Пример
Провайдер = Новый ОтелПостроительПровайдераМетрик()
.УстановитьРесурс(Ресурс)
.ЗарегистрироватьЧитатель(Читатель)
.Построить();
Метр = Провайдер.ПолучитьМетр("мой-сервис", "1.0.0");
Счетчик = Метр.СоздатьСчетчик("запросы");
Счетчик.Добавить(1);
// Завершение работы
Провайдер.Закрыть();