Vincular entradas de registro a traces

Este documento descreve como vincular uma entrada de registro a um trace. Para fazer a vinculação, defina um campo em uma entrada de registro. Ao usar os campos de trace na LogEntry estrutura—spanId, trace, e traceSampled— é possível correlacionar registros e traces para melhorar a solução de problemas distribuídos.

Associar manualmente uma entrada de registro a um trace ou período

Se você usa a API Cloud Logging para gravar dados de registro ou se grava dados de registro estruturados, é possível associar uma entrada de registro a um trace ou a um período. A entrada de registro também pode gravar se o trace foi amostrado. Para informações sobre como o Agente de operações converte dados de registro estruturados em campos em um LogEntry, consulte Campos especiais em payloads estruturados.

Para associar uma entrada de registro a um trace, defina o trace campo no LogEntry objeto:

  • Formato preferencial: TRACE_ID
  • Formato legado: projects/PROJECT_ID/traces/TRACE_ID

Nas expressões anteriores, PROJECT_ID é o seu Google Cloud ID do projeto e TRACE_ID é o identificador do trace.

Para associar uma entrada de registro a um período ao usar a API Cloud Logging, defina o campo spanId no objeto LogEntry para a codificação hexadecimal de 16 caracteres do ID do período. Por exemplo, para associar uma entrada de registro a um período com um ID de 74, defina o ID do período como 000000000000004a.

Para indicar que você está usando a amostragem de traces e que o trace foi amostrado para armazenamento quando a entrada de registro foi gravada, defina o campo traceSampled no objeto LogEntry. Quando você usa a amostragem de traces, é possível que uma entrada de registro seja criada quando o próprio trace não é capturado.

Associar automaticamente uma entrada de registro a um trace ou período

Ao usar as bibliotecas de cliente do Cloud Logging libraries, em alguns casos, os campos de trace em uma entrada de registro podem ser definidos automaticamente. Os valores definidos manualmente têm precedência sobre os valores definidos automaticamente.

Por exemplo, se você estiver usando OpenTelemetry e estiver fazendo login em um período ativo do OpenTelemetry, os campos de trace na entrada de registro serão preenchidos no contexto do OpenTelemetry.

Como alternativa, em alguns casos, quando uma solicitação HTTP está presente, os campos de trace podem ser definidos no W3C traceparent campo ou no X-Cloud-Trace-Context valor na solicitação HTTP.

Para mais informações sobre o preenchimento automático de campos de trace em entradas de registro, consulte a seguinte documentação da biblioteca de cliente específica da linguagem:

Como ver registros

É possível ver a entrada de registro de um trace ao lado do gráfico de cascata ou na Análise de registros. Quando você usa o Explorador de registros, ele é automaticamente restrito ao intervalo de carimbo de data/hora do trace. Se não houver entradas de registro a serem exibidas, o Explorador de registros exibirá a mensagem No entries found matching current filter.

No painel Detalhes do trace, para visualizar a entrada de registro do trace, siga um destes procedimentos:

  • Para exibir as entradas de registro de rastreamento ao lado do gráfico de cascata, acesse o gráfico de cascata e clique em Mostrar registros. Quando Mostrar registros não for exibido, nenhuma entrada de registro estará disponível.

  • Para visualizar a entrada de registro na Análise de registros, clique em Visualizar ao lado do rótulo Registro na seção Detalhes. Quando você tiver um trace do Cloud Load Balancing, clique em Visualizar ao lado do rótulo Registro da VM.

Para mais informações sobre como visualizar entradas de registro no Cloud Logging, consulte Como usar a Análise de registros.

Permissões para visualização de registros

Para ver as entradas de registro, você precisa ter a permissão logging.logEntries.list no projeto. Essa permissão é fornecida pelos papéis de gerenciamento de identidade e acesso (IAM) do Visualizador de registros e do Visualizador do projeto.

Para ver os registros da instância de VM, você precisa ter a permissão compute.instances.get no projeto. Essa permissão é oferecida pelos papéis do IAM do Visualizador de rede do Compute Engine e do Visualizador do projeto.