Skip to content

Commit 307d960

Browse files
committed
Modernize oshi metric assertions
- Use sum/gauge lambda subject for assertions on the point list (assertThat(sum.getPoints()).anySatisfy(...)) instead of capturing the outer metric variable. - Switch to the 2-arg waitAndAssertMetrics(scope, metric -> metric.hasName(...)) form to reduce verbosity.
1 parent b13eb10 commit 307d960

2 files changed

Lines changed: 59 additions & 65 deletions

File tree

instrumentation/oshi/testing/src/main/java/io/opentelemetry/instrumentation/oshi/AbstractProcessMetricsTest.java

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -27,31 +27,31 @@ void test() {
2727
testing()
2828
.waitAndAssertMetrics(
2929
"io.opentelemetry.oshi",
30-
"runtime.java.memory",
31-
metrics ->
32-
metrics.anySatisfy(
33-
metric ->
34-
assertThat(metric)
35-
.hasUnit("By")
36-
// TODO: Provide fuzzy value matching
37-
.hasLongSumSatisfying(
38-
sum ->
39-
assertThat(metric.getLongSumData().getPoints())
30+
metric ->
31+
metric
32+
.hasName("runtime.java.memory")
33+
.hasUnit("By")
34+
// TODO: Provide fuzzy value matching
35+
.hasLongSumSatisfying(
36+
sum ->
37+
sum.satisfies(
38+
s ->
39+
assertThat(s.getPoints())
4040
.anySatisfy(
4141
point -> assertThat(point.getValue()).isPositive()))));
4242
testing()
4343
.waitAndAssertMetrics(
4444
"io.opentelemetry.oshi",
45-
"runtime.java.cpu_time",
46-
metrics ->
47-
metrics.anySatisfy(
48-
metric ->
49-
assertThat(metric)
50-
.hasUnit("ms")
51-
// TODO: Provide fuzzy value matching
52-
.hasLongGaugeSatisfying(
53-
gauge ->
54-
assertThat(metric.getLongGaugeData().getPoints())
45+
metric ->
46+
metric
47+
.hasName("runtime.java.cpu_time")
48+
.hasUnit("ms")
49+
// TODO: Provide fuzzy value matching
50+
.hasLongGaugeSatisfying(
51+
gauge ->
52+
gauge.satisfies(
53+
g ->
54+
assertThat(g.getPoints())
5555
.anySatisfy(
5656
point -> assertThat(point.getValue()).isPositive()))));
5757
}

instrumentation/oshi/testing/src/main/java/io/opentelemetry/instrumentation/oshi/AbstractSystemMetricsTest.java

Lines changed: 39 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -25,72 +25,66 @@ void test() {
2525
testing()
2626
.waitAndAssertMetrics(
2727
"io.opentelemetry.oshi",
28-
"system.memory.usage",
29-
metrics ->
30-
metrics.anySatisfy(
31-
metric ->
32-
assertThat(metric)
33-
.hasUnit("By")
34-
// TODO: Provide fuzzy value matching
35-
.hasLongSumSatisfying(
36-
sum ->
37-
assertThat(metric.getLongSumData().getPoints())
28+
metric ->
29+
metric
30+
.hasName("system.memory.usage")
31+
.hasUnit("By")
32+
// TODO: Provide fuzzy value matching
33+
.hasLongSumSatisfying(
34+
sum ->
35+
sum.satisfies(
36+
s ->
37+
assertThat(s.getPoints())
3838
.anySatisfy(
3939
point -> assertThat(point.getValue()).isPositive()))));
4040
testing()
4141
.waitAndAssertMetrics(
4242
"io.opentelemetry.oshi",
43-
"system.memory.utilization",
44-
metrics ->
45-
metrics.anySatisfy(
46-
metric ->
47-
assertThat(metric)
48-
.hasUnit("1")
49-
// TODO: Provide fuzzy value matching
50-
.hasDoubleGaugeSatisfying(
51-
gauge ->
52-
assertThat(metric.getDoubleGaugeData().getPoints())
43+
metric ->
44+
metric
45+
.hasName("system.memory.utilization")
46+
.hasUnit("1")
47+
// TODO: Provide fuzzy value matching
48+
.hasDoubleGaugeSatisfying(
49+
gauge ->
50+
gauge.satisfies(
51+
g ->
52+
assertThat(g.getPoints())
5353
.anySatisfy(
5454
point -> assertThat(point.getValue()).isPositive()))));
5555
testing()
5656
.waitAndAssertMetrics(
5757
"io.opentelemetry.oshi",
58-
"system.network.io",
59-
metrics ->
60-
metrics.anySatisfy(
61-
metric -> assertThat(metric).hasUnit("By").hasLongSumSatisfying(sum -> {})));
58+
metric ->
59+
metric.hasName("system.network.io").hasUnit("By").hasLongSumSatisfying(sum -> {}));
6260
testing()
6361
.waitAndAssertMetrics(
6462
"io.opentelemetry.oshi",
65-
"system.network.packets",
66-
metrics ->
67-
metrics.anySatisfy(
68-
metric ->
69-
assertThat(metric).hasUnit("{packets}").hasLongSumSatisfying(sum -> {})));
63+
metric ->
64+
metric
65+
.hasName("system.network.packets")
66+
.hasUnit("{packets}")
67+
.hasLongSumSatisfying(sum -> {}));
7068
testing()
7169
.waitAndAssertMetrics(
7270
"io.opentelemetry.oshi",
73-
"system.network.errors",
74-
metrics ->
75-
metrics.anySatisfy(
76-
metric ->
77-
assertThat(metric).hasUnit("{errors}").hasLongSumSatisfying(sum -> {})));
71+
metric ->
72+
metric
73+
.hasName("system.network.errors")
74+
.hasUnit("{errors}")
75+
.hasLongSumSatisfying(sum -> {}));
7876
testing()
7977
.waitAndAssertMetrics(
8078
"io.opentelemetry.oshi",
81-
"system.disk.io",
82-
metrics ->
83-
metrics.anySatisfy(
84-
metric -> assertThat(metric).hasUnit("By").hasLongSumSatisfying(sum -> {})));
79+
metric ->
80+
metric.hasName("system.disk.io").hasUnit("By").hasLongSumSatisfying(sum -> {}));
8581
testing()
8682
.waitAndAssertMetrics(
8783
"io.opentelemetry.oshi",
88-
"system.disk.operations",
89-
metrics ->
90-
metrics.anySatisfy(
91-
metric ->
92-
assertThat(metric)
93-
.hasUnit("{operations}")
94-
.hasLongSumSatisfying(sum -> {})));
84+
metric ->
85+
metric
86+
.hasName("system.disk.operations")
87+
.hasUnit("{operations}")
88+
.hasLongSumSatisfying(sum -> {}));
9589
}
9690
}

0 commit comments

Comments
 (0)