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

Commit 0641311

Browse files
sebright2adriancole
authored andcommitted
Remove integer and boolean tags from Tag Context binary encoding spec.
Tag Context no longer needs to handle non-string tags.
1 parent 813f728 commit 0641311

1 file changed

Lines changed: 3 additions & 20 deletions

File tree

encodings/BinaryEncoding.md

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ Each field that we send on the wire will have the following format:
3232
* `field_format` must be defined for each field separately.
3333

3434
The specification for a data type's format must also specify whether each field is optional or
35-
repeated. For example, `Trace-id` in `Trace Context` is optional, and `String tag` in `Tag Context`
35+
repeated. For example, `Trace-id` in `Trace Context` is optional, and `Tag` in `Tag Context`
3636
is repeated. The specification for a data type's format MAY define a default value for any
3737
optional field, which must be used when the field is missing.
3838

@@ -117,9 +117,9 @@ This corresponds to:
117117
### Tag Context
118118
The Tag Context format uses Varint encoding, which is described in
119119
https://developers.google.com/protocol-buffers/docs/encoding#varints. Note that
120-
each type of tag can appear multiple times.
120+
there can be multiple tags.
121121

122-
#### String tag
122+
#### Tag
123123

124124
* `field_id` = 0
125125
* `field_format` = `<tag_key_len><tag_key><tag_val_len><tag_val>` where
@@ -129,23 +129,6 @@ each type of tag can appear multiple times.
129129
* `tag_val_len` is a varint encoded integer.
130130
* `tag_val` is `tag_val_len` bytes comprising the tag value.
131131

132-
#### Integer tag
133-
134-
* `field_id` = 1
135-
* `field_format` = `<tag_key_len><tag_key><tag_val>` where
136-
137-
* `tag_key_len` is a varint encoded integer.
138-
* `tag_key` is `tag_key_len` bytes comprising the tag key name.
139-
* `tag_val` is 8 bytes, a little-endian int64, representing the tag value.
140-
141-
#### Boolean tag
142-
143-
* `field_id` = 2 or 3, where 2 represents a true value and 3 represents a false value.
144-
* `field_format` = `<tag_key_len><tag_key>` where
145-
146-
* `tag_key_len` is a varint encoded integer.
147-
* `tag_key` is `tag_key_len` bytes comprising the tag key name.
148-
149132
## Related Work
150133
* [TraceContext Project](https://github.com/TraceContext/tracecontext-spec)
151134
* [Stackdriver TraceContext Header](https://cloud.google.com/trace/docs/support)

0 commit comments

Comments
 (0)