brendangregg-use-tsa
Ajuda seu agente a encontrar a causa raiz de problemas de desempenho em sistemas. Ele analisa dados para identificar onde estão os erros e como corrigi-los.
O que ela faz
Este agente ajuda a descobrir por que um sistema (como um servidor ou aplicativo) está lento ou com problemas. Ele usa métodos específicos para investigar os recursos do sistema e o tempo gasto pelas tarefas, encontrando a causa raiz dos problemas.
Quando usar
- ✓Quando um servidor ou aplicativo está lento e você não sabe o motivo.
- ✓Após uma mudança (como uma atualização ou aumento de carga) que causou lentidão.
- ✓Quando métricas de CPU, memória, disco ou rede parecem estranhas e precisam de explicação.
Exemplo do que pedir para a IA
“Meu servidor está muito lento, pode investigar a causa?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Primeiro, ele pergunta sobre o problema. Depois, analisa o uso, a saturação e os erros de cada recurso do sistema (CPU, memória, rede, disco). Em seguida, investiga como as tarefas (threads) gastam seu tempo para encontrar gargalos.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill brendangregg-use-tsaOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/brendangregg-use-tsa/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Análise de Performance USE+TSA de Brendan Gregg
Visão Geral
Um procedimento fixo e baseado em evidências para depuração de performance de sistemas, análise de causa raiz (RCA) e relatórios de incidentes, destilado das metodologias publicadas por Brendan Gregg. Em vez de executar quaisquer comandos que sejam familiares, o agente primeiro faz perguntas e depois encontra métricas para respondê-las: o Método USE (Utilização, Saturação, Erros) varre todos os recursos, o Método TSA (Análise de Estado de Threads) decompõe o tempo de threads, e a análise off-CPU mais os flame graphs aprofundam o que as varreduras encontram. Cada investigação termina em uma nota de triagem estruturada, relatório RCA ou postmortem onde cada afirmação rastreia para um comando e sua saída.
Esta habilidade adapta material do repositório da comunidade thecsdoctor/brendangregg-use-tsa-skill (listas de verificação completas, biblioteca de referência e modelos de relatório estão lá).
Quando Usar Esta Habilidade
- Use quando um servidor, VM ou contêiner está "lento" e a causa é desconhecida
- Use quando a latência ou throughput regrediu após um deploy, mudança de configuração ou alteração de carga
- Use quando métricas de CPU, memória, disco ou rede parecem anormais e precisam de interpretação
- Use quando uma aplicação trava ou threads se acumulam
- Use quando o usuário pede depuração, triagem ou análise de causa raiz de um problema de performance
- Use quando um incidente precisa de um relatório RCA ou um postmortem sem culpa com um rastro de evidências
Como Funciona
Passo 0: Declaração do Problema
Defina o problema antes de medir. Pergunte: O que faz você pensar que há um problema? Já teve uma boa performance antes? O que mudou recentemente (software, hardware, carga)? Pode ser expresso como latência ou tempo de execução — quantifique. Quem mais é afetado? Qual é o ambiente (SO, versões, configuração, limites de contêiner/VM)?
Passo 1: Triagem de 60 Segundos (Linux)
Execute a varredura de dez comandos, verificando erros e saturação primeiro (mais fáceis de interpretar), depois utilização. Registre cada recurso exonerado.
uptime # load trend (includes uninterruptible I/O on Linux)
dmesg | tail # kernel errors: oom-killer, SYN flooding, hardware
vmstat 1 # r > CPU count = CPU saturation; si/so = swapping; wa = disk
mpstat -P ALL 1 # per-CPU imbalance (single hot CPU = single-threaded app)
pidstat 1 # per-process CPU over time
iostat -xz 1 # await (app-suffered latency), avgqu-sz, %util
free -m # memory; buffers/cache near zero hurts
sar -n DEV 1 # NIC throughput vs link limit
sar -n TCP,ETCP 1 # active/passive connections, retransmits
top # spot variable load
Passo 2: Varredura USE (orientada a recursos)
Para cada recurso, verifique Utilização, Saturação e Erros. Itere CPUs, capacidade de memória, interfaces de rede, I/O e capacidade de armazenamento, controladores, interconexões — mais recursos de software (travas mutex, pools de threads, capacidade de processos/descritores de arquivo) e limites impostos (quotas cgroup, limites de hypervisor, ulimits). Verifique erros antes da utilização. Interpretações: 100% de utilização é geralmente um gargalo (confirme via saturação); qualquer saturação não zero pode ser um problema; contadores de erro não zero e em constante aumento valem a pena investigar; e uma varredura limpa é um resultado — ela estreita o espaço de busca.
Passo 3: Varredura TSA (orientada a threads)
Para cada thread de interesse, divida o tempo em: Executando / Executável / Paginação Anônima / Dormindo / Trava / Ocioso. Investigue estados do mais para o menos frequente com ferramentas apropriadas para o estado. Se mais de ~10% do tempo for Executável ou Paginação Anônima, corrija esses primeiro — estados de latência podem ser ajustados para zero. Instrumentos Linux: /proc/PID/schedstat run_delay e perf sched latency (Executável), vmstat si/so e min_flt por processo (Paginação), offcputime/cpudist de bcc (Dormindo), /proc/lock_stat e valgrind --tool=drd (Trava), pidstat/flame graphs (Executando).
Passo 4: Aprofundar
Siga o maior contribuinte: Executando → perfil de CPU + flame graph; Dormindo/Trava → pilhas off-CPU (offcputime -p PID, renderizar com flamegraph.pl --color=io); reclamações de latência → decomposição por divisão de tempo; microsserviços → método RED (Taxa, Erros, Duração). Prefira agregação in-kernel eBPF sobre dumps por evento; comece com traces de sub-segundo em produção.
Passo 5: Confirmar Causa Raiz
…
Perguntas frequentes
O que são os métodos USE e TSA?
USE (Utilization, Saturation, Errors) é um método para verificar o uso, a saturação e os erros de todos os recursos do sistema. TSA (Thread State Analysis) é um método para analisar como o tempo das tarefas é gasto (executando, esperando, etc.).
O que é 'causa raiz'?
É a razão fundamental pela qual um problema está acontecendo. Encontrar a causa raiz ajuda a resolver o problema de forma definitiva.
O que é um relatório 'postmortem'?
É um documento que descreve um incidente após ele ter ocorrido, detalhando o que aconteceu, qual foi a causa, como foi resolvido e o que fazer para evitar que aconteça novamente.
Detalhes
Descrição original do autor
Methodical performance troubleshooting and root-cause analysis with Brendan Gregg's USE and TSA methods, plus evidence-backed RCA and postmortem reports.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #2441
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
data-throughput-accelerator
Faz seu agente acelerar a movimentação de grandes volumes de dados. Ele encontra gargalos e garante que os dados sejam transferidos de forma rápida e correta.
affaan-m/ECC
inventory-demand-planning
Ajuda seu agente a prever a demanda de produtos em lojas. Ele otimiza o estoque e planeja quando fazer promoções para vender mais.
affaan-m/ECC
market-research
Ajuda seu agente a realizar pesquisas de mercado e análises competitivas. Fornece resumos com atribuição de fontes.
affaan-m/ECC