-
Notifications
You must be signed in to change notification settings - Fork 881
[Spec Compliance] OTLP Exporter Configuration Options #1778
Description
Opening this to discuss the OTLP Exporter compliance issue
The spec for OTLP Exporter mentions these configuration options to be present: https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md
OTLP Exporter options currently support these options:
- Endpoint
- GrpcChannelOptions (for netstandard2.1)/ Credentials and ChannelOptions (for != netstandard2.1)
- Headers
Issue1:
The configuration options that we have currently are gRPC specific.
For eg. the spec says that the options Headers could be used for both gRPC and HTTP. We have set the data type for Headers as Metadata which is from the Grpc client. If we add support for Http later we cannot use this option.
Issue2:
The user cannot provide the certificate file as an option
Currently, the user is expected to provide either the Credentials along with ChannelOptions for non-netstandard2.1, or the GrpcChannelOptions object with the HttpClientHandler which includes the user provided certificate. The spec says to add Certificate File as a configuration option. This would require require generating Credentials from the user provided Certificate for non-netstandard2.1 and creating the appropriate HttpClientHandler for netstandard2.1
Possible solutions to Issue 1
- Prefix the names of the options with the protocol name. For eg. Headers to be renamed to gRPCHeaders
- Have a different OTLP Exporter dedicated to each of the protocols