Skip to content

Commit 8d42cbf

Browse files
authored
Support url.query from OTel stable HTTP semconv (#3581)
1 parent 43781b8 commit 8d42cbf

File tree

15 files changed

+498
-14
lines changed

15 files changed

+498
-14
lines changed

.github/workflows/build-common.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,11 @@ jobs:
4242
distribution: temurin
4343
java-version: 17
4444

45+
- name: Install SNAPSHOT
46+
run: |
47+
# double quotes are needed on Windows (https://stackoverflow.com/a/16349133/295416)
48+
mvn install:install-file -Dfile="azure-monitor-opentelemetry-exporter-1.0.0-beta.21.jar" -DpomFile="azure-monitor-opentelemetry-exporter-1.0.0-beta.21.pom" -DgroupId="com.azure" -DartifactId="azure-monitor-opentelemetry-exporter" -Dversion="1.0.0-beta.21"
49+
4550
- name: Generate license report
4651
uses: gradle/gradle-build-action@v3
4752
with:
@@ -81,6 +86,11 @@ jobs:
8186
distribution: temurin
8287
java-version: 17
8388

89+
- name: Install SNAPSHOT
90+
run: |
91+
# double quotes are needed on Windows (https://stackoverflow.com/a/16349133/295416)
92+
mvn install:install-file -Dfile="azure-monitor-opentelemetry-exporter-1.0.0-beta.21.jar" -DpomFile="azure-monitor-opentelemetry-exporter-1.0.0-beta.21.pom" -DgroupId="com.azure" -DartifactId="azure-monitor-opentelemetry-exporter" -Dversion="1.0.0-beta.21"
93+
8494
- name: Assemble
8595
uses: gradle/gradle-build-action@v3
8696
with:
@@ -129,6 +139,11 @@ jobs:
129139
distribution: temurin
130140
java-version: 17
131141

142+
- name: Install SNAPSHOT
143+
run: |
144+
# double quotes are needed on Windows (https://stackoverflow.com/a/16349133/295416)
145+
mvn install:install-file -Dfile="azure-monitor-opentelemetry-exporter-1.0.0-beta.21.jar" -DpomFile="azure-monitor-opentelemetry-exporter-1.0.0-beta.21.pom" -DgroupId="com.azure" -DartifactId="azure-monitor-opentelemetry-exporter" -Dversion="1.0.0-beta.21"
146+
132147
- name: Test
133148
uses: gradle/gradle-build-action@v3
134149
with:
@@ -169,6 +184,11 @@ jobs:
169184
distribution: temurin
170185
java-version: 17
171186

187+
- name: Install SNAPSHOT
188+
run: |
189+
# double quotes are needed on Windows (https://stackoverflow.com/a/16349133/295416)
190+
mvn install:install-file -Dfile="azure-monitor-opentelemetry-exporter-1.0.0-beta.21.jar" -DpomFile="azure-monitor-opentelemetry-exporter-1.0.0-beta.21.pom" -DgroupId="com.azure" -DartifactId="azure-monitor-opentelemetry-exporter" -Dversion="1.0.0-beta.21"
191+
172192
- name: Test
173193
uses: gradle/gradle-build-action@v3
174194
with:

agent/agent-tooling/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ dependencies {
2121
implementation(project(":agent:agent-profiler:agent-diagnostics"))
2222
implementation(project(":etw:java"))
2323

24-
implementation("com.azure:azure-monitor-opentelemetry-exporter:1.0.0-beta.20")
24+
implementation("com.azure:azure-monitor-opentelemetry-exporter:1.0.0-beta.21")
2525
compileOnly("io.opentelemetry.javaagent:opentelemetry-javaagent-bootstrap")
2626
compileOnly("io.opentelemetry.javaagent:opentelemetry-javaagent-tooling")
2727
compileOnly("io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-servlet-common-bootstrap")

agent/agent-tooling/gradle.lockfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ com.azure:azure-core-http-netty:1.14.0=runtimeClasspath
99
com.azure:azure-core:1.46.0=runtimeClasspath
1010
com.azure:azure-identity:1.11.3=runtimeClasspath
1111
com.azure:azure-json:1.1.0=runtimeClasspath
12-
com.azure:azure-monitor-opentelemetry-exporter:1.0.0-beta.20=runtimeClasspath
12+
com.azure:azure-monitor-opentelemetry-exporter:1.0.0-beta.21=runtimeClasspath
1313
com.azure:azure-sdk-bom:1.2.21=runtimeClasspath
1414
com.azure:azure-storage-blob:12.25.2=runtimeClasspath
1515
com.azure:azure-storage-common:12.24.2=runtimeClasspath
391 KB
Binary file not shown.
Lines changed: 238 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,238 @@
1+
<!-- Copyright (c) Microsoft Corporation. All rights reserved.
2+
Licensed under the MIT License. -->
3+
4+
<project xmlns="http://maven.apache.org/POM/4.0.0"
5+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
6+
<modelVersion>4.0.0</modelVersion>
7+
8+
<parent>
9+
<groupId>com.azure</groupId>
10+
<artifactId>azure-client-sdk-parent</artifactId>
11+
<version>1.7.0</version> <!-- {x-version-update;com.azure:azure-client-sdk-parent;current} -->
12+
<relativePath>../../parents/azure-client-sdk-parent</relativePath>
13+
</parent>
14+
15+
<groupId>com.azure</groupId>
16+
<artifactId>azure-monitor-opentelemetry-exporter</artifactId>
17+
<version>1.0.0-beta.21</version> <!-- {x-version-update;com.azure:azure-monitor-opentelemetry-exporter;current} -->
18+
19+
<name>Microsoft Azure SDK for OpenTelemetry Azure Monitor Exporter</name>
20+
<description>This package contains Microsoft Azure SDK for OpenTelemetry Azure Monitor Exporter.</description>
21+
22+
<distributionManagement>
23+
<site>
24+
<id>azure-java-build-docs</id>
25+
<url>${site.url}/site/${project.artifactId}</url>
26+
</site>
27+
</distributionManagement>
28+
29+
<scm>
30+
<url>https://github.com/Azure/azure-sdk-for-java</url>
31+
</scm>
32+
33+
<properties>
34+
<jacoco.min.linecoverage>0.30</jacoco.min.linecoverage>
35+
<jacoco.min.branchcoverage>0.20</jacoco.min.branchcoverage>
36+
<!-- Configures the Java 9+ run to perform the required module exports, opens, and reads that are necessary for testing but shouldn't be part of the module-info. -->
37+
<javaModulesSurefireArgLine>
38+
--add-opens com.azure.monitor.opentelemetry.exporter/com.azure.monitor.opentelemetry.exporter=ALL-UNNAMED
39+
</javaModulesSurefireArgLine>
40+
<checkstyle.excludes>**/implementation/**/*.java</checkstyle.excludes>
41+
</properties>
42+
43+
<dependencies>
44+
<dependency>
45+
<groupId>com.azure</groupId>
46+
<artifactId>azure-core</artifactId>
47+
<version>1.47.0</version> <!-- {x-version-update;com.azure:azure-core;dependency} -->
48+
</dependency>
49+
<dependency>
50+
<groupId>com.azure</groupId>
51+
<artifactId>azure-core-http-netty</artifactId>
52+
<version>1.14.1</version> <!-- {x-version-update;com.azure:azure-core-http-netty;dependency} -->
53+
</dependency>
54+
<dependency>
55+
<groupId>io.opentelemetry</groupId>
56+
<artifactId>opentelemetry-api</artifactId>
57+
<version>1.35.0</version> <!-- {x-version-update;io.opentelemetry:opentelemetry-api;external_dependency} -->
58+
</dependency>
59+
<dependency>
60+
<groupId>io.opentelemetry</groupId>
61+
<artifactId>opentelemetry-sdk</artifactId>
62+
<version>1.35.0</version> <!-- {x-version-update;io.opentelemetry:opentelemetry-sdk;external_dependency} -->
63+
</dependency>
64+
<dependency>
65+
<groupId>io.opentelemetry</groupId>
66+
<artifactId>opentelemetry-sdk-metrics</artifactId>
67+
<version>1.35.0</version> <!-- {x-version-update;io.opentelemetry:opentelemetry-sdk-metrics;external_dependency} -->
68+
</dependency>
69+
<dependency>
70+
<groupId>io.opentelemetry</groupId>
71+
<artifactId>opentelemetry-sdk-logs</artifactId>
72+
<version>1.35.0</version> <!-- {x-version-update;io.opentelemetry:opentelemetry-sdk-logs;external_dependency} -->
73+
</dependency>
74+
<dependency>
75+
<groupId>io.opentelemetry</groupId>
76+
<artifactId>opentelemetry-sdk-extension-autoconfigure-spi</artifactId>
77+
<version>1.35.0</version> <!-- {x-version-update;io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi;external_dependency} -->
78+
</dependency>
79+
<dependency>
80+
<groupId>io.opentelemetry</groupId>
81+
<artifactId>opentelemetry-sdk-extension-autoconfigure</artifactId>
82+
<version>1.35.0</version> <!-- {x-version-update;io.opentelemetry:opentelemetry-sdk-extension-autoconfigure;external_dependency} -->
83+
</dependency>
84+
85+
<!-- Added this dependency to include necessary annotations used by reactor core.
86+
Without this dependency, javadoc throws a warning as it cannot find enum When.MAYBE
87+
which is used in @Nullable annotation in reactor core classes -->
88+
<dependency>
89+
<groupId>com.google.code.findbugs</groupId>
90+
<artifactId>jsr305</artifactId>
91+
<version>3.0.2</version> <!-- {x-version-update;com.google.code.findbugs:jsr305;external_dependency} -->
92+
<scope>provided</scope>
93+
</dependency>
94+
95+
<!-- Test dependencies -->
96+
<dependency>
97+
<groupId>org.slf4j</groupId>
98+
<artifactId>slf4j-simple</artifactId>
99+
<version>1.7.36</version> <!-- {x-version-update;org.slf4j:slf4j-simple;external_dependency} -->
100+
<scope>test</scope>
101+
</dependency>
102+
<dependency>
103+
<groupId>org.junit.jupiter</groupId>
104+
<artifactId>junit-jupiter-api</artifactId>
105+
<version>5.9.3</version> <!-- {x-version-update;org.junit.jupiter:junit-jupiter-api;external_dependency} -->
106+
<scope>test</scope>
107+
</dependency>
108+
<dependency>
109+
<groupId>org.junit.jupiter</groupId>
110+
<artifactId>junit-jupiter-engine</artifactId>
111+
<version>5.9.3</version> <!-- {x-version-update;org.junit.jupiter:junit-jupiter-engine;external_dependency} -->
112+
<scope>test</scope>
113+
</dependency>
114+
<dependency>
115+
<groupId>org.junit.jupiter</groupId>
116+
<artifactId>junit-jupiter-params</artifactId>
117+
<version>5.9.3</version> <!-- {x-version-update;org.junit.jupiter:junit-jupiter-params;external_dependency} -->
118+
<scope>test</scope>
119+
</dependency>
120+
<dependency>
121+
<groupId>org.assertj</groupId>
122+
<artifactId>assertj-core</artifactId>
123+
<version>3.22.0</version> <!-- {x-version-update;org.assertj:assertj-core;external_dependency} -->
124+
<scope>test</scope>
125+
</dependency>
126+
<dependency>
127+
<groupId>org.mockito</groupId>
128+
<artifactId>mockito-core</artifactId>
129+
<version>4.11.0</version> <!-- {x-version-update;org.mockito:mockito-core;external_dependency} -->
130+
<scope>test</scope>
131+
</dependency>
132+
<!-- bytebuddy dependencies are required for mockito 4.11.0 to work with Java 21. Mockito 4.11.0 is the last release -->
133+
<!-- of Mockito supporting Java 8 as a baseline. -->
134+
<dependency>
135+
<groupId>net.bytebuddy</groupId>
136+
<artifactId>byte-buddy</artifactId>
137+
<version>1.14.8</version> <!-- {x-version-update;testdep_net.bytebuddy:byte-buddy;external_dependency} -->
138+
<scope>test</scope>
139+
</dependency>
140+
<dependency>
141+
<groupId>net.bytebuddy</groupId>
142+
<artifactId>byte-buddy-agent</artifactId>
143+
<version>1.14.8</version> <!-- {x-version-update;testdep_net.bytebuddy:byte-buddy-agent;external_dependency} -->
144+
<scope>test</scope>
145+
</dependency>
146+
<dependency>
147+
<groupId>io.opentelemetry</groupId>
148+
<artifactId>opentelemetry-sdk-testing</artifactId>
149+
<version>1.35.0</version> <!-- {x-version-update;io.opentelemetry:opentelemetry-sdk-testing;external_dependency} -->
150+
<scope>test</scope>
151+
</dependency>
152+
<dependency>
153+
<groupId>com.azure</groupId>
154+
<artifactId>azure-data-appconfiguration</artifactId>
155+
<version>1.5.2</version> <!-- {x-version-update;com.azure:azure-data-appconfiguration;dependency} -->
156+
<scope>test</scope>
157+
</dependency>
158+
<dependency>
159+
<groupId>com.azure</groupId>
160+
<artifactId>azure-messaging-eventhubs</artifactId>
161+
<version>5.18.1</version> <!-- {x-version-update;com.azure:azure-messaging-eventhubs;dependency} -->
162+
<scope>test</scope>
163+
</dependency>
164+
<dependency>
165+
<groupId>com.azure</groupId>
166+
<artifactId>azure-core-tracing-opentelemetry</artifactId>
167+
<version>1.0.0-beta.44</version> <!-- {x-version-update;com.azure:azure-core-tracing-opentelemetry;dependency} -->
168+
<scope>test</scope>
169+
</dependency>
170+
<dependency>
171+
<groupId>com.azure</groupId>
172+
<artifactId>azure-core-test</artifactId>
173+
<version>1.24.0</version> <!-- {x-version-update;com.azure:azure-core-test;dependency} -->
174+
<scope>test</scope>
175+
</dependency>
176+
<dependency>
177+
<groupId>com.azure</groupId>
178+
<artifactId>azure-messaging-eventhubs-checkpointstore-blob</artifactId>
179+
<version>1.19.1</version> <!-- {x-version-update;com.azure:azure-messaging-eventhubs-checkpointstore-blob;dependency} -->
180+
<scope>test</scope>
181+
</dependency>
182+
<dependency>
183+
<groupId>com.azure</groupId>
184+
<artifactId>azure-identity</artifactId>
185+
<version>1.11.3</version> <!-- {x-version-update;com.azure:azure-identity;dependency} -->
186+
<scope>test</scope>
187+
</dependency>
188+
<dependency>
189+
<groupId>org.awaitility</groupId>
190+
<artifactId>awaitility</artifactId>
191+
<version>4.2.0</version> <!-- {x-version-update;org.awaitility:awaitility;external_dependency} -->
192+
<scope>test</scope>
193+
</dependency>
194+
<dependency>
195+
<groupId>io.github.hakky54</groupId>
196+
<artifactId>logcaptor</artifactId>
197+
<version>2.9.0</version> <!-- {x-version-update;io.github.hakky54:logcaptor;external_dependency} -->
198+
<scope>test</scope>
199+
</dependency>
200+
<dependency>
201+
<groupId>com.squareup.okio</groupId>
202+
<artifactId>okio</artifactId>
203+
<version>3.6.0</version> <!-- {x-version-update;com.squareup.okio:okio;external_dependency} -->
204+
<scope>test</scope>
205+
</dependency>
206+
</dependencies>
207+
208+
<build>
209+
<plugins>
210+
<plugin>
211+
<groupId>org.apache.maven.plugins</groupId>
212+
<artifactId>maven-enforcer-plugin</artifactId>
213+
<version>3.0.0-M3</version> <!-- {x-version-update;org.apache.maven.plugins:maven-enforcer-plugin;external_dependency} -->
214+
<configuration>
215+
<rules>
216+
<bannedDependencies>
217+
<includes>
218+
<include>io.opentelemetry:opentelemetry-api:[1.35.0]</include> <!-- {x-include-update;io.opentelemetry:opentelemetry-api;external_dependency} -->
219+
<include>io.opentelemetry:opentelemetry-sdk:[1.35.0]</include> <!-- {x-include-update;io.opentelemetry:opentelemetry-sdk;external_dependency} -->
220+
<include>io.opentelemetry:opentelemetry-sdk-metrics:[1.35.0]</include> <!-- {x-include-update;io.opentelemetry:opentelemetry-sdk-metrics;external_dependency} -->
221+
<include>io.opentelemetry:opentelemetry-sdk-logs:[1.35.0]</include> <!-- {x-include-update;io.opentelemetry:opentelemetry-sdk-logs;external_dependency} -->
222+
<include>io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi:[1.35.0]</include> <!-- {x-include-update;io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi;external_dependency} -->
223+
<include>io.opentelemetry:opentelemetry-sdk-extension-autoconfigure:[1.35.0]</include> <!-- {x-include-update;io.opentelemetry:opentelemetry-sdk-extension-autoconfigure;external_dependency} -->
224+
<include>com.squareup.okio:okio:[3.6.0]</include> <!-- {x-include-update;com.squareup.okio:okio;external_dependency} -->
225+
</includes>
226+
</bannedDependencies>
227+
</rules>
228+
</configuration>
229+
</plugin>
230+
231+
<plugin>
232+
<groupId>org.apache.maven.plugins</groupId>
233+
<artifactId>maven-surefire-plugin</artifactId>
234+
<version>3.2.5</version> <!-- {x-version-update;org.apache.maven.plugins:maven-surefire-plugin;external_dependency} -->
235+
</plugin>
236+
</plugins>
237+
</build>
238+
</project>

licenses/more-licenses.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,7 @@ _2024-03-11 03:54:11 UTC_
354354
> - **POM Project URL**: [https://github.com/Azure/azure-sdk-for-java](https://github.com/Azure/azure-sdk-for-java)
355355
> - **POM License**: MIT License - [https://opensource.org/licenses/MIT](https://opensource.org/licenses/MIT)
356356
357-
**68** **Group:** `com.azure` **Name:** `azure-monitor-opentelemetry-exporter` **Version:** `1.0.0-beta.20`
357+
**68** **Group:** `com.azure` **Name:** `azure-monitor-opentelemetry-exporter` **Version:** `1.0.0-beta.21`
358358
> - **POM License**: MIT License - [https://opensource.org/licenses/MIT](https://opensource.org/licenses/MIT)
359359
360360
**69** **Group:** `com.azure` **Name:** `azure-storage-blob` **Version:** `12.25.2`

settings.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ hideFromDependabot(":smoke-tests:apps:HttpClients")
105105
hideFromDependabot(":smoke-tests:apps:HttpHeaders")
106106
hideFromDependabot(":smoke-tests:apps:HttpPreaggregatedMetrics")
107107
hideFromDependabot(":smoke-tests:apps:HttpServer4xx")
108+
hideFromDependabot(":smoke-tests:apps:HttpServer")
108109
hideFromDependabot(":smoke-tests:apps:InheritedAttributes")
109110
hideFromDependabot(":smoke-tests:apps:InstrumentationKeyOverrides")
110111
hideFromDependabot(":smoke-tests:apps:JavaProfiler")
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
plugins {
2+
id("ai.smoke-test-war")
3+
}
4+
5+
dependencies {
6+
implementation("org.springframework.boot:spring-boot-starter-web:2.5.12") {
7+
exclude("org.springframework.boot", "spring-boot-starter-tomcat")
8+
}
9+
// this dependency is needed to make wildfly happy
10+
implementation("org.reactivestreams:reactive-streams:1.0.3")
11+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
// Copyright (c) Microsoft Corporation. All rights reserved.
2+
// Licensed under the MIT License.
3+
4+
package com.microsoft.applicationinsights.smoketestapp;
5+
6+
import org.springframework.boot.autoconfigure.SpringBootApplication;
7+
import org.springframework.boot.builder.SpringApplicationBuilder;
8+
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
9+
10+
@SpringBootApplication
11+
public class SpringBootApp extends SpringBootServletInitializer {
12+
@Override
13+
protected SpringApplicationBuilder configure(SpringApplicationBuilder applicationBuilder) {
14+
return applicationBuilder.sources(SpringBootApp.class);
15+
}
16+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
// Copyright (c) Microsoft Corporation. All rights reserved.
2+
// Licensed under the MIT License.
3+
4+
package com.microsoft.applicationinsights.smoketestapp;
5+
6+
import javax.servlet.http.HttpServletResponse;
7+
import org.springframework.web.bind.annotation.GetMapping;
8+
import org.springframework.web.bind.annotation.RestController;
9+
10+
@RestController
11+
public class TestController {
12+
13+
@GetMapping("/")
14+
public String root() {
15+
return "OK";
16+
}
17+
18+
@GetMapping("/test")
19+
public String test(HttpServletResponse response) {
20+
return "OK!";
21+
}
22+
}

0 commit comments

Comments
 (0)