Skip to main content

Zipkin

Oodle accepts traces from Zipkin-instrumented services. The recommended approach uses an OpenTelemetry Collector with the Zipkin receiver to convert Zipkin JSON spans to OTLP and forward them to Oodle.

Prerequisites

  • OODLE_INSTANCE: Your Oodle instance ID. Go to Settings icon -> API Keys page in your Oodle UI to find out. (Oodle UI links: ap1, us1)
  • OODLE_API_KEY: Your Oodle API key for authentication. Go to Settings icon -> API Keys in your Oodle UI to choose an appropriate key. (Oodle UI links: ap1, us1)

Architecture

Zipkin to Oodle architecture

OTel Collector Configuration

Install the OpenTelemetry Collector Contrib distribution (it includes the Zipkin receiver), then add the following configuration:

receivers:
zipkin:
endpoint: "0.0.0.0:9411"

processors:
batch:
timeout: 5s
send_batch_size: 512

exporters:
otlphttp/oodle:
endpoint: "https://<OODLE_INSTANCE>-otlp.collector.oodle.ai"
headers:
"X-OODLE-INSTANCE": "<OODLE_INSTANCE>"
"X-API-KEY": "<OODLE_API_KEY>"

service:
pipelines:
traces:
receivers: [zipkin]
processors: [batch]
exporters: [otlphttp/oodle]

Point your Zipkin reporters at the collector's endpoint:

http://<collector-host>:9411/api/v2/spans

No changes to your application instrumentation code are required.

Migrating from a Zipkin Backend

If you already run a Zipkin server, you can migrate to Oodle in three steps:

  1. Deploy the OTel Collector with the configuration above alongside (or in place of) the Zipkin server.
  2. Reconfigure your Zipkin reporters to send to the OTel Collector instead of the Zipkin server.
  3. No application code changes are needed: the Zipkin client libraries continue to emit JSON spans as before.

Demo

For a complete working example, see the Zipkin demo in the oodle-onboarding repository.


Support

If you need assistance or have any questions, please reach out to us through: