ОтелПостроительМетра
Построитель метра (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 метр.
Возвращает: ОтелМетр
Пример
АтрибутыОбласти = Новый ОтелАтрибуты();
АтрибутыОбласти.Установить("component", "http-client");
Метр = Провайдер.ПостроительМетра("my-library")
.УстановитьВерсию("1.2.0")
.УстановитьАдресСхемы("https://opentelemetry.io/schemas/1.26.0")
.УстановитьАтрибутыОбласти(АтрибутыОбласти)
.Построить();
Счетчик = Метр.СоздатьСчетчик("http.client.requests");