Как я могу ввести постоянную контрольную линию, основанную на агрегации на временной диаграмме 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