package opentelemetry.proto.profiles.v1development

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

message Function

profiles.proto:510

Describes a function, including its human-readable name, system name, source file, and starting line number in the source. At least one of {name_strindex, system_name_strindex, filename_strindex} MUST be present. Status: [Alpha]

Used in: ProfilesDictionary

message KeyValueAndUnit

profiles.proto:528

A custom 'dictionary native' style of encoding attributes which is more convenient for profiles than opentelemetry.proto.common.v1.KeyValue Specifically, uses the ProfilesDictionary.string_table for keys and allows optional unit information. Status: [Alpha]

Used in: ProfilesDictionary

message Line

profiles.proto:496

Details a specific line in a source code, linked to a function. Status: [Alpha]

Used in: Location

A pointer from a profile Sample to a trace Span. Connects a profile sample to a trace span, identified by unique trace and span IDs. Status: [Alpha]

Used in: ProfilesDictionary

message Location

profiles.proto:471

Contains function and line table debug information for a single frame. Status: [Alpha]

Used in: ProfilesDictionary

message Mapping

profiles.proto:440

Describes the mapping of a binary in memory, including its address range, file offset, and metadata like build ID Status: [Alpha]

Used in: ProfilesDictionary

message Profile

profiles.proto:289

Represents a complete profile, including sample types, samples, mappings to binaries, stacks, locations, functions, string table, and additional metadata. It modifies and annotates pprof Profile with OpenTelemetry specific fields. Status: [Alpha]

Used in: ScopeProfiles

message ProfilesData

profiles.proto:198

ProfilesData represents the profiles data that can be stored in persistent storage, OR can be embedded by other protocols that transfer OTLP profiles 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. Status: [Alpha]

message ProfilesDictionary

profiles.proto:125

ProfilesDictionary contains all the dictionary tables that are shared across the entire ProfilesData message. The following applies to all fields in this message: - A dictionary is an array of dictionary items. Users of the dictionary compactly reference the items using the index within the array. - The element at index 0 MUST be the zero value for the dictionary's element type (e.g. `""` for `string_table`, `Location{}` for `location_table`). This allows for _index fields pointing into the dictionary to use a 0 pointer value to indicate 'null' / 'not set'. Unless otherwise defined, a 'zero value' message value is one with all default field values, so as to minimize wire encoded size. - There SHOULD NOT be duplicate items in a dictionary. The identity of a dictionary item is based on its value, recursively as needed. If a particular implementation does emit duplicate items, it MUST NOT attempt to give them meaning based on the index or order. A profile processor MAY remove duplicates and this MUST NOT have any observable effects for consumers. - There SHOULD NOT be orphaned (unreferenced) items in a dictionary. A profile processor MAY remove ("garbage-collect") orphaned items and this MUST NOT have any observable effects for consumers. Status: [Alpha]

Used in: collector.profiles.v1development.ExportProfilesServiceRequest, ProfilesData

message ResourceProfiles

profiles.proto:218

A collection of ScopeProfiles from a Resource. Status: [Alpha]

Used in: collector.profiles.v1development.ExportProfilesServiceRequest, ProfilesData

message Sample

profiles.proto:418

Each Sample records values encountered in some program context. The program context is typically a stack trace, perhaps augmented with auxiliary information like the thread-id, some indicator of a higher level request being handled etc. A Sample MUST have have at least one entry in values or timestamps_unix_nano. If both fields are populated, they MUST contain the same number of elements, and the elements at the same index MUST refer to the same event. For the purposes of efficiently representing aggregated data observations, a Sample is regarded as having a shared identity and an associated collection of per-observation data points. A Sample's identity (i.e. primary key) is the tuple of {stack_index, set_of(attribute_indices), link_index}. Samples having the same identity SHOULD be combined by appending timestamps and values to the data arrays. Examples of different ways ('shapes') of representing a sample with the total value of 10: Timestamps only (consumers must assume the value is 1 for each timestamp): values: [] timestamps_unix_nano: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] Single aggregated value without timestamps (one element representing the total): values: [10] timestamps_unix_nano: [] Per-timestamp value (each point in time records a specific value): values: [2, 2, 3, 3] timestamps_unix_nano: [1, 2, 3, 4] All Samples for a Profile SHOULD have the same shape, i.e. all data observation series should consistently adopt the same data recording style. Status: [Alpha]

Used in: Profile

message ScopeProfiles

profiles.proto:240

A collection of Profiles produced by an InstrumentationScope. Status: [Alpha]

Used in: ResourceProfiles

message Stack

profiles.proto:462

A Stack represents a stack trace as a list of locations (leaf first). For example, the stack trace resulting from the call stack main -> foo -> bar would be encoded into the location_indices list [2, 1, 0] which references the locations in location_table as: [Location{"main"}, Location{"foo"}, Location{"bar"}]. Status: [Alpha]

Used in: ProfilesDictionary

message ValueType

profiles.proto:378

ValueType describes the type and units of a value. Status: [Alpha]

Used in: Profile