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
- JDK (Java Development Kit) com a versão 8 ou superior
- Assinatura do Azure
- Recurso do Application Insights
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.