Identify hotspots and issues in SDL Web Content Manager

Since SDL Web 8 the content manager backend and services have been leveraging Event Tracing for Windows (ETW). There are quiet a few major benefits of using ETW for tracing applications.

  1. Collection and processing of trace message is out of process. This lowers performance impact on the application significantly.
  2. Tracing can be enabled/disabled without restarting any running process and/or service. Usually trace logs can be very big and bulky, being able to start and stop without impacting the running process/service means we can have trace information which is a lot more concise and focused.

SDL Web rather than pushing a string with some trace information, actually pushes a structured information into ETW. Further information on how to collect those information into file format is available here.

However, using the provided powershell scripts the information can be collected either into a text file, which is similar to what was available before Web 8, or in Microsoft Event Trace Log (ETL) format. The ETL file can be opened using tools like PerfView. Using PerfView you are able to actually get to the structured data more easily, rather than just the flat string available in the text trace file.

Still it is far from ideal, as the information that is available can be used to create an interactive tool to traverse the call chain. However, till now there has been none available, worry not, there is now and is available in github https://github.com/sdl/web-tracevisualizer.


The screen shot at the top shows how it looks like when using the tool. Instructions for building the tool is available in GitHub.

After starting the tool switch to collect only Informational data, by going to Configuration > Level > Informational, otherwise the trace can become quiet heavy fast.


Then start your trace session using File > Start New Trace Session.


Now you are set. Feel free to post comments.

Leave a Reply

Your email address will not be published. Required fields are marked *