OTLPv1.8.0
since v1.7.00 breaking33 notable2 editorial
From the upstream release notes
- profiles: drop gzip requirement. #661
- profiles: avoid optional keyword usage. #659
- profiles: make profile_id optional. #665
- profiles: use single Profile.sample_type and clarify use of timestamps. #649
- all: add notes about the attribute values restrictions. #683<br> ⚠️ **IMPORTANT**: These restrictions can be dropped in a future minor release.
- profiles: clarify usage of the zero value as the first element of tables in ProfilesDictionary. #688, #698
- profiles: unsigned time_nanos and duration_nanos in Profile. #692
- profiles: improve attribute encoding in ProfilesDictionary. #672
- profiles: simplify profile stack trace representation. #708
- examples: fix OTLP JSON Event example body. #666
Notable33
- removedmessageopentelemetry.proto.profiles.v1development.AttributeUnitmessage removed from opentelemetry/proto/profiles/v1development/profiles.proto.
- field removedfieldopentelemetry.proto.profiles.v1development.Location.is_foldedField 4 (
bool) removed. - field removedfieldopentelemetry.proto.profiles.v1development.Mapping.has_filenamesField 7 (
bool) removed. - field removedfieldopentelemetry.proto.profiles.v1development.Mapping.has_functionsField 6 (
bool) removed. - field removedfieldopentelemetry.proto.profiles.v1development.Mapping.has_inline_framesField 9 (
bool) removed. - field removedfieldopentelemetry.proto.profiles.v1development.Mapping.has_line_numbersField 8 (
bool) removed. - field removedfieldopentelemetry.proto.profiles.v1development.Profile.default_sample_type_indexField 9 (
int32) removed. - field removedfieldopentelemetry.proto.profiles.v1development.Profile.duration_nanosField 5 (
int64) removed. - field removedfieldopentelemetry.proto.profiles.v1development.Sample.valueField 3 (
int64) removed. - renumberedfieldopentelemetry.proto.profiles.v1development.Location.attribute_indicesField number changed from 5 to 4. Every previously encoded message decodes wrongly.
- renumberedfieldopentelemetry.proto.profiles.v1development.Profile.attribute_indicesField number changed from 14 to 12. Every previously encoded message decodes wrongly.
- renumberedfieldopentelemetry.proto.profiles.v1development.Profile.comment_strindicesField number changed from 8 to 7. Every previously encoded message decodes wrongly.
- renumberedfieldopentelemetry.proto.profiles.v1development.Profile.dropped_attributes_countField number changed from 11 to 9. Every previously encoded message decodes wrongly.
- renumberedfieldopentelemetry.proto.profiles.v1development.Profile.original_payloadField number changed from 13 to 11. Every previously encoded message decodes wrongly.
- renumberedfieldopentelemetry.proto.profiles.v1development.Profile.original_payload_formatField number changed from 12 to 10. Every previously encoded message decodes wrongly.
- renumberedfieldopentelemetry.proto.profiles.v1development.Profile.periodField number changed from 7 to 6. Every previously encoded message decodes wrongly.
- renumberedfieldopentelemetry.proto.profiles.v1development.Profile.period_typeField number changed from 6 to 5. Every previously encoded message decodes wrongly.
- renumberedfieldopentelemetry.proto.profiles.v1development.Profile.profile_idField number changed from 10 to 8. Every previously encoded message decodes wrongly.
- renumberedfieldopentelemetry.proto.profiles.v1development.Sample.attribute_indicesField number changed from 4 to 3. Every previously encoded message decodes wrongly.
- renumberedfieldopentelemetry.proto.profiles.v1development.Sample.link_indexField number changed from 5 to 4. Every previously encoded message decodes wrongly.
- renumberedfieldopentelemetry.proto.profiles.v1development.Sample.timestamps_unix_nanoField number changed from 6 to 5. Every previously encoded message decodes wrongly.
- field typefieldopentelemetry.proto.profiles.v1development.ProfilesDictionary.attribute_tableType changed from
opentelemetry.proto.common.v1.KeyValuetoKeyValueAndUnit. - field typefieldopentelemetry.proto.profiles.v1development.Sample.timestamps_unix_nanoType changed from
uint64tofixed64. - field renamedfieldopentelemetry.proto.profiles.v1development.Profile.location_indicesRenamed to
time_unix_nano(field 3 unchanged). Binary OTLP is unaffected; OTLP/JSON keys on the name. - field renamedfieldopentelemetry.proto.profiles.v1development.Profile.time_nanosRenamed to
duration_nano(field 4 unchanged). Binary OTLP is unaffected; OTLP/JSON keys on the name. - field renamedfieldopentelemetry.proto.profiles.v1development.ProfilesDictionary.attribute_unitsRenamed to
stack_table(field 7 unchanged). Binary OTLP is unaffected; OTLP/JSON keys on the name. - field renamedfieldopentelemetry.proto.profiles.v1development.Sample.locations_lengthRenamed to
values(field 2 unchanged). Binary OTLP is unaffected; OTLP/JSON keys on the name. - field renamedfieldopentelemetry.proto.profiles.v1development.Sample.locations_start_indexRenamed to
stack_index(field 1 unchanged). Binary OTLP is unaffected; OTLP/JSON keys on the name. - cardinalityfieldopentelemetry.proto.profiles.v1development.Location.mapping_indexCardinality changed from
optionaltosingular. - cardinalityfieldopentelemetry.proto.profiles.v1development.Profile.sample_typeCardinality changed from
repeatedtosingular. - cardinalityfieldopentelemetry.proto.profiles.v1development.Sample.link_indexCardinality changed from
optionaltosingular. - strengthrequirementdocs/specification.md#failuresMUST relaxed to SHOULD: The server SHOULD indicate retryable errors using code Unavailable and MAY supply additional details via status using RetryInfo.
- strengthrequirementdocs/specification.md#otlpgrpc-throttlingMUST relaxed to SHOULD: To signal backpressure when using gRPC transport, the server SHOULD return an error with code Unavailable and MAY supply additional details via status using RetryInfo.
Editorial2
- addedmessageopentelemetry.proto.profiles.v1development.KeyValueAndUnitA custom 'dictionary native' style of encoding attributes which is more convenient for profiles than opentelemetry.proto.common.v1.KeyValue Specifically, uses the string table for keys and allows optional unit information.
- addedmessageopentelemetry.proto.profiles.v1development.StackA Stack represents a stack trace as a list of locations.