Skip to content

Commit 446484c

Browse files
author
Liudmila Molkova
authored
Build tool fix SpanData (Azure#30149)
* Fix AppInsights reporting
1 parent 992d070 commit 446484c

File tree

5 files changed

+31
-143
lines changed

5 files changed

+31
-143
lines changed

sdk/core/azure-core-metrics-opentelemetry/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ The following sections provide several code snippets covering some of the most c
3535
- [Default configuration: Opentelemtery SDK](#default-configuration-agent)
3636
- [Custom configuration](#custom-configuration)
3737

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

4040
### Default configuration: agent
4141

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

131131
![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-java%2Fsdk%2Fcore%2Fazure-core-metrics-opentelemetry%2FREADME.png)

sdk/tools/azure-sdk-build-tool/pom.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,13 @@
125125
</dependencies>
126126

127127
<build>
128+
<resources>
129+
<resource>
130+
<directory>src/main/resources</directory>
131+
<filtering>true</filtering>
132+
</resource>
133+
</resources>
134+
128135
<plugins>
129136
<plugin>
130137
<groupId>org.apache.maven.plugins</groupId>

sdk/tools/azure-sdk-build-tool/src/main/java/com/azure/sdk/build/tool/models/PingSpanData.java

Lines changed: 0 additions & 136 deletions
This file was deleted.

sdk/tools/azure-sdk-build-tool/src/main/java/com/azure/sdk/build/tool/mojo/AzureSdkMojo.java

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
11
package com.azure.sdk.build.tool.mojo;
22

3+
import com.azure.core.util.CoreUtils;
34
import com.azure.monitor.opentelemetry.exporter.AzureMonitorExporterBuilder;
45
import com.azure.monitor.opentelemetry.exporter.AzureMonitorTraceExporter;
56
import com.azure.sdk.build.tool.ReportGenerator;
67
import com.azure.sdk.build.tool.Tools;
78
import com.azure.sdk.build.tool.models.BuildReport;
8-
import com.azure.sdk.build.tool.models.PingSpanData;
99
import com.azure.sdk.build.tool.util.logging.Logger;
10-
import edu.emory.mathcs.backport.java.util.Collections;
10+
import io.opentelemetry.api.trace.Tracer;
1111
import io.opentelemetry.sdk.common.CompletableResultCode;
12+
import io.opentelemetry.sdk.trace.SdkTracerProvider;
13+
import io.opentelemetry.sdk.trace.SpanProcessor;
14+
import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor;
1215
import org.apache.maven.plugin.AbstractMojo;
1316
import org.apache.maven.plugin.MojoExecutionException;
1417
import org.apache.maven.plugin.MojoFailureException;
@@ -99,16 +102,28 @@ private void pingAppInsights() {
99102
.connectionString(APP_INSIGHTS_CONNECTION_STRING)
100103
.buildTraceExporter();
101104

102-
PingSpanData pingSpanData = new PingSpanData();
103-
CompletableResultCode completionCode =
104-
azureMonitorExporter.export(Collections.singletonList(pingSpanData)).join(30, TimeUnit.SECONDS);
105+
SpanProcessor processor = SimpleSpanProcessor.create(azureMonitorExporter);
106+
SdkTracerProvider tracerProvider = SdkTracerProvider.builder()
107+
.addSpanProcessor(processor)
108+
.build();
109+
110+
String version = CoreUtils
111+
.getProperties("azure-sdk-build-tool.properties")
112+
.get("version");
113+
Tracer tracer = tracerProvider.get("AzureSDKMavenBuildTool", version);
114+
tracer.spanBuilder("azsdk-maven-build-tool")
115+
.startSpan()
116+
.end();
117+
118+
CompletableResultCode completionCode = processor.forceFlush().join(30, TimeUnit.SECONDS);
105119
if (completionCode.isSuccess()) {
106120
LOGGER.info("Successfully sent ping message to Application Insights");
107121
} else {
108122
if (LOGGER.isWarnEnabled()) {
109123
LOGGER.warn("Failed to send ping message to Application Insights");
110124
}
111125
}
126+
processor.shutdown();
112127
} catch (Exception ex) {
113128
if (LOGGER.isWarnEnabled()) {
114129
LOGGER.warn("Unable to send ping message to Application Insights. " + ex.getMessage());
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
name=${project.artifactId}
2+
version=${project.version}

0 commit comments

Comments
 (0)