Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove BinaryFormat and HttpTextFormat from Tracer #214

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion specification/api-propagators.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@ Propagators API consists of two main formats:
- `HTTPTextFormat` is used to inject and extract a value as text into carriers that travel
in-band across process boundaries.

Each language SHOULD provide a way to differentiate `SpanContext` and `DistributedContext`
formats. This can be done with providing two sets of APIs (e.g `TracingPropagator` vs.
`DistributedContextPropagator`), using generics, etc.

## Binary Format

`BinaryFormat` is a formatter to serialize and deserialize a value into a binary format.
Expand Down Expand Up @@ -54,7 +58,7 @@ Returns a value deserialized from bytes.

## HTTP Text Format

`HTTPTextFormat` is a formatter that injects and extracts a value as text into carriers that
`HTTPTextFormat` is a formatter that injects and extracts a value as text into carriers that
travel in-band across process boundaries.

Encoding is expected to conform to the HTTP Header Field semantics. Values are often encoded as
Expand Down
21 changes: 0 additions & 21 deletions specification/api-tracing.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@ Table of Content
* [WithSpan](#withspan)
* [SpanBuilder](#spanbuilder)
* [RecordSpanData](#recordspandata)
* [GetBinaryFormat](#getbinaryformat)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The propagators define a format that will be a template because they do not depend on SpanContext or DistributedContext. I am not sure how do I get an instance of the BinaryFormat that knows to serialize a SpanContext vs one that knows to serialize a DistributedContext.

* [GetHttpTextFormat](#gethttptextformat)
* [SpanContext](#spancontext)
* [Span](#span)
* [Span creation](#span-creation)
Expand Down Expand Up @@ -166,25 +164,6 @@ allow correlation of telemetry is also a caller responsibility.

This API should be non-blocking.

#### GetBinaryFormat
Returns the binary format interface which can serialize/deserialize `Span`s.

There should be no parameter.

Returns the binary format for this implementation. If no implementation is
provided then no-op implementation will be used.

#### GetHttpTextFormat
Returns the HTTP text format interface which can inject/extract `Span`s.

There should be no parameter.

Returns the HTTP text format for this implementation. If no implementation is
provided then no-op implementation will be used.

Usually this will be the W3C Trace Context as the HTTP text format. For more
details, see [trace-context](https://github.com/w3c/trace-context).

## SpanContext
A `SpanContext` represents the portion of a `Span` which must be serialized and
propagated along side of a distributed context. `SpanContext`s are immutable.
Expand Down