У меня есть набор данных в Kusto, и я хотел бы собирать id
s за каждый день, где их latency
больше 99-го процентиля для этого дня.
например у меня есть такая таблица:
я бы | задержка | время |
---|---|---|
а | 23,4 | 02.01.2022 |
с | 1,4 | 02.01.2022 |
б | 25,6 | 03.01.2022 |
2.3 | 03.01.2022 |
и я хочу, чтобы таблица результатов была просто
время | я бы |
---|---|
02.01.2022 | а |
03.01.2022 | б |
где a
и b
взяты из 99-го процентиля времени задержки для этих дней.
Кем я хотел бы работать:
let 99p= T
| summarize percentiles(latency, 99) by bin(time, 1d);
T
| where startofday(time) == 99p.time
| where latency > 99p.latency
| project time, id
Спасибо за любое понимание, довольно новое для kusto
@DavidדודוMarkovitz, чтобы перечислить все идентификаторы выше процентиля для этого дня
// This is not a part of the solution, only generation of a sample data set
let T = materialize (range id from 1 to 1000 step 1 | extend ['time'] = ago(rand()*10d), latency = round(rand()*100,2));
// The solution starts here
T | extend day = bin(['time'], 1d) | as T2
| summarize percentiles(latency, 99) by day
| join kind=inner T2 on day
| where latency >= percentile_latency_99
| summarize make_list(id) by day
день | list_id |
---|---|
2022-03-20T00:00:00Z | [298] |
2022-03-21T00:00:00Z | [642] |
2022-03-22T00:00:00Z | [200 504] |
2022-03-23T00:00:00Z | [726 885] |
2022-03-24T00:00:00Z | [590 975] |
2022-03-25T00:00:00Z | [107] |
2022-03-26T00:00:00Z | [836] |
2022-03-27T00:00:00Z | [68] |
2022-03-28T00:00:00Z | [527 859] |
2022-03-29T00:00:00Z | [172 874] |
2022-03-30T00:00:00Z | [274] |
Каков желаемый результат, если у вас есть несколько идентификаторов в день?