Search code examples
azure-application-insights

AppInsights query to display RPS of each request


Below Application Insights query gets response time of each request. Can we extend above query and also display RequestPerSeconds for each request ?

// this query calculates request duration percentiles and count by name
let start=datetime("2021-04-13T18:35:00.000Z");
let end=datetime("2021-04-13T18:52:00.000Z");
let timeGrain=5m;
let dataset=requests
    // additional filters can be applied here
    | where timestamp > start and timestamp < end
    | where client_Type != "Browser"
;
dataset
// change 'operation_Name' on the below line to segment by a different property
| summarize count_=sum(itemCount), avg(duration), percentiles(duration, 50, 95, 99) by operation_Name
// calculate duration percentiles and count for all requests (overall)
| union(dataset
    | summarize count_=sum(itemCount), avg(duration), percentiles(duration, 50, 95, 99)
    | extend operation_Name="Overall")

Output
Operation_Name, count_, avg_duration, percentiles_duration_50, percentiles_duration_95, percentiles_duration_99
Request1,15,2.1,2.3,2.3,2.5
Request2, 10, 1.1,1.2,1.3,1.2

Thanks, Anil


Solution

  • Per my understanding, RequestPerSeconds means request total counts / total seconds,

    Based on your query, you can add

    req_count_per_sec = todecimal(sum(itemCount))/todecimal(datetime_diff('second',end,start))

    enter image description here