package opentelemetry.proto.trace.v1

Mouse Melon logoGet desktop application:
View/edit binary Protocol Buffers messages

message AnyValue

traces.proto:22

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.

Used in: ArrayValue, KeyValue

message ArrayValue

traces.proto:38

ArrayValue is a list of AnyValue messages. We need ArrayValue as a message since oneof in AnyValue does not allow repeated fields.

Used in: AnyValue

message InstrumentationScope

traces.proto:65

InstrumentationScope is a message representing the instrumentation scope information such as the fully qualified name and version.

Used in: ScopeSpans

message KeyValue

traces.proto:58

KeyValue is a key-value pair that is used to store Span attributes, Link attributes, etc.

Used in: InstrumentationScope, KeyValueList, Resource, Span, Span.Event, Span.Link

message KeyValueList

traces.proto:48

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.

Used in: AnyValue

message Resource

traces.proto:78

Resource information.

Used in: ResourceSpans

message ResourceSpans

traces.proto:109

A collection of ScopeSpans from a Resource.

Used in: TracesData

message ScopeSpans

traces.proto:128

A collection of Spans produced by an InstrumentationScope.

Used in: ResourceSpans

message Span

traces.proto:147

A Span represents a single operation performed by a single component of the system. The next available field id is 17.

Used in: ScopeSpans

message Span.Event

traces.proto:281

Event is a time-stamped annotation of the span, consisting of user-supplied text description and key-value pairs.

Used in: Span

traces.proto:310

A pointer from the current span to another span in the same trace or in a different trace. For example, this can be used in batching operations, where a single batch handler processes multiple requests from different traces or when the handler receives a request from a different project.

Used in: Span

enum Span.SpanKind

traces.proto:211

SpanKind is the type of span. Can be used to specify additional relationships between spans in addition to a parent/child relationship.

Used in: Span

enum SpanFlags

traces.proto:401

SpanFlags represents constants used to interpret the Span.flags field, which is protobuf 'fixed32' type and is to be used as bit-fields. Each non-zero value defined in this enum is a bit-mask. To extract the bit-field, for example, use an expression like: (span.flags & SPAN_FLAGS_TRACE_FLAGS_MASK) See https://www.w3.org/TR/trace-context-2/#trace-flags for the flag definitions. Note that Span flags were introduced in version 1.1 of the OpenTelemetry protocol. Older Span producers do not set this field, consequently consumers should not rely on the absence of a particular flag bit to indicate the presence of a particular feature.

message Status

traces.proto:365

The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs.

Used in: Span

enum Status.StatusCode

traces.proto:373

For the semantics of status codes see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/api.md#set-status

Used in: Status

message TracesData

traces.proto:99

TracesData represents the traces data that can be stored in a persistent storage, OR can be embedded by other protocols that transfer OTLP traces data but do not implement the OTLP protocol. The main difference between this message and collector protocol is that in this message there will not be any "control" or "metadata" specific to OTLP protocol. When new fields are added into this message, the OTLP request MUST be updated as well.