open-telemetry/opentelemetry-dotnet

Obsolete processor options on OtlpExporterOptions when we release support for logs

Open

#4,527 opened on 2023年5月30日

GitHub で見る
 (2 comments) (0 reactions) (0 assignees)C# (889 forks)auto 404
enhancementhelp wantedpkg:OpenTelemetry.Exporter.OpenTelemetryProtocoltraces

Repository metrics

Stars
 (3,725 stars)
PR merge metrics
 (PR metrics pending)

説明

This issue is to track our decision for obsoleting the following options on the OtlpExporterOptions class

https://github.com/open-telemetry/opentelemetry-dotnet/blob/a5b14aa76d5d8880368a0f4ce9b5225296e660fc/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/OtlpExporterOptions.cs#L150-L158

Background

For both traces and metrics it is possible to configure the interval for which telemetry is exported.

The SDK component that controls the export interval differ between traces and metrics. For traces an ExportProcessor defines the interval for which it invokes its exporter, and for metrics a MetricReader defines the interval.

We explicitly decided not to add MetricReader related options to the OtlpExporterOptions class to avoid further polluting it with non-exporter related options. However, the ExportProcessor options have caused confusion as they only apply to traces and not metrics (see #2767 and #4026).

Additionally, support for logs will be introduced soon. While logs share the notion of an ExportProcessor, OtlpExporterOptions.BatchExportProcessorOptions is typed specifically for traces BatchExportProcessorOptions<Activity>. We plan to continue our work related to #2552, so we will not be adding log specific processor settings to OtlpExporterOptions.

I believe, just as we saw with metrics, end users will be confused that the processor related settings on OtlpExporterOptions do not control the behavior for logs. Therefore, I think we should mark the processor settings obsolete to communicate this clearly.

コントリビューターガイド