Skip to content

Commit

Permalink
Build tool fix SpanData (#30149)
Browse files Browse the repository at this point in the history
* Fix AppInsights reporting
  • Loading branch information
lmolkova committed Jul 27, 2022
1 parent 992d070 commit 446484c
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 143 deletions.
4 changes: 2 additions & 2 deletions sdk/core/azure-core-metrics-opentelemetry/README.md
Expand Up @@ -35,7 +35,7 @@ The following sections provide several code snippets covering some of the most c
- [Default configuration: Opentelemtery SDK](#default-configuration-agent)
- [Custom configuration](#custom-configuration)

You can find more samples [here](https://github.com/Azure/azure-sdk-for-java/blob/cb37bdb3067cc800f4b1429fc3d265d66c50f8e7/sdk/core/azure-core-metrics-opentelemetry/src/samples/).
You can find more samples [here](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/core/azure-core-metrics-opentelemetry/src/samples/).

### Default configuration: agent

Expand Down Expand Up @@ -126,6 +126,6 @@ This project has adopted the [Microsoft Open Source Code of Conduct](https://ope
[context]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/core/azure-core/src/main/java/com/azure/core/util/Context.java
[jdk_link]: https://docs.microsoft.com/java/azure/jdk/?view=azure-java-stable
[logging]: https://github.com/Azure/azure-sdk-for-java/wiki/Logging-with-Azure-SDK
[source_code]: https://github.com/Azure/azure-sdk-for-java/blob/cb37bdb3067cc800f4b1429fc3d265d66c50f8e7/sdk/core/azure-core-metrics-opentelemetry/src/
[source_code]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/core/azure-core-metrics-opentelemetry/src/

![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-java%2Fsdk%2Fcore%2Fazure-core-metrics-opentelemetry%2FREADME.png)
7 changes: 7 additions & 0 deletions sdk/tools/azure-sdk-build-tool/pom.xml
Expand Up @@ -125,6 +125,13 @@
</dependencies>

<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>

<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
Expand Down

This file was deleted.

@@ -1,14 +1,17 @@
package com.azure.sdk.build.tool.mojo;

import com.azure.core.util.CoreUtils;
import com.azure.monitor.opentelemetry.exporter.AzureMonitorExporterBuilder;
import com.azure.monitor.opentelemetry.exporter.AzureMonitorTraceExporter;
import com.azure.sdk.build.tool.ReportGenerator;
import com.azure.sdk.build.tool.Tools;
import com.azure.sdk.build.tool.models.BuildReport;
import com.azure.sdk.build.tool.models.PingSpanData;
import com.azure.sdk.build.tool.util.logging.Logger;
import edu.emory.mathcs.backport.java.util.Collections;
import io.opentelemetry.api.trace.Tracer;
import io.opentelemetry.sdk.common.CompletableResultCode;
import io.opentelemetry.sdk.trace.SdkTracerProvider;
import io.opentelemetry.sdk.trace.SpanProcessor;
import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
Expand Down Expand Up @@ -99,16 +102,28 @@ private void pingAppInsights() {
.connectionString(APP_INSIGHTS_CONNECTION_STRING)
.buildTraceExporter();

PingSpanData pingSpanData = new PingSpanData();
CompletableResultCode completionCode =
azureMonitorExporter.export(Collections.singletonList(pingSpanData)).join(30, TimeUnit.SECONDS);
SpanProcessor processor = SimpleSpanProcessor.create(azureMonitorExporter);
SdkTracerProvider tracerProvider = SdkTracerProvider.builder()
.addSpanProcessor(processor)
.build();

String version = CoreUtils
.getProperties("azure-sdk-build-tool.properties")
.get("version");
Tracer tracer = tracerProvider.get("AzureSDKMavenBuildTool", version);
tracer.spanBuilder("azsdk-maven-build-tool")
.startSpan()
.end();

CompletableResultCode completionCode = processor.forceFlush().join(30, TimeUnit.SECONDS);
if (completionCode.isSuccess()) {
LOGGER.info("Successfully sent ping message to Application Insights");
} else {
if (LOGGER.isWarnEnabled()) {
LOGGER.warn("Failed to send ping message to Application Insights");
}
}
processor.shutdown();
} catch (Exception ex) {
if (LOGGER.isWarnEnabled()) {
LOGGER.warn("Unable to send ping message to Application Insights. " + ex.getMessage());
Expand Down
@@ -0,0 +1,2 @@
name=${project.artifactId}
version=${project.version}

0 comments on commit 446484c

Please sign in to comment.