diff --git a/CHANGELOG.md b/CHANGELOG.md index dcc08f63fca..08ce1ef2a1b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,6 +32,8 @@ release. ([#4183](https://github.com/open-telemetry/opentelemetry-specification/pull/4183)) - Remove the recommendation to not synchronize access to `LoggerConfig.disabled`. ([#4310](https://github.com/open-telemetry/opentelemetry-specification/pull/4310)) +- Remove the in-development isolating log record processor. + ([#4301](https://github.com/open-telemetry/opentelemetry-specification/pull/4301)) ### Events diff --git a/specification/logs/sdk.md b/specification/logs/sdk.md index 190c723dda4..1de732275fd 100644 --- a/specification/logs/sdk.md +++ b/specification/logs/sdk.md @@ -28,7 +28,6 @@ * [Built-in processors](#built-in-processors) + [Simple processor](#simple-processor) + [Batching processor](#batching-processor) - + [Isolating processor](#isolating-processor) - [LogRecordExporter](#logrecordexporter) * [LogRecordExporter operations](#logrecordexporter-operations) + [Export](#export) @@ -235,8 +234,7 @@ the following information added to the [LogRecord](data-model.md#log-and-event-r * [`TraceFlags`](./data-model.md#field-traceflags) The SDK MAY provide an operation that makes a deep clone of a `ReadWriteLogRecord`. -The operation can be used to implement the [isolating processor](#isolating-processor) -or by asynchronous processors (e.g. [Batching processor](#batching-processor)) +The operation can be used by asynchronous processors (e.g. [Batching processor](#batching-processor)) to avoid race conditions on the log record that is not required to be concurrent safe. @@ -383,10 +381,6 @@ make the flush timeout configurable. The standard OpenTelemetry SDK MUST implement both simple and batch processors, as described below. -**Status**: [Development](../document-status.md) - -The standard OpenTelemetry SDK SHOULD implement an isolating processor, -as described below. - Other common processing scenarios SHOULD be first considered for implementation out-of-process in [OpenTelemetry Collector](../overview.md#collector). @@ -426,21 +420,6 @@ to make sure that they are not invoked concurrently. * `maxExportBatchSize` - the maximum batch size of every export. It must be smaller or equal to `maxQueueSize`. The default value is `512`. -#### Isolating processor - -**Status**: [Development](../document-status.md) - -This is an implementation of `LogRecordProcessor` ensuring the log record -passed to `OnEmit` of the configured `processor` does not share mutable data -with subsequent registered processors. -For example, the `OnEmit` implementation of the isolating processor can be -a decorator that makes a deep copy of the log record before passing it to -the configured `processor`. - -**Configurable parameters:** - -* `processor` - processor to be isolated. - ## LogRecordExporter `LogRecordExporter` defines the interface that protocol-specific exporters must