ОтелНаблюдаемыйСчетчик
Наблюдаемый счётчик (ObservableCounter) — асинхронный монотонный инструмент для суммирования.
Описание
ОтелНаблюдаемыйСчетчик реализует спецификацию OpenTelemetry ObservableCounter. Значения собираются через зарегистрированные callback при каждом сборе метрик.
Используется, когда нет возможности записать значение непосредственно в момент изменения (например, системные счётчики из ОС).
Thin facade — вся логика в ОтелБазовыйНаблюдаемыйИнструмент.
Методы
Все методы унаследованы от ОтелБазовыйНаблюдаемыйИнструмент:
Вид
Возвращает вид инструмента.
Возвращает: Строка — "ObservableCounter"
ДобавитьCallback
Регистрирует дополнительный callback для наблюдения. Callback SHOULD NOT бросать исключения — они будут перехвачены и залогированы.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
Действие | Действие | — | Callback с сигнатурой (Наблюдение: ОтелНаблюдениеМетрики) |
Возвращает: ОтелРегистрацияНаблюдателя — токен для отмены регистрации
УдалитьCallback
Удаляет ранее зарегистрированный callback.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
Действие | Действие | — | Callback для удаления |
Пример
// Callback для наблюдения
Процедура СобратьМетрики(Наблюдение) Экспорт
// системный счётчик CPU ticks
ЗначениеСчетчика = ПолучитьСчетчикЦПУ();
Наблюдение.Записать(ЗначениеСчетчика);
КонецПроцедуры
НаблюдаемыйСчетчик = Метр.СоздатьНаблюдаемыйСчетчик(
"system.cpu.time",
"Время ЦП",
"s",
Новый Действие(ЭтотОбъект, "СобратьМетрики"));
// Добавить ещё один callback
Регистрация = НаблюдаемыйСчетчик.ДобавитьCallback(ДополнительныйCallback);
// Отменить callback
Регистрация.Закрыть();