views:

4688

answers:

9

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)

+11  A: 

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= srv*C:\symbols*http://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

Jon Galloway
A: 

Thanks Jon, Will try it!

Also check out this forum entry: http://silverlight.net/forums/t/12623.aspx

rudigrobler
+1  A: 

Here is a detailed blog entry about using XPerf... Also check out this video (at PDC) about profiling silverlight!!!

rudigrobler
+1  A: 

Hello

AtoLogic SilverProfiler should work for you. See http://www.atologic.com

zuraff
+1  A: 

Has anyone managed to get XPerf to work satisfactorily on Windows XP? By the looks of things the kernel doesn't really support the new Windows Event Tracing

I've been looking for an excuse to be upgraded to Windows 7 :P

moosecode
Xperf would work on Widowsxp. But you will not get call-stacks in the ETW collection. It is only available from Vista onwards.
Naveen
+3  A: 

EQATEC has released a new version of the EQATEC Profiler, that supports Silverlight applications. You can get the profiler here. The profiler is used by more than 30.000 developers world-wide and was initially released in May 2008.

Eigil Rosager Poulsen
It looks like this is limited to 16ms resolution, which doesn't seem very useful (how many methods take 16ms to run?). However it's hard to evaluate because the $199 Professional version is required to try it out.
Gabe
Here is an evaluation from a Silverlight MVP:http://www.ingebrigtsen.info/post/2010/02/24/First-go-with-the-EQATEC-Silverlight-Profiler.aspx
Eigil Rosager Poulsen
The 16ms granularity is inherent to Silverlight timers.You can evaluate the profiler's complete functionality without a license; only the reported method-names are not revealed.
Richard Flamsholt
+1  A: 

SL 4.0 has coreclr etw events. Should be able to diagnose exception,gc, threading and few others using the XPERF and Perfmonitor and clr etw. I have blogged about this.

FYI using Perfmonitor should be able to provide call-stacks.

ETW is available only in Windows.

Naveen
+1  A: 

Try JetBrains dotTrace performance profiler. Here is the detail how to: http://confluence.jetbrains.net/display/NetProf/How+to+profile+silverlight+application

Ivan Shakhov
+1  A: 

Visual Studio 2010 (with the Silverlight 4 tools) comes with command line support for profiling Silverlight apps.

Full instructions for profiling SL4 can be found at: http://www.nachmore.com/2010/profiling-silverlight-4-with-visual-studio-2010/

Oren