Объектные метрики и трассировка#
В документе описана работа с объектными метриками и трассировками для разработчиков: как регистрировать кастомные показатели в коде, как получать и использовать их в прикладной логике, какие имена и атрибуты доступны для мониторинга.
Материал отвечает на вопросы: как создать метрику или трассировку, какие ограничения на имена существуют, как правильно получить значение метрики, какие готовые имена использовать в запросах.
Регистрация метрик и трассировок#
Регистрация метрики#
Чтобы создать метрику, зарегистрируйте запись в классе «Метрики объектов»:
val ropAcMetric = Btk_AcObjectMetricApi().register(
idParent = Btk_AcObjectApi().findByMnemoCode("Btk_MenuTree"),
sCode = "Btk_MenuTree_Metric_Test",
sCaption = "Метрика динамического меню"
)
Внимание
Код метрики или трассировки должен быть не более 255 символов, начинаться с буквы и может содержать только специальные символы: _, ., -.
После регистрации администратор в настройках телеметрии во вкладке «Объектные метрики» может включить метрику для всех пользователей или определённого набора.
Использование метрики в коде#
Для использования метрики в прикладном коде получите метрику и увеличьте счётчик:
val longCounterOpt = Btk_TelemetryPkg().getAcObjectLongCounter(
idUser = Btk_UserApi().getCurrentUserID(),
idAcObjectMetric = ropAcMetric.idj
)
longCounterOpt.foreach(_.add(1))
Внимание
Методы получения метрик или трассировок возвращают монаду Option. Значение присутствует в контейнере только если на текущем пользователе включены настройки.
Регистрация трассировки#
Для использования трассировки применяются аналогичные методы. Регистрация происходит в классе Btk_AcObjectTrace.
Справочник имён и атрибутов#
Пользовательские метрики#
Имя |
Описание |
|---|---|
|
Гистограмма времени выполнения пользовательской операции. |
|
Счётчик количества успешных вызовов пользовательской операции. |
|
Счётчик количества вызовов пользовательской операции, которые завершились ошибкой. |
|
Счётчик количества вызовов пользовательской операции. |
Пользовательские трассировки#
Имя |
Описание |
|---|---|
|
Трассировка пользовательских операций. |
Атрибуты для фильтрации:
solution— алиас БД;solution.image— алиас SBT;userName— логин пользователя;session.secret— секретный ключ рабочего сеанса;session.sid— идентификатор сессии;work.session.sid— идентификатор рабочей сессии;cluster.node— наименование кластерной ноды;selection.name— системное наименование выборки;selection.caption— наименование выборки;oper.name— системное наименование операции;oper.caption— наименование операции;representation.name— системное наименование отображения;form.name— системное наименование формы;form.caption— наименование формы;form.representation.name— системное наименование отображения формы.
Серверные метрики#
Имя |
Описание |
|---|---|
|
Длительность выполнения RPC с точки зрения клиента. |
|
Длительность обработки RPC сервером. |
|
Длительность передачи по сети (разница между |
Объектные метрики#
Имя |
Описание |
|---|---|
|
Наличие доступа к файловому хранилищу (1 — есть доступ, 0 — нет доступа). |
|
Скорость записи файлового хранилища. |
|
Количество экспортов конфигураций. |
|
Количество импортов конфигураций. |
|
Количество ошибок при импорте конфигурации. |
|
Наличие фатальной ошибки при импорте конфигурации (1 — есть ошибка, 0 — нет ошибки). |
|
Количество дней до истечения лицензии файла. |
|
Истёк ли срок лицензии файла (1 — срок истёк, 0 — срок не истёк). |