Skip to content

Commit f11d176

Browse files
authored
Enforce library instrumentation package names matching their module names (#12957)
1 parent 2f7b59f commit f11d176

File tree

168 files changed

+336
-266
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

168 files changed

+336
-266
lines changed

.fossa.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -426,10 +426,10 @@ targets:
426426
target: ':instrumentation:elasticsearch:elasticsearch-rest-7.0:library'
427427
- type: gradle
428428
path: ./
429-
target: ':instrumentation:elasticsearch:elasticsearch-rest-common:javaagent'
429+
target: ':instrumentation:elasticsearch:elasticsearch-rest-common-5.0:javaagent'
430430
- type: gradle
431431
path: ./
432-
target: ':instrumentation:elasticsearch:elasticsearch-rest-common:library'
432+
target: ':instrumentation:elasticsearch:elasticsearch-rest-common-5.0:library'
433433
- type: gradle
434434
path: ./
435435
target: ':instrumentation:elasticsearch:elasticsearch-transport-5.0:javaagent'
@@ -694,12 +694,6 @@ targets:
694694
- type: gradle
695695
path: ./
696696
target: ':instrumentation:netty:netty-3.8:javaagent'
697-
- type: gradle
698-
path: ./
699-
target: ':instrumentation:netty:netty-4-common:javaagent'
700-
- type: gradle
701-
path: ./
702-
target: ':instrumentation:netty:netty-4-common:library'
703697
- type: gradle
704698
path: ./
705699
target: ':instrumentation:netty:netty-4.0:javaagent'
@@ -712,6 +706,12 @@ targets:
712706
- type: gradle
713707
path: ./
714708
target: ':instrumentation:netty:netty-common:library'
709+
- type: gradle
710+
path: ./
711+
target: ':instrumentation:netty:netty-common-4.0:javaagent'
712+
- type: gradle
713+
path: ./
714+
target: ':instrumentation:netty:netty-common-4.0:library'
715715
- type: gradle
716716
path: ./
717717
target: ':instrumentation:okhttp:okhttp-2.2:javaagent'
@@ -1014,7 +1014,7 @@ targets:
10141014
target: ':instrumentation:kafka:kafka-clients:kafka-clients-2.6:library'
10151015
- type: gradle
10161016
path: ./
1017-
target: ':instrumentation:kafka:kafka-clients:kafka-clients-common:library'
1017+
target: ':instrumentation:kafka:kafka-clients:kafka-clients-common-0.11:library'
10181018
- type: gradle
10191019
path: ./
10201020
target: ':instrumentation:log4j:log4j-context-data:log4j-context-data-2.17:javaagent'
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
#!/bin/bash -e
2+
3+
# shellcheck disable=SC2001
4+
5+
for dir in $(find instrumentation -name "*.java" | grep library/src/main/java | sed 's#/[^/]*$##' | sort -u); do
6+
7+
module_name=$(echo "$dir" | sed 's#.*/\([^/]*\)/library/src/main/java/.*#\1#')
8+
9+
if [[ "$module_name" =~ java-* ]]; then
10+
continue
11+
fi
12+
if [[ "$module_name" == "jdbc" ]]; then
13+
continue
14+
fi
15+
if [[ "$module_name" == "jmx-metrics" ]]; then
16+
continue
17+
fi
18+
if [[ "$module_name" == "resources" ]]; then
19+
continue
20+
fi
21+
if [[ "$module_name" == "oshi" ]]; then
22+
continue
23+
fi
24+
25+
# these are possibly problematic
26+
if [[ "$dir" == "instrumentation/grpc-1.6/library/src/main/java/io/grpc/override" ]]; then
27+
continue
28+
fi
29+
if [[ "$dir" == "instrumentation/lettuce/lettuce-5.1/library/src/main/java/io/lettuce/core/protocol" ]]; then
30+
continue
31+
fi
32+
33+
# some common modules don't have any base version
34+
# - lettuce-common
35+
# - netty-common
36+
if [[ ! "$module_name" =~ [0-9]$ && "$module_name" != "lettuce-common" && "$module_name" != "netty-common" ]]; then
37+
echo "module name doesn't have a base version: $dir"
38+
exit 1
39+
fi
40+
41+
simple_module_name=$(echo "$module_name" | sed 's/-[0-9.]*$//' | sed 's/-//g')
42+
base_version=$(echo "$module_name" | sed 's/.*-\([0-9.]*\)$/\1/' | sed 's/\./_/')
43+
44+
if [[ ! "$module_name" =~ [0-9]$ && "$module_name" != "lettuce-common" && "$module_name" != "netty-common" ]]; then
45+
expected_package_name="io/opentelemetry/instrumentation/$simple_module_name/v$base_version"
46+
else
47+
expected_package_name="io/opentelemetry/instrumentation/$simple_module_name"
48+
fi
49+
50+
package_name=$(echo "$dir" | sed 's#.*/src/main/java/##')
51+
52+
# deal with differences like module name elasticsearch-rest and package name elasticsearch.rest
53+
expected_package_name_normalized=$(echo "$expected_package_name" | sed 's#/##g')
54+
package_name_normalized=$(echo "$package_name" | sed 's#/##g')
55+
56+
if [[ "$package_name_normalized" != "$expected_package_name_normalized"* ]]; then
57+
echo "ERROR: $dir"
58+
exit 1
59+
fi
60+
61+
done

.github/workflows/build-common.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,13 @@ jobs:
163163

164164
- run: .github/scripts/check-latest-dep-test-overrides.sh
165165

166+
check-package-names:
167+
runs-on: ubuntu-latest
168+
steps:
169+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
170+
171+
- run: .github/scripts/check-package-names.sh
172+
166173
build:
167174
runs-on: ubuntu-latest
168175
steps:

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
- The `java.net.http.HttpClient` instrumentation package
88
`io.opentelemetry.instrumentation.httpclient` was deprecated in favor of the new package name
99
`io.opentelemetry.instrumentation.javahttpclient`
10+
- The class `io.opentelemetry.instrumentation.netty.v4.common.HttpRequestAndChannel` was
11+
renamed to `io.opentelemetry.instrumentation.netty.common.v4_0.HttpRequestAndChannel`
1012

1113
## Version 2.13.3 (2025-02-28)
1214

instrumentation/elasticsearch/elasticsearch-api-client-7.16/javaagent-unit-tests/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ plugins {
33
}
44

55
dependencies {
6-
testImplementation(project(":instrumentation:elasticsearch:elasticsearch-rest-common:javaagent"))
6+
testImplementation(project(":instrumentation:elasticsearch:elasticsearch-rest-common-5.0:javaagent"))
77
testImplementation(project(":instrumentation:elasticsearch:elasticsearch-api-client-7.16:javaagent"))
88
}

instrumentation/elasticsearch/elasticsearch-api-client-7.16/javaagent-unit-tests/src/test/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/rest/ElasticsearchEndpointMapTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
import static org.junit.jupiter.api.Assertions.assertEquals;
99

10-
import io.opentelemetry.instrumentation.elasticsearch.rest.internal.ElasticsearchEndpointDefinition;
10+
import io.opentelemetry.instrumentation.elasticsearch.rest.common.v5_0.internal.ElasticsearchEndpointDefinition;
1111
import io.opentelemetry.javaagent.instrumentation.elasticsearch.apiclient.ElasticsearchEndpointMap;
1212
import java.util.ArrayList;
1313
import java.util.Arrays;

instrumentation/elasticsearch/elasticsearch-api-client-7.16/javaagent/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ muzzle {
3333
dependencies {
3434
library("co.elastic.clients:elasticsearch-java:7.16.0")
3535

36-
implementation(project(":instrumentation:elasticsearch:elasticsearch-rest-common:javaagent"))
36+
implementation(project(":instrumentation:elasticsearch:elasticsearch-rest-common-5.0:javaagent"))
3737

3838
testInstrumentation(project(":instrumentation:elasticsearch:elasticsearch-rest-7.0:javaagent"))
3939
testInstrumentation(project(":instrumentation:apache-httpclient:apache-httpclient-4.0:javaagent"))

instrumentation/elasticsearch/elasticsearch-api-client-7.16/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/apiclient/ElasticsearchEndpointMap.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
package io.opentelemetry.javaagent.instrumentation.elasticsearch.apiclient;
77

8-
import io.opentelemetry.instrumentation.elasticsearch.rest.internal.ElasticsearchEndpointDefinition;
8+
import io.opentelemetry.instrumentation.elasticsearch.rest.common.v5_0.internal.ElasticsearchEndpointDefinition;
99
import java.util.Collection;
1010
import java.util.Collections;
1111
import java.util.HashMap;

instrumentation/elasticsearch/elasticsearch-api-client-7.16/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/apiclient/RestClientHttpClientInstrumentation.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import io.opentelemetry.context.Context;
1515
import io.opentelemetry.context.Scope;
1616
import io.opentelemetry.instrumentation.api.util.VirtualField;
17-
import io.opentelemetry.instrumentation.elasticsearch.rest.internal.ElasticsearchEndpointDefinition;
17+
import io.opentelemetry.instrumentation.elasticsearch.rest.common.v5_0.internal.ElasticsearchEndpointDefinition;
1818
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
1919
import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer;
2020
import net.bytebuddy.asm.Advice;

instrumentation/elasticsearch/elasticsearch-api-client-7.16/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/apiclient/RestClientTransportInstrumentation.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
import co.elastic.clients.transport.Endpoint;
1414
import io.opentelemetry.instrumentation.api.util.VirtualField;
15-
import io.opentelemetry.instrumentation.elasticsearch.rest.internal.ElasticsearchEndpointDefinition;
15+
import io.opentelemetry.instrumentation.elasticsearch.rest.common.v5_0.internal.ElasticsearchEndpointDefinition;
1616
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
1717
import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer;
1818
import net.bytebuddy.asm.Advice;

0 commit comments

Comments
 (0)