CODESEEDSign in
Explore projects
Pythonadvanceddevops

Distributed Tracing System

OpenTelemetry compatible distributed tracing system: collector, storage in ClickHouse, query API, and trace visualization UI.

5 steps

Project steps

  1. 01

    OTLP collector

    gRPC endpoint that accepts spans in OpenTelemetry Protocol format.

  2. 02

    ClickHouse storage

    Schema optimized for traces: trace_id, span_id, parent_id, timestamps, attributes JSONB.

  3. 03

    Query API

    FastAPI: search traces by service/duration/status, get trace by ID with all spans.

  4. 04

    Waterfall UI

    React: waterfall visualization of trace spans with durations and relationships.

  5. 05

    Service map

    Service graph based on call relationships from traces.

Recommended resources

Ready to build this?

Fork the repo on GitHub and start building. A mentor will review your code when you open a PR.

5 steps

Tech stack

PythonFastAPIClickHouseopentelemetry-sdkReact