Skip to content

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

Провайдер метрик (MeterProvider) — центральная точка управления метрами и читателями метрик.

Описание

ОтелПровайдерМетрик реализует спецификацию OpenTelemetry MeterProvider. Хранит кэш объектов ОтелМетр по ключу (имя библиотеки + версия + атрибуты scope), управляет представлениями (Views) и читателями метрик. Поддерживает несколько читателей.

Все публичные методы потокобезопасны.

Рекомендуется создавать через ОтелПостроительПровайдераМетрик.

Методы

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

Создаёт построитель метра (MeterBuilder). Аналог Java SDK: MeterProvider.meterBuilder("name").

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

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


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

Создаёт или возвращает из кэша метр для указанной библиотеки. После Закрыть() возвращает no-op метр.

ПараметрТипПо умолчаниюОписание
ИмяБиблиотекиСтрокаИмя инструментирующей библиотеки
ВерсияБиблиотекиСтрока""Версия библиотеки
АтрибутыОбластиОтелАтрибутыНеопределеноАтрибуты InstrumentationScope
АдресСхемыСтрока""URL схемы телеметрии

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


Ресурс

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

Возвращает: ОтелРесурс


ЧитательМетрик

Возвращает первый зарегистрированный читатель метрик (для обратной совместимости).

Возвращает: ОтелПериодическийЧитательМетрик, Неопределено


ЧитателиМетрик

Возвращает массив всех зарегистрированных читателей метрик.

Возвращает: Массив


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

Принудительно экспортирует все накопленные метрики через все читатели.

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

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


Закрыть

Завершает работу провайдера. Отключает все инструменты, закрывает читателей. Идемпотентен.

ПараметрТипПо умолчаниюОписание
ТаймаутМсЧисло30000Таймаут операции в миллисекундах

Возвращает: ОтелРезультатЗакрытия


ПринудительноВыгрузитьСРезультатом

Принудительно выгружает все накопленные метрики через читателей.

ПараметрТипПо умолчаниюОписание
ТаймаутМсЧисло30000Таймаут операции в миллисекундах

Возвращает: ОтелРезультатЗакрытия


СброситьБуферАсинхронно

Асинхронно сбрасывает буфер.

Возвращает: Обещание


ЗакрытьАсинхронно

Асинхронно завершает работу провайдера.

Возвращает: Обещание


ЗарегистрироватьПредставление

Регистрирует представление (View) с селектором инструментов.

ПараметрТипПо умолчаниюОписание
СелекторОтелСелекторИнструментовСелектор инструментов
ПредставлениеОтелПредставлениеПредставление

Пример

bsl
Провайдер = Новый ОтелПостроительПровайдераМетрик()
    .УстановитьРесурс(Ресурс)
    .ЗарегистрироватьЧитатель(Читатель)
    .Построить();

Метр = Провайдер.ПолучитьМетр("мой-сервис", "1.0.0");
Счетчик = Метр.СоздатьСчетчик("запросы");
Счетчик.Добавить(1);

// Завершение работы
Провайдер.Закрыть();