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 toSettingsicon ->API Keyspage in your Oodle UI to find out. (Oodle UI links: ap1, us1)OODLE_API_KEY: Your Oodle API key for authentication. Go toSettingsicon ->API Keysin your Oodle UI to choose an appropriate key. (Oodle UI links: ap1, us1)
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:
- Deploy the OTel Collector with the configuration above alongside (or in place of) the Zipkin server.
- Reconfigure your Zipkin reporters to send to the OTel Collector instead of the Zipkin server.
- 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:
- Email at [email protected]