If you are new to New Relic distributed tracing, we recommend you read the following before you enable distributed tracing.
Our distributed tracing improves on APM's previous cross application tracing feature. Here are some key benefits:
- See more cross-service activity details and more complete end-to-end traces.
- Filter and query traces, as well as make custom charts.
- See the complete trace even when calls cross an organization's account boundaries.
- See Introduction to distributed tracing for more features.
Enabling distributed tracing may affect some APM features you currently use. These changes affect only applications monitored by agents that have distributed tracing enabled—they don't apply on an account-level.
We may provide backward compatibility with some or all of the affected features in future releases. For now, you should understand the following changes before enabling distributed tracing:
If you're enabling distributed tracing for a large, distributed system, here are some tips:
If you are a current APM user, see Impact to APM features.
Determine the requests that are the most important for your business, or the most likely to require analysis and troubleshooting, and enable distributed tracing for those services. Enable tracing for services at roughly the same time so you can more easily gauge how complete your end-to-end traces are.
When you look at traces in the distributed tracing UI, you'll see spans in the trace for external calls to other services. Then, you can enable distributed tracing for any of those services you want. If a service is fairly standalone and not often used in context with other services, you may not want to enable distributed tracing for it.
Here's a visual representation of such a phased roll-out:
If you are using APM for a large, monolithic service, there may be many sub-process spans per trace and APM limits may result in fewer traces than expected. You can solve this by using APM agent instrumentation to disable the reporting of unimportant data.
Distributed tracing works by propagating header information from service to service in a request path. Some services may communicate through a proxy or other intermediary service that does not automatically propagate the header. In that case, you will need to configure that proxy so that it allows the
newrelicheader value to be propagated from source to destination.
If you are aware of the impact to APM features and have thought about your rollout, you are ready to set up distributed tracing. See the setup options.