Page tree
Skip to end of metadata
Go to start of metadata

Работает в «Подсказках» 18.10+

«Подсказки» рассчитывают метрики производительности:

  • Количество запросов и ошибок
  • Среднее время ответа
  • 90, 95 и 99 процентили времени ответа

Собирают метрики раздельно по каждому справочнику, за всё время с начала суток и за последний час (скользящая).

API

Запрос

GET http://ВАШ_СЕРВЕР:ПОРТ/suggestions/api/4_1/rs/metrics/performance/[dictionary]?[period=day|hour]
ПараметрПо умолчаниюОписание
dictionaryПо какому справочнику вернуть метрики. Может принимать значения address, bank, fio, ip, party, а также любые внешние справочники, если они есть. Если не указан, возвращает статистику по всем справочникам.
periodDAYЗа какой период вернуть метрики. Может принимать значения DAY (с начала суток) и HOUR (за последний час).

Ответ

ПолеОписание
hostnameИмя хоста, при необходимости возвращаемое значение можно переопределить через JVM-свойство statistic.performance.hostname (начиная с версии 19.1)
version

Версия подсказок

revisionРевизия подсказок

period

└ type

└ from

└ to

Период метрик

HOUR / DAY

начало периода

конец периода

metrics[]

Метрики

metrics[].nameНаименование справочника
metrics[].methodМетод (SUGGEST / FIND_BY_ID / FIND_AFFILIATED / GEO_LOCATE / IP_LOCATE)

metrics[].request

└ count

└ client_errors

└ server_errors

└ timeouts

Статистика запросов

общее количество

ошибки клиента

ошибки сервера

таймауты (начиная с версии 19.1)

metrics[].response_time

└ average

└ percentile_90

└ percentile_95

└ percentile_99

Время ответа в миллисекундах:

среднее

90 перцентиль

95 перцентиль

99 перцентиль

Пример:

GET /metrics/performance/address?period=hour

{
    "hostname": "suggestions.mydomain.ru",
    "version": "20.3",
    "revision": "58298e46",
    "period": {
        "type": "HOUR",
        "from": "2020-04-16 12:17:50",
        "to": "2020-04-16 12:26:40"
    },
    "metrics": [
        {
            "name": "address",
            "method": "SUGGEST",
            "request": {
                "count": 2528,
                "timeouts": 0,
                "client_errors": 0,
                "server_errors": 0
            },
            "response_time": {
                "average": 13,
                "percentile_90": 1,
                "percentile_95": 28,
                "percentile_99": 495
            }
        }
    ]
}
  • No labels