Skip to content

ОтелНаблюдаемыйСчетчик

Наблюдаемый счётчик (ObservableCounter) — асинхронный монотонный инструмент для суммирования.

Описание

ОтелНаблюдаемыйСчетчик реализует спецификацию OpenTelemetry ObservableCounter. Значения собираются через зарегистрированные callback при каждом сборе метрик.

Используется, когда нет возможности записать значение непосредственно в момент изменения (например, системные счётчики из ОС).

Thin facade — вся логика в ОтелБазовыйНаблюдаемыйИнструмент.

Методы

Все методы унаследованы от ОтелБазовыйНаблюдаемыйИнструмент:

Вид

Возвращает вид инструмента.

Возвращает: Строка"ObservableCounter"


ДобавитьCallback

Регистрирует дополнительный callback для наблюдения. Callback SHOULD NOT бросать исключения — они будут перехвачены и залогированы.

ПараметрТипПо умолчаниюОписание
ДействиеДействиеCallback с сигнатурой (Наблюдение: ОтелНаблюдениеМетрики)

Возвращает: ОтелРегистрацияНаблюдателя — токен для отмены регистрации


УдалитьCallback

Удаляет ранее зарегистрированный callback.

ПараметрТипПо умолчаниюОписание
ДействиеДействиеCallback для удаления

Пример

bsl
// Callback для наблюдения
Процедура СобратьМетрики(Наблюдение) Экспорт
    // системный счётчик CPU ticks
    ЗначениеСчетчика = ПолучитьСчетчикЦПУ();
    Наблюдение.Записать(ЗначениеСчетчика);
КонецПроцедуры

НаблюдаемыйСчетчик = Метр.СоздатьНаблюдаемыйСчетчик(
    "system.cpu.time",
    "Время ЦП",
    "s",
    Новый Действие(ЭтотОбъект, "СобратьМетрики"));

// Добавить ещё один callback
Регистрация = НаблюдаемыйСчетчик.ДобавитьCallback(ДополнительныйCallback);

// Отменить callback
Регистрация.Закрыть();