OpenTelemetry

Humanlog supports ingesting OpenTelemetry data right out of the box.

What is OpenTelemetry

OpenTelemetry, often abbreviated as OTEL, is a standardized framework for emitting telemetry data that decouples your metrics, logging, and tracing code from specific vendors. It provides:

  • SDKs for major programming languages, enabling comprehensive logging, tracing, and metric collection
  • Well-defined wire protocols (HTTP/JSON, gRPC) that create an ecosystem of interchangeable and compatible components from various vendors
  • Standardized definitions for logging, tracing, and metrics
  • Reference implementations of "exporters" and "collectors" that serve as canonical examples

This architecture allows developers to integrate a single, vendor-neutral telemetry mechanism into their applications. As a result, observability data can be directed to various endpoints and vendors without concern about vendor lock-in.

Using With Humanlog

When running as a service, the humanlog CLI supports both OpenTelemetry protocols (OTLP):

  • OTLP/gRPC on http://localhost:4317
  • OTLP/HTTP on http://localhost:4318

By debugging your telemetry data locally with Humanlog, you can verify your instrumentation works correctly before deploying to production—shortening feedback loops and keeping sensitive data on your machine.

Learn more about OTLP in the official OpenTelemetry documentation.

These ports are configured in the config file at the following path:

$ humanlog config show | jq '.runtime.experimental_features.serve_localhost.otlp'
{
  "grpc_port": 4317,
  "http_port": 4318
}

Learn more about the configuration file in the CLI documentation.