Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@ message ExportProfilesServiceRequest {
// data from multiple origins typically batch the data before forwarding further and
// in that case this array will contain multiple elements.
repeated opentelemetry.proto.profiles.v1development.ResourceProfiles resource_profiles = 1;

// The lookup table containing all data shared by profiles across the message being sent.
opentelemetry.proto.profiles.v1development.ProfilesReferenceTables lookup_tables = 2;
}

message ExportProfilesServiceResponse {
Expand Down
65 changes: 36 additions & 29 deletions opentelemetry/proto/profiles/v1development/profiles.proto
Original file line number Diff line number Diff line change
Expand Up @@ -43,15 +43,15 @@ option go_package = "go.opentelemetry.io/proto/otlp/profiles/v1development";

// Relationships Diagram
//
// ┌──────────────────┐ LEGEND
// │ ProfilesData │
// └──────────────────┘ ─────▶ embedded
// │
// │ 1-n ─────▷ referenced by index
// ▼
// ┌──────────────────┐
// │ ResourceProfiles │
// └──────────────────┘
// ┌──────────────────┐ LEGEND
// │ ProfilesData │ ─────┐
// └──────────────────┘ ─────▶ embedded
// │
// │ 1-n │ 1-n ─────▷ referenced by index
Comment thread
dmathieu marked this conversation as resolved.
Outdated
// ▼
// ┌──────────────────┐ ┌─────────────────────────┐
// │ ResourceProfiles │ │ ProfilesReferenceTables │
// └──────────────────┘ └─────────────────────────┘
// │
// │ 1-n
// ▼
Expand Down Expand Up @@ -90,26 +90,9 @@ option go_package = "go.opentelemetry.io/proto/otlp/profiles/v1development";
// └──────────────────┘
//

// 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.
message ProfilesData {
// An array of ResourceProfiles.
// For data coming from an SDK profiler, this array will typically contain one
// element. Host-level profilers will usually create one ResourceProfile per
// container, as well as one additional ResourceProfile grouping all samples
// from non-containerized processes.
// Other resource groupings are possible as well and clarified via
// Resource.attributes and semantic conventions.
repeated ResourceProfiles resource_profiles = 1;

// ProfilesReferenceTables represents the profiles data shared across the
// entire message being sent.
message ProfilesReferenceTables {
// Mappings from address ranges to the image/binary/library mapped
// into that address range referenced by locations via Location.mapping_index.
repeated Mapping mapping_table = 2;
Comment thread
felixge marked this conversation as resolved.
Outdated
Expand All @@ -134,6 +117,30 @@ message ProfilesData {
repeated AttributeUnit attribute_units = 8;
}

// 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.
message ProfilesData {
// An array of ResourceProfiles.
// For data coming from an SDK profiler, this array will typically contain one
// element. Host-level profilers will usually create one ResourceProfile per
// container, as well as one additional ResourceProfile grouping all samples
// from non-containerized processes.
// Other resource groupings are possible as well and clarified via
// Resource.attributes and semantic conventions.
repeated ResourceProfiles resource_profiles = 1;

// One instance of ProfilesReferenceTables
ProfilesReferenceTables lookup_tables = 2;
}


// A collection of ScopeProfiles from a Resource.
message ResourceProfiles {
Expand Down