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.

sources

keep reading

More on this.

Two ways to run Tessary.

Tessary is an open-source agent reliability platform. Cloud and self-hosted run the same workflow on the OpenTelemetry traces your agent already emits.

Tessary Cloud

We host it for you. Send your first trace with nothing to deploy and no model key.

what's includedper organization
traces
10,000 per calendar month
stored trace data
1 GB
retention
30 days
model credit
$10, one-time, for triage and root-cause analysis
credit card
not required

Self-hosted Tessary

Run the open-source code on your own infrastructure with one command. Add your own model key for triage and root-cause analysis.

Self-host Tessary for me by following https://github.com/tessaryai/tessary/blob/main/setup.md

docker compose -f oci://docker.io/tessaryai/tessary:compose up -d -y