{"id":2503,"date":"2013-09-20T08:46:00","date_gmt":"2013-09-20T08:46:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/visualstudioalm\/2013\/09\/20\/performance-details-in-intellitrace\/"},"modified":"2022-07-19T00:32:32","modified_gmt":"2022-07-19T08:32:32","slug":"performance-details-in-intellitrace","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/devops\/performance-details-in-intellitrace\/","title":{"rendered":"Performance Details in IntelliTrace"},"content":{"rendered":"<p>As was introduced in\u00a0the<a href=\"http:\/\/blogs.msdn.com\/b\/visualstudioalm\/archive\/2013\/09\/20\/introducing-microsoft-monitoring-agent.aspx\"> Microsoft Monitoring Agent blog post<\/a>, the Microsoft Monitoring Agent\u00a0provides a new capability to monitor IIS hosted applications and record performance violations in your application. Refer to the <a href=\"http:\/\/blogs.msdn.com\/b\/visualstudioalm\/archive\/2013\/09\/20\/introducing-microsoft-monitoring-agent.aspx\">previous post<\/a> and this <a href=\"http:\/\/msdn.microsoft.com\/library\/dn449058(v=vs.120).aspx\">MSDN article<\/a> for details on using the Microsoft Monitoring Agent for monitoring your application and creating an <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/vstudio\/dd264963.aspx\">IntelliTrace<br \/>\nfile.<\/a><\/p>\n<h2>Performance Data section on IntelliTrace summary page<\/h2>\n<p>After opening an IntelliTrace file that was created using the Microsoft Monitoring Agent running in monitoring mode you will see a Performance Data section that lists all of the recorded events that occurred when you application exceeded the performance threshold (default 5 seconds).<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2013\/09\/7288.One_.png\" alt=\"\" border=\"0\" \/>\u00a0<\/p>\n<p>On the summary page you will see the entry point that triggered the violation. The following fields are shown in the Performance Data section:<\/p>\n<ul>\n<li><strong>Description<\/strong> \u2013 this lists the entry point into your application where monitoring detected the slowness<\/li>\n<li><strong>Duration (ms)<\/strong> \u2013 the duration in milliseconds that the request took to process on the server<\/li>\n<li><strong>Source<\/strong> \u2013 the web site and application that was monitored<\/li>\n<li><strong>Event Time<\/strong> \u2013 when the event occurred<\/li>\n<li><strong>Detail Level<\/strong> \u2013 when an entry point typically runs sufficiently fast and only occasionally exceeds the performance threshold minimal data is collected and the Detail Level will be \u201cLimited\u201d. If the very first request to an entry point exceeds the threshold or if the entry point has started to consistently exceed the threshold the Detail Level will be \u201cDetailed\u201d and will contain more information. Events with \u201cLimited\u201d Detail Level should be considered as informational and are typically not a cause for immediate concern.<\/li>\n<\/ul>\n<p>Selecting a row and either double clicking or clicking the \u201cView Details\u201d button will take you to the details page for the performance event, a screenshot of which you can see next.<\/p>\n<h2>Details Page for a performance event<\/h2>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2013\/09\/2425.Two_.png\" alt=\"\" border=\"0\" \/><\/p>\n<p>In the above screenshot you will see three sections.<\/p>\n<p><strong>Details<\/strong> \u2013 this section contains additional details about the process or machine that were captured by the agent. It is collapsed by default. Below is an expanded view.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2013\/09\/5824.Three_.png\" alt=\"\" border=\"0\" \/><\/p>\n<p><strong>Slowest Calls<\/strong> \u2013 this section lists up to 5 slowest calls that were detected when this entry point executed. They are listed in order of slowness. Clicking the \u201cFind in Tree\u201d link will expand the execution tree in the section below, if necessary, to show where the call occurred in the recorded execution tree.<\/p>\n<p><strong>Execution Tree<\/strong> \u2013 The execution tree is a tree of the calls that occurred and were recorded during the performance degradation.\u00a0 This tree can be very deep with many branches. The \u201cExpand All\u201d link will fully expand all of the calls in the tree as shown below.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2013\/09\/0702.Four_.png\" alt=\"\" border=\"0\" \/><\/p>\n<p>The slowest calls are identified using red text.<\/p>\n<p>Some of the calls will have additional data available to aid in debugging and diagnosing the problem. These are indicated by the expansion icon on the Method Name. In the below screenshot the Action Execution: Home Index call was expanded to show the additional information. From here you can easily see the controller and action that were triggered as part of this request. Often you will find even more information captured in the parameters item that will provide information like parameters and values provided to SQL calls.<\/p>\n<p>For any call in the execution tree you can select the call and click the \u201cDebug this event\u201d button. Typically you will want to select calls that are relevant to code within your application such as the FabrikamFiber.Web.Controllers.HomeController.Index() call.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2013\/09\/3757.Five_.png\" alt=\"\" border=\"0\" \/><\/p>\n<p>In this case since I have stored the <a href=\"http:\/\/www.edsquared.com\/2011\/02\/12\/Source+Server+And+Symbol+Server+Support+In+TFS+2010.aspx\">matching symbol and source files<\/a> for my monitored application I will resolve to the matching line of source code. So when I click the &#8220;Debug this event&#8221; button I see something like the following screenshot.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2013\/09\/3513.Six_.png\" alt=\"\" border=\"0\" \/><\/p>\n<p>For detailed information on the Microsoft Monitoring Agent refer to <a href=\"http:\/\/technet.microsoft.com\/en-us\/library\/dn465153.aspx\">TechNet.<\/a><\/p>\n<p>For expanded scenarios and usage information refer to <a href=\"http:\/\/msdn.microsoft.com\/library\/dn449058(v=vs.120).aspx\">MSDN<\/a>.<\/p>\n<p>We are always looking for feedback and comments for our features. Please visit the <a href=\"http:\/\/social.msdn.microsoft.com\/Forums\/en-US\/vsdebug\/threads\">MSDN Diagnostics forums.<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>As was introduced in\u00a0the Microsoft Monitoring Agent blog post, the Microsoft Monitoring Agent\u00a0provides a new capability to monitor IIS hosted applications and record performance violations in your application. Refer to the previous post and this MSDN article for details on using the Microsoft Monitoring Agent for monitoring your application and creating an IntelliTrace file. Performance [&hellip;]<\/p>\n","protected":false},"author":71,"featured_media":45953,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[226,1,225],"tags":[],"class_list":["post-2503","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ci","category-devops","category-git"],"acf":[],"blog_post_summary":"<p>As was introduced in\u00a0the Microsoft Monitoring Agent blog post, the Microsoft Monitoring Agent\u00a0provides a new capability to monitor IIS hosted applications and record performance violations in your application. Refer to the previous post and this MSDN article for details on using the Microsoft Monitoring Agent for monitoring your application and creating an IntelliTrace file. Performance [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/posts\/2503","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\/71"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/comments?post=2503"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/posts\/2503\/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=2503"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/categories?post=2503"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/tags?post=2503"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}