Как я могу ввести постоянную контрольную линию, основанную на агрегации на временной диаграмме Kusto? - PullRequest
0 голосов
/ 21 мая 2019

У меня есть простой запрос KQL, который отображает (лог) всех исключений за 90 дней:

exceptions
| where timestamp > ago(90d)
| summarize log(count()) by bin(timestamp, 1d)
| render timechart

Что я хотел бы сделать, это добавить несколько ссылочных строк ввременная диаграмма это генерирует.Основываясь на документах , это довольно просто:

| extend ReferenceLine = 8

Осложняющим фактором является то, что я хотел бы, чтобы эти контрольные линии основывались на агрегациях значения, которое я строю.Например, я бы хотел, чтобы для минимального, среднего и третьего квартилей использовалась контрольная линия.

Сосредоточив внимание на первом из них (минимум), оказывается, что вы не можете использовать min() за пределамиsummarize().Но я могу использовать это в extend().

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

Какой идиоматический способ сделать это?

1 Ответ

2 голосов
/ 21 мая 2019

вы можете попробовать что-то вроде следующего:

exceptions
| where timestamp > ago(90d)
| summarize c = log(count()) by bin(timestamp, 1d)
| as hint.materialized=true T
| extend _min = toscalar(T | summarize min(c)),
         _perc_50 = toscalar(T | summarize percentile(c, 50))
| render timechart
...