Advanced application profiling using diagnostic tracing

Diagnostic tracing is an advanced method of application profiling. The diagnostic tracing data produced by the database server can include the time stamps and connection ids of statements handled by the database server. For queries, diagnostic tracing data includes the isolation level, number of rows fetched, cursor type, and query execution plan. For INSERT, UPDATE, and DELETE statements, the number of rows affected is also included. You can also use diagnostic tracing to record information about locking and deadlocks, and to capture numerous performance statistics.

You use the data gathered during diagnostic tracing to perform in-depth application profiling activities such as identifying and troubleshooting:

  • specific performance problems

  • statements that are unusually slow to execute

  • improper option settings

  • circumstances that cause the optimizer to pick a sub-optimal plan

  • contention for resources (CPUs, memory, disk I/O)

  • application logic problems

Tracing data is also used by tools such as the Index Consultant to make specific recommendations on how to change your database or application to improve performance.

The tracing architecture is robust and scalable. It can record all the information that request logging records, and details to support tailored analysis. For information about request logging, see Perform request trace analysis.

 See also

Tracing session data
Configuring diagnostic tracing
Choosing a diagnostic tracing level
Diagnostic tracing levels
Diagnostic tracing scopes
Diagnostic tracing types
Diagnostic tracing conditions
Determine current diagnostic tracing settings
Change the diagnostic tracing configuration settings
Change diagnostic tracing settings when a tracing session is in progress
Create a diagnostic tracing session
Analyzing diagnostic tracing information
Troubleshooting performance problems
Detecting when hardware resources are a limiting factor
Debugging application logic
Perform request trace analysis
Creating an external tracing database