Este documento descreve como adicionar código de observabilidade ao seu aplicativo usando o OpenTelemetry. OpenTelemetry fornece bibliotecas de instrumentação que geram telemetria para estruturas populares. Você pode aumentar a telemetria gerada pela biblioteca adicionando instrumentação personalizada que mede o comportamento específico do seu aplicativo.
Os princípios e conceitos descritos neste documento podem ser aplicados a aplicativos escritos em todas as linguagens suportadas pelo OpenTelemetry. Para saber mais sobre instrumentação, consulte os seguintes documentos:
O exemplo de código, que é o mesmo aplicativo Go descrito em Gerar traces e métricas com o Go está disponível no GitHub. Para ver o exemplo completo, clique em more_vert Mais e selecione Ver no GitHub.
Antes de começar
Enable the Cloud Logging, Cloud Monitoring, and Cloud Trace APIs.
Criar rastreamentos personalizados
Para gerar traces personalizados do seu aplicativo, adicione código de instrumentação que cria períodos do OpenTelemetry. No OpenTelemetry, os períodos são os blocos de construção dos traces.
Para criar um período, faça o seguinte:
Modifique seu app para adquirir um OpenTelemetry
Tracer
. No OpenTelemetry, um rastreador é o criador de períodos. Você pode adquirir um rastreador conforme demonstrado no código a seguir:O nome do rastreador, representado por
scopeName
, identifica o escopo de instrumentação dos traces gerados.Use a instância
tracer
para criar períodos. No exemplo de código a seguir, a funçãocomputeSubrequests
gera um intervalo sempre que é chamada:No exemplo de código anterior, o período gerado pela função
computeSubrequests
representa o trabalho realizado por toda a função. Isso ocorre porque a primeira etapa da função é iniciar um novo período usandotracer.Start
e a palavra-chavedefer
antes despan.End()
garantir que o período seja encerrado logo antes do encerramento da função.
Criar métricas personalizadas
Para gerar metrics do seu aplicativo, adicione um código de instrumentação que registre as medições feitas durante a execução do seu aplicativo.
Para criar métricas, faça o seguinte:
Modifique seu app para adquirir um OpenTelemetry
Meter
. No OpenTelemetry, um medidor fornece acesso a instrumentos métricos para registrar métricas. Você pode adquirir um medidor conforme demonstrado no código a seguir:O nome do medidor, representado por
scopeName
, identifica o escopo de instrumentação das métricas geradas.Use a instância
meter
para criar instrumentos que possam registrar métricas. Por exemplo, no código a seguir, usamosmeter
para criar um histograma OpenTelemetry:O código anterior gera um histograma chamado
sleepHistogram
.Use a instância
sleepHistogram
para registrar o tempo de suspensão, que é determinado quando a funçãorandomSleep
é invocada:As métricas registradas desses instrumentos são exportadas do seu aplicativo com base na configuração do exportador OpenTelemetry.
A seguir
- Relacionar métricas e traces usando exemplos
- OpenTelemetry
- Instrumentação OpenTelemetry
- Modelo de dados de métricas do OpenTelemetry