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

У меня есть простой запрос 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 ответ

Решение

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

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
Другие вопросы по тегам