Support for W3C Trace Context, with easy upgrade from New Relic trace context.
Distributed Tracing now supports W3C Trace Context headers for HTTP and gRPC protocols when distributed tracing is enabled. Our implementation can accept and emit both W3C trace header format and New Relic trace header format. This simplifies agent upgrades, allowing trace context to be propagated between services with older and newer releases of New Relic agents. W3C trace header format will always be accepted and emitted. New Relic trace header format will be accepted, and you can optionally disable emission of the New Relic trace header format.
When distributed tracing is enabled with
Config.DistributedTracer.Enabled = true, the Go agent will now accept W3C's
tracestateheaders when calling
Transaction.AcceptDistributedTraceHeaders. When calling
Transaction.InsertDistributedTraceHeaders, the Go agent will include the W3C headers along with the New Relic distributed tracing header, unless the New Relic trace header format is disabled using
Config.DistributedTracer.ExcludeNewRelicHeader = true.
Event data is now sent to New Relic every five seconds, instead of every minute. As a result, transaction, custom, and error events will appear in near-realtime within APM and Insights.
Note that the overall limits on how many events can be sent per minute have not changed. Also, metric and trace data is unaffected, and will still be sent every minute.