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

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 18 Current »

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

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

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

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

API

Запрос

GET /metrics/performance/[dictionary]?[period=day|hour][&detailed=true][&histogram=true]


  • dictionary – может принимать значения address, bank, fio, ip, party, а также любые внешние справочники, если они есть. Если не указан, метод возвращает статистику по всем справочникам;
  • period– может принимать значения DAY (с начала суток) и HOUR (за последний час). Если не указан, считается period = DAY;
  • detailed – при включении добавляются поля metrics.search_time и metrics.enrich_time (начиная с версии 19.6);
  • histogram – при включении добавляется поле metrics.response_time.histogram (начиная с версии 19.6);

Ответ

ПолеОписание
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

└ histogram

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

среднее

90 перцентиль

95 перцентиль

99 перцентиль

гистограмма распределения времени ответа при указании histogram=true и периоде period = DAY (начиная с версии 19.6)

metrics.search

└ count

time

└ average

└ percentile_90

└ percentile_95

└ percentile_99

└ histogram

Количество запросов и время поиска в миллисекундах при указании detailed=true:

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


среднее

90 перцентиль

95 перцентиль

99 перцентиль

гистограмма распределения времени ответа при указании histogram=true и периоде period = DAY

metrics.enrichОбщее количество запросов к Фактору и время обогащения в миллисекундах при указании detailed=true, формат аналогичен metrics.search (начиная с версии 20.3)
custom_metricsКоличество и время разбора запросов (начиная с версии 20.3)

custom_metrics.*ValueQueryBuilder

Обычный поиск без опечаток, формат аналогичен metrics.search
custom_metrics.*IdsQueryBuilderПоиск по идентификатору, формат аналогичен metrics.search
custom_metrics.AddressValuePreciseQueryBuilderОбычный поиск для адресов, формат аналогичен metrics.search
custom_metrics.AddressValueFuzzyQueryBuilderПоиск с опечатками для адресов, формат аналогичен metrics.search
custom_metrics.EnrichMissingПоисковые запросы к Фактору для метода SUGGEST адресов, формат аналогичен metrics.search

Пример:

GET /metrics/performance/address?period=hour&detailed=true

{
    "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",
            "search": {
                "count": 2528,
                "time": {
                    "average": 12,
                    "percentile_90": 0,
                    "percentile_95": 12,
                    "percentile_99": 495
                }
            },
            "enrich": {
                "count": 2277,
                "time": {
                    "average": 1,
                    "percentile_90": 0,
                    "percentile_95": 0,
                    "percentile_99": 19
                }
            },
            "request": {
                "count": 2528,
                "timeouts": 0,
                "client_errors": 0,
                "server_errors": 0
            },
            "response_time": {
                "average": 13,
                "percentile_90": 1,
                "percentile_95": 28,
                "percentile_99": 495
            },
            "custom_metrics": {
                "AddressIdsQueryBuilder": {
                    "count": 20,
                    "time": {
                        "average": 52,
                        "percentile_90": 57,
                        "percentile_95": 58,
                        "percentile_99": 101
                    }
                },
                "AddressValuePreciseQueryBuilder": {
                    "count": 171,
                    "time": {
                        "average": 169,
                        "percentile_90": 559,
                        "percentile_95": 675,
                        "percentile_99": 1047
                    }
                },
                "EnrichMissing": {
                    "count": 2275,
                    "time": {
                        "average": 1,
                        "percentile_90": 0,
                        "percentile_95": 0,
                        "percentile_99": 19
                    }
                },
                "AddressValueFuzzyQueryBuilder": {
                    "count": 86,
                    "time": {
                        "average": 19,
                        "percentile_90": 36,
                        "percentile_95": 92,
                        "percentile_99": 142
                    }
                }
            }
        }
    ]
}
 Пример ответа до версии 20.3 (раскрыть)
GET /metrics/performance/address?period=hour&detailed=true

{
    "hostname": "suggestions.mydomain.ru",
    "version": "19.7",
    "revision": "cad9cab2d4b0",
    "period": {
        "type": "HOUR",
        "from": "2019-07-23 15:04:11",
        "to": "2019-07-23 16:17:41"
    },
    "metrics": [
        {
            "name": "address",
            "method": "SUGGEST",
            "request": {
                "count": 54,
                "client_errors": 0,
                "server_errors": 0,
                "timeouts": 0
            },
            "response_time": {
                "average": 495,
                "percentile_90": 1239,
                "percentile_95": 1535,
                "percentile_99": 3135
            },
            "search_time": {
                "average": 498,
                "percentile_90": 1239,
                "percentile_95": 1535,
                "percentile_99": 3135  
            },
            "enrich_time": {
                "average": 1006,
                "percentile_90": 2015,
                "percentile_95": 2015,
                "percentile_99": 2015
            }
        }
    ]
}
  • No labels