Meow
Meow

Reputation: 19071

kusto query - how to group by date and also group by name

In below query I am looking at one API (foo/bar1) duration in 80th percentile that called in given date range so that I can see if there is any spike or degradation. (image below)

let dataset = requests 
| where name == "GET foo/bar1"
and timestamp between(datetime("2020-10-15") .. datetime('2020-10-28'));
dataset
| summarize loadTime = round(percentile(duration, 80)) by format_datetime(timestamp, 'yyyy-MM-dd')
| order by timestamp desc

Result of first query API duration for foo/bar1

The challenge I'm facing is there can be more than one API (there are about 150 in my environment) and I also want to get those API's 80th percentile but having difficulty how to do it or even possible.

Upvotes: 7

Views: 22741

Answers (1)

Meow
Meow

Reputation: 19071

I might figure this out.. by removing 'name' from dataset then add 'name' to grouping section at the end of summarize row.

let dataset = requests 
    |
    where timestamp between(datetime("2020-10-25") .. datetime('2020-10-28'));
    dataset
    | summarize loadTime = round(percentile(duration, 80)) by format_datetime(timestamp, 'yyyy-MM-dd'), name
    | order by timestamp desc 

Upvotes: 10

Related Questions