Browser in distributed tracing now supports W3C trace context headers. W3C Trace Context is a standard that makes distributed tracing easier to implement, more reliable, and ultimately more valuable for developers working with modern, highly distributed applications. The standard greatly simplifies use cases where developers instrument services using tools from different distributed tracing solutions. Now all tracers and agents that conform to the W3C Trace Context standard can participate in a trace. Trace data can be propagated from the root service all the way to the terminal service.
Once Distributed Tracing is turned on in your Browser Application Settings page, the trace context headers will be added by default, along with the newrelic proprietary header, for same origin AJAX requests. If your system is fully configured to send w3c trace context throughout all services, you can choose to disable the newrelic header from the Application setting tab.
For cross origin AJAX requests already configured to accept the newrelic header, you can now select the option to send the W3C trace context headers. When selected, all origins defined must be configured to accept the traceparent and tracestate headers. For information on configuring CORS headers, please see our docs page for an example. As with the same origin requests, if you system is fully configured for W3C trace context headers, you can choose to disable the newrelic header.
For more information, please see our New Relic Support for W3C Trace Context blog post.
The following New Relic agents now support W3C:
- Browser Pro+SPA agent 1173 and higher
- Java 5.1.0 and higher
- Python 5.5 and higher
- Go 3.1.0 and higher
- Node.js 6.4 and higher
- Ruby 6.9.0 and higher
- PHP 9.8 and higher
- .NET 8.27 and higher