File tree 2 files changed +25
-2
lines changed
spring-boot-3/src/test/java/io/opentelemetry/spring/smoketest
spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest
2 files changed +25
-2
lines changed Original file line number Diff line number Diff line change 5
5
6
6
package io .opentelemetry .spring .smoketest ;
7
7
8
+ import org .assertj .core .api .AbstractIterableAssert ;
8
9
import org .springframework .boot .test .context .SpringBootTest ;
9
10
10
11
@ SpringBootTest (
16
17
webEnvironment = SpringBootTest .WebEnvironment .RANDOM_PORT ,
17
18
properties = {
18
19
// The headers are simply set here to make sure that headers can be parsed
19
- "otel.exporter.otlp.headers.c=3"
20
+ "otel.exporter.otlp.headers.c=3" ,
21
+ "otel.instrumentation.runtime-telemetry-java17.enabled=true" ,
20
22
})
21
- class OtelSpringStarterSmokeTest extends AbstractOtelSpringStarterSmokeTest {}
23
+ class OtelSpringStarterSmokeTest extends AbstractOtelSpringStarterSmokeTest {
24
+
25
+ @ Override
26
+ protected void assertAdditionalMetrics () {
27
+ // JFR based metrics
28
+ testing .waitAndAssertMetrics (
29
+ "io.opentelemetry.runtime-telemetry-java17" ,
30
+ "jvm.cpu.limit" ,
31
+ AbstractIterableAssert ::isNotEmpty );
32
+ }
33
+ }
Original file line number Diff line number Diff line change @@ -209,11 +209,20 @@ void shouldSendTelemetry() {
209
209
OtelSpringStarterSmokeTestController .METER_SCOPE_NAME ,
210
210
OtelSpringStarterSmokeTestController .TEST_HISTOGRAM ,
211
211
AbstractIterableAssert ::isNotEmpty );
212
+
212
213
// runtime metrics
214
+ // from special logic for threads that is automatically detected in GraalVM native image
215
+ // see io.opentelemetry.instrumentation.runtimemetrics.java8.Threads
213
216
testing .waitAndAssertMetrics (
214
217
"io.opentelemetry.runtime-telemetry-java8" ,
215
218
"jvm.thread.count" ,
216
219
AbstractIterableAssert ::isNotEmpty );
220
+ // JMX based metrics
221
+ testing .waitAndAssertMetrics (
222
+ "io.opentelemetry.runtime-telemetry-java8" ,
223
+ "jvm.memory.used" ,
224
+ AbstractIterableAssert ::isNotEmpty );
225
+ assertAdditionalMetrics ();
217
226
218
227
// Log
219
228
List <LogRecordData > exportedLogRecords = testing .getExportedLogRecords ();
@@ -233,6 +242,8 @@ void shouldSendTelemetry() {
233
242
}
234
243
}
235
244
245
+ protected void assertAdditionalMetrics () {}
246
+
236
247
@ Test
237
248
void databaseQuery () {
238
249
testing .clearAllExportedData ();
You can’t perform that action at this time.
0 commit comments