gigapipe accepts OpenTelemetry (OTLP) data over gRPC in addition to the
existing OTLP/HTTP endpoints. The gRPC receiver is disabled by default and is
enabled by setting the OTLP_GRPC_ADDR environment variable.
Set OTLP_GRPC_ADDR to a listen address. 4317 is the OTel-convention gRPC
port; OTLP/HTTP continues to be served on the existing HTTP port (PORT,
default 3100).
OTLP_GRPC_ADDR=:4317When OTLP_GRPC_ADDR is unset or empty the receiver is not started, no listener
is opened, and existing behavior is unchanged.
| Signal | OTLP/gRPC | OTLP/HTTP |
|---|---|---|
| Traces | ✅ | ✅ |
| Logs | ✅ | ✅ |
| Profiles | ✅ | ✅ (/v1development/profiles) |
The tenant and per-request options are selected via gRPC metadata, mirroring the equivalent OTLP/HTTP headers:
| gRPC metadata key | HTTP header | Purpose |
|---|---|---|
x-ch-dsn |
X-CH-DSN |
Selects the tenant (ClickHouse DSN) |
x-scope-meta |
X-Scope-Meta |
Scope metadata |
x-ttl-days |
X-Ttl-Days |
Per-request TTL in days |
A collector can export to the gigapipe gRPC receiver with otlp (gRPC) instead
of, or alongside, otlphttp:
exporters:
otlp:
endpoint: <gigapipe-writer-host>:4317
headers:
x-ch-dsn: <tenant-dsn>
service:
pipelines:
traces:
receivers: [otlp]
exporters: [otlp]
logs:
receivers: [otlp]
exporters: [otlp]For profiles specifically, see OTLP Profiles Ingestion.
On SIGTERM/SIGINT the gRPC receiver drains in-flight requests alongside the
HTTP server during graceful shutdown.