Skip to content

Latest commit

 

History

History
104 lines (79 loc) · 7 KB

distributed-tracing-planning-guide.mdx

File metadata and controls

104 lines (79 loc) · 7 KB
title tags metaDescription redirects freshnessValidatedDate
Distributed tracing: Planning guide
Understand dependencies
Distributed tracing
Get started
Enabling New Relic distributed tracing impacts some APM features.
/docs/distributed-tracing-transition-guide
/docs/transition-guide-distributed-tracing
/docs/apm/distributed-tracing/getting-started/transition-guide-distributed-tracing
/docs/understand-dependencies/distributed-tracing/get-started/distributed-tracing-planning-guide
/docs/distributed-tracing/get-started/distributed-tracing-planning-guide
never

import distributedtracingTransactionTraceUI from 'images/distributed-tracing_screenshot-full_transaction-trace-UI.webp'

import distributedtracingTraceNameChangeUI from 'images/distributed-tracing_screenshot-crop_trace-name-change-UI.webp'

import distributedtracingDistributedTracingRollout from 'images/distributed-tracing_diagram_distributed-tracing-rollout.webp'

Distributed tracing is enabled by default in many of our products, but if you're planning on rolling this out in a large distributed system, we recommend you review the planning steps below.

Also, if you've been using older versions of the agents and have not been using distributed tracing, we recommend you review Impact to APM features before you roll out distributed tracing.

Plan your rollout [#rollout]

If you're enabling distributed tracing for a large distributed system, here are some tips:

  • If you're 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:

    Diagram showing a roll-out strategy for distributed tracing.

  • If you're using 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 need to configure that proxy so that it allows the newrelic header value to be propagated from source to destination.

Impact to APM features [#changes]

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 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:

When distributed tracing is enabled for an application, the transaction trace UI will no longer have the transaction name and link for the called service (see screenshot below). This will be replaced with the called service's URL.
<img
  title="distributed-tracing_screenshot-full_transaction-trace-UI.png"
  alt="Distributed tracing - Transaction trace effects"
  src={distributedtracingTransactionTraceUI}
/>

<img
  title="distributed-tracing_screenshot-crop_trace-name-change-UI.png"
  alt="distributed-tracing_screenshot-crop_trace-name-change-UI.png"
  src={distributedtracingTraceNameChangeUI}
/>

<figcaption>
  <DNT>**[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > APM & services > (select an app) > Monitor > Transactions > (select a transaction trace)**</DNT>: This shows the transaction trace UI before distributed tracing is enabled, with a link to the associated transaction. With distributed tracing enabled, it will display the service's URL.
</figcaption>

If you wanted to get more detail about trace activity, you would go to the <DNT>**Distributed tracing**</DNT> UI page and examine that trace.

<Collapser id="cat-disabled" title="Cross-application tracing will be disabled"

Enabling distributed tracing will disable the [cross application tracing](/docs/apm/transactions/cross-application-traces/introduction-cross-application-traces) feature. Distributed tracing is an improved version of cross-application tracing and only one can be enabled at a time.

<Collapser id="maps-no-browser-mobile" title="Impacts related to mobile monitoring"

APM-related impacts include:

* When distributed tracing is enabled for an APM-monitored entity, legacy [service maps](/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps) will not show applications monitored by <InlinePopover type="mobile" />.
* The [App server drill-down](/docs/mobile-monitoring/mobile-monitoring-ui/network-pages/http-requests-page#details) feature of the legacy mobile HTTP requests UI page is not available.

Enable distributed tracing [#enable]

Distributed tracing is enabled by default. For configuration information, See Distributed tracing setup options to get started.