[DRAFT] Distributed Tracing Group Charter
The mission of the Distributed Tracing Working Group is to define standards for interoperability between tracing tools. A tracing tool refers to a tool which is implemented as either a library or an agent to provide at least one of the following capabilities:
- Propagation of the context identifying a trace, i.e. an interaction with an application.
- Modification of trace information to indicate that additional trace information is available.
- Collection of tracing information for a specific trace.
- A standardized way to propagate vendor-specific tracing information across tiers instrumented with different tracing tools
- A standardized and extensible format to share trace data -- full traces or fragments of traces -- across tools for further interpretation
|Start date||01 May 2018 (date of the "Call for Participation", when the charter is approved)|
|End date||30 April 2020|
|Charter extension||See Change History.|
|Chairs||Alois Reitbauer (email@example.com)|
|Team Contacts||[team contact name] (0.1 FTE)|
Teleconferences:1-hour team calls will be held bi-weekly.
Face-to-face: we will meet during the W3C's annual Technical Plenary week; additional quarterly face-to-face meetings will be scheduled by consent of the participants.
Modern cloud-native applications are highly distributed and often span multiple technology and vendor boundaries. The complexity of these applications requires a detailed understanding of how individual requests are executed. This is referred to as "tracing".
Tracing tools for collecting this information have been available for quite some time. However, these tools have not been built with interoperability in mind. This leaves the developer with a number of challenges in getting an end-to-end trace of complex transactions:
- Traces are often broken, because trace context information is lost in a contributing tier or the trace is restarted
- Vendors cannot pass proprietary information across tiers instrumented with a different implementation and therefore lose relevant information (e.g. step count, server information, ...)
- End users don't have the ability to create complete end-to-end traces of application transactions which are monitored by different tools, as there is no defined data format and semantics for trace data
The scope of this working group is the definition of data formats and headers enabling the propagation and correlation of tracing data across different implementations.
Out of Scope
The following features are out of scope, and will not be addressed by this Working group.
- definition of (programming) language specific APIs for performance data collection;
- performance data analysis techniques or algorithms.
Each specification should contain a section detailing any known security or privacy implications for implementers, Web authors, and end users.
Each specification also has a related test-suite defining compliant behavior of implementations. The test-suite is built so implementations can easily be tested for compliant behavior.
More detailed milestones and updated publication schedules are available on the group publication status page.
Draft state indicates the state of the deliverable at the time of the charter approval. Expected completion indicates when the deliverable is projected to become a Recommendation, or otherwise reach a stable state.
The Working Group will deliver the following W3C normative specifications:
- Trace Context
This specification defines a set of headers that allow the propagation of trace information across tool boundaries.
Draft state: Draft
Expected completion: Q2 2019
- Correlation Context
This specification defines how correlation relevant meta data can be propagated across tiers using different tracing tools.
Draft state: Requirements Definition
Expected completion: Q2 2019
- Trace Interchange Format
This specification defines a standardized format to exchange trace data across multiple platforms.
Draft state: Requirements Definition
Expected completion: Q1 2020
Other non-normative documents may be created such as:
- Use case and requirement documents;
- List of recommended vendor identifiers for header values;
- Test suite and implementation report for the specification;
- Primer or Best Practice documents to support web developers when designing applications.
- April 2018: First teleconference
- May 2018: First face-to-face meeting
- May 2018: FPWD of Trace Context
- July 2018: Requirements for Correlation Context
- December 2018: CR for TraceContext
- January 2019: Requirements for Trace Interchange format
For all specifications, this Working Group will seek horizontal review for accessibility, internationalization, performance, privacy, and security with the relevant Working and Interest Groups, and with the TAG. Invitation for review must be issued during each major standards-track document transition, including FPWD and at least 3 months before CR, and should be issued when major changes occur in a specification.
Additional technical coordination with the following Groups will be made, per the W3C Process Document:
- Web Performance Working Group
- The trace context standard relates to work around Server Timing done within the Web Performance group. Going forward it will make sense to define how trace context headers - specifically response headers - are related to the server timing header. The trace interchange format also can be used to represent server timing data.
- Internet Engineering Task Force
- The IETF is responsible for defining robust and secure protocols for Internet functionality, in particular HTTP. The Working Group should coordinate protocol-related work (e.g. profiles of hybi or HTTP) with the appropriate IETF WGs.
To be successful, this Working Group is expected to have 6 or more active participants for its duration, including representatives from the key implementors of this specification, and active Editors and Test Leads for each specification. The Chairs, specification Editors, and Test Leads are expected to contribute half of a working day per week towards the (Working|Interest) Group. There is no minimum requirement for other Participants.
The group encourages questions, comments and issues on its public mailing lists and document repositories, as described in Communication.
The group also welcomes non-Members to contribute technical submissions for consideration upon their agreement to the terms of the W3C Patent Policy.
Technical discussions for this Working Group are conducted in public: the meeting minutes from teleconference and face-to-face meetings will be archived for public review, and technical discussions and issue tracking will be conducted in a manner that can be both read and written to by the general public. Working Drafts and Editor's Drafts of specifications will be developed on a public repository, and may permit direct public contribution requests. The meetings themselves are not open to public participation, however.
Information about the group (including details about deliverables, issues, actions, status, participants, and meetings) will be available from the Distributed Tracing Working Group home page.
Most Distributed Tracing Working Group teleconferences will focus on discussion of particular specifications, and will be conducted on an as-needed basis.
This group primarily conducts its technical work GitHub issues. The public is invited to review, discuss and contribute to this work.
The group may use a Member-confidential mailing list for administrative purposes and, at the discretion of the Chairs and members of the group, for member-only discussions in special cases when a participant requests such a discussion.
This group will seek to make decisions through consensus and due process, per the W3C Process Document (section 3.3). Typically, an editor or other participant makes an initial proposal, which is then refined in discussion with members of the group and other reviewers, and consensus emerges with little formal voting being required.
However, if a decision is necessary for timely progress, but consensus is not achieved after careful consideration of the range of views presented, the Chairs may call for a group vote, and record a decision along with any objections.
To afford asynchronous decisions and organizational deliberation, any resolution (including publication decisions) taken in a face-to-face meeting or teleconference will be considered provisional. A call for consensus (CfC) will be issued for all resolutions (for example, via email and/or web-based survey), with a response period from one week to 10 working days, depending on the chair's evaluation of the group consensus on the issue. If no objections are raised on the mailing list by the end of the response period, the resolution will be considered to have consensus as a resolution of the Working Group.
All decisions made by the group should be considered resolved unless and until new information becomes available, or unless reopened at the discretion of the Chairs or the Director.
This charter is written in accordance with the W3C Process Document (Section 3.4, Votes), and includes no voting procedures beyond what the Process Document requires.
This Working Group operates under the W3C Patent Policy 5 February 2004 (updated 1 August 2017). To promote the widest adoption of Web standards, W3C seeks to issue Recommendations that can be implemented, according to this policy, on a Royalty-Free basis. For more information about disclosure obligations for this group, please see the W3C Patent Policy Implementation.
This Working Group will use the W3C Software and Document license for all its deliverables.
About this Charter
This charter has been created according to section 5.2 of the Process Document. In the event of a conflict between this document or the provisions of any charter and the W3C Process, the W3C Process shall take precedence.
The following table lists details of all changes from the initial charter, per the W3C Process Document (section 5.2.3):
|Charter Period||Start Date||End Date||Changes|
|Initial Charter||01 April 2018||31 March 2020|