<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Visual Studio Profiler Team Blog : team system</title><link>http://blogs.msdn.com/profiler/archive/tags/team+system/default.aspx</link><description>Tags: team system</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Walkthroughs: Using VSTS Test and Profilers to Find Performance Issues</title><link>http://blogs.msdn.com/profiler/archive/2008/10/15/walkthroughs-using-vsts-test-and-profilers-to-find-performance-issues.aspx</link><pubDate>Wed, 15 Oct 2008 23:54:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9001076</guid><dc:creator>profiler</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/profiler/comments/9001076.aspx</comments><wfw:commentRss>http://blogs.msdn.com/profiler/commentrss.aspx?PostID=9001076</wfw:commentRss><description>&lt;P&gt;Tess Ferrandez recently wrote a couple of articles&amp;nbsp;that extend&amp;nbsp;her popular&amp;nbsp;series of debugging labs to focus on measuring and improving performance.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;In '&lt;A class="" href="http://blogs.msdn.com/tess/archive/2008/10/01/using-visual-studio-team-system-test-and-profilers-to-troubleshoot-performance-issues-part-1.aspx" mce_href="http://blogs.msdn.com/tess/archive/2008/10/01/using-visual-studio-team-system-test-and-profilers-to-troubleshoot-performance-issues-part-1.aspx"&gt;Using VSTS Test and Profilers to troubleshoot performance issues (low cpu hang)&lt;/A&gt;', Tess&amp;nbsp;introduces a performance problem into an ASP.NET application and uses the Visual Studio Profiler&amp;nbsp;with a Load Test to track down the problem.&lt;/LI&gt;
&lt;LI&gt;In '&lt;A class="" href="http://blogs.msdn.com/tess/archive/2008/10/07/using-vsts-test-and-profilers-to-troubleshoot-a-high-cpu-in-gc-issue.aspx" mce_href="http://blogs.msdn.com/tess/archive/2008/10/07/using-vsts-test-and-profilers-to-troubleshoot-a-high-cpu-in-gc-issue.aspx"&gt;Using VSTS Test and Profilers to troubleshoot a High CPU in GC issue&lt;/A&gt;', Tess tracks down a string concatenation issue that is causing high CPU usage due to garbage collection.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;The walkthroughs include sample code, lots of screenshots and analysis.&lt;/P&gt;
&lt;P&gt;[&lt;A class="" href="http://blogs.msdn.com/colinth" mce_href="http://blogs.msdn.com/colinth"&gt;Colin Thomsen&lt;/A&gt;]&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9001076" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/profiler/archive/tags/profiler/default.aspx">profiler</category><category domain="http://blogs.msdn.com/profiler/archive/tags/visual+studio/default.aspx">visual studio</category><category domain="http://blogs.msdn.com/profiler/archive/tags/team+system/default.aspx">team system</category><category domain="http://blogs.msdn.com/profiler/archive/tags/vsts/default.aspx">vsts</category></item><item><title>Quick Tip: VS2008 - Compare Reports Quickly</title><link>http://blogs.msdn.com/profiler/archive/2008/07/02/quick-tip-vs2008-compare-reports-quickly.aspx</link><pubDate>Wed, 02 Jul 2008 20:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8681728</guid><dc:creator>profiler</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/profiler/comments/8681728.aspx</comments><wfw:commentRss>http://blogs.msdn.com/profiler/commentrss.aspx?PostID=8681728</wfw:commentRss><description>&lt;P&gt;While investigating a performance problem you may need to collect many Performance Reports and compare them. You can use the Performance Explorer to quickly compare two reports by:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Selecting two reports. &lt;/LI&gt;
&lt;LI&gt;Right-clicking and choosing 'Compare Performance Reports...' &lt;BR&gt;&lt;A href="http://blogs.msdn.com/blogfiles/profiler/WindowsLiveWriter/QuickTipVS2008CompareReportsQuickly_FB64/comp_reports_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/colinth/WindowsLiveWriter/QuickTipVS2008CompareReportsQuickly_FB64/comp_reports_2.jpg"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=308 alt=comp_reports src="http://blogs.msdn.com/blogfiles/profiler/WindowsLiveWriter/QuickTipVS2008CompareReportsQuickly_FB64/comp_reports_thumb.jpg" width=354 border=0 mce_src="http://blogs.msdn.com/blogfiles/colinth/WindowsLiveWriter/QuickTipVS2008CompareReportsQuickly_FB64/comp_reports_thumb.jpg"&gt;&lt;/A&gt; &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;The oldest report will be used for the 'Baseline' report and the other report will be used for the 'Comparison' report, as shown below:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/profiler/WindowsLiveWriter/QuickTipVS2008CompareReportsQuickly_FB64/comp_reports_2_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/colinth/WindowsLiveWriter/QuickTipVS2008CompareReportsQuickly_FB64/comp_reports_2_2.jpg"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=308 alt=comp_reports_2 src="http://blogs.msdn.com/blogfiles/profiler/WindowsLiveWriter/QuickTipVS2008CompareReportsQuickly_FB64/comp_reports_2_thumb.jpg" width=701 border=0 mce_src="http://blogs.msdn.com/blogfiles/colinth/WindowsLiveWriter/QuickTipVS2008CompareReportsQuickly_FB64/comp_reports_2_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;[&lt;A href="http://blogs.msdn.com/colinth"&gt;Colin Thomsen&lt;/A&gt;]&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8681728" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/profiler/archive/tags/profiler/default.aspx">profiler</category><category domain="http://blogs.msdn.com/profiler/archive/tags/team+system/default.aspx">team system</category><category domain="http://blogs.msdn.com/profiler/archive/tags/vs2008/default.aspx">vs2008</category><category domain="http://blogs.msdn.com/profiler/archive/tags/tips/default.aspx">tips</category></item><item><title>What code path is allocating the most bytes for a type?</title><link>http://blogs.msdn.com/profiler/archive/2008/06/14/where-are-the-most-bytes-for-a-type-being-allocated.aspx</link><pubDate>Sun, 15 Jun 2008 02:26:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8598665</guid><dc:creator>profiler</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/profiler/comments/8598665.aspx</comments><wfw:commentRss>http://blogs.msdn.com/profiler/commentrss.aspx?PostID=8598665</wfw:commentRss><description>&lt;P&gt;In Visual Studio 2008, we added the ability to &lt;A href="http://blogs.msdn.com/ianhu/archive/2007/09/14/pinpoint-a-performance-issue-using-hotpath-in-visual-studio-2008.aspx" mce_href="http://blogs.msdn.com/ianhu/archive/2007/09/14/pinpoint-a-performance-issue-using-hotpath-in-visual-studio-2008.aspx"&gt;quickly determine the most expensive call stack in your application&lt;/A&gt;.&amp;nbsp; In profiler parlance, the “most expensive call stack” is known as the “hot path”.&amp;nbsp; What do we mean by “expensive”?&amp;nbsp; “Expensive” is whatever measure you want it to be: number of samples in a function, time spent in a function, or even number of bytes or allocations in a function.&lt;/P&gt;
&lt;P&gt;If you &lt;A href="http://blogs.msdn.com/ianhu/archive/2005/03/31/404173.aspx" mce_href="http://blogs.msdn.com/ianhu/archive/2005/03/31/404173.aspx"&gt;profile the managed memory usage of your application&lt;/A&gt; (also available in VS2008), you will get a new view in your profiling report called the Allocation View:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/chrissc/WindowsLiveWriter/Wherearethemostbytesforatypebeingallocat_E67E/allocation-view_8.png" mce_href="http://blogs.msdn.com/blogfiles/chrissc/WindowsLiveWriter/Wherearethemostbytesforatypebeingallocat_E67E/allocation-view_8.png"&gt;&lt;IMG title=allocation-view style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=314 alt=allocation-view src="http://blogs.msdn.com/blogfiles/chrissc/WindowsLiveWriter/Wherearethemostbytesforatypebeingallocat_E67E/allocation-view_thumb_3.png" width=548 border=0 mce_src="http://blogs.msdn.com/blogfiles/chrissc/WindowsLiveWriter/Wherearethemostbytesforatypebeingallocat_E67E/allocation-view_thumb_3.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;For each managed type allocated in your application, this view will show you the call stack where each allocation took place as well as the number of bytes and instances allocated in each function.&lt;/P&gt;
&lt;P&gt;You can explore these call trees as you do normally, including using hot path to find the expensive allocation paths through your code for a specific type.&amp;nbsp; This is accessible through either the toolbar or the context menu by right-clicking on the function from where you want to start hot path:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/chrissc/WindowsLiveWriter/Wherearethemostbytesforatypebeingallocat_E67E/allocation-hot-path-menu_2.png" mce_href="http://blogs.msdn.com/blogfiles/chrissc/WindowsLiveWriter/Wherearethemostbytesforatypebeingallocat_E67E/allocation-hot-path-menu_2.png"&gt;&lt;IMG title=allocation-hot-path-menu style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=344 alt=allocation-hot-path-menu src="http://blogs.msdn.com/blogfiles/chrissc/WindowsLiveWriter/Wherearethemostbytesforatypebeingallocat_E67E/allocation-hot-path-menu_thumb.png" width=548 border=0 mce_src="http://blogs.msdn.com/blogfiles/chrissc/WindowsLiveWriter/Wherearethemostbytesforatypebeingallocat_E67E/allocation-hot-path-menu_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;In this example, we know we’re allocating about 741KB of memory for System.Drawing.Graphics objects.&amp;nbsp; Using hot path, we can quickly determine that the majority (67%)&amp;nbsp; of the bytes are being allocated in System.Drawing.Graphics.FromHwndInternal.&amp;nbsp; Because we do not control this code, we can look up the stack until we see code that we can change: MainForm.SetCell.&amp;nbsp; This would be a great place to begin investigation.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/chrissc/WindowsLiveWriter/Wherearethemostbytesforatypebeingallocat_E67E/allocation-hot-path_6.png" mce_href="http://blogs.msdn.com/blogfiles/chrissc/WindowsLiveWriter/Wherearethemostbytesforatypebeingallocat_E67E/allocation-hot-path_6.png"&gt;&lt;IMG title=allocation-hot-path style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=314 alt=allocation-hot-path src="http://blogs.msdn.com/blogfiles/chrissc/WindowsLiveWriter/Wherearethemostbytesforatypebeingallocat_E67E/allocation-hot-path_thumb_2.png" width=548 border=0 mce_src="http://blogs.msdn.com/blogfiles/chrissc/WindowsLiveWriter/Wherearethemostbytesforatypebeingallocat_E67E/allocation-hot-path_thumb_2.png"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;It’s important to note that the allocation hot path &lt;EM&gt;is not&lt;/EM&gt; the single function allocating the most bytes in your application (you can use the Function View for that).&amp;nbsp; Instead, it is the specific path through your code that is allocating the most bytes for a type.&lt;/P&gt;
&lt;P&gt;[&lt;A class="" href="http://blogs.msdn.com/chrissc/" mce_href="http://blogs.msdn.com/chrissc/"&gt;Chris Schmich&lt;/A&gt;]&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8598665" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/profiler/archive/tags/profiler/default.aspx">profiler</category><category domain="http://blogs.msdn.com/profiler/archive/tags/team+system/default.aspx">team system</category><category domain="http://blogs.msdn.com/profiler/archive/tags/vs2008/default.aspx">vs2008</category><category domain="http://blogs.msdn.com/profiler/archive/tags/tips/default.aspx">tips</category></item><item><title>Quick Tip: "Save Analyzed" for large VSP files</title><link>http://blogs.msdn.com/profiler/archive/2008/05/17/quick-tip-save-analyzed-for-large-vsp-files.aspx</link><pubDate>Sun, 18 May 2008 09:54:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8518005</guid><dc:creator>profiler</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/profiler/comments/8518005.aspx</comments><wfw:commentRss>http://blogs.msdn.com/profiler/commentrss.aspx?PostID=8518005</wfw:commentRss><description>&lt;P&gt;One cool new feature in the Visual Studio 2008 Profiler is the ability to take a large VSP file that has been analyzed once and save the report data into a VSPS file (&lt;STRONG&gt;V&lt;/STRONG&gt;isual &lt;STRONG&gt;S&lt;/STRONG&gt;tudio &lt;STRONG&gt;P&lt;/STRONG&gt;rofiler &lt;STRONG&gt;S&lt;/STRONG&gt;ummary files).&amp;nbsp; Saving the analyzed data has several major benefits: &lt;/P&gt;
&lt;OL&gt;
&lt;OL&gt;
&lt;LI&gt;The analyzed data is orders of magnitude smaller than the VSP file.&amp;nbsp; We've seen 4GB trace VSPs get compressed into less than 100K VSPS files.&lt;/LI&gt;
&lt;LI&gt;Because the data saved in the VSPS files has already been processed by our data analyzer, it will load up much faster.&amp;nbsp; &lt;/LI&gt;
&lt;LI&gt;Symbol data is automatically packed into the VSPS file.&lt;/LI&gt;&lt;/OL&gt;&lt;/OL&gt;
&lt;P&gt;VSPS files because of their small size, quick analysis, and saved symbols are perfect for use as saved baselines with the new performance comparison functionality in VS2008.&amp;nbsp; A best practice is to regularly save off VSPS files for your performance scenarios so you can look for performance regressions from one milestone to the next.&lt;/P&gt;
&lt;P&gt;This feature is not particularly discoverable.&amp;nbsp; Here's a quick map of where to find it (highlighted in yellow):&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/profiler/WindowsLiveWriter/QuickTipSaveAnalyzedforlargeVSPfiles_14D77/SaveAnalyzed.jpg" mce_href="http://blogs.msdn.com/blogfiles/profiler/WindowsLiveWriter/QuickTipSaveAnalyzedforlargeVSPfiles_14D77/SaveAnalyzed.jpg"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" border=0 alt=SaveAnalyzed src="http://blogs.msdn.com/blogfiles/profiler/WindowsLiveWriter/QuickTipSaveAnalyzedforlargeVSPfiles_14D77/SaveAnalyzed_thumb.jpg" width=593 height=373 mce_src="http://blogs.msdn.com/blogfiles/profiler/WindowsLiveWriter/QuickTipSaveAnalyzedforlargeVSPfiles_14D77/SaveAnalyzed_thumb.jpg"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;One caveat: because the data has already been analyzed in the VSPS file, you can't use filters on VSPS files.&lt;/P&gt;
&lt;P&gt;[Steve Carroll - &lt;A href="mailto:scarroll@microsoft.com" mce_href="mailto:scarroll@microsoft.com"&gt;scarroll&lt;/A&gt;]&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8518005" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/profiler/archive/tags/profiler/default.aspx">profiler</category><category domain="http://blogs.msdn.com/profiler/archive/tags/orcas/default.aspx">orcas</category><category domain="http://blogs.msdn.com/profiler/archive/tags/visual+studio/default.aspx">visual studio</category><category domain="http://blogs.msdn.com/profiler/archive/tags/team+system/default.aspx">team system</category><category domain="http://blogs.msdn.com/profiler/archive/tags/vs2008/default.aspx">vs2008</category><category domain="http://blogs.msdn.com/profiler/archive/tags/tips/default.aspx">tips</category></item><item><title>Articles on new Visual Studio Team System 2008 profiler features</title><link>http://blogs.msdn.com/profiler/archive/2007/10/19/articles-on-new-visual-studio-team-system-2008-profiler-features.aspx</link><pubDate>Fri, 19 Oct 2007 20:10:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5526335</guid><dc:creator>profiler</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/profiler/comments/5526335.aspx</comments><wfw:commentRss>http://blogs.msdn.com/profiler/commentrss.aspx?PostID=5526335</wfw:commentRss><description>&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;I’ve recently been working on a series of post on my blog about many of the cool new features that we are adding in Visual Studio Team System 2008 (codename Orcas). So I figured that I’d post a quick link here to all the articles that I’ve finished so far.&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;A href="http://blogs.msdn.com/ianhu/archive/2007/10/17/collecting-performance-counter-information-with-the-visual-studio-team-system-profiler.aspx"&gt;Collecting Performance Counter information with the Visual Studio Profiler&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;A href="http://blogs.msdn.com/ianhu/archive/2007/09/14/pinpoint-a-performance-issue-using-hotpath-in-visual-studio-2008.aspx"&gt;Pinpoint a performance issue using hotpath in Visual Studio 2008&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;A href="http://blogs.msdn.com/ianhu/archive/2007/07/17/the-visual-studio-profiler-data-collection-control-part-1-excluding-application-startup-time.aspx"&gt;The Visual Studio Profiler Data Collection Control Part 1: Excluding Application Startup Time&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;A href="http://blogs.msdn.com/ianhu/archive/2007/04/03/comparing-performance-reports-with-the-visual-studio-team-system-profiler.aspx"&gt;Comparing performance reports with the Visual Studio Team System Profiler&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;[&lt;A class="" href="http://blogs.msdn.com/ianhu" mce_href="http://blogs.msdn.com/ianhu"&gt;ianhu&lt;/A&gt;]&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5526335" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/profiler/archive/tags/profiler/default.aspx">profiler</category><category domain="http://blogs.msdn.com/profiler/archive/tags/orcas/default.aspx">orcas</category><category domain="http://blogs.msdn.com/profiler/archive/tags/visual+studio/default.aspx">visual studio</category><category domain="http://blogs.msdn.com/profiler/archive/tags/team+system/default.aspx">team system</category><category domain="http://blogs.msdn.com/profiler/archive/tags/vs2008/default.aspx">vs2008</category></item></channel></rss>