Documentation
¶
Overview ¶
Package otlp is the OTLP/gRPC telemetry.SpanExporter driver — it ships spans to an external OpenTelemetry collector (Jaeger, an OTLP collector, an observability vendor's endpoint).
The otlp driver is selected when TelemetryConfig.OTelEndpoint is non-empty. The endpoint is a host:port the collector's OTLP/gRPC receiver listens on. The exporter connects LAZILY — New returns a ready exporter without a live collector, and the first span batch flush is when a connection is attempted. That keeps NewTracer fast and lets a collector come up after the Runtime.
V1 ships the insecure (no-TLS) transport: the collector is expected to be a sidecar or same-trust-zone process. TLS to a remote collector is post-V1 (it needs a cert-config surface that does not exist yet — adding one is an RFC change, not a driver tweak).
The driver self-registers from init() under the name "otlp"; pull it in via blank import at the binary entry point:
import _ "github.com/hurtener/Harbor/internal/telemetry/drivers/otlp"