Configure transaction traces

In New Relic APM, transaction traces record in-depth details about your application's transactions and database calls. If transaction traces are included as part of your subscription level, they are enabled by default in New Relic APM. You can also edit the default settings for transaction traces.

Access to this feature depends on your subscription level.

Configure transaction trace settings via agent

You can customize your transaction trace settings via New Relic agent configuration files and other "local" configuration methods such as environment variables.

Select a New Relic language agent to see its transaction trace configuration options:

Configure transaction traces via server-side config

The New Relic Go and PHP agents do not support server-side configuration. If you are using these agents, the transaction trace settings will be visible in the UI but not editable. For information on using the New Relic agent to change these settings, see Agent trace configuration.

To access server-side configuration settings for transaction traces if available for your New Relic agent:

  1. Go to rpm.newrelic.com/apm > (select an app) > Settings > Application.

    OR

    Go to rpm.newrelic.com/apm. Next, from the index of applications, select the app's gear gear icon, and then select pencil View settings.

  2. On the right side of the Application settings page, select Show advanced settings.

Here are explanations of the transaction trace settings found in the UI. The available settings and their exact descriptions will differ depending on the New Relic agent you use.

Enable transaction tracing?

Select the checkbox to turn transaction traces on and off. The box must be checked for transaction traces to be generated. If your subscription level includes transaction traces, they will be enabled by default.

Threshold

When a transaction exceeds the threshold, it will be a candidate for a transaction trace. The default threshold value is apdex_f, which equals your Apdex T value multiplied by 4.

Alternatively, you can set the threshold value to a specific number of seconds. If a number-of-seconds threshold is set, this acts as the threshold for all transactions, even for key transactions with their own custom Apdex value.

Record SQL?

This setting controls the collection of SQL and SQL-like query data. The New Relic agents differ in the types of query commands they recognize and collect. Setting options include:

  • Obfuscated: This is the highest security setting and the default setting. Replaces numeric and string literals in queries with question marks.
  • Off: Turns database query collection off.
  • Raw: Records all possible database queries, with nothing obfuscated. This is a potential security issue if you have sensitive data exposed in queries.
Stack trace threshold

This is the minimum threshold for the agent to generate a stack trace, in seconds. For some New Relic agents, this threshold applies to any segment in a transaction. For other agents, the threshold applies only to database queries.

Stack traces are relatively resource-expensive operations. Be aware that setting this threshold too low could affect application performance.

Enable SQL query plans?

When enabled, the agent requests the SQL plans (also known as the explain plans) from the database. Explain plans contain the protocol behind database execution of slow queries.

Query plan threshold

When a query response time exceeds this value in seconds, the agent will request a database query plan from your database. This is only active when SQL query plans are enabled.

Capture memcache keys?

Enable or disable the capture of memcache keys. (Not available for Python.)

These values cannot be "sanitized" (obfuscated). Do not enable this feature if your keys contain sensitive data.

Enable error collection?

Enable or disable error collection entirely, or ignore certain types of errors.

Enable slow query tracing?

Enable or disable the collection of slow query data.

Enable thread profiler?

Enable or disable thread profiling.

Enable cross application tracing?

Enable or disable cross application tracing.

Configure traces for specific (key) transactions

If you want to monitor or alert on a transaction differently than other transactions, make it a key transaction. This is useful, for example, when you want to set a transaction-specific Apdex that is different from your general Apdex T threshold.

Changing a key transaction's Apdex changes the likelihood that it creates a transaction trace. For example:

  • If you want to make it more likely a key transaction would generate transaction traces, lower its Apdex T value.
  • If you want to make a key transaction less likely to be traced, raise its Apdex T value.

If you have the transaction trace threshold set to a number of seconds, and not to the default Apdex setting, the number-of-seconds threshold will act as the threshold for all transactions, even for key transactions that have custom Apdex settings.

Create custom transactions

You can create custom transactions for app activity that isn't being automatically captured as a transaction by the New Relic agent. See Custom instrumentation for more information.

Collect HTTP request attributes, parameters

For data security reasons, transaction traces do not collect potentially sensitive HTTP request attributes, sometimes called parameters. Traces do collect some basic HTTP request attributes, which New Relic calls agent attributes. To edit attribute collection settings, see the specific New Relic agent:

For information on how to capture custom attributes, see Collect custom attributes.

Delete a transaction trace

When you delete a transaction trace, it is deleted permanently.

Delete a single transaction trace

To delete a transaction trace record permanently:

  1. In New Relic APM, select a transaction trace.
  2. Below the transaction trace's title, select Delete this trace.
Delete all transaction traces

To delete all traces for the selected app permanently:

  1. In New Relic APM, go to the Transactions page.
  2. At the bottom of the list of transactions, select Delete all traces.

It may take fifteen minutes or more for all transaction trace records to disappear from the UI.

To delete all traces for your account, get support at support.newrelic.com.

If you are doing general record cleanup, you may also want to delete databases and slow query traces or error traces. This will remove potentially sensitive data while retaining your other application data (such as Apdex, deployment information, etc.).

For more help

Recommendations for learning more: