samples ou traces (aliases) para buscar samples individuais dos dados de tracing do AppSignal. Traces mostram o que aconteceu durante uma request, job ou execução de script, e podem exibir o trace por trás de uma exception.
Liste traces e, em seguida, abra um para visualizar sua span tree e inspecionar os tempos, tags e attributes de um único span.
O comando está disponível como samples ou traces. appsignal-cli traces list e appsignal-cli samples list fazem a mesma coisa. Esta página usa traces ao longo do texto.
Os traces são obtidos por meio da REST tracing API do AppSignal usando sua conta autenticada, então autentique a CLI primeiro. Veja Autenticação.
Opções comuns
Todo comandotraces identifica uma aplicação e usa sua organização padrão, a menos que você indique o contrário:
| Flag | Descrição |
|---|---|
--app <name> | Nome da aplicação (adicione --environment quando mais de uma aplicação compartilhar o nome) |
--environment <env> | Environment, usado com --app, como production ou development |
--app-id <id> | O ID da aplicação (uma longa string hexadecimal obtida em appsignal-cli apps list), no lugar de --app e --environment |
--org <slug> | Slug da organização (usa o padrão se omitido) |
Encontrar um trace a partir de um incident
A maioria das investigações começa por um incident, não por um trace ID. Estes passos levam você de um número de incident até a span tree de uma única request, seguindo umaPaymentDeclinedException do Laravel em POST /checkout (exception incident 9).
1. Leia o digest do incident
Error traces são agrupados por um exception digest. Leia o digest a partir do incident, ou copie-o do AppSignal app:Shell
digests:
2. Liste os traces para esse digest
Passe o digest paratraces errors. Cada linha é uma ocorrência capturada:
Shell
3. Inspecione o trace
Passe o número do incident e o trace ID paratraces show-incident:
Shell
!! marca o span que gerou a exception: aqui, POST /checkout logo após o stripe.charge de 334 ms. Para inspecionar um único span por completo, adicione --span-id com o valor de seu span:. Veja inspecionar um único span.
Estes passos começam a partir de um exception incident. Se você estiver começando de outro ponto, use o comando correspondente:
- Um performance incident:
traces incident --number <N>lista seus traces sem digest. Veja para um incident. - Um namespace e uma action conhecidos:
traces list --namespace <name> --action <name>. Veja para uma action.
Listar traces
Três comandos listam traces, dependendo do ponto de partida: uma performance action, um incident ou um exception digest. Cada um retorna uma tabela de trace IDs que você pode então passar para os comandos de inspeção da próxima seção.Para uma action
Liste os performance samples recentes para um namespace e uma action:Shell
list exige --namespace, --action e uma aplicação (--app ou --app-id), e aceita estas opções adicionais:
| Flag | Descrição |
|---|---|
--namespace <name> | Namespace onde pesquisar, ex.: web, background, graphql (obrigatório) |
--action <name> | Action para buscar traces, ex.: GET /products (obrigatório) |
--start <ISO8601> | Horário de início, ex.: 2025-01-15T00:00:00Z (padrão: 24 horas atrás) |
--end <ISO8601> | Horário de término (padrão: agora) |
--min-duration-ms <ms> | Retorna apenas traces com pelo menos essa duração em milissegundos |
--limit <N> | Número máximo de traces a retornar (1–100, padrão 25) |
--page-all | Busca todos os traces no intervalo, ignorando --limit |
--namespace é o namespace do AppSignal que agrupa a action, geralmente web, background, rake, runner ou graphql. Sua aplicação também pode definir namespaces personalizados. Se você não tiver certeza a qual namespace uma action pertence, use traces incident --number <N>: ele lê os nomes de namespace e action diretamente do performance incident, para que você não precise informá-los.Para um incident
Pule a busca por namespace e action e liste os samples por trás de um performance incident pelo seu número:Shell
--action para restringir a busca a uma delas. Além das opções comuns, incident aceita:
| Flag | Descrição |
|---|---|
--number <N> | Número do performance incident (obrigatório) |
--action <name> | Restringe a busca a uma action quando o incident tem várias |
--start <ISO8601> | Horário de início (padrão: 24 horas atrás) |
--end <ISO8601> | Horário de término (padrão: agora) |
--min-duration-ms <ms> | Retorna apenas traces com pelo menos essa duração em milissegundos |
--limit <N> | Número máximo de traces por action (1–100, padrão 25) |
--page-all | Busca todos os traces de cada action, ignorando --limit |
Error traces para uma exception
Liste os error traces por trás de uma exception, identificada pelo seu digest:Shell
errors exige --digest e uma aplicação (--app ou --app-id), e também aceita --limit (1–100, padrão 25) e --page-all. Encontre o digest no exception incident na interface do AppSignal, ou use traces show-incident na próxima seção para dispensar o digest por completo.
Inspecionar um trace
Uma vez que você tenha um trace ID, abra-o para ver a span tree: cada span com seu tipo, duração, número de events e qualquer exception, seguido por um resumo. Três comandos fazem isso, correspondentes às três formas de listar o trace.A partir de uma action
Mostre um performance trace pelo seu namespace, action e trace ID:Shell
!! e o tipo da exception.
A partir de um exception digest
Mostre um error trace pelo seu digest e trace ID:Shell
traces errors (ou por traces incident para um exception incident).
A partir de um número de incident
Quando você tem um número de incident em vez de um namespace, action ou digest,show-incident verifica o incident para você: a partir do número, ele busca o namespace e a action (ou o digest), para que você não precise informá-los. Você ainda escolhe qual trace inspecionar com --trace-id, então liste primeiro os traces do incident com traces incident:
Shell
Inspecionar um único span
Adicione--span-id a qualquer um dos comandos show para imprimir o detalhe completo de um span em vez da tree: seus tempos, status, tags, span attributes, events e resource attributes.
Shell
span: no final de cada linha da span tree. Se o ID não estiver no trace, a CLI lista quais estão disponíveis:
Dados sensíveis
Por padrão, os comandos show omitem HTTP headers, parâmetros de request, dados de sessão e parâmetros de função. Adicione--include-sensitive para exibi-los:
Shell
Intervalo de tempo e paginação
list, incident e os comandos show de performance olham para trás por 24 horas por padrão. Amplie ou mova a janela com --start e --end (ISO 8601, por exemplo 2025-01-15T00:00:00Z). Se um trace for mais antigo que a janela padrão, uma busca por ID informará que ele não foi encontrado: execute novamente com um --start anterior.
--limit limita uma listagem a até 100 traces (25 por padrão). Para buscar todos os traces no intervalo, use --page-all, que ignora --limit.
Saída em JSON
- Adicione a flag global
--output json(ou--format json) para resultados legíveis por máquina. - Os comandos de listagem (
traces list,traces incident,traces errors) retornam um arraytraces. - Os comandos show (
traces show,traces show-error,traces show-incident) retornam otrace_ide seusspans, mais um únicospanquando você passa--span-id. - Isso se aplica tanto a performance samples quanto a error traces, e se combina com
--page-allpara paginar por todos os resultados. - Os resultados (o JSON) são escritos em stdout, enquanto as mensagens de status são escritas em stderr, então canalizar a saída para outra ferramenta nunca mistura texto que não seja JSON.
Shell