// Copyright The OpenTelemetry Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. syntax = "proto3"; package opentelemetry.proto.processcontext.v1development; import "opentelemetry/proto/common/v1/common.proto"; import "opentelemetry/proto/resource/v1/resource.proto"; option csharp_namespace = "OpenTelemetry.Proto.ProcessContext.V1Development"; option java_multiple_files = true; option java_package = "io.opentelemetry.proto.processcontext.v1development"; option java_outer_classname = "ProcessContextProto"; option go_package = "go.opentelemetry.io/proto/otlp/processcontext/v1development"; // ProcessContext represents the payload for the process context sharing mechanism. // // This message is designed to be published by OpenTelemetry SDKs via a memory-mapped // region, allowing external readers (such as the OpenTelemetry eBPF Profiler) to // discover and read resource attributes from instrumented processes without requiring // direct integration or process activity. It is not part of OTLP and is not // exchanged via the OpenTelemetry Collector. // // See OTEP 4719 (https://github.com/open-telemetry/opentelemetry-specification/blob/main/oteps/profiles/4719-process-ctx.md) // for details of this mechanism. // // Status: [Development] message ProcessContext { // The resource for this process. // If this field is not set then no resource info is known. opentelemetry.proto.resource.v1.Resource resource = 1; // Additional attributes to share with external readers that are not part of // the standard Resource. [Optional] // // This field allows publishers to include supplementary key-value pairs that // may be useful for external readers but are not part of the SDK's configured // Resource. // // Consider adding any keys here to the profiles semantic conventions in // https://opentelemetry.io/docs/specs/semconv/general/profiles/ repeated opentelemetry.proto.common.v1.KeyValue attributes = 2; }