Skip to content

Commit 16c455b

Browse files
Improve JMH and gradle integration for 1.16.x
See gh-6892
1 parent 55330b7 commit 16c455b

File tree

6 files changed

+46
-16
lines changed

6 files changed

+46
-16
lines changed

benchmarks/benchmarks-core/src/jmh/java/io/micrometer/benchmark/core/instrument/MeterBenchmarks.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,10 @@
2020
import io.micrometer.core.instrument.Meter;
2121
import io.micrometer.core.instrument.Tag;
2222
import org.openjdk.jmh.annotations.*;
23+
import org.openjdk.jmh.profile.GCProfiler;
24+
import org.openjdk.jmh.runner.Runner;
2325
import org.openjdk.jmh.runner.RunnerException;
26+
import org.openjdk.jmh.runner.options.OptionsBuilder;
2427

2528
import java.util.List;
2629
import java.util.concurrent.TimeUnit;
@@ -30,7 +33,7 @@ public class MeterBenchmarks {
3033
private MeterBenchmarks() {
3134
}
3235

33-
@Fork(value = 1)
36+
@Fork(1)
3437
@Warmup(iterations = 6, time = 10, timeUnit = TimeUnit.SECONDS)
3538
@Measurement(iterations = 54, time = 10, timeUnit = TimeUnit.SECONDS)
3639
@BenchmarkMode(Mode.AverageTime)
@@ -60,13 +63,17 @@ public List<Tag> baseline() {
6063
}
6164

6265
public static void main(String[] args) throws RunnerException {
63-
BenchmarkSupport.run(GetTags.class);
66+
new Runner(
67+
new OptionsBuilder().include(GetTags.class.getSimpleName()).addProfiler(GCProfiler.class).build())
68+
.run();
6469
}
6570

6671
}
6772

6873
public static void main(String[] args) throws RunnerException {
69-
BenchmarkSupport.run(MeterBenchmarks.class);
74+
new Runner(new OptionsBuilder().include(MeterBenchmarks.class.getSimpleName())
75+
.addProfiler(GCProfiler.class)
76+
.build()).run();
7077
}
7178

7279
}

benchmarks/benchmarks-core/src/jmh/java/io/micrometer/benchmark/core/instrument/TagsBenchmarks.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
import io.micrometer.core.instrument.Tag;
2020
import io.micrometer.core.instrument.Tags;
2121
import org.openjdk.jmh.annotations.*;
22+
import org.openjdk.jmh.profile.GCProfiler;
23+
import org.openjdk.jmh.runner.Runner;
2224
import org.openjdk.jmh.runner.RunnerException;
2325
import org.openjdk.jmh.runner.options.OptionsBuilder;
2426

@@ -95,7 +97,7 @@ private TagsBenchmarks() {
9597
* of tags in [0..64] range. The [dominant] parameter defines the category that would
9698
* occupy 90% of the samples, other will be evenly distributed in the remaining 10%.
9799
*/
98-
@Fork(value = 1)
100+
@Fork(1)
99101
@Warmup(iterations = 6, time = 10, timeUnit = TimeUnit.SECONDS)
100102
@Measurement(iterations = 54, time = 10, timeUnit = TimeUnit.SECONDS)
101103
@BenchmarkMode(Mode.AverageTime)
@@ -126,7 +128,8 @@ public Tags baseline() {
126128
}
127129

128130
public static void main(String[] args) throws RunnerException {
129-
BenchmarkSupport.run(Of.class);
131+
new Runner(new OptionsBuilder().include(Of.class.getSimpleName()).addProfiler(GCProfiler.class).build())
132+
.run();
130133
}
131134

132135
}
@@ -140,6 +143,7 @@ public static void main(String[] args) throws RunnerException {
140143
*/
141144
@Fork(value = 1)
142145
@Warmup(iterations = 6, time = 10, timeUnit = TimeUnit.SECONDS)
146+
// Not the coolest thing to do, but we're dealing with 6x6 matrix
143147
@Measurement(iterations = 12, time = 10, timeUnit = TimeUnit.SECONDS)
144148
@BenchmarkMode(Mode.AverageTime)
145149
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@@ -184,9 +188,8 @@ public Tags baseline() {
184188
}
185189

186190
public static void main(String[] args) throws RunnerException {
187-
BenchmarkSupport.run(Concat.class,
188-
// Not the coolest thing to do, but we're dealing with 6x6 matrix
189-
new OptionsBuilder().measurementIterations(12));
191+
new Runner(new OptionsBuilder().include(Concat.class.getSimpleName()).addProfiler(GCProfiler.class).build())
192+
.run();
190193
}
191194

192195
}

benchmarks/benchmarks-core/src/jmh/java/io/micrometer/benchmark/core/instrument/config/filter/MeterFilterCommonTagsBenchmark.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,10 @@
2020
import io.micrometer.core.instrument.Meter;
2121
import io.micrometer.core.instrument.config.MeterFilter;
2222
import org.openjdk.jmh.annotations.*;
23+
import org.openjdk.jmh.profile.GCProfiler;
24+
import org.openjdk.jmh.runner.Runner;
2325
import org.openjdk.jmh.runner.RunnerException;
26+
import org.openjdk.jmh.runner.options.OptionsBuilder;
2427

2528
import java.util.concurrent.TimeUnit;
2629
import java.util.stream.Collectors;
@@ -33,7 +36,7 @@
3336
// Use jvmArgsAppend = "-XX:CompileCommand=dontinline,*.Tags.*" and
3437
// similar wildcards if you need to check clean assembly output
3538
// separately from other code.
36-
@Fork(value = 1)
39+
@Fork(1)
3740
@Warmup(iterations = 6, time = 10, timeUnit = TimeUnit.SECONDS)
3841
@Measurement(iterations = 54, time = 10, timeUnit = TimeUnit.SECONDS)
3942
@BenchmarkMode(Mode.AverageTime)
@@ -88,7 +91,9 @@ public Meter.Id baseline() {
8891
}
8992

9093
public static void main(String[] args) throws RunnerException {
91-
BenchmarkSupport.run(MeterFilterCommonTagsBenchmark.class);
94+
new Runner(new OptionsBuilder().include(MeterFilterCommonTagsBenchmark.class.getSimpleName())
95+
.addProfiler(GCProfiler.class)
96+
.build()).run();
9297
}
9398

9499
}

benchmarks/benchmarks-core/src/jmh/java/io/micrometer/benchmark/core/instrument/config/filter/MeterFilterIgnoreTagsBenchmark.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,10 @@
2121
import io.micrometer.core.instrument.Tag;
2222
import io.micrometer.core.instrument.config.MeterFilter;
2323
import org.openjdk.jmh.annotations.*;
24+
import org.openjdk.jmh.profile.GCProfiler;
25+
import org.openjdk.jmh.runner.Runner;
2426
import org.openjdk.jmh.runner.RunnerException;
27+
import org.openjdk.jmh.runner.options.OptionsBuilder;
2528

2629
import java.util.concurrent.TimeUnit;
2730

@@ -34,7 +37,7 @@
3437
// Use jvmArgsAppend = "-XX:CompileCommand=dontinline,*.Tags.*" and
3538
// similar wildcards if you need to check clean assembly output
3639
// separately from other code.
37-
@Fork(value = 1)
40+
@Fork(1)
3841
@Warmup(iterations = 6, time = 10, timeUnit = TimeUnit.SECONDS)
3942
@Measurement(iterations = 54, time = 10, timeUnit = TimeUnit.SECONDS)
4043
@BenchmarkMode(Mode.AverageTime)
@@ -86,7 +89,9 @@ public Meter.Id baseline() {
8689
}
8790

8891
public static void main(String[] args) throws RunnerException {
89-
BenchmarkSupport.run(MeterFilterIgnoreTagsBenchmark.class);
92+
new Runner(new OptionsBuilder().include(MeterFilterIgnoreTagsBenchmark.class.getSimpleName())
93+
.addProfiler(GCProfiler.class)
94+
.build()).run();
9095
}
9196

9297
}

benchmarks/benchmarks-core/src/jmh/java/io/micrometer/benchmark/core/instrument/config/filter/MeterFilterRenameTagBenchmark.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,18 @@
2020
import io.micrometer.core.instrument.Meter;
2121
import io.micrometer.core.instrument.config.MeterFilter;
2222
import org.openjdk.jmh.annotations.*;
23+
import org.openjdk.jmh.profile.GCProfiler;
24+
import org.openjdk.jmh.runner.Runner;
2325
import org.openjdk.jmh.runner.RunnerException;
26+
import org.openjdk.jmh.runner.options.OptionsBuilder;
2427

2528
import java.util.concurrent.TimeUnit;
2629
import java.util.stream.Stream;
2730

2831
// Use jvmArgsAppend = "-XX:CompileCommand=dontinline,*.Tags.*" and
2932
// similar wildcards if you need to check clean assembly output
3033
// separately from other code.
31-
@Fork(value = 1)
34+
@Fork(1)
3235
@Warmup(iterations = 6, time = 10, timeUnit = TimeUnit.SECONDS)
3336
@Measurement(iterations = 54, time = 10, timeUnit = TimeUnit.SECONDS)
3437
@BenchmarkMode(Mode.AverageTime)
@@ -117,7 +120,9 @@ public Meter.Id baseline() {
117120
}
118121

119122
public static void main(String[] args) throws RunnerException {
120-
BenchmarkSupport.run(MeterFilterRenameTagBenchmark.class);
123+
new Runner(new OptionsBuilder().include(MeterFilterRenameTagBenchmark.class.getSimpleName())
124+
.addProfiler(GCProfiler.class)
125+
.build()).run();
121126
}
122127

123128
}

benchmarks/benchmarks-core/src/jmh/java/io/micrometer/benchmark/core/instrument/config/filter/MeterFilterReplaceTagValuesBenchmark.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,18 @@
2121
import io.micrometer.core.instrument.Tag;
2222
import io.micrometer.core.instrument.config.MeterFilter;
2323
import org.openjdk.jmh.annotations.*;
24+
import org.openjdk.jmh.profile.GCProfiler;
25+
import org.openjdk.jmh.runner.Runner;
2426
import org.openjdk.jmh.runner.RunnerException;
27+
import org.openjdk.jmh.runner.options.OptionsBuilder;
2528

2629
import java.util.Arrays;
2730
import java.util.concurrent.TimeUnit;
2831
import java.util.stream.Stream;
2932

3033
// Use jvmArgsAppend = "-XX:CompileCommand=dontinline,*.Tags.*" if you
3134
// need to check clean filter output separately from other code.
32-
@Fork(value = 1)
35+
@Fork(1)
3336
@Warmup(iterations = 6, time = 10, timeUnit = TimeUnit.SECONDS)
3437
@Measurement(iterations = 54, time = 10, timeUnit = TimeUnit.SECONDS)
3538
@BenchmarkMode(Mode.AverageTime)
@@ -86,7 +89,9 @@ public Meter.Id baseline() {
8689
}
8790

8891
public static void main(String[] args) throws RunnerException {
89-
BenchmarkSupport.run(MeterFilterReplaceTagValuesBenchmark.class);
92+
new Runner(new OptionsBuilder().include(MeterFilterReplaceTagValuesBenchmark.class.getSimpleName())
93+
.addProfiler(GCProfiler.class)
94+
.build()).run();
9095
}
9196

9297
}

0 commit comments

Comments
 (0)