Implement distributed tracing with Jaeger and Tempo to track requests across microservices and identify performance bottlenecks. Use when debugging microservices, analyzing request flows, or implementing observability for distributed systems.
79
68%
Does it follow best practices?
Impact
99%
1.16xAverage score across 3 eval scenarios
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./plugins/observability-monitoring/skills/distributed-tracing/SKILL.mdPython Flask OpenTelemetry instrumentation
Jaeger thrift exporter import
100%
100%
BatchSpanProcessor used
100%
100%
TracerProvider with Resource
100%
100%
FlaskInstrumentor applied
0%
100%
JaegerExporter agent config
100%
100%
Span attributes set
100%
100%
Context propagation inject
100%
100%
Child span for downstream call
100%
100%
tracer_provider registered globally
100%
100%
requirements.txt present
83%
83%
Node.js Express OpenTelemetry instrumentation
NodeTracerProvider used
25%
100%
JaegerExporter from correct package
100%
100%
JaegerExporter endpoint config
100%
100%
BatchSpanProcessor used
50%
100%
registerInstrumentations called
30%
100%
HttpInstrumentation included
70%
100%
ExpressInstrumentation included
70%
100%
Context propagation inject
100%
100%
service.name set in resource
100%
100%
package.json present
40%
100%
Sampling strategies and log correlation
ParentBased sampler used
100%
100%
Sampling rate 1-10%
100%
100%
Trace ID in logs
100%
100%
trace_id 032x format
100%
100%
Meaningful identifiers as attributes
100%
100%
Span event added
100%
100%
Exception recorded on span
100%
100%
get_span_context used
100%
100%
Sampler passed to TracerProvider
100%
100%
README sampling rationale
100%
100%
91fe43e
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.