TraceBuster
TraceBuster is a high-performance Profiler trace loading and analysis tool. One of the chief problems encountered when attempting to analyze large Profiler trace workloads is that there is no way to easily aggregate similar queries together. In fact, there is no easy way to aggregate different executions of the same query with varying parameters values. The reason for this is that each query’s text includes its “filter values”—the values or parameters that filter and constrain the data it returns (e.g., the terms of a WHERE clause). So, if the same query was executed multiple times with different parameters, each instance of the query would be grouped in its own “bucket” using tools such as SQL Profiler for plain T-SQL queries against fn_trace_gettable(). This makes it extremely difficult to track the execution of a query over time and see how different parameter values cause it to perform. It also makes index tuning and query tuning more difficult.
TraceBuster addresses this by reading Profiler .TRC files and “normalizing” each query it finds. By normalize, we mean that the literal values in the query are replaced with tokens, allowing different instances of the same query with different parameters to be easily aggregated together for analysis.
TraceBuster uses SQL Server’s high-speed bulk load libraries to quickly build a data warehouse of the Profiler trace data it processes. It aggregates different instances of the same query together and tracks interesting data points such as the CPU time used, the reads and writes a query has initiated, and the total duration for each query execution.
TraceBuster does not require an installer and can be setup via “xcopy deployment,” so you can install it simply by extracting the zip file located in the TraceBuster folder on the CD to a folder on your hard drive. To start the application, run TraceBuster.exe at the prompt. Pass /? on the command line to list the parameters TraceBuster supports.