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
- 01
OTLP collector
gRPC endpoint that accepts spans in OpenTelemetry Protocol format.
- 02
ClickHouse storage
Schema optimized for traces: trace_id, span_id, parent_id, timestamps, attributes JSONB.
- 03
Query API
FastAPI: search traces by service/duration/status, get trace by ID with all spans.
- 04
Waterfall UI
React: waterfall visualization of trace spans with durations and relationships.
- 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