microsoft / microsoft/aspire

Should Otel configuration default to protobuf rather than grpc?

Open
#18,915 1 comment 1 reaction 0 assignees View on GitHub
area-polyglot area-telemetry triage:bot-seen
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.