Skip to content

Commit 7cdd4c4

Browse files
pellaredcijothomas
andauthored
Stabilize LogRecordProcessor.Enabled (#4717)
Fixes #4458 According to [spec compliance matrix](https://github.com/open-telemetry/opentelemetry-specification/blob/main/spec-compliance-matrix.md#logs) this feature is already implemented in 2 languages (Go and Rust; PHP approved, but not implemented yet), even though it is marked as optional. In OTel Go, the design and implementation of this feature have remained unchanged since [2025-03-05](https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.35.0). Since that release, we haven’t received any feedback or proposals suggesting changes. Given this, I would like to propose **stabilizing this feature in the specification**. Doing so is also a prerequisite for stabilizing the OTel Go Logs SDK. _From #4458 (comment) [Advanced processing guidelines](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/supplementary-guidelines.md#advanced-processing), they already show how to implement `Enabled` and how processors can be composed (e.g. chained). Examples from OTel Go documentation: - https://pkg.go.dev/go.opentelemetry.io/contrib/processors/minsev - https://pkg.go.dev/go.opentelemetry.io/otel/sdk/log#example-FilterProcessor More info on use cases, chaining/composing processors, and declarative configuration: #4717 (comment) Approvals from languages that implement (or plan to implement) `LogRecordProcessor.Enabled`: - OTel Go - APPROVED ✔️ - OTel Rust - APPROVED ✔️ - OTel PHP - APPROVED ✔️ --------- Co-authored-by: Cijo Thomas <[email protected]>
1 parent 5b5b91b commit 7cdd4c4

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ release.
1515

1616
### Logs
1717

18+
- Stabilize `LogRecordProcessor.Enabled`.
19+
([#4717](https://github.com/open-telemetry/opentelemetry-specification/pull/4717))
20+
1821
### Baggage
1922

2023
### Profiles

specification/logs/sdk.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -252,8 +252,7 @@ emitting the record):
252252
- **Status**: [Development](../document-status.md) - `trace_based` is
253253
`true` in the [`LoggerConfig`](#loggerconfig) and the current context is
254254
associated with an unsampled trace.
255-
- **Status**: [Development](../document-status.md) - all registered
256-
`LogRecordProcessors` implement [`Enabled`](#enabled-1),
255+
- all registered `LogRecordProcessors` implement [`Enabled`](#enabled-1),
257256
and a call to `Enabled` on each of them returns `false`.
258257

259258
Otherwise, it SHOULD return `true`.
@@ -406,8 +405,6 @@ for any concurrent processing, such as in a [batching processor](#batching-proce
406405

407406
#### Enabled
408407

409-
**Status**: [Development](../document-status.md)
410-
411408
`Enabled` is an operation that a `LogRecordProcessor` MAY implement
412409
in order to support filtering via [`Logger.Enabled`](api.md#enabled).
413410

0 commit comments

Comments
 (0)