Search code examples
silverlightprofiling

How to profile a silverlight application?


Is their any profilers that support Silverlight? I have tried ANTS (Version 3.1) without any success? Does version 4 support it? Any other products I can try?

Updated since the release of Silverlight 4, it is now possible to do full profiling on SL applications... check out this article on the topic

At PDC, I announced that Silverlight 4 came with the new CoreCLR capability of being profile-able by the VS2010 profilers: this means that for the first time, we give you the power to profile the managed and native code (user or platform) used by a Silverlight application. woohoo. kudos to the CLR team.

Sidenote: From silverlight 1-3, one could only use things like xperf (see XPerf: A CPU Sampler for Silverlight) which is very powerful to see the layout/text/media/gfx/etc pipelines, but only gives the native callstack.)

From SilverLite (PDC video, TechEd Iceland, VS2010, profiling, Silverlight 4)


Solution

  • Install XPerf and xperfview as available here: http://msdn.microsoft.com/en-us/library/cc305218.aspx

    (1) Startup your sample

    (2) xperf -on base

    (3) wait for a bit

    (4) xperf –d myprofile.etl

    (5) when this is done, set your symbol path:

    set _NT_SYMBOL_PATH= srvC:\symbolshttp://msdl.microsoft.com/downloads/symbols

    (6) xperfview myprofile.etl

    (7) Trace -> Load Symbols

    • Select the area of the CPU graph that you want to see
    • Right-click and select Summary Table

    (8) Accept the EULA for using symbols, expand IExplore, expand agcore.dll or whatever is your top module