SkillProgramaçãoExecução
Tracing Distribuído
Implementa tracing distribuído — propagação, spans, sampling e armazenamento — para acompanhar uma requisição atravessando vários serviços. Use ao adicionar tracing a um sistema multi-serviço que já tem logs e métricas, mas não tem visibilidade em nível de requisição.
Ações
PerfilDev
ProfundidadeMédia
IdiomaInglês (skill original)
Objetivo
Em uma frase.
Adicionar tracing a um sistema multi-serviço para seguir uma requisição ponta a ponta, cobrindo instrumentação com OpenTelemetry, propagação de contexto de trace, estratégia de sampling e escolha de armazenamento.
Aplicação
Quando
faz sentido.
Usar
- Adicionar tracing a um sistema multi-serviço que tem logs e métricas, mas não visibilidade por requisição
- Debugar latência onde o gargalo é um de vários serviços downstream
- Desenhar a estratégia de sampling de um pipeline de alto throughput
- Migrar de um SDK de fornecedor para OpenTelemetry
Não usar
- Monolito de serviço único — comece por logs e métricas
- Investigação pontual de performance — use profiling em um hotspot conhecido
- Trilha de auditoria/compliance — use logs estruturados com retenção
Prompt
Instruções
para a IA.
A skill parte dos conceitos e percorre instrumentação, propagação e sampling.
### Conceitos e stack
Um trace é a requisição ponta a ponta entre serviços; um span é uma unidade de trabalho (uma chamada HTTP, uma query); o trace ID é único por requisição e propagado entre os hops. O stack recomendado é OpenTelemetry como SDK padrão e Jaeger, Tempo ou Honeycomb para armazenamento e UI, combinando auto-instrumentação por framework com spans manuais para a lógica de negócio.
### Propagação e sampling
Propague o contexto via header
### Spans e atributos customizados
Crie spans para a lógica de negócio e adicione atributos úteis (como ID de usuário ou tier de pricing). Dados de alta cardinalidade são aceitáveis em spans (não em métricas), mas PII e segredos NUNCA devem entrar.
### Anti-padrões
Evite 100% de sampling em produção, span manual por função (instrumente frameworks), atributos de alta cardinalidade que explodem downstream e tracing sem logs/métricas, que perde correlação. A entrega inclui config do SDK por serviço, estratégia de sampling documentada, grafo de serviços publicado como dashboard e correlação trace-log funcionando (trace_id presente nos logs estruturados).
### Conceitos e stack
Um trace é a requisição ponta a ponta entre serviços; um span é uma unidade de trabalho (uma chamada HTTP, uma query); o trace ID é único por requisição e propagado entre os hops. O stack recomendado é OpenTelemetry como SDK padrão e Jaeger, Tempo ou Honeycomb para armazenamento e UI, combinando auto-instrumentação por framework com spans manuais para a lógica de negócio.
### Propagação e sampling
Propague o contexto via header
traceparent (W3C) em HTTP, metadata em gRPC e dentro do envelope da mensagem em filas. Para sampling, use 100% em dev, 1-5% em produção para controle de volume e tail-based sampling para guardar todos os traces de erro amostrando os de sucesso.### Spans e atributos customizados
Crie spans para a lógica de negócio e adicione atributos úteis (como ID de usuário ou tier de pricing). Dados de alta cardinalidade são aceitáveis em spans (não em métricas), mas PII e segredos NUNCA devem entrar.
### Anti-padrões
Evite 100% de sampling em produção, span manual por função (instrumente frameworks), atributos de alta cardinalidade que explodem downstream e tracing sem logs/métricas, que perde correlação. A entrega inclui config do SDK por serviço, estratégia de sampling documentada, grafo de serviços publicado como dashboard e correlação trace-log funcionando (trace_id presente nos logs estruturados).
Execução
Como usar
com IA.
- 01Copie a skill (botão "Copiar skill para IA", no topo): o texto copiado já é a skill completa, não um resumo.
- 02Abra o Claude ou Claude Code e cole — a IA recebe todas as instruções e fica pronta para a tarefa.
- 03Prefere usar como arquivo reutilizável? Baixe o .zip e coloque o
SKILL.mdem.claude/skills/(Claude Code) ou anexe o arquivo no Claude (claude.ai).