Skip to content

Commit 13f5cc4

Browse files
committed
Added GRM files for tracing module. Also changed the tests to use @SetEnvironmentVariable annotation to override env variables.
1 parent 9b0b623 commit 13f5cc4

File tree

5 files changed

+631
-138
lines changed

5 files changed

+631
-138
lines changed

powertools-tracing/pom.xml

+97
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,103 @@
100100
</dependency>
101101
</dependencies>
102102

103+
<profiles>
104+
<profile>
105+
<id>generate-graalvm-files</id>
106+
<dependencies>
107+
<dependency>
108+
<groupId>org.mockito</groupId>
109+
<artifactId>mockito-subclass</artifactId>
110+
<version>5.6.0</version>
111+
<scope>test</scope>
112+
</dependency>
113+
</dependencies>
114+
<build>
115+
<plugins>
116+
<plugin>
117+
<groupId>org.apache.maven.plugins</groupId>
118+
<artifactId>maven-surefire-plugin</artifactId>
119+
<version>3.2.3</version>
120+
<configuration>
121+
<argLine>-Dmockito.mock.maker=subclass -Dorg.graalvm.nativeimage.imagecode=agent -agentlib:native-image-agent=config-output-dir=src/main/resources/META-INF/native-image/software.amazon.lambda/powertools-tracing,experimental-class-define-support
122+
--add-opens java.base/java.util=ALL-UNNAMED
123+
--add-opens java.base/java.lang=ALL-UNNAMED
124+
</argLine>
125+
</configuration>
126+
</plugin>
127+
</plugins>
128+
</build>
129+
</profile>
130+
<profile>
131+
<id>graalvm-native</id>
132+
<dependencies>
133+
<dependency>
134+
<groupId>org.mockito</groupId>
135+
<artifactId>mockito-subclass</artifactId>
136+
<version>5.6.0</version>
137+
<scope>test</scope>
138+
</dependency>
139+
</dependencies>
140+
<build>
141+
<plugins>
142+
<plugin>
143+
<groupId>org.graalvm.buildtools</groupId>
144+
<artifactId>native-maven-plugin</artifactId>
145+
<version>0.10.2</version> <!-- or newer version -->
146+
<extensions>true</extensions>
147+
<executions>
148+
<execution>
149+
<id>test-native</id>
150+
<goals>
151+
<goal>test</goal>
152+
</goals>
153+
<phase>test</phase>
154+
</execution>
155+
</executions>
156+
<configuration>
157+
<imageName>powertools-tracing</imageName>
158+
<buildArgs>
159+
<buildArg>--add-opens java.base/java.util=ALL-UNNAMED</buildArg>
160+
<buildArg>--add-opens java.base/java.lang=ALL-UNNAMED</buildArg>
161+
<buildArg>--enable-url-protocols=http</buildArg>
162+
<buildArg>--no-fallback</buildArg>
163+
<buildArg>-Dorg.graalvm.nativeimage.imagecode=agent</buildArg>
164+
<buildArg>-H:ClassInitialization=net.bytebuddy.ClassFileVersion:rerun</buildArg>
165+
<buildArg>-H:ClassInitialization=net.bytebuddy.utility.dispatcher.JavaDispatcher:rerun</buildArg>
166+
<buildArg>-H:ClassInitialization=net.bytebuddy.utility.Invoker$Dispatcher:rerun</buildArg>
167+
<buildArg>-H:ClassInitialization=net.bytebuddy.utility.GraalImageCode:rerun</buildArg>
168+
<buildArg>-H:IncludeResources=version.properties</buildArg>
169+
<buildArg>-H:IncludeResources=unreadable.properties</buildArg>
170+
<buildArg>--initialize-at-build-time=org.slf4j.simple.SimpleLogger</buildArg>
171+
<buildArg>--initialize-at-build-time=org.slf4j.LoggerFactory</buildArg>
172+
<buildArg>--initialize-at-build-time=org.junit.Ignore</buildArg>
173+
<buildArg>--initialize-at-build-time=java.lang.annotation.Annotation</buildArg>
174+
<buildArg>--initialize-at-build-time=org.junit.runners.model.FrameworkField</buildArg>
175+
<buildArg>--initialize-at-build-time=net.bytebuddy.description.type.TypeDescription$AbstractBase</buildArg>
176+
<buildArg>--initialize-at-build-time=net.bytebuddy.implementation.bind.annotation.Argument$BindingMechanic</buildArg>
177+
<buildArg>--initialize-at-build-time=net.bytebuddy.implementation.bind.annotation.Argument$BindingMechanic$1</buildArg>
178+
<buildArg>--initialize-at-build-time=net.bytebuddy.implementation.bind.annotation.Argument$BindingMechanic$2</buildArg>
179+
<buildArg>--initialize-at-build-time=net.bytebuddy.utility.dispatcher.JavaDispatcher$DynamicClassLoader</buildArg>
180+
<buildArg>--initialize-at-build-time=net.bytebuddy.description.method.MethodDescription$InDefinedShape$AbstractBase$ForLoadedExecutable</buildArg>
181+
<buildArg>--initialize-at-build-time=net.bytebuddy.description.type.TypeDescription$AbstractBase</buildArg>
182+
<buildArg>--initialize-at-build-time=net.bytebuddy.description.type.TypeDescription$ForLoadedType</buildArg>
183+
<buildArg>--initialize-at-build-time=net.bytebuddy.description.method.MethodDescription$ForLoadedMethod</buildArg>
184+
<buildArg>--initialize-at-build-time=net.bytebuddy.implementation.bind.annotation.Super$Instantiation$2</buildArg>
185+
<buildArg>
186+
--trace-class-initialization=net.bytebuddy.description.type.TypeDescription$ForLoadedType,net.bytebuddy.description.method.MethodDescription$ForLoadedMethod,net.bytebuddy.description.method.MethodDescription$InDefinedShape$AbstractBase$ForLoadedExecutable
187+
</buildArg>
188+
<buildArg>--verbose</buildArg>
189+
<buildArg>--native-image-info</buildArg>
190+
<buildArg>-H:+UnlockExperimentalVMOptions</buildArg>
191+
<buildArg>-H:Log=registerResource:5</buildArg>
192+
</buildArgs>
193+
</configuration>
194+
</plugin>
195+
</plugins>
196+
</build>
197+
</profile>
198+
</profiles>
199+
103200
<build>
104201
<plugins>
105202
<plugin>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
[
2+
{
3+
"name":"java.lang.Boolean",
4+
"methods":[{"name":"getBoolean","parameterTypes":["java.lang.String"] }]
5+
},
6+
{
7+
"name":"java.lang.String",
8+
"methods":[{"name":"lastIndexOf","parameterTypes":["int"] }, {"name":"substring","parameterTypes":["int"] }]
9+
},
10+
{
11+
"name":"java.lang.System",
12+
"methods":[{"name":"getProperty","parameterTypes":["java.lang.String"] }, {"name":"setProperty","parameterTypes":["java.lang.String","java.lang.String"] }]
13+
},
14+
{
15+
"name":"org.apache.maven.surefire.booter.ForkedBooter",
16+
"methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }]
17+
},
18+
{
19+
"name":"sun.instrument.InstrumentationImpl",
20+
"methods":[{"name":"<init>","parameterTypes":["long","boolean","boolean","boolean"] }, {"name":"loadClassAndCallAgentmain","parameterTypes":["java.lang.String","java.lang.String"] }, {"name":"loadClassAndCallPremain","parameterTypes":["java.lang.String","java.lang.String"] }, {"name":"transform","parameterTypes":["java.lang.Module","java.lang.ClassLoader","java.lang.String","java.lang.Class","java.security.ProtectionDomain","byte[]","boolean"] }]
21+
},
22+
{
23+
"name":"sun.management.VMManagementImpl",
24+
"fields":[{"name":"compTimeMonitoringSupport"}, {"name":"currentThreadCpuTimeSupport"}, {"name":"objectMonitorUsageSupport"}, {"name":"otherThreadCpuTimeSupport"}, {"name":"remoteDiagnosticCommandsSupport"}, {"name":"synchronizerUsageSupport"}, {"name":"threadAllocatedMemorySupport"}, {"name":"threadContentionMonitoringSupport"}]
25+
}
26+
]

0 commit comments

Comments
 (0)