distributed-tracing-design

Design OpenTelemetry-based distributed tracing architectures for Go microservices.

1|Updated Jun 20, 2026
One-click install
npx skills add https://github.com/shafibabar/SDLC-Artifact-Factory --skill distributed-tracing-design-shafibabar
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: distributed-tracing-design
Source: https://github.com/shafibabar/SDLC-Artifact-Factory/tree/main/skills/distributed-tracing-design
Command: npx skills add https://github.com/shafibabar/SDLC-Artifact-Factory --skill distributed-tracing-design-shafibabar

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This skill solves the challenge of maintaining visibility across complex, asynchronous distributed systems by ensuring trace continuity, accurate error reporting, and efficient sampling.

Core Features & Use Cases

  • Trace Continuity: Implements W3C context propagation across HTTP and Redpanda/Kafka boundaries to prevent severed traces.
  • Observability Standards: Provides clear guidelines on span naming, high-cardinality attribute usage, and SRE-aligned error status reporting.
  • Use Case: When a latency spike occurs in a microservices architecture, this skill ensures the trace remains connected from the initial API request through the message broker to the final consumer, allowing for precise root-cause analysis.

Quick Start

Use the distributed-tracing-design skill to audit the current instrumentation of the classification service and verify that all async boundaries correctly propagate trace context.

Frequently Asked Questions about distributed-tracing-design

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I propagate OpenTelemetry trace context across Kafka boundaries in Go?

Propagating OpenTelemetry trace context across Kafka boundaries requires injecting and extracting W3C trace context headers to maintain trace continuity. This ensures connected traces from message producers to consumers in asynchronous distributed systems.

What is the best way to implement tail-sampling for distributed tracing in Go microservices?

Tail-sampling for distributed tracing in Go microservices is best implemented using collector policies that evaluate complete traces after execution. This approach reduces overhead while ensuring critical errors and latency anomalies are retained for root-cause analysis.

How do I instrument Go microservices for end-to-end observability without severing traces?

Instrumenting Go microservices for end-to-end observability requires implementing W3C context propagation across both HTTP and message broker boundaries. This prevents severed traces and maintains visibility across synchronous and asynchronous boundaries.

Does OpenTelemetry support semantic attribute conventions for error tracking in event-driven Go systems?

OpenTelemetry supports semantic attribute conventions for error tracking in event-driven Go systems by enforcing consistent span naming and SRE-aligned error status reporting. This standardization enables precise performance monitoring and root-cause analysis.

Why are my distributed traces disconnected when passing through Redpanda or Kafka in Go?

Distributed traces become disconnected when passing through Redpanda or Kafka if W3C trace context is not explicitly injected and extracted at message boundaries. Proper instrumentation ensures trace continuity across these asynchronous boundaries.