Skip to content

Commit 21b7587

Browse files
committed
jdk core support
1 parent cbdb616 commit 21b7587

File tree

4 files changed

+47
-8
lines changed

4 files changed

+47
-8
lines changed

docs/instrumentation-list.yaml

+20-8
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# This file is generated and should not be manually edited.
2+
# The structure and contents are a work in progress and subject to change.
3+
# For more information see: https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/13468
4+
15
activej:
26
instrumentations:
37
- name: activej-http-6.0
@@ -395,15 +399,17 @@ executors:
395399
scope:
396400
name: io.opentelemetry.executors
397401
target_versions:
398-
javaagent: []
402+
javaagent:
403+
- Java 8+
399404
external:
400405
instrumentations:
401406
- name: external-annotations
402407
srcPath: instrumentation/external-annotations
403408
scope:
404409
name: io.opentelemetry.external-annotations
405410
target_versions:
406-
javaagent: []
411+
javaagent:
412+
- Java 8+
407413
finagle:
408414
instrumentations:
409415
- name: finagle-http-23.11
@@ -567,7 +573,8 @@ http:
567573
scope:
568574
name: io.opentelemetry.http-url-connection
569575
target_versions:
570-
javaagent: []
576+
javaagent:
577+
- Java 8+
571578
hystrix:
572579
instrumentations:
573580
- name: hystrix-1.4
@@ -644,14 +651,16 @@ java:
644651
scope:
645652
name: io.opentelemetry.java-http-server
646653
target_versions:
647-
javaagent: []
654+
javaagent:
655+
- Java 8+
648656
library: []
649657
- name: java-http-client
650658
srcPath: instrumentation/java-http-client
651659
scope:
652660
name: io.opentelemetry.java-http-client
653661
target_versions:
654-
javaagent: []
662+
javaagent:
663+
- Java 8+
655664
library: []
656665
javalin:
657666
instrumentations:
@@ -806,7 +815,8 @@ jdbc:
806815
scope:
807816
name: io.opentelemetry.jdbc
808817
target_versions:
809-
javaagent: []
818+
javaagent:
819+
- Java 8+
810820
library: []
811821
jedis:
812822
instrumentations:
@@ -1149,7 +1159,8 @@ methods:
11491159
scope:
11501160
name: io.opentelemetry.methods
11511161
target_versions:
1152-
javaagent: []
1162+
javaagent:
1163+
- Java 8+
11531164
micrometer:
11541165
instrumentations:
11551166
- name: micrometer-1.5
@@ -1649,7 +1660,8 @@ rmi:
16491660
scope:
16501661
name: io.opentelemetry.rmi
16511662
target_versions:
1652-
javaagent: []
1663+
javaagent:
1664+
- Java 8+
16531665
rocketmq:
16541666
instrumentations:
16551667
- name: rocketmq-client-5.0

instrumentation-docs/src/main/java/io/opentelemetry/instrumentation/docs/DocGeneratorApplication.java

+4
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,10 @@ public static void main(String[] args) {
2727
try (BufferedWriter writer =
2828
Files.newBufferedWriter(
2929
Paths.get("docs/instrumentation-list.yaml"), Charset.defaultCharset())) {
30+
writer.write("# This file is generated and should not be manually edited.\n");
31+
writer.write("# The structure and contents are a work in progress and subject to change.\n");
32+
writer.write(
33+
"# For more information see: https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/13468\n\n");
3034
YamlHelper.printInstrumentationList(entities, writer);
3135
} catch (IOException e) {
3236
logger.severe("Error writing instrumentation list: " + e.getMessage());

instrumentation-docs/src/main/java/io/opentelemetry/instrumentation/docs/parsers/GradleParser.java

+6
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ public class GradleParser {
3232
private static final Pattern latestDepTestLibraryPattern =
3333
Pattern.compile("latestDepTestLibrary\\(\"([^\"]+:[^\"]+):([^\"]+)\"\\)");
3434

35+
private static final Pattern coreJdkPattern = Pattern.compile("coreJdk\\(\\)");
36+
3537
/**
3638
* Parses gradle files for muzzle and dependency information
3739
*
@@ -66,6 +68,10 @@ private static Set<String> parseMuzzle(String gradleFileContents, Map<String, St
6668
while (passBlockMatcher.find()) {
6769
String passBlock = passBlockMatcher.group(1);
6870

71+
if (coreJdkPattern.matcher(passBlock).find()) {
72+
results.add("Java 8+");
73+
}
74+
6975
String group = extractValue(passBlock, "group\\.set\\(\"([^\"]+)\"\\)");
7076
String module = extractValue(passBlock, "module\\.set\\(\"([^\"]+)\"\\)");
7177
String versionRange = extractValue(passBlock, "versions\\.set\\(\"([^\"]+)\"\\)");

instrumentation-docs/src/test/java/io/opentelemetry/instrumentation/docs/parsers/GradleParserTest.java

+17
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,23 @@ void testExtractLibraryUpperVersion() {
5757
.isEqualTo("org.apache.httpcomponents:httpclient:[4.3,4.+)");
5858
}
5959

60+
@Test
61+
void testExtractCoreJdk() {
62+
String gradleBuildFileContent =
63+
"""
64+
muzzle {
65+
pass {
66+
coreJdk()
67+
}
68+
}
69+
""";
70+
71+
Set<String> versions =
72+
GradleParser.parseGradleFile(gradleBuildFileContent, InstrumentationType.JAVAAGENT);
73+
assertThat(versions.size()).isEqualTo(1);
74+
assertThat(versions.stream().findFirst().get()).isEqualTo("Java 8+");
75+
}
76+
6077
@Test
6178
void testExtractMuzzleVersions_MultiplePassBlocks() {
6279
String gradleBuildFileContent =

0 commit comments

Comments
 (0)