Sep 12 2019
- last edited on
Apr 08 2022
If I have a counter that increases over time and I want to display how much that counter is changing every minute, how would I do that. In PromQL I would use the rate function but is there a simple equivalent KQL?
For example, 14:10:00 the total value since we collected data was 182077, at 14:11 it was 182083 and at 14:12 it was 182084. I would like to render a graph showing 0 at 14:10, 6 at 14:11 and 1 at 14:12.
Sounds simple but I can't see a way to do it. Any help would be appreciated.
Sep 12 2019 08:10 AM
Have you looked at bin? https://docs.microsoft.com/en-us/azure/kusto/query/binfunction
Event | where TimeGenerated > ago(1h) | summarize count(EventID) by bin(TimeGenerated, 1m)
This shows the count of EventIDs in the Events table every min in the past hour?
Adding as this as the last line will give you the graph, rather than a table.
Sep 12 2019 08:40 AM
@CliveWatson Thanks for the reply. I have looked at that. It's not the number of new entries per minute I am trying to ascertain, but the change in the sum of all previous entries per minute, if that makes sense.
ie in the above query, you'll see system mode cpu usage for computer aks-agentpool-31816283-2 goes from 264552.21 to 264560.83 in the minute, so i want the difference between those 2 on an on-going basis. In fact, I actually want it for all modes but one step at a time.
Sep 12 2019 08:48 AM
Event | where TimeGenerated > ago(1h) | summarize count() by bin(TimeGenerated, 1m) | sort by TimeGenerated asc | extend accumulated =row_cumsum(count_)
Sep 15 2019 09:40 AM
Sep 07 2022 07:35 AM
@santhoshparepu For anyone still looking for a Prometheus equivalent to rate of change the link below defines a Kusto User Defined Function to calculate rate of change from a Prometheus style counter which can only go up, unless reset. series_rate_fl() - Azure Data Explorer | Microsoft Docs