Skip to content

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

Построитель метра (MeterBuilder): задаёт параметры области инструментирования и получает метр.

Описание ​

Создаётся через ПостроительМетра(ИмяБиблиотеки) провайдера метрик или ОтелSdk. Имя инструментирующей библиотеки задаётся при создании построителя, версия, адрес схемы и атрибуты области — методами построителя. Аналог Java SDK: MeterProvider.meterBuilder("name"). В спецификации OpenTelemetry построителя нет: это обёртка над получением метра (спецификация Metrics API, раздел Get a Meter).

Построить() получает метр так же, как ПолучитьМетр(ИмяБиблиотеки, ВерсияБиблиотеки, АтрибутыОбласти, АдресСхемы) провайдера: метр с той же областью — именем, версией, адресом схемы и атрибутами — возвращается из кэша провайдера, после закрытия провайдера возвращается no-op метр. Пустое имя библиотеки допускается: провайдер пишет предупреждение в лог и сохраняет имя в области как есть.

Незаданные параметры берутся по умолчанию: версия и адрес схемы — пустая строка, атрибутов области нет.

Методы ​

УстановитьВерсию ​

Задаёт версию инструментирующей библиотеки.

ПараметрТипПо умолчаниюОписание
ЗначениеСтрока—Версия библиотеки

Возвращает: ОтелПостроительМетра — ЭтотОбъект для fluent API


УстановитьАдресСхемы ​

Задаёт адрес схемы телеметрии (schema URL) области.

ПараметрТипПо умолчаниюОписание
ЗначениеСтрока—Адрес схемы, например "https://opentelemetry.io/schemas/1.26.0"

Возвращает: ОтелПостроительМетра — ЭтотОбъект для fluent API


УстановитьАтрибутыОбласти ​

Задаёт атрибуты области инструментирования (InstrumentationScope). Атрибуты входят в идентичность области: метры одной библиотеки с разными атрибутами — разные метры.

ПараметрТипПо умолчаниюОписание
ЗначениеОтелАтрибуты—Атрибуты области

Возвращает: ОтелПостроительМетра — ЭтотОбъект для fluent API


Построить ​

Возвращает метр с заданными параметрами: из кэша провайдера, если метр с такой областью уже создан, иначе новый. Область хранит копию атрибутов: изменение объекта атрибутов после Построить() метр не меняет. После закрытия провайдера возвращает no-op метр.

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

Пример ​

bsl
АтрибутыОбласти = Новый ОтелАтрибуты();
АтрибутыОбласти.Установить("component", "http-client");

Метр = Провайдер.ПостроительМетра("my-library")
    .УстановитьВерсию("1.2.0")
    .УстановитьАдресСхемы("https://opentelemetry.io/schemas/1.26.0")
    .УстановитьАтрибутыОбласти(АтрибутыОбласти)
    .Построить();

Счетчик = Метр.СоздатьСчетчик("http.client.requests");

См. также ​