Esta página foi projetada para desenvolvedores de aplicativos que querem coletar dados do Cloud Trace para aplicativos C++ usando o OpenTelemetry. O OpenTelemetry é um framework de instrumentação neutro em relação a fornecedores que pode ser usado para coletar dados de rastreamento e métricas. Para mais informações sobre como instrumentar seu código, consulte Instrumentação e observabilidade.
- Instale os pacotes do OpenTelemetry.
- Configure seu aplicativo para exportar períodos para o Cloud Trace.
- Configure sua plataforma.
Para ver informações sobre a versão, consulte:
Para conferir conteúdo de referência do OpenTelemetry, consulte:
Para ver os detalhes mais recentes sobre o OpenTelemetry para C++, além da documentação e dos exemplos adicionais, consulte OpenTelemetry (link em inglês).
Antes de começar
-
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:
Se a mensagem API ativada for exibida, quer dizer que a API já está ativada. Caso contrário, clique no botão Ativar.
Instalar os pacotes do OpenTelemetry
- Configurar um ambiente de desenvolvimento em C++
- Instalar a biblioteca do exportador do OpenTelemetry do Google Cloud C++. Para informações de instalação, consulte o guia de início rápido do OpenTelemetry.
Configurar a exportação de períodos para o Cloud Trace
Para configurar a exportação de dados de trace, chame o método
google::cloud::otel::ConfigureBasicTracing(...)
no método
main()
:
O campo project_id
é o projeto do Google Cloud em que você quer armazenar os
rastreamentos.
O método ConfigureBasicTracing(...)
instancia um objeto
TracerProvider
que implementa
um exportador do Cloud Trace. Se o objeto retornado pela chamada para
ConfigureBasicTracing(...)
sair do escopo, o objeto
TracerProvider
anterior será restabelecido, quando houver um.
Configurar taxa de amostragem
Os aplicativos podem gerar um grande volume de dados de trace. O exemplo a seguir mostra como configurar a taxa de amostragem:
Exportar para o Cloud Trace com um TracerProvider
personalizado
Talvez você tenha casos de uso que exijam um objeto TracerProvider
personalizado. Por
exemplo, se você quiser usar vários exportadores ao mesmo tempo, será necessário
criar um objeto TracerProvider
personalizado. Nesses casos, é possível usar o exportador do Cloud Trace diretamente, conforme mostrado abaixo:
Instrumentar o próprio aplicativo
Para ver informações sobre como configurar seu aplicativo para capturar períodos de rastreamento, consulte Rastreamento do OpenTelemetry. Esta página descreve como fazer o seguinte:
- Criar um período
- Criar períodos aninhados
- Definir atributos de período
- Criar períodos com eventos
- Criar períodos com links
Exemplo de aplicativo
Para ver um aplicativo de amostra, consulte o quickstart.
Configurar sua plataforma
Você pode usar o Cloud Trace no Google Cloud e em outras plataformas.
Como executar no Google Cloud
Quando seu aplicativo está em execução no Google Cloud, não é necessário fornecer credenciais de autenticação na forma de uma conta de serviço para a biblioteca de cliente. No entanto, verifique se o escopo de acesso da API Cloud Trace está ativado no Google Cloud Platform.
Para uma lista de ambientes do Google Cloud compatíveis, consulte Suporte ao ambiente.
Para as seguintes configurações, as definições de escopo de acesso padrão ativam a API Cloud Trace:
- Ambiente flexível do App Engine
Ambiente padrão do App Engine
Google Kubernetes Engine (GKE)
Compute Engine
Cloud Run
Se você usar escopos de acesso personalizados, verifique se o escopo de acesso da API Cloud Trace está ativado.
Para informações sobre como configurar os escopos de acesso do ambiente usando o console do Google Cloud, consulte Como configurar o projeto do Google Cloud.
Para usuários do
gcloud
, especifique os escopos de acesso usando a sinalização--scopes
e inclua o escopo de acesso da API Cloud Tracetrace.append
. Por exemplo, para criar um cluster do GKE com apenas a API Cloud Trace ativada, faça o seguinte:gcloud container clusters create example-cluster-name --scopes=https://www.googleapis.com/auth/trace.append
Execução local e em outro lugar
Se o aplicativo estiver em execução fora do Google Cloud, forneça as credenciais de autenticação na forma de uma conta de serviço para a biblioteca de cliente. A conta de serviço precisa conter o papel de agente do Cloud Trace. Para instruções, consulte Como criar uma conta de serviço.
As bibliotecas de cliente do Google Cloud usam o Application Default Credentials (ADC) para encontrar as credenciais do aplicativo.
É possível fornecer essas credenciais de três maneiras:
Executar
gcloud auth application-default login
Coloque a conta de serviço em um caminho padrão para seu sistema operacional. Veja a seguir os caminhos padrão para Windows e Linux:
Windows:
%APPDATA%/gcloud/application_default_credentials.json
Linux:
$HOME/.config/gcloud/application_default_credentials.json
Defina a variável de ambiente
GOOGLE_APPLICATION_CREDENTIALS
como o caminho para sua conta de serviço:
Linux/macOS
export GOOGLE_APPLICATION_CREDENTIALS=path-to-your-service-accounts-private-key
Windows
set GOOGLE_APPLICATION_CREDENTIALS=path-to-your-service-accounts-private-key
PowerShell:
$env:GOOGLE_APPLICATION_CREDENTIALS="path-to-your-service-accounts-private-key"
Ver traces
No painel de navegação do console do Google Cloud, selecione Trace e, em seguida, Trace Explorer:
Acessar o Explorador de traces
Solução de problemas
Para informações sobre como solucionar problemas com o Cloud Trace, acesse a página de solução de problemas.
Para depurar o exportador do Cloud Trace em C++, consulte a seção Solução de problemas da documentação de referência.
Recursos
- https://opentelemetry.io/
- Repositório do GitHub open- telemetria/open telemetria-cpp (em inglês)
- google-cloud-cpp OpenTelemetry Exporters Library.