Propagação de contexto

Entenda os conceitos que tornam possível o Rastreamento Distribuído.

Com a propagação de contexto, os Sinais podem ser correlacionados entre si, independentemente de onde são gerados. Embora não se limite ao rastreamento, a propagação de contexto permite que os rastros criem informações causais sobre um sistema que é distribuído arbitrariamente entre processos e limites de rede.

Para compreender a propagação de contexto, você precisa entender dois conceitos distintos: contexto e propagação.

Contexto

O contexto é um objeto que contém as informações necessárias para que o serviço emissor e receptor, ou unidade de execução, correlacionem um sinal com outro.

Por exemplo, se o serviço A chamar o serviço B, um trecho do serviço A, cujo ID está no contexto, será usado como o trecho pai para o próximo trecho criado no serviço B. O ID do rasto que está no contexto também será usado para o próximo trecho criado no serviço B, o que significa que o trecho faz parte do mesmo rastro que o trecho do serviço A.

Propagação

Propagação é o mecanismo que move o contexto entre serviços e processos. Ele serializa ou desserializa o objeto de contexto e fornece as informações relevantes a serem propagadas de um serviço para outro.

A propagação geralmente é gerenciada por bibliotecas de instrumentação e é transparente para o usuário. Caso precise propagar o contexto manualmente, você pode usar a API de Propagadores.

O OpenTelemetry mantém vários propagadores oficiais. O propagador padrão utiliza os cabeçalhos definidos na especificação W3C TraceContext.

Especificação

Para saber mais sobre a Propagação de Contexto, consulte a Especificação de Contexto.