@@ -5,7 +5,18 @@ package otel_process_ctx.v1development;
55message OtelProcessCtx {
66 // Additional key/value pairs as resources https://opentelemetry.io/docs/specs/otel/resource/sdk/
77 // Similar to baggage https://opentelemetry.io/docs/concepts/signals/baggage/ / https://opentelemetry.io/docs/specs/otel/overview/#baggage-signal
8+ //
9+ // Providing resources is optional.
10+ //
11+ // If a key in this field would match one of the attributes already defined as a first-class field below (e.g. `service.name`),
12+ // the first-class field must always take priority.
13+ // Readers MAY choose to fallback to a value in `resources` if its corresponding first-class field is empty, or they CAN ignore it.
814 map <string , string > resources = 1 ;
15+
16+ // We strongly recommend that the following first-class fields are provided, but they can be empty if needed.
17+ // In particular for `deployment_environment_name` and `service_version` often need to be configured for a given application
18+ // and cannot be inferred. For the others, see the semantic conventions documentation for recommended ways of setting them.
19+
920 // https://opentelemetry.io/docs/specs/semconv/registry/attributes/deployment/#deployment-environment-name
1021 string deployment_environment_name = 2 ;
1122 // https://opentelemetry.io/docs/specs/semconv/registry/attributes/service/#service-instance-id
@@ -20,4 +31,10 @@ message OtelProcessCtx {
2031 string telemetry_sdk_version = 7 ;
2132 // https://opentelemetry.io/docs/specs/semconv/registry/attributes/telemetry/#telemetry-sdk-name
2233 string telemetry_sdk_name = 8 ;
34+
35+ // New first-class fields should be added only if:
36+ // * Providing them is strongly recommended
37+ // * They match a new or existing OTEL semantic convention
38+ //
39+ // Otherwise, `resources` should be used instead.
2340}
0 commit comments