Skip to content
Skillpedia
Misc41k · #4907

distributed-tracing

Helps your agent track how requests move between different parts of a system. It's useful for finding performance issues in complex systems.

What it does

Helps understand how requests travel through different parts of a computer system. This is useful for finding slow performance or errors.

When to use it

  • ✓When something is slow
  • ✓To see how services communicate
  • ✓To find where errors occur

Example of what to ask your AI

“Help me trace a request that is taking too long to process.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/wshobson/agents/blob/main/plugins/observability-monitoring/skills/distributed-tracing/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/wshobson/agents/blob/main/plugins/observability-monitoring/skills/distributed-tracing/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

It works by adding small pieces of information at each step a request takes. These pieces are sent to a place where we can see the request's complete journey.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add wshobson/agents --skill distributed-tracing

Or download just the file:

curl -L https://raw.githubusercontent.com/wshobson/agents/main/plugins/observability-monitoring/skills/distributed-tracing/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Distributed Tracing

Implement distributed tracing with Jaeger and Tempo for request flow visibility across microservices.

Purpose

Track requests across distributed systems to understand latency, dependencies, and failure points.

When to Use

  • Debug latency issues
  • Understand service dependencies
  • Identify bottlenecks
  • Trace error propagation
  • Analyze request paths

Detailed patterns and worked examples

Detailed pattern documentation lives in references/details.md. Read that file when the navigation tier above is insufficient.

Best Practices

  1. Sample appropriately (1-10% in production)
  2. Add meaningful tags (user_id, request_id)
  3. Propagate context across all service boundaries
  4. Log exceptions in spans
  5. Use consistent naming for operations
  6. Monitor tracing overhead (<1% CPU impact)
  7. Set up alerts for trace errors
  8. Implement distributed context (baggage)
  9. Use span events for important milestones
  10. Document instrumentation standards

Integration with Logging

Correlated Logs

import logging
from opentelemetry import trace

logger = logging.getLogger(__name__)

def process_request():
    span = trace.get_current_span()
    trace_id = span.get_span_context().trace_id

    logger.info(
        "Processing request",
        extra={"trace_id": format(trace_id, '032x')}
    )

Troubleshooting

No traces appearing:

  • Check collector endpoint
  • Verify network connectivity
  • Check sampling configuration
  • Review application logs

High latency overhead:

  • Reduce sampling rate
  • Use batch span processor
  • Check exporter configuration

Related Skills

  • prometheus-configuration - For metrics
  • grafana-dashboards - For visualization
  • slo-implementation - For latency SLOs
FAQ

What are 'microservices'?

They are like small, independent parts of a larger program that talk to each other.

What are 'Jaeger' or 'Tempo'?

These are tools that collect and display the tracing information so we can visualize it.

Why 'sample' traces?

To avoid overwhelming the system with information, especially in large systems with many requests.

Details

Original description by the author

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.

repo: wshobson/agents

Popularity

GitHub stars
41k
Ranking position
#4907
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills