Nesta página, descrevemos como ativar traces do lado do cliente com OpenTelemetry ao usar as bibliotecas de cliente do Cloud Storage para interagir com o Cloud Storage. É possível coletar e visualizar dados de trace usando as seguintes bibliotecas de cliente do Cloud Storage:
Visão geral
A ativação de traces nas bibliotecas de cliente do Cloud Storage permite monitorar a performance, identificar problemas de latência e realizar a depuração rapidamente para solicitações do Cloud Storage. Os traces permitem visualizar a sequência de uma solicitação concluída, fornecendo uma visão detalhada de como a solicitação foi recebida, gerenciada e respondida pelo Cloud Storage. Um único trace é composto por vários períodos, que são registros detalhados e com carimbo de data/hora de cada função ou operação que o aplicativo realizou durante a solicitação do Cloud Storage.
Benefícios
A coleta e a propagação de dados de trace oferecem os seguintes benefícios ao aplicativo:
Visibilidade de performance aprimorada: como os dados de trace são gerados quase em tempo real à medida que o Cloud Storage conclui cada solicitação feita, é possível identificar rapidamente gargalos na performance e detectar problemas de latência.
Tratamento de erros: é possível identificar onde os problemas surgem, acelerando a análise da causa raiz e reduzindo o tempo de inatividade usando as informações sobre cada solicitação do Cloud Storage fornecida em um trace.
Como os traces do lado do cliente funcionam
As seções a seguir fornecem uma visão detalhada de como a coleta de traces funciona.
Como a coleta de traces funciona com o OpenTelemetry
As bibliotecas de cliente do Cloud Storage oferecem suporte à coleta de dados de trace usando o SDK do OpenTelemetry para configurar os seguintes componentes necessários para coletar e propagar dados de trace:
Provedor de trace: usado pelas bibliotecas de cliente do Cloud Storage, o provedor de trace é responsável por criar e gerenciar o sistema de rastreamento, incluindo a geração e o gerenciamento de traces e períodos no aplicativo.
Exportador de trace: usado pelo SDK do OpenTelemetry, o exportador de trace é responsável por enviar dados de trace para uma plataforma de observabilidade de back-end como o Cloud Trace, em que é possível analisar e visualizar dados de trace. Para saber mais sobre o exportador de trace, consulte Como os exportadores de trace funcionam.
Como os exportadores de trace funcionam
A configuração de traces usando o SDK do OpenTelemetry inclui a seleção de um back-end de observabilidade para exportar os dados para análise, armazenamento e visualização. Embora seja possível exportar os dados de trace para qualquer back-end de observabilidade de sua escolha, recomendamos o uso do Cloud Trace, que pode ser acessado usando o Google Cloud console e oferece integração com outros Google Cloud serviços.
Depois que o provedor e o exportador de trace forem configurados e ativados, será possível visualizar os dados de trace quase em tempo real à medida que os traces e períodos forem gerados para cada solicitação do Cloud Storage.
Usando o explorador do Cloud Trace no Google Cloud console, é possível visualizar cada trace que contém o seguinte:
Uma visão geral de uma solicitação do Cloud Storage de ponta a ponta.
Vários períodos, cada um capturando uma única operação com carimbo de data/hora na solicitação do Cloud Storage que foi realizada.
Para saber mais sobre traces e períodos, consulte a documentação do OpenTelemetry sobre traces e períodos.
Preços
Os dados de trace são cobrados. As cobranças são baseadas no número de períodos de trace ingeridos e verificados pelo Cloud Trace. Para saber mais sobre períodos de trace sujeitos a cobrança e exemplos de preços, consulte Custos do Cloud Trace.
Antes de começar
Antes de coletar traces para o uso da API Storage do Cloud Storage, conclua as etapas a seguir:
-
Ative a API Cloud Trace.
Funções necessárias para ativar APIs
Para ativar as APIs, é necessário ter o papel do IAM de administrador de uso do serviço (
roles/serviceusage.serviceUsageAdmin), que contém a permissãoserviceusage.services.enable. Saiba como conceder papéis. Ative a API Storage do Cloud Storage.
Funções exigidas
Para receber a permissão necessária para gravar traces no Cloud Trace, peça ao administrador para conceder a você o papel do IAM de agente do Cloud Trace (roles/cloudtrace.agent) no projeto usado pelo cliente.
Esse papel predefinido contém a
cloudtrace.traces.patch
permissão,
que é necessária para
gravar traces no Cloud Trace.
Essas permissões também podem ser concedidas com papéis predefinidos ou é possível criar funções personalizadas para conceder permissões específicas. Para instruções sobre como conceder papéis em projetos, consulte Conceder ou revogar um papel. Para mais informações sobre o papel de agente do Cloud Trace, consulte a documentação do Identity and Access Management (IAM).
Configurar o rastreamento do aplicativo
Use as instruções a seguir para configurar o rastreamento e começar a coletar dados de trace usando a biblioteca de cliente do Cloud Storage:
C++
Instale as seguintes versões:
Biblioteca de cliente do C++ versão v2.16.0 ou mais recente
C++ versão 14 ou mais recente
Para ativar a instrumentação de rastreamento do OpenTelemetry na biblioteca de cliente do C++ atualize a configuração do sistema de build para CMake ou Bazel.
Crie uma instância do cliente do Cloud Storage com os traces do OpenTelemetry ativados.
Java
Instale as seguintes versões da biblioteca de cliente do Cloud Storage Java:
com.google.cloud:google-cloud-storage:2.47.0ou mais recentecom.google.cloud:libraries-bom:26.53.0ou mais recente
Instale o exportador do Cloud Trace para OpenTelemetry. Também é possível usar qualquer exportador de sua escolha.
Instale o propagador do Cloud Trace.
Crie uma instância do cliente do Cloud Storage com os traces do OpenTelemetry ativados.
Python
Instale a biblioteca de cliente do Cloud Storage Python:
pip install google-cloud-storage[tracing]>=2.18.0
Instale o exportador e o propagador do Cloud Trace. Também é possível usar qualquer exportador de sua escolha.
pip install opentelemetry-exporter-gcp-trace opentelemetry-propagator-gcp
Instale a instrumentação de solicitações do OpenTelemetry para rastrear as solicitações HTTP subjacentes.
pip install opentelemetry-instrumentation-requests
Defina a variável de ambiente para ativar seletivamente o rastreamento do cliente de armazenamento do Python:
export ENABLE_GCS_PYTHON_CLIENT_OTEL_TRACES=True
Configure o exportador e o provedor de trace.
Visualizar os rastros
Use o explorador do Cloud Trace para visualizar os dados de trace no Google Cloud console:
-
No Google Cloud console, acesse a página
Explorador de traces:
Acessar o Explorador de traces
Também é possível encontrar essa página usando a barra de pesquisa.
Na página Explorador de traces, clique em um trace específico no gráfico de dispersão para visualizar os detalhes do trace.
O painel Detalhes do trace mostra uma tabela de períodos de trace.
Opcional: clique em uma linha de período para visualizar informações detalhadas sobre um período específico, como as seguintes informações:
Atributos: pares de chave-valor que fornecem informações adicionais sobre o período.
Registros e eventos: entradas de registro associadas ao período.
Stack traces: stack traces associados ao período.
Metadados e links: links para outros Google Cloud serviços associados ao período.
Para mais informações sobre como usar o explorador do Cloud Trace, consulte Encontrar e explorar traces.