package opentelemetry.proto.trace.v1

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

message AnyValue

trace.proto:31

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

trace.proto:47

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

trace.proto:74

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

Used in: ScopeSpans

message KeyValue

trace.proto:67

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

trace.proto:57

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

trace.proto:90

Resource information.

Used in: ResourceSpans

message ResourceSpans

trace.proto:121

A collection of ScopeSpans from a Resource.

Used in: TracesData

message ScopeSpans

trace.proto:140

A collection of Spans produced by an InstrumentationScope.

Used in: ResourceSpans

message Span

trace.proto:159

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

trace.proto:293

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

Used in: Span

trace.proto:322

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

trace.proto:223

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

trace.proto:413

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

trace.proto:377

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

trace.proto:385

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

trace.proto:111

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.