Rory
Rory

Reputation: 41807

How to make an Application Insights kusto query sort correctly on performanceBucket?

Is there a way to make an Application Insights kusto query sort on performanceBucket 'correctly', i.e. on bucket duration? When I summarize or sort using performanceBucket and don't specify a sort I get something like this (note for example that 1-3sec is not adjacent to 3-7sec):

enter image description here

If I add a sort by performanceBucket it's done alphanumerically:

enter image description here

I want it to be in this order (or the reverse of it)

Upvotes: 5

Views: 1729

Answers (1)

Slavik N
Slavik N

Reputation: 5298

You need to artificially add a column that indicates your preferred sorting order, then sort by it, and project it away:

// Synthetic data - don't copy this
let YourResult = datatable(perfBucket:string, count_:long) [
    "250ms-500ms", 14000,
    "7sec-15sec", 600,
    "1sec-3sec", 9700
];
// This is the actual query
YourResult
| extend sortOrder =
    case(perfBucket == "<250ms", 1,
         perfBucket == "250ms-500ms", 2,
         perfBucket == "500ms-1sec", 3,
         perfBucket == "1sec-3sec", 4,
         perfBucket == "3sec-7sec", 5,
         perfBucket == "7sec-15sec", 6,
         perfBucket == "15sec-30sec", 7,
         perfBucket == "30sec-1min" ,8,
         perfBucket == "1min-2min", 9,
         10)
| order by sortOrder asc
| project-away sortOrder

Result:

perfBucket count_
250ms-500ms 14000
1sec-3sec 9700
7sec-15sec 600

Upvotes: 8

Related Questions