Today we announced that the W3C Trace Context specification entered Proposed Recommendation maturity level. A unified approach for propagating distributed trace identifiers and context improves observability into the behavior of distributed applications, facilitating problem and performance analysis. The interoperability provided by Trace Context is a prerequisite to manage modern applications with a microservice architecture.
There are many benefits to this specification being a standard and we see a wide number of companies and projects adopting it. Google, Dynatrace, Elastic, New Relic, and LightStep have already announced their support and others are actively participating in discussions.
Microsoft is a founding member of W3C Distributed Tracing Working Group, whose charter is to improve observability in modern cloud apps. Modern cloud apps are typically distributed in nature and require specialized observability techniques to pinpoint failures and performance problems. In addition, the wide variety of platforms, libraries, and programming languages used for cloud applications makes observability a challenge and the open source and community-driven standardization effort in the best path to resolving it.
We in Microsoft are committed to improve the development and observability of modern cloud apps via W3C Distributed Tracing Working Group and other efforts. It is also why we invest in open source projects such as OpenTelemetry, Distributed Application Runtime, Orleans (Distributed .NET), and many others.
Microsoft operates in two roles — as a cloud provider and observability tool provider. As a cloud provider, we strive to make cloud services and apps hosted in Azure easy to observe and troubleshoot using any tool of your choice. As a monitoring tool provider, for Application Insights in Azure Monitor, we build experiences such as Application Map and End-to-End Transaction Diagnostics to help solve many of the challenges of monitoring a modern cloud application.
With both of Microsoft’s roles, defining and embracing a standard for distributed trace context propagation is essential. Microsoft is already implementing the W3C Trace Context specification. The protocol is built into .NET Core 3.0, used in Application Insights and supported by a number of Azure Services.
There is more work ahead for the Trace Context specification and other standardization work happening in W3C Distributed Tracing Working Group. You can read about some hot topics in this area and we hope you’ll join in the effort to shape the future of distributed tracing.
Any questions or feedback? Let us know in the comments below.