Hierarchical trace profiling with MDX Studio
Profiling and tracing functionality of Analysis Services is very valuable in analyzing query performance. Trace contains wealth of information about what is happening in the server. However, I found out, that this information might not be very easy to digest. Profiler just shows flat list of lines and lines of trace events. However, there is an inherited hierarchical grouping of events. For example, within Non Empty processing, we may have multiple SE queries, each one triggering several partition queries etc. It is difficult to pick up this hierarchical grouping from the trace, partly because design of trace events is somewhat inconsistent. Some events have clear Begin/End boundaries – like QueryBegin/QueryEnd events, others have only one event at the end – like QuerySubcube, yet others in addition to Begin/End pair also have multiple “Current” events in the middle – like SerializeResultsCurrent. And while some important fragments of query execution have special events – like NON EMPTY and Serialize Results, others don’t – like calculate query named sets and axes etc. New release of MDX Studio (version 0.4.7 – can be downloaded here) solves the above mentioned problems as much as possible. It features the “Profile” button (right next to “Execute” and “Debug” buttons), which produces the hierarchical trace view for the query.
Read more...