← Back

How To Detect Software Performance Anomalies

Context:

As the lead writer for Intel VTune Profiler, one of my primary responsibilities was to document new types of running performance analyses. The software has a solid arsenal of 'analysis types', so every new analysis type must be documented carefully and thoroughly. Documenting the Anomaly Detection analysis type was a particularly interesting challenge.

The Work:

Developers run the Anomaly Detection analysis type to identify performance anomalies in their code which are difficult to identify and interpret. The problem is frequently never simple so you have to look for several signs to isolate it. 

I worked with a developer in another country to understand the basics of this analysis. For several reasons, I did not have access to a buggy sample or hardware to test this analysis. I had to rely on the developer's knowledge to document this feature. 

I set up demo sessions where the developer explained the strengths and limitations of running this analysis. I interviewed them at length and challenged their design with questions of my own. Some of those discussions resulted in tweaks to the feature. 

Because this was going to be a lot of information to process, I recorded the sessions and replayed our conversations several times to capture essential details. These recordings were immensely valuable as I documented the feature over several days.

Finally, I had a draft ready for review, Instead of a simple review of the text, I encouraged the developer and other experts to try out the analysis type by following my documentation. This activity helped me improve my own understanding of this feature.