Каталог метрик ERP

В таблицах указаны имена, которые видит Prometheus. Гистограмма включает три семейства с общей основой: _bucket, _count и _sum.

HTTP-запросы ERP

TelemetryFilter применяется к /user/, /admin/ и *.vue.

Метрика Тип Теги и содержание

http_request_count_total

counter

Число завершённых запросов. Теги: method, endpoint, action, status.

http_request_duration_milliseconds

histogram

Полная длительность servlet filter с теми же тегами.

Значения status:

  • success — BaseAction завершился успешно;

  • invalid — выброшен BGMessageException или BGMessageInvalidException;

  • failure — другая ошибка, обработанная BaseAction;

  • unknown — запрос не прошёл через BaseAction либо не установил атрибут статуса.

action содержит <полное имя Action>:<имя метода>. Для ресурсов, Vue-компонентов и других запросов вне BaseAction значение пустое. HTTP-код ответа в эту метрику не входит.

Если исключение покинуло всю цепочку filter, код после chain.doFilter() не выполняется и событие не публикуется. Поэтому метрика не является гарантированным счётчиком всех необработанных servlet-ошибок.

Исходящие HTTP-запросы Retrofit

Метрика Тип Теги и содержание

http_retrofit_request_count_total

counter

Число попыток. Теги: apiName, method, endpoint, status.

http_retrofit_request_duration_milliseconds

histogram

Время выполнения попытки с теми же тегами.

apiName — значение @Api.name, method — HTTP-метод, endpoint — имя метода интерфейса Retrofit. status содержит HTTP-код строкой либо failure при исключении транспорта.

Запросы к биллингу

Метрика Тип Теги

http_transfer_data_byte_array_request_count_total

counter

method, host, module, action, status.

http_transfer_data_byte_array_request_duration_milliseconds

histogram

Те же теги; длительность XML-запроса TransferData.postData(Request, User).

http_transfer_data_json_rpc_request_count_total

counter

method, host, module, service, serviceMethod, status.

http_transfer_data_json_rpc_request_duration_milliseconds

histogram

Те же теги; длительность JSON-RPC-запроса.

status равен success или failure. Синхронный метод postDataSync(Request, User) такую телеметрию не публикует.

Camel

Метрика Тип Теги

camel_processing_count_total

counter

endpoint, className, method, status.

camel_processing_duration_milliseconds

histogram

Те же теги; преобразование сообщения и вызов обработчика.

status равен success или failure. Отправка результата во внешний endpoint после обработчика в измеряемый участок не входит.

AsyncWorker

Метрика Тип Теги и содержание

async_worker_tasks_total

counter

Завершённые задачи. Теги: event — переданный статический тип, status — success или failure.

async_worker_duration_milliseconds

histogram

Полная длительность задачи с теми же тегами.

async_worker_active_tasks

gauge

Число задач, которые выполняются прямо сейчас; без прикладных тегов.

Задача, ожидающая в executor до начала выполнения, в active_tasks не входит. Значение event не должно содержать идентификатор процесса, UUID, номер договора или другое динамическое значение.

EventProcessor

Метрика Тип Теги

event_processor_count_total

counter

event — простой класс события, class — класс listener, status.

event_processor_duration_milliseconds

histogram

Время выполнения одного listener с теми же тегами.

Для успешного вызова status сейчас равен Successful с заглавной буквы, для ошибки — failure. Это историческое поведение реализации, а не единый формат статусов телеметрии.

События, которые обрабатывает TelemetryListener, также проходят через EventProcessor. Поэтому, например, WebRequestEndEvent создаёт основную http_request_* серию и отдельную event_processor_* серию выполнения listener.

SingleFlight

Метрика Тип Теги и содержание

single_flight_duplicate_count_total

counter

Число дублирующих вызовов, которые ожидали уже выполняющуюся операцию. Тег implementation — полное имя класса.

single_flight_duplicate_duration_milliseconds

histogram

Время ожидания уже выполняющейся операции; тот же тег.

Первичный вызов не учитывается. Если общая операция завершилась исключением, метрика дублирующего ожидания не публикуется, потому что событие создаётся только после успешного await().

Планировщик

Метрика Тип Теги и содержание

scheduler_task_runs_total

counter

Запуски с тегами class и status: success, error, skipped, timeout, cancelled.

scheduler_task_running

gauge

Число задач, выполняющихся прямо сейчас; без прикладных тегов.

Серии счётчика заранее создаются нулевыми для всех включённых классов и статусов, чтобы первая ошибка была видна через increase().

Остальные штатные счётчики

Метрика Теги Содержание

pool_do_activity_total

activity

Число poll-запросов по значению параметра activity; отсутствующий параметр даёт unknown.

jexl_process_param_declared_total

mode=lazy|eager

Число параметров процесса, объявленных доступными для JEXL-правил.

jexl_process_param_loaded_total

mode=lazy|eager

Число значений параметров, реально загруженных из БД. Отношение к declared показывает эффект ленивой загрузки.