- any_value
- Nested message and enum types in
AnyValue.
- AnyValue
- AnyValue is used to represent any type of attribute value. AnyValue may contain a
primitive value such as a string or integer or it may contain an arbitrary nested
object containing arrays, key-value lists and primitives.
- ArrayValue
- ArrayValue is a list of AnyValue messages. We need ArrayValue as a message
since oneof in AnyValue does not allow repeated fields.
- InstrumentationScope
- InstrumentationScope is a message representing the instrumentation scope information
such as the fully qualified name and version.
- KeyValue
- KeyValue is a key-value pair that is used to store Span attributes, Link
attributes, etc.
- KeyValueList
- KeyValueList is a list of KeyValue messages. We need KeyValueList as a message
since
oneof in AnyValue does not allow repeated fields. Everywhere else where we need
a list of KeyValue messages (e.g. in Span) we use repeated KeyValue directly to
avoid unnecessary extra wrapping (which slows down the protocol). The 2 approaches
are semantically equivalent.