Introduction to cross application traces

Example trace map

New Relic APM's cross application traces link transactions between APM apps in your service-oriented architecture (SOA). This is useful, for example, to identify performance problems between your own application (the "calling" app) and any internal or external services (the "called" app), such as traffic to internal services.

The visualizations help you to:

  • Spot bottlenecks in your cross application call flows.
  • Understand from end to end how specific transactions are used by other applications and services.
  • Diagnose problems faster and enhance collaboration across teams.

Access to this feature depends on your subscription level.

Security considerations

Cross application tracing relies on three HTTP headers in order to exchange information between the calling and called applications.

  • The first two (X-NewRelic-ID and X-NewRelic-Transaction) appear as HTTP request headers in outgoing requests sent by an instrumented application.
  • The remaining header (X-NewRelic-App-Data) is inserted into the HTTP response if the called application belongs to the same New Relic account as the calling application.

New Relic obfuscates all of these headers using an obfuscation scheme identical to what is used for New Relic Browser's configuration for page load timing (sometimes referred to as real user monitoring or RUM) but with a different key.

HTTP header Description

X-NewRelic-ID

(in request header)

Contains the account ID and application ID of the application making the call

X-NewRelic-Transaction

(in request header)

Contains information about an individual transaction created by the call (a GUID unique to the calling transaction, along with information about upstream calls that spawned the transaction)

X-NewRelic-App-Data

(in the response if applicable)

Contains information about the called application, including:

  • Account ID
  • Application ID
  • Name of the called transaction
  • Timing information for the called transaction
  • GUID of the called transaction

Map options

To view cross application tracing details for your application, you need two apps that communicate with each other via HTTP requests. Also make sure your New Relic agent supports the map features.

  • To view a single instance of a call flow across multiple applications, select the trace map.
  • To view the common paths of many calls to a transaction, select the transaction map.

If your New Relic agent does not support the map features, you can still view your app and its related services as an architectural map. From the New Relic APM menu bar, select Applications > (selected app) > Monitoring > Map. This is useful, for example, to see the relationships between your apps for cross application traces.

Video

Here is a video of the original cross application tracing feature (without the trace map).

 

[video link] For an example of how cross application tracing works with New Relic APM's original feature, watch this video (4 minutes). View more videos and tutorials at learn.newrelic.com.

For more help

Additional documentation resources include:

Join the discussion about New Relic APM in the New Relic Online Technical Community! The Technical Community is a public platform to discuss and troubleshoot your New Relic toolset.

If you need additional help, get support at support.newrelic.com.