Should agent traces export over HTTP or gRPC?

Either works. OTLP defines both as first-class transports, gRPC on default port 4317 and HTTP with protobuf bodies on default port 4318, and the choice doesn’t change what a trace contains. That part is spec. The rest is ordinary operating experience, not something the spec itself argues: gRPC’s persistent connections and binary framing tend to carry less overhead per span at high volume, while HTTP with protobuf tends to be the one that gets through corporate proxies and firewalls, since some intermediaries don’t support the HTTP/2 that gRPC needs and will silently drop it. Teams generally reach for gRPC when they control the whole network path and care about overhead at scale, and for HTTP with protobuf when traces cross infrastructure they don’t control, the more common case for a service exporting out to a third-party endpoint. Most OpenTelemetry SDKs support both from the same config, so switching later is a one-line change, not a rewrite.

sources

keep reading

More on this.

Send us the traces you already emit.