New Relic offers distributed tracing for monitoring and analyzing modern distributed systems. This document explains:
- A definition of distributed tracing
- The capabilities of our distributed tracing feature
- How to enable distributed tracing
What is distributed tracing?
Modern applications and sites increasingly use many interconnected services. An application architecture that relies on many services or microservices is often referred to as a distributed system.
Distributed tracing is the process of tracking the activity resulting from a request to an application. With this feature, you can:
- Trace the path of a request as it travels across a complex system
- Discover the latency of the components along that path
- Know which component in the path is creating a bottleneck
Distributed tracing from New Relic
Distributed tracing lets you see the path that a request takes as it travels through a distributed system. A distributed trace is composed of multiple spans, which represent time spent in services or resources of those services.
Distributed tracing features include:
- Trace charts are filterable by different data points, letting you analyze trace data in many different ways.
- Anomalous span detection: spans that are slow in comparison to typical behavior are marked as anomalous, with charts comparing them to typical instances.
- You can create custom queries of your trace data and create custom data dashboards.
- Cross-account context: see data from across accounts in the same organization. In New Relic One, see a global view of traces from across all your accounts and applications.
- Inclusion of AWS Lambda data, if available.
- Ability to query distributed trace data by using the NerdGraph GraphiQL explorer at https://api.newrelic.com/graphiql.
Get distributed tracing
Enabling distributed tracing will affect some existing New Relic APM features. If you are accustomed to using APM without distributed tracing, read the transition guide before you turn on distributed tracing.
To enable distributed tracing:
- For general services and applications: see Enable distributed tracing.
- For AWS Lambda functions: see Enable Lambda monitoring.
We also have a Trace API, which is a separate feature, with different access requirements. Read about the Trace API.
Relationship to cross application tracing
Our distributed tracing feature replaces the previous cross application tracing feature. Compared to cross application tracing, distributed tracing gives more detail about cross-service activity and provides more complete end-to-end visibility.