Skip to main content
Sherlock ingests OTLP over HTTP. Any OpenTelemetry SDK or an OpenTelemetry Collector can send to it with three settings.

OpenTelemetry Collector

Use a collector when you run many services, or when you want logs from files and container output. Settings → Collector shows the exporter section with your endpoint and a copy button. The snippet there reads the token from the collector’s environment variable OTEL_EXPORTER_BEARER_TOKEN, so the token stays out of the config file.
A complete collector configuration adds receivers, the env attribute, and pipelines:
To collect logs from files or containers, add a filelog receiver to the logs pipeline. The collector documentation describes its options.

Other OpenTelemetry SDKs

Every OpenTelemetry SDK reads the same environment variables once its OTLP/HTTP exporter is set up. Set them and the exporter sends to Sherlock.
Sherlock accepts OTLP/HTTP in protobuf and in JSON. Exemplars on histograms depend on the SDK. The Sherlock SDK for Node.js sends them by default. For Go, add OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE=delta and OTEL_METRICS_EXEMPLAR_FILTER=always_on, plus one short file for the trace_flags attribute. The environment variant on Go setup shows that route; the other variant sets the same things in code.

What to expect

  • Logs appear within about a minute. The empty Logs page repeats the three settings until then.
  • Traces appear within seconds of the exporter’s batch. The Traces list shows traces with more than one span, so send a request that makes at least one nested call.
  • Metrics appear after the sender’s first export interval. The metric catalog refreshes every 60 seconds.

Get started

Credentials, the env value, and first data.

Node.js SDK

The distribution with exemplars.