ADO.NET sensor

The ADO.NET Sensor traces the preparation and execution performance information of SQL statements. It can also capture ConnectionPool data.

The ADO.NET sensor captures the following data:

  • The SQL string (by default, up to 4096 characters).
  • The number of rows returned during the execution of the SQL statement.
  • Optionally, the bind values for the SQL statements.
  • The following connection pool data:
    • poolName
    • dbName
    • dbHost
    • url
    • dbType
    • username
    • poolSize

Capturing base information does not add significant overhead. No reflection is used to gain the data, because it is provided by available properties and fields.

Bind value capturing, however, might increase overhead significantly.

Sensor configuration

To edit the System Profile specific settings, open the System Profile Preferences dialog box and select Agent Group/tier with .NET technology > Sensor Configuration and then select the ADO.NET item in the Sensor Configuration list.

Here you can enable or disable aggregation and bind value capturing. You can also set the limit for SQL command length.

  • No aggregation or bind value capturing: Each query displays separately. Bind values are not captured.
  • Enable aggregation: If queries are equal, only one DB query statement displays per PurePath parent node, along with the number of executions. This makes PurePaths trees much more readable, but capturing of bind values is disabled. DB connection acquisitions are not aggregated.
  • Enable bind value capturing (Warning): Enables capture of SQL statement's bind values.
  • Maximum size of captured SQL command strings: Limits the captured SQL statements to the specified length. The default is 512. All symbols, exceeding the limit, are cut.

Properties marked with Warning are especially relevant for sensor overhead on the system under diagnosis (SUD). Use these properties with caution and check the impact on the SUD after setting these properties.