Resolver problemas

Esta página contém informações sobre solução de problemas do Trace.

Não há dados na interface do Trace

Se você não conseguir visualizar os traces no projeto do Google Cloud quando espera que os dados estejam presentes, tente as seguintes etapas:

  1. No painel de navegação do console do Google Cloud, selecione APIs e serviços, clique em Ativar APIs e serviços e ative a API Cloud Trace:

    Acessar as configurações da API Cloud Trace

  2. Se a mensagem API ativada for exibida, quer dizer que a API já está ativada. Caso contrário, clique no botão Ativar.

  3. Na barra de ferramentas, clique em Menu de navegação e selecione APIs e serviços. Se a linha da API Cloud Trace não listar valores numéricos para a coluna Requests, Errors ou para outras colunas, nenhuma solicitação de trace vai chegar ao seu projeto do Google Cloud. Verifique seus aplicativos e proxies para garantir que eles estejam configurados para enviar os traces para o projeto correto.

  4. Para consultar os detalhes sobre o uso da API, clique em API Cloud Trace e selecione a guia Métricas.

    Para restringir a origem dos erros, use os filtros Credenciais e Métodos e veja o efeito que suas seleções têm no gráfico Erros por método da API:

    • Se todas as gravações estiverem falhando, verifique se a conta de serviço tem acesso ao papel Agente do Cloud Trace. Esse papel inclui a permissão cloudtrace.traces.patch. Para mais informações, consulte papéis do IAM do Cloud Trace.

    • Se houver falha nas leituras, verifique se você tem acesso ao papel Usuário do Cloud Trace para este projeto do Google Cloud. Para ver uma lista completa de permissões para esse papel, consulte Papéis do IAM do Cloud Trace.

Nenhum dado de rastreamento após a atualização do app Go para usar o OpenTelemetry

Seu aplicativo depende da biblioteca de cliente para capturar rastros e, depois de atualizar seu aplicativo para usar o OpenTelemetry, você não verá mais dados do Cloud Trace.

Como algumas bibliotecas de cliente do Google para Go são integradas ao OpenCensus, é preciso usar uma ponte do OpenCensus. Para mais informações sobre o problema resolvido pela ponte, consulte Ponte do OpenCensus (em inglês).

Para saber mais sobre a atualização da biblioteca de cliente do Google para Go, consulte o Problema 4237.

Nenhum dado de trace para o app implantado

Você implantou seu aplicativo e o instrumentou para coletar dados de rastreamento usando o OpenTelemetry, mas os dados de rastreamento não são coletados.

Para o serviço raiz, tente atualizar suas variáveis de ambiente para que o OpenTelemetry use o sampler traceidratio com uma taxa de amostragem de 0.5:

export OTEL_TRACES_SAMPLER="traceidratio"
export OTEL_TRACES_SAMPLER_ARG="0.5"

Para todos os outros serviços, deixe a variável de ambiente OTEL_TRACES_SAMPLER não definida para usar o sampler padrão, que é parentbased_always_on. A configuração padrão significa que a decisão de amostragem de um período é herdada do período pai dele, se ele existir. Se um período pai não existir, ele será amostrado.

Em geral, a menos que seu aplicativo sempre faça amostras de todos os períodos, não é possível forçar o rastreamento de uma solicitação de ponta a ponta, porque cada componente em uma solicitação de ponta a ponta toma a própria decisão de amostragem. No entanto, é possível influenciar a decisão adicionando ao cabeçalho do trace uma flag sampled, com essa flag definida como true. Essa configuração é uma dica para os componentes filhos fazerem uma amostra da solicitação. Para mais informações sobre cabeçalhos de rastreamento, consulte Protocolos para propagação de contexto.

Mensagem de ID do período ausente no trace

O trace contém a mensagem "ID do período ausente".

Em sistemas de rastreamento distribuídos, são esperados traces incompletos. Um trace está incompleto quando um período amostrado contém uma referência a outro período que não foi recebido. A referência não resolvida pode ocorrer pelos seguintes motivos:

  • O período referenciado não foi amostrado.
  • O período referenciado foi amostrado, mas ainda não foi recebido pelo Cloud Trace ou foi recebido, mas não armazenado.

Quando você está visualizando um trace incompleto, o Cloud Trace exibe a mensagem "ID do período ausente" no painel de detalhes do trace.

Se a mensagem "ID do período ausente" for exibida com frequência, tente o seguinte:

  • Para componentes que você gerencia, verifique se eles respeitam e propagam a sinalização sampled do cabeçalho, quando esse campo está presente. Essa configuração é uma dica para os componentes filhos fazerem uma amostra da solicitação. Para mais informações sobre cabeçalhos de rastreamento, consulte Protocolos para propagação de contexto.

    Os serviços do Google Cloud normalmente respeitam essa dica. No entanto, eles também limitam a taxa em que gravam dados de rastreamento.

  • Se você estiver usando o Anthos Service Mesh, siga as orientações para propagar o contexto do trace para essas configurações. Para orientações sobre o Anthos Service Mesh, consulte Rastrear a propagação de contexto.