Наблюдаемый
Аннотация для автоматического создания span'ов OpenTelemetry вокруг вызовов методов.
Синтаксис
bsl
&Наблюдаемый[(Значение [, ВидСпана])]
Функция ИмяМетода(...) Экспорт
...
КонецФункцииПараметры
Значение
Тип: Строка (опционально)
Имя span'а. Если не указано, используется "ИмяБина.ИмяМетода".
ВидСпана
Тип: Строка (опционально)
Вид span'а. Допустимые значения: internal (по умолчанию), server, client, producer, consumer.
Описание
Аннотация &Наблюдаемый оборачивает метод в декоратор, который:
- Создаёт span с заданным именем и видом
- Устанавливает атрибуты
code.function.nameиcode.namespace - Делает span текущим в контексте OTel
- Завершает span после выхода из метода (в том числе при исключении)
- При исключении записывает его в span и устанавливает статус
Error
При размещении на конструкторе (вместе с &Желудь) инструментируются все экспортные методы класса.
Примеры
Инструментация одного метода
bsl
&Наблюдаемый("orders.process")
Функция ОбработатьЗаказ(ИдЗаказа) Экспорт
Возврат СформироватьОтвет(ИдЗаказа);
КонецФункцииИнструментация всех методов класса
bsl
&Желудь
&Наблюдаемый
Процедура ПриСозданииОбъекта()
КонецПроцедурыС явным видом спана
bsl
&Желудь
&Наблюдаемый(ВидСпана = "server")
Процедура ПриСозданииОбъекта()
КонецПроцедурыС атрибутами параметров
bsl
&Наблюдаемый
Функция ОбработатьЗаказ(&АтрибутСпана("order.id") ИдЗаказа) Экспорт
// span получит атрибут order.id = значение ИдЗаказа
Возврат СформироватьОтвет(ИдЗаказа);
КонецФункцииСм. также
- АтрибутСпана — добавление параметров метода как атрибутов span'а
- Замеряемый — замер длительности методов
- Подсчитываемый — счётчик вызовов методов
