- Qual serviço ou span consumiu o tempo?
- O trace produziu um erro, e onde ele começou?
- Quais dados de requisição ou tags ajudam a explicar essa execução específica?
run/shop.send_waitlist_notification em celery/background. As abas abaixo do cabeçalho alternam entre visões da mesma action: Summary, Traces, Charts e Logbook.
Mapa de serviços
O mapa de serviços mostra o trace do ponto de vista dos serviços envolvidos: quais serviços a requisição alcançou, e quanto tempo cada chamada entre eles levou. O mapa de serviços aparece apenas quando um trace abrange dois ou mais serviços, por exemplo quando uma requisição chama outro serviço via HTTP ou enfileira um job em background. Uma requisição que permanece dentro de um único serviço não tem mapa.- Uma caixa por serviço, agrupada por
service_name. Cada caixa é identificada com o nome do serviço e a aplicação do AppSignal para a qual ele reporta. Dentro dela, uma linha por chamada que o serviço tratou, de forma que um serviço chamado duas vezes no mesmo trace mostra duas linhas. Selecione uma linha para abrir a visão desse serviço sobre o trace. - As arestas são as chamadas entre serviços, identificadas com sua duração e chegando na linha da action que chamaram.
- Passe o cursor sobre um rótulo de duração ou foque nele para ver sua análise, quando a chamada gastou tempo fora do serviço chamado: a duração total, a duração dentro do serviço chamado e a latência entre os dois serviços.
- A cor da aresta avalia cada chamada em relação à própria linha de base do trace, como rápida, lenta ou crítica, de forma que as chamadas mais lentas se destaquem sem que você precise ler cada duração. Uma aresta tracejada indica um trace vinculado, e uma caixa tracejada indica um serviço de outro trace.
- Erros marcam o serviço em que ocorreram, não o serviço que o chamou.

O mapa de serviços do trace em tela cheia, mostrando os serviços em um trace, as chamadas entre eles e a legenda
Erros deste trace
Se o trace gerou incidentes de exceção, o AppSignal mostra uma tabela Errors from this trace acima da linha do tempo do trace. Use-a para abrir a visão de trace de erro desse incidente no mesmo trace, onde você pode inspecionar a mensagem de erro, o backtrace e as causas do erro.Linha do tempo do trace
A linha do tempo detalha os spans do trace ao longo do tempo, do início do trace até seu fim. A posição de cada barra mostra quando um span começou, sua largura mostra por quanto tempo o span rodou, e sua cor mostra o grupo de spans ao qual ele pertence. Quando o AppSignal detecta uma query N+1, a linha do tempo mostra uma breve explicação acima dos spans e marca o span representativo com um badge amarelo. Selecione o badge para expandir esse span e inspecionar as queries repetidas. A linha do tempo acompanha a operação através dos serviços. Cada serviço é identificado na linha do tempo, para que você veja onde um serviço passa o trabalho para o próximo. Você pode expandir as linhas da linha do tempo do trace se o trace tiver mais spans do que cabem nessa pré-visualização, ou selecionar All spans para ver a linha do tempo completa e seus recursos:- Buscar spans por nome, atributo ou evento.
- Filtrar por tipo de evento: errors, queries ou events.
- Filtrar por grupo de spans, como servidor web, banco de dados e ORM, HTTP ou outro.
- Filtrar por serviço, ou restringir a linha do tempo a uma parte da duração do trace.
- Expandir e recolher spans aninhados. Um badge mostra quantos spans filhos um span tem, e um badge de repetição como
x6mostra com que frequência o mesmo span rodou. - Selecionar um span para abrir seus detalhes.

A linha do tempo do trace em tela cheia, com os filtros na parte superior e os detalhes do span selecionado à direita
Detalhes do span
O painel de detalhes nomeia o span e mostra seu tipo, comoconsumer, seu status, sua hora de início e sua duração. Três abas fornecem o restante:
- Attributes: os atributos do span, como
celery.task_nameemessaging.destination, e os atributos de recurso, comohost.nameeservice.name. Selecione Show internal attributes para listar também os atributos que o AppSignal adiciona. O ID do trace e o ID do span ficam visíveis somente enquanto Show internal attributes está selecionado. - Exceptions ou Events: os erros e outros eventos registrados no span. Um span que gerou um erro também mostra um resumo no topo do painel, com uma ação para ver a exceção.
- Related logs: as linhas de log vinculadas ao span. Selecione View in logs para continuar no explorador de logs. A aba Related logs abre com seu escopo definido como This span, então ela busca apenas as linhas de log do span selecionado. Defina o escopo como Entire trace para ampliar a busca para todas as linhas de log vinculadas ao trace, em todos os seus spans e serviços.
Detalhamento do trace
O detalhamento do trace mostra para onde foi o tempo do trace, dividido pelas bibliotecas e pelo código que fez o trabalho, comoactive_record, http_rb ou sidekiq. A legenda lista cada uma com seu total, a maior primeiro.
Alguns traces também podem mostrar uma barra de Allocations com quantos objetos cada uma alocou.
Metadata
A seção Metadata mostra quando a subtrace selecionada ocorreu e então agrupa os metadados dessa subtrace em abas. Cada aba aparece apenas quando o AppSignal recebeu esse tipo de dado para a subtrace selecionada. Quando há tags presentes, a aba Tags aparece primeiro.- Tags: as tags do AppSignal na subtrace selecionada, mais sua
revisionquando presente, comohostname,queue,message_iderevision. - Request headers: os cabeçalhos HTTP que o AppSignal recebeu para essa subtrace.
- Environment: outros valores de requisição que a integração reportou para essa subtrace. Dependendo da integração, valores semelhantes a cabeçalhos também podem aparecer aqui.
- Request query parameters: os parâmetros de query string que o AppSignal recebeu para essa subtrace, quando disponíveis.
- Request payload: o corpo da requisição que o AppSignal recebeu para essa subtrace, quando disponível.
- Request session data: os valores de sessão que o AppSignal recebeu para essa subtrace, quando disponíveis.
- Custom data e Function parameters: contexto extra que sua instrumentação adicionou para essa subtrace.
- Filter restringe a lista de Traces aos traces desta action que carregam o mesmo valor. O valor permanece visível acima da lista, e Reset o limpa.
- Search abre uma visão geral de tudo que o AppSignal registrou com aquele valor. Você pode restringir a visão geral por app, namespace, período e tipo, de forma que veja apenas os erros ou apenas os traces de performance que o compartilham. Selecione Go to trace em qualquer resultado para abri-lo.
Logs relacionados
A caixa Related logs em nível de trace mostra as linhas de log que o AppSignal conseguiu vincular a este trace, com seu horário, severidade e mensagem. Selecione Open in the log view para continuar no explorador de logs. O painel informa quando não encontra linhas de log relacionadas. O AppSignal vincula uma linha de log a um trace quando a linha de log carrega orequest_id ou trace_id do trace como atributo, ou contém esse identificador em sua mensagem. O painel permanece vazio quando a operação não registrou nada, quando sua aplicação ainda não envia logs ao AppSignal, ou quando nenhuma linha de log carrega o identificador. Veja configurar logging para enviar logs, e vincular traces com logs para os identificadores.
Breadcrumbs
Se sua aplicação registra breadcrumbs do AppSignal como eventosappsignal.breadcrumb, a página os mostra em ordem cronológica em Breadcrumbs. Cada breadcrumb inclui seu horário, categoria, action e, quando presente, uma mensagem e metadados. Use-os para ver o que levou a esse trace sem sair da página.
Perf. trends
No topo da coluna direita, Perf. trends mostra a performance da action nas últimas 24 horas ou 30 dias. Para traces de performance, o gráfico plota oP90 e a duração média. Selecione 24H ou 30D para mudar o período, e depois selecione um ponto no gráfico para levar a lista de traces até esse momento.
Triggers
Triggers alertam você quando esta action fica lenta. O painel lista os triggers que já existem para a action, comoMean > 200 ms. Se ainda não houver nenhum, a caixa mostra No triggers yet e um link Add new.
Selecione Add new para abrir o formulário de trigger com o namespace e o nome da action já preenchidos. No formulário, você:
- Escolhe o valor a ser monitorado, como a média, e o limite acima do qual o AppSignal alerta, como 200 ms.
- Define um warm-up e um cooldown de alerta em minutos.
- Adiciona uma descrição para as pessoas que recebem o alerta.
- Seleciona os notifiers que o recebem, como e-mail, Slack, PagerDuty ou OpsGenie.
Actions
A caixa Actions oferece dois tipos de acompanhamento:- Time detective: revise os dados da sua aplicação como estavam no momento do trace.
- JSON and Markdown exports: baixe ou copie o trace em qualquer um dos formatos. A exportação em Markdown inclui o resumo do trace, os erros relacionados, a árvore de spans, o detalhamento, metadados compartilhados como dados de sessão e ambiente, breadcrumbs e contexto.
Traces
O painel Traces lista os outros traces armazenados para essa action, cada um com seu timestamp e duração. Selecione qualquer um deles para abrir esse trace. Para encontrar um trace específico:- Insira um valor no campo de filtro de tag, ou use a ação Filter em uma tag, para manter apenas os traces que carregam esse valor.
- Abra o controle de data para escolher uma data e horário, ou escolha Today, Yesterday, Last week ou Latest. Selecione Jump to date ou Jump to latest para atualizar a lista.
- Selecione Load newer traces ou Load older traces para navegar pela lista.
- Selecione Reset para limpar os filtros e ver novamente todos os traces armazenados.
O AppSignal não armazena um trace para cada requisição. Em vez disso, ele armazena um conjunto representativo, então a lista mostra uma amostra do tráfego da action.
Logbook
Os traces expiram, e com eles o contexto que sua equipe reuniu ao investigar um deles. O logbook mantém esse contexto junto com a action. Cada action na página “Performance > Traces” tem um logbook, compartilhado por todos os seus traces. Uma nota que você escreve hoje ainda está lá quando o próximo trace lento dessa action chega. Para abrir o logbook, selecione a action na página “Performance > Traces”. Isso abre a aba Summary da action, que contém uma caixa de Logbook com o formulário de nota e as notas existentes. Escreva sua nota e selecione Post note. Ela aparece na caixa, abaixo da nota fixada, se houver uma. Selecione Full logbook, ou a aba Logbook, para abrir o logbook completo em sua própria página. As notas suportam Markdown. Você pode fixar qualquer nota para mantê-la no topo, e fixar outra nota substitui a anterior. Você só pode editar e excluir as notas que você escreveu. Um logbook de trace contém apenas notas. Diferente do logbook de um incidente, ele não registra mudanças de estado nem vincula issues do GitHub. Para um agente, a ferramentamanage_note do MCP do AppSignal adiciona e edita essas notas por namespace e nome da action. A API GraphQL faz o mesmo com a mutation createPerformanceTraceActionNote.
Depois de anotar uma correção, adicione um trigger no painel Triggers. O AppSignal então alerta você se a action ficar lenta novamente.