Как рассчитать точный 99,9-й процентиль в Splunk

Кто-нибудь знает, как точно рассчитать 99,9 процентиль в Splunk?

Я пробовал различные методы, как показано ниже, например Exactperc (но для этого нужны только целочисленные процентили) и perc (но это сильно приближает результат).

base | stats exactperc99(latency) as "99th Percentile", p99.9(latency) as "99.9th Percentile"

Спасибо, Джеймс


person user1763328    schedule 31.07.2017    source источник
comment
Какая версия Splunk? Exactperc99.9 у меня работает в 6.6.   -  person Larry Shatzer    schedule 31.07.2017
comment
Привет, моя версия Splunk - 6.5.1.   -  person user1763328    schedule 01.08.2017
comment
используя базу | stats exactperc99 (задержка), perc99.9 (задержка), exactperc99.9 (задержка) выдает результат в виде Exactperc99 (задержка) = 1.332, perc99.9 (задержка) = 10.000 ,ightperc99.9 (задержка) = 17.686.   -  person user1763328    schedule 01.08.2017
comment
Цифра для exactperc99 кажется правильной, однако perc99.9 и exactperc99.9 вызывающе большие и значительно отличаются друг от друга.   -  person user1763328    schedule 01.08.2017


Ответы (1)


Из документации по Splunk :

Есть три разные процентильные функции:

perc ‹X› (Y) (или аббревиатура p ‹X› (Y)) upperperc ‹X› (Y) exactperc ‹X› (Y) Возвращает значение X-го процентиля числового поля Y. Допустимые значения X - числа с плавающей запятой от 1 до 99, например 99.95.

Используйте функцию perc ‹X› (Y), чтобы вычислить приблизительный порог, например, чтобы из значений в поле Y, X процентов упали ниже порогового значения.

Функции perc и upperperc дают приблизительные значения для запрошенного целочисленного процентиля. Используемый алгоритм аппроксимации, основанный на динамическом сжатии дерева счисления, обеспечивает строгую границу фактического значения для любого процентиля. Функция perc возвращает единственное число, которое представляет нижнюю границу этого диапазона. Функция upperperc дает приблизительную верхнюю границу. Функция Exactperc предоставляет точное значение, но будет очень дорого для полей с большим количеством элементов. Функция Exactperc может потреблять большой объем памяти в заголовке поиска.

Обрабатывает значения поля как строки.

Примеры:

 p99.999(response_ms)
 p99(bytes_received)
 p50(salary) # median
person Igor    schedule 04.02.2019