Retrieving Distinct Count of the PageViews in Application Insights using parseurl
Had a query from a partner today about how they could get a report from Application Insights to tell them how many times a particular App Service had been called. The sticking point was to group all of the hits to a particular instance irrespective of the full url that was being retrieved.
We built this up slowly to find out the syntax of what was being expected
// Create a table with a query let recentReqs = pageViews | where timestamp > ago(30d); // select one column into a new table let recentHosts = recentReqs | project parsejson(parseurl(url))["Host"]; recentHosts | summarize count() by tostring(Host)
Once we had this working, we knew we could simplifying this into
pageViews | where timestamp > ago(30d) | summarize count() by tostring(parsejson(parseurl((url))["Host"]))
Hope this helps someone!