Compartilhar via


Biblioteca de clientes do Exportador OpenTelemetry do Azure Monitor para Java – versão 1.0.0-beta.12

Essa biblioteca de clientes dá suporte à exportação de dados do OpenTelemetry para o Azure Monitor. Esse pacote pressupõe que seu aplicativo já esteja instrumentado com o SDK do OpenTelemetry seguindo a Especificação do OpenTelemetry.

Código-fonte | Pacote (Maven) | Documentação | de referência da APIDocumentação do | produtoAmostras

Introdução

Pré-requisitos

Para obter mais informações, leia introdução ao Application Insights.

Incluir o Pacote

<dependency>
  <groupId>com.azure</groupId>
  <artifactId>azure-monitor-opentelemetry-exporter</artifactId>
  <version>1.0.0-beta.8</version>
</dependency>

Autenticação

Obter a chave de instrumentação do portal

Para exportar dados de telemetria para o Azure Monitor, você precisará da chave de instrumentação para o recurso do Application Insights. Para obter sua chave de instrumentação, acesse o Portal do Azure e pesquise seu recurso. Na página de visão geral do recurso, você encontrará a chave de instrumentação no canto superior direito.

Criando o construtor de exportadores para o Azure Monitor

AzureMonitorExporterBuilder azureMonitorExporterBuilder = new AzureMonitorExporterBuilder()
    .connectionString("{connection-string}");

Exportando dados de intervalo

O exemplo a seguir mostra como exportar dados de rastreamento para o Azure Monitor por meio do AzureMonitorTraceExporter

Configurar o SDK do OpenTelemetry para trabalhar com o exportador do Azure Monitor
// Create Azure Monitor exporter and initialize OpenTelemetry SDK
// This should be done just once when application starts up
AutoConfiguredOpenTelemetrySdkBuilder sdkBuilder = AutoConfiguredOpenTelemetrySdk.builder();

new AzureMonitorExporterBuilder()
    .connectionString("{connection-string}")
    .build(sdkBuilder);

OpenTelemetry openTelemetry = sdkBuilder.build().getOpenTelemetrySdk();

Tracer tracer = openTelemetry.getTracer("Sample");
Criar intervalos
// Make service calls by adding new parent spans
ConfigurationClient client = new ConfigurationClientBuilder()
    .connectionString("{app-config-connection-string}")
    .buildClient();

Span span = tracer.spanBuilder("user-parent-span").startSpan();
final Scope scope = span.makeCurrent();
try {
    // Thread bound (sync) calls will automatically pick up the parent span and you don't need to pass it explicitly.
    client.setConfigurationSetting("hello", "text", "World");
} finally {
    span.end();
    scope.close();
}

Principais conceitos

Alguns dos principais conceitos para o exportador do Azure Monitor incluem:

  • OpenTelemetry: OpenTelemetry é um conjunto de bibliotecas usadas para coletar e exportar dados de telemetria (métricas, logs e rastreamentos) para análise para entender o desempenho e o comportamento do software.

  • Instrumentação: a capacidade de chamar a API OpenTelemetry diretamente por qualquer aplicativo é facilitada pela instrumentação. Uma biblioteca que habilita a observabilidade do OpenTelemetry para outra biblioteca é chamada de Biblioteca de Instrumentação.

  • Rastreamento: o rastreamento refere-se ao rastreamento distribuído. Ele pode ser considerado como um DAG (grafo direcionado acíclico) de Spans, em que as bordas entre intervalos são definidas como relação pai/filho.

  • Provedor de rastreamento: fornece um Tracer para uso pela biblioteca de instrumentação fornecida.

  • Processador de span: um processador de span permite ganchos para invocações de método inicial e final do Span SDK. Siga o link para obter mais informações.

  • Amostragem: a amostragem é um mecanismo para controlar o ruído e a sobrecarga introduzidos pelo OpenTelemetry, reduzindo o número de amostras de rastreamentos coletados e enviados para o back-end.

Para obter mais informações sobre o projeto OpenTelemetry, examine as Especificações do OpenTelemetry.

Exemplos

Mais exemplos podem ser encontrados em exemplos.

Solução de problemas

Habilitando o registro em log

Os SDKs do Azure para Java oferecem uma história de log consistente para ajudar a solucionar problemas de erros do aplicativo e agilizar a resolução. Os logs produzidos capturam o fluxo de um aplicativo antes que acessem o estado do terminal para ajudar a localizar o problema raiz. Exiba o wiki de log para obter diretrizes sobre como habilitar o registro em log.

Próximas etapas

Saiba mais sobre o Open Telemetry

Contribuição

Este projeto aceita contribuições e sugestões. A maioria das contribuições exige que você concorde com um CLA (Contrato de Licença do Colaborador) declarando que você tem o direito de nos conceder e de fato concede, os direitos de usar sua contribuição.

Quando você envia uma solicitação de pull, um bot do CLA determina automaticamente se você precisa fornecer um CLA e preencher a PR corretamente (por exemplo, rótulo, comentário). Basta seguir as instruções fornecidas pelo bot. Você só precisará fazer isso uma vez em todos os repositórios que usam nosso CLA.

Este projeto adotou o Código de Conduta de Software Livre da Microsoft. Para obter mais informações, confira as Perguntas frequentes sobre o Código de Conduta ou contate opencode@microsoft.com para enviar outras perguntas ou comentários.

Impressões