Skip to main content
Squasher accepts traces over OTLP/HTTP. Run an OpenTelemetry Collector that forwards your current OTLP traffic, or that translates the older Jaeger protocols, to Squasher.

Prerequisites

  • An OpenTelemetry Collector that your services can reach. Legacy Jaeger clients need Collector Contrib (otelcol-contrib).
  • An ingest key in the Collector’s environment as SQUASHER_API_KEY. See Create an ingest key.

Forward OTLP traces

Current Jaeger clients and OpenTelemetry SDKs send OTLP. Keep them pointed at your Collector, and add Squasher as an exporter:
otel-collector-config.yaml
Your apps can still send gRPC to the Collector. The Collector sends OTLP/HTTP to Squasher. During a migration, keep your Jaeger exporter in the same pipeline, and compare the data before you remove it.

Translate legacy Jaeger clients

Use the Jaeger receiver when a client still sends Jaeger gRPC or Thrift. Turn on only the protocols that your clients use.
otel-collector-config.yaml

What Squasher keeps

Squasher creates an issue only from a span with ERROR status. When the Collector translates Jaeger data, it sets that status from the error tag. Check one error trace before you migrate.

Verify

  1. Send one trace from a known service, and one trace with an error span.
  2. In Squasher, select Traces in the sidebar.
  3. Open the trace. Check the spans, status, attributes, Events, and Links.
  4. Select Issues in the sidebar. The error span is an issue.

Limits

  • Jaeger remote sampling does not move with the traces. To keep errors and slow traces while you drop routine ones, use tail sampling.
  • Legacy Jaeger protocols carry no metrics or logs.

Next steps

Tail sampling

Keep error and slow traces and drop routine ones.

OpenTelemetry

See the endpoint and what Squasher does with each signal.