Should Otel configuration default to protobuf rather than grpc?
- Dominant language
- C#
- Stars
- 6.3k
- Forks
- 991
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 196
Description
### Is there an existing issue for this?
- [x] I have searched the existing issues
### Is your feature request related to a problem? Please describe the problem.
Currently aspire defaults otel to use grpc. But based ont eh otel spec, it suggests that `htp/protobuf` is the prefered protocol
> SDKs SHOULD support both grpc and http/protobuf transports and MUST support at least one of them. If they support only one, it SHOULD be http/protobuf. They also MAY support http/json.
Source: https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#specify-protocol
### Describe the solution you'd like
Based on this, should we make the otel default protobuf rather than grpc?
### Additional context
(Encountered whilst working on #18906 - the otel sdk doesn't include GRPC support by default, that is a special feature you have to enable in your dependencies - `grpc-tonic`)
(Note, whilst I'm using rust as an example, this ask is to change the default aspire wide, not for rust)
```
[dependencies]
opentelemetry-otlp = { version = "0.32.0", features = ["grpc-tonic", "tls-roots", "tls-ring", "internal-logs", "metrics", "logs", "trace"] }
```
Contributor guide
Research direction
Start by reading the linked OpenTelemetry exporter protocol specification and reviewing Aspire's current OTLP configuration defaults. Compare the existing gRPC default with the protobuf option, then verify that the proposed default is applied consistently across Aspire; done means the default follows the selected protocol and existing configuration remains understood.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, grpc, rust
- Domain
- observability-sre
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100