#Jaeger
Open-source distributed tracing.
#Overview
Jaeger traces requests across microservices.
#Quick Start
bash
1# All-in-one container
2docker run -d --name jaeger \
3 -p 16686:16686 \
4 -p 6831:6831/udp \
5 jaegertracing/all-in-one:latest
6
7# UI: http://localhost:16686#Instrumentation (Python)
python
1from jaeger_client import Config
2
3def init_tracer(service_name):
4 config = Config(
5 config={
6 'sampler': {'type': 'const', 'param': 1},
7 'local_agent': {'reporting_host': 'localhost'},
8 },
9 service_name=service_name,
10 )
11 return config.initialize_tracer()
12
13tracer = init_tracer('my-service')
14
15with tracer.start_span('my-operation') as span:
16 span.set_tag('key', 'value')
17 # Your code here#Components
| Component | Purpose |
|---|---|
| jaeger-agent | Collect spans |
| jaeger-collector | Process spans |
| jaeger-query | UI and API |
| Storage | Cassandra/Elasticsearch |
[!TIP] Pro Tip: Use OpenTelemetry SDK which exports to Jaeger!