Skip to main content
Squasher accepts traces through OTLP/HTTP. Use an OpenTelemetry Collector that you control to send current OTLP trace traffic or translate legacy Jaeger protocols.

OTLP applications

Modern Jaeger accepts OTLP on ports 4317 and 4318. If your applications already emit OTLP, keep the applications pointed at your Collector and add Squasher as an exporter.
otel-collector-config.yaml
During a migration, keep your current Jaeger exporter in the same pipeline. Compare trace counts, service names, error traces, and span attributes before you remove it.

Legacy Jaeger clients

Use the Collector Contrib Jaeger receiver when a client still sends Jaeger gRPC or Thrift. Enable only the protocols that your clients use.
otel-collector-config.yaml
Jaeger’s legacy write protocols do not carry metrics or logs. Configure those signals in separate Collector pipelines when you need them.

Sampling

Jaeger remote-sampling configuration does not move with trace data. Keep your current SDK sampling policy during the first dual-ship test. If you want to retain all errors and slow traces while reducing routine traffic, add customer-side tail sampling after you verify the unsampled path.

Verify

  1. Validate the Collector configuration.
  2. Send one trace from a known service.
  3. Confirm that the root span, child spans, status, resource attributes, events, and links appear.
  4. Send one error trace and confirm that it is visible in both Traces and related errors.
  5. Compare counts during dual-ship before you change a shared endpoint or remove Jaeger storage.

References

Agent handoff