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. The exporter key otlphttp works on every collector version. From v0.144.0 its name is otlp_http and otlphttp is a deprecated alias that newer collectors warn about at startup; older collectors reject the new name. Rename it once every collector you run is on v0.144.0 or later.
Delta is recommended for SDK metrics. Sherlock charts counters and histograms whether they arrive as delta or cumulative. Delta sends the interval values directly and keeps a histogram’s interval min and max; some cumulative exporters resend exemplars, which Sherlock deduplicates when you query. Counters, histograms, and summaries a collector scrapes from Prometheus endpoints are cumulative. Send them without a conversion processor; Sherlock converts them when you query. See Metric temporality.

Other OpenTelemetry SDKs

Most OpenTelemetry SDKs read the standard environment variables once their OTLP/HTTP exporter is set up. Set them and the exporter sends to Sherlock. For an SDK that does not, configure the equivalent options in code.
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 enter the catalog after the sender’s first export. A new cumulative series needs a second point before Sherlock can chart an increase; delta points chart from the first. The catalog refreshes every 60 seconds.

Get started

Credentials, the env value, and first data.

Node.js SDK

The distribution with exemplars.

Kubernetes

Run the collector in your own cluster with Helm.