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.
gRPC carries less overhead per span at high volume, on persistent connections and binary framing, and it needs HTTP/2 end to end. HTTP with protobuf crosses corporate proxies and load balancers, including the ones that don’t speak HTTP/2 and drop it without saying so. Pick gRPC when you control the whole network path, HTTP with protobuf when the traces leave it.
Tessary’s endpoint accepts OTLP over http/protobuf and does not accept the gRPC OTLP port, so an exporter aimed at 4317 delivers nothing and the failure shows up as an exporter warning in your own logs.
Most OpenTelemetry SDKs support both from the same config, so switching later is a config change rather than a rewrite. Neither transport decides whether the spans carry the gen_ai conventions.