Skip to content
This repository was archived by the owner on Oct 3, 2023. It is now read-only.

Commit e272b73

Browse files
author
Ramon Nogueira
authored
Make TraceContext the default propagation format (#185)
1 parent 91cca5e commit e272b73

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

trace/HTTP.md

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ This document explains tracing of HTTP requests with OpenCensus.
44

55
## Spans
66

7-
Implementations MUST create a span for outgoing requests at the client and a span for incoming
7+
Implementations MUST create a span for outgoing requests at the client and a span for incoming
88
requests at the server.
99

1010
Span name is formatted as:
@@ -29,24 +29,28 @@ incoming requests should be a span kind of SERVER.
2929

3030
Propagation is how SpanContext is transmitted on the wire in an HTTP request.
3131

32-
Implementations MUST allow users to set their own propagation format and MUST provide an
33-
implementation for B3 at least.
32+
Implementations MUST allow users to set their own propagation format and MUST provide an
33+
implementation for B3 and TraceContext at least.
3434

35-
If user doesn't set any propagation methods explicitly, B3 is used.
35+
If user doesn't set any propagation methods explicitly, TraceContext is used.
3636

37-
The propagation method SHOULD modify a request object to insert a SpanContext or SHOULD be able
37+
> In a previous version of this spec, we recommended that B3 be the default. For backwards compatibility,
38+
implementations may provide a way for users to "opt in" to the new default explicitly, to
39+
avoid a silent change to defaults that could break existing deployments.
40+
41+
The propagation method SHOULD modify a request object to insert a SpanContext or SHOULD be able
3842
to extract a SpanContext from a request object.
3943

4044
## Status
4145

42-
Implementations MUST set status if HTTP request or response is not successful (e.g. not 2xx). In
43-
redirection case, if the client doesn't have autoredirection support, request should be
46+
Implementations MUST set status if HTTP request or response is not successful (e.g. not 2xx). In
47+
redirection case, if the client doesn't have autoredirection support, request should be
4448
considered successful.
4549

46-
Set status code to UNKNOWN (2) if the reason cannot be inferred at the callsite or from the HTTP
50+
Set status code to UNKNOWN (2) if the reason cannot be inferred at the callsite or from the HTTP
4751
status code.
4852

49-
Don't set the status message if the reason can be inferred at the callsite of from the HTTP
53+
Don't set the status message if the reason can be inferred at the callsite of from the HTTP
5054
status code.
5155

5256
### Mapping from HTTP status codes to Trace status codes

0 commit comments

Comments
 (0)