{"id":193,"date":"2014-12-15T13:31:00","date_gmt":"2014-12-15T13:31:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/visualstudioalm\/2014\/12\/15\/application-insights-metric-explorer-me-part-2\/"},"modified":"2022-05-26T01:29:21","modified_gmt":"2022-05-26T09:29:21","slug":"application-insights-metric-explorer-me-part-2","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/devops\/application-insights-metric-explorer-me-part-2\/","title":{"rendered":"Application Insights &#8211; Metric Explorer (ME) \u2013 Part 2"},"content":{"rendered":"<p>Segmentation is one of my favorite features in <a href=\"http:\/\/blogs.msdn.com\/b\/visualstudioalm\/archive\/2014\/11\/03\/application-insights-metric-explorer-part-1.aspx\">Metrics Explorer<\/a> in <a href=\"http:\/\/azure.microsoft.com\/documentation\/services\/application-insights\/\">Application Insights<\/a>. It helps you slice and dice the telemetry about what users are doing with your application, as well as helps you understand performance metrics.<\/p>\n<h2>Segmentation<\/h2>\n<p>Let me show you how easy it is to answer some basic questions by using segmentation. This is for a blog that was instrumented with <a href=\"http:\/\/azure.microsoft.com\/en-us\/documentation\/articles\/app-insights-monitor-web-app-availability\/\">Application Insights JS<\/a>.<\/p>\n<p><em>Which browsers are my users using?<\/em><\/p>\n<ol>\n<li>Select the users chart from the usage timeline part<\/li>\n<li>Turn on segmentation\u00a0<\/li>\n<li>Select the dimension browser<\/li>\n<\/ol>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2014\/12\/5824.UsersbyBrowser.png\" alt=\"\" border=\"0\" \/><\/p>\n<p>\u00a0<\/p>\n<p><em>What devices are my users using?<\/em><\/p>\n<p>In this case mostly my audience seems to be PC users and that\u2019s expected as they refer to this blog while working.\u00a0 If it was a social site, you may have seen a different mix.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2014\/12\/5531.UsersByDevices.png\" alt=\"\" border=\"0\" \/><\/p>\n<p><em>What is the breakdown of the screen resolution of my users devices?<\/em><\/p>\n<p>This helps me in adjusting my content and images so that it fits in a screen and avoid scrolling.**<\/p>\n<p><em><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2014\/12\/8836.UsersByScreenRes.png\" alt=\"\" border=\"0\" \/><\/em><\/p>\n<h2>Dimensions for segmentation or grouping<\/h2>\n<p>Dimension is any property that is available to facet and filter\u00a0by (in Search) or segment by (in ME).\u00a0 The list of dimensions that allows you to slice your metrics in ME is dynamic and is based on the metric you select.<\/p>\n<p>For example, in the list of dimensions you\u2019ll see \u201cRequest name\u201d\u00a0only for server based metrics like response name, request count or failed request, and \u201cPage name\u201d\u00a0only\u00a0for page view metrics.<\/p>\n<p>We are continuing to refine this list for optimal user experience and would love to get your feedback on your experience as you use the product.<\/p>\n<h2>Setting up server performance metrics<\/h2>\n<p>How long does it take the server to process a request, which are the slowest requests, and how long are my external dependencies taking?<\/p>\n<p>\u00a0There are three categories of performance metrics collected from the server: 1) Request metrics 2) Dependency metrics and 3) Performance counters.<\/p>\n<p>The following request metrics are collected automatically by <a href=\"http:\/\/azure.microsoft.com\/documentation\/articles\/app-insights-start-monitoring-app-health-usage\/\">Application Insights SDK<\/a> or Status Monitor without any special configuration:<\/p>\n<ol>\n<li>Server response time:\u00a0 Time taken to process the request.\u00a0\u00a0\u00a0\u00a0\u00a0<\/li>\n<li>Server requests:\u00a0Number of requests processed by the server.<\/li>\n<li>Failed requests:\u00a0Number of requests that have failed with http response code >= 400.<\/li>\n<\/ol>\n<p>Install <a href=\"http:\/\/azure.microsoft.com\/documentation\/articles\/app-insights-monitor-performance-live-website-now\/\">Application Insights Status Monitor<\/a> on your server to get dependency metrics:<\/p>\n<ol>\n<li>Dependency duration: Time spent by process in external modules.<\/li>\n<li>Dependency calls: Number of calls made to external dependencies.<\/li>\n<li>Dependency failures:\u00a0 Number of failed calls to external dependencies.<\/li>\n<\/ol>\n<p>With same simple steps you can get rich insights for your server metrics too, i.e.\u00a0 1) filter and select a metric 2)Turn on segmentation 3) Select the property to segment by.<\/p>\n<p>**Lets\u2019 take some specific examples:<\/p>\n<p><em>What is the trend of some of my slowest requests<\/em>?\u00a0<\/p>\n<p>As you can see below\u00a0 GET Management\/Update\u2026 seems to have regular spikes.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2014\/12\/3821.responsetimebyrequestname.png\" alt=\"\" border=\"0\" \/><\/p>\n<p>With the chart below I am able to correlate the spike in server response time with most likely the spike in dependency duration for Azure blob request.<\/p>\n<p>\u00a0<img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2014\/12\/2627.RDDbyType.png\" alt=\"\" border=\"0\" \/><\/p>\n<p>Here is another example showing instance level counters for CPU Processor time.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2014\/12\/7522.ProcessorTimeByInstance.png\" alt=\"\" border=\"0\" \/><\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>As you have seen, with segmentation, not only we can get rich insight from usage telemetry but also from server telemetry.\u00a0 In the next blog post, I\u2019ll focus on grids,and some of the failure metrics (like exceptions and failed requests).<\/p>\n<p>If you have not already signed up for Application Insights, then now is the time: <a href=\"https:\/\/channel9.msdn.com\/Series\/Application-Insights-on-Azure-Preview-Portal\/Getting-Started-with-Application-Insights\">Get Started<\/a><\/p>\n<p>Have a great Christmas and a Happy New Year!!!<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Segmentation is one of my favorite features in Metrics Explorer in Application Insights. It helps you slice and dice the telemetry about what users are doing with your application, as well as helps you understand performance metrics. Segmentation Let me show you how easy it is to answer some basic questions by using segmentation. This [&hellip;]<\/p>\n","protected":false},"author":77,"featured_media":45953,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[224,1],"tags":[],"class_list":["post-193","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-azure","category-devops"],"acf":[],"blog_post_summary":"<p>Segmentation is one of my favorite features in Metrics Explorer in Application Insights. It helps you slice and dice the telemetry about what users are doing with your application, as well as helps you understand performance metrics. Segmentation Let me show you how easy it is to answer some basic questions by using segmentation. This [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/posts\/193","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/users\/77"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/comments?post=193"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/posts\/193\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/media\/45953"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/media?parent=193"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/categories?post=193"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/tags?post=193"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}