dotTrace 2016.2 Help


Performance Profiler contains a number of filters that allow slicing and dicing profiling data by various conditions. The result of filter's work is always a set of time intervals or point events selected by a specific condition.

Filters are the main analysis instrument in Performance Profiler.


To apply a filter:

  • In the Performance Profiler window, click on the desired filter or select filter value from the list (if the filter provides multiple values). Note that you can simultaneously apply as many filters as you need.

After the filter is applied, it becomes highlighted in the Performance Profiler window. Filter name is changed to the currently selected filter value.


To clear a filter:

  • Click on the applied filter one more time.

To clear all filters:

  • In the Performance Profiler window, click the ThemedIcon.ClearFilters.Screen.[Gray] Clear filters button.

Filter Types

The list of filters in the integrated viewer is identical to the one in the standalone Timeline Viewer. Therefore, if you need more information on how a particular filter works, refer to the corresponding section of the Analyzing Timeline Profiling Results | Filters chapter:

  • User Code
    Time intervals where user code is running (includes user methods and system methods run by user methods).
  • UI Freeze
    Time intervals where the application is unable to respond to user input.
  • Blocking GC
    Time intervals where blocking garbage collection is performed.
  • Thread State
    Filter time intervals by thread state (Running, Waiting, Ready).
  • Events
    The group of filters which represent particular events related to the profiled application.
    • Memory Allocation
      Memory allocation point events.
    • Exceptions
      Exception point events.
    • File I/O
      Time intervals where read/write operations with disk or system cache are performed.
    • Background GC
      Time intervals where background garbage collection is performed.
    • Lock Contention
      Time intervals where a thread waits for an exclusive access to an object.
    • JIT Compilation
      Time intervals where JIT compilation is performed.
    • SQL Queries
      Time intervals where a client communicates with an SQL server.
    • HTTP Requests
      Time intervals where a server processes incoming HTTP requests.
Last modified: 15 December 2016