Skip to content

Commit a94416c

Browse files
Merge branch '1.16.x'
2 parents b1379aa + 16c455b commit a94416c

23 files changed

+160
-126
lines changed

benchmarks/benchmarks-core/build.gradle

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
plugins {
2-
id "me.champeau.jmh" version "0.7.2"
2+
id "me.champeau.jmh" version "0.7.3"
33
}
44

55
// skip this module when building with jdk <17
@@ -50,9 +50,19 @@ dependencies {
5050
}
5151

5252
jmh {
53-
fork = 1
54-
warmupIterations = 1
55-
iterations = 1
5653
duplicateClassesStrategy = DuplicatesStrategy.EXCLUDE
5754
zip64 = true
55+
// So we can do these:
56+
// ./gradlew :micrometer-benchmarks-core:jmh -PjmhIncludes=io.micrometer.benchmark.core.CounterBenchmark
57+
// ./gradlew :micrometer-benchmarks-core:jmh -PjmhIncludes=io.micrometer.benchmark.core.CounterBenchmark -PjmhProfilers=gc
58+
if (project.hasProperty('jmhIncludes')) {
59+
includes = [project.property('jmhIncludes')]
60+
}
61+
if (project.hasProperty('jmhProfilers')) {
62+
profilers = [project.property('jmhProfilers')]
63+
}
64+
}
65+
66+
tasks.named('jmh') {
67+
outputs.upToDateWhen { false }
5868
}

benchmarks/benchmarks-core/src/jmh/java/io/micrometer/benchmark/compare/CompareCountersWithOtherLibraries.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import org.openjdk.jmh.profile.GCProfiler;
2121
import org.openjdk.jmh.runner.Runner;
2222
import org.openjdk.jmh.runner.RunnerException;
23-
import org.openjdk.jmh.runner.options.Options;
2423
import org.openjdk.jmh.runner.options.OptionsBuilder;
2524

2625
import java.util.HashMap;
@@ -31,8 +30,8 @@
3130
* @author John Karp
3231
*/
3332
@Fork(1)
34-
@Measurement(iterations = 2)
3533
@Warmup(iterations = 2)
34+
@Measurement(iterations = 2)
3635
@BenchmarkMode(Mode.AverageTime)
3736
@OutputTimeUnit(TimeUnit.NANOSECONDS)
3837
@Threads(16)
@@ -176,10 +175,9 @@ public void prometheusCounterWithTags(PrometheusState state) {
176175
}
177176

178177
public static void main(String[] args) throws RunnerException {
179-
Options opt = new OptionsBuilder().include(CompareCountersWithOtherLibraries.class.getSimpleName())
178+
new Runner(new OptionsBuilder().include(CompareCountersWithOtherLibraries.class.getSimpleName())
180179
.addProfiler(GCProfiler.class)
181-
.build();
182-
new Runner(opt).run();
180+
.build()).run();
183181
}
184182

185183
}

benchmarks/benchmarks-core/src/jmh/java/io/micrometer/benchmark/compare/CompareHistogramsWithOtherLibraries.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@
3535
import org.openjdk.jmh.infra.Blackhole;
3636
import org.openjdk.jmh.runner.Runner;
3737
import org.openjdk.jmh.runner.RunnerException;
38-
import org.openjdk.jmh.runner.options.Options;
3938
import org.openjdk.jmh.runner.options.OptionsBuilder;
4039

4140
import java.util.Iterator;
@@ -48,8 +47,8 @@
4847
* @author John Karp
4948
*/
5049
@Fork(1)
51-
@Measurement(iterations = 2)
5250
@Warmup(iterations = 2)
51+
@Measurement(iterations = 2)
5352
@BenchmarkMode(Mode.AverageTime)
5453
@OutputTimeUnit(TimeUnit.NANOSECONDS)
5554
@Threads(16)
@@ -198,8 +197,9 @@ public void prometheusHistogram(PrometheusState state, Data data) {
198197
}
199198

200199
public static void main(String[] args) throws RunnerException {
201-
Options opt = new OptionsBuilder().include(CompareHistogramsWithOtherLibraries.class.getSimpleName()).build();
202-
new Runner(opt).run();
200+
new Runner(new OptionsBuilder().include(CompareHistogramsWithOtherLibraries.class.getSimpleName())
201+
// .addProfiler(GCProfiler.class)
202+
.build()).run();
203203
}
204204

205205
}

benchmarks/benchmarks-core/src/jmh/java/io/micrometer/benchmark/compare/CompareOTLPHistograms.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
import org.openjdk.jmh.infra.Blackhole;
2626
import org.openjdk.jmh.runner.Runner;
2727
import org.openjdk.jmh.runner.RunnerException;
28-
import org.openjdk.jmh.runner.options.Options;
2928
import org.openjdk.jmh.runner.options.OptionsBuilder;
3029
//CHECKSTYLE:OFF
3130
import com.google.common.collect.Iterators;
@@ -43,8 +42,8 @@
4342
* @author Lenin Jaganathan
4443
*/
4544
@Fork(1)
46-
@Measurement(iterations = 2)
4745
@Warmup(iterations = 3)
46+
@Measurement(iterations = 2)
4847
@BenchmarkMode(Mode.SampleTime)
4948
@OutputTimeUnit(TimeUnit.NANOSECONDS)
5049
@Threads(2)
@@ -360,8 +359,9 @@ public void oltpDeltaExponentialHistogramTimer(ExponentialHistogramDelta state,
360359
}
361360

362361
public static void main(String[] args) throws RunnerException {
363-
Options opt = new OptionsBuilder().include(CompareOTLPHistograms.class.getSimpleName()).build();
364-
new Runner(opt).run();
362+
new Runner(new OptionsBuilder().include(CompareOTLPHistograms.class.getSimpleName())
363+
// .addProfiler(GCProfiler.class)
364+
.build()).run();
365365
}
366366

367367
}

benchmarks/benchmarks-core/src/jmh/java/io/micrometer/benchmark/core/CounterBenchmark.java

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -22,26 +22,18 @@
2222
import org.openjdk.jmh.annotations.*;
2323
import org.openjdk.jmh.runner.Runner;
2424
import org.openjdk.jmh.runner.RunnerException;
25-
import org.openjdk.jmh.runner.options.Options;
2625
import org.openjdk.jmh.runner.options.OptionsBuilder;
2726

2827
import java.util.concurrent.TimeUnit;
2928

29+
@Fork(1)
30+
@Warmup(iterations = 5)
31+
@Measurement(iterations = 10)
32+
@BenchmarkMode(Mode.SampleTime)
33+
@OutputTimeUnit(TimeUnit.NANOSECONDS)
3034
@State(Scope.Benchmark)
31-
@OutputTimeUnit(TimeUnit.MICROSECONDS)
3235
public class CounterBenchmark {
3336

34-
public static void main(String[] args) throws RunnerException {
35-
Options opt = new OptionsBuilder().include(CounterBenchmark.class.getSimpleName())
36-
.warmupIterations(5)
37-
.measurementIterations(10)
38-
.mode(Mode.SampleTime)
39-
.forks(1)
40-
.build();
41-
42-
new Runner(opt).run();
43-
}
44-
4537
private MeterRegistry registry;
4638

4739
private Counter counter;
@@ -68,4 +60,10 @@ public double countSum() {
6860
return counter.count();
6961
}
7062

63+
public static void main(String[] args) throws RunnerException {
64+
new Runner(new OptionsBuilder().include(CounterBenchmark.class.getSimpleName())
65+
// .addProfiler(GCProfiler.class)
66+
.build()).run();
67+
}
68+
7169
}

benchmarks/benchmarks-core/src/jmh/java/io/micrometer/benchmark/core/DefaultLongTaskTimerBenchmark.java

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,35 +15,30 @@
1515
*/
1616
package io.micrometer.benchmark.core;
1717

18-
import io.micrometer.core.instrument.*;
18+
import io.micrometer.core.instrument.LongTaskTimer;
19+
import io.micrometer.core.instrument.Meter;
20+
import io.micrometer.core.instrument.MockClock;
21+
import io.micrometer.core.instrument.Tags;
1922
import io.micrometer.core.instrument.distribution.DistributionStatisticConfig;
2023
import io.micrometer.core.instrument.internal.DefaultLongTaskTimer;
2124
import org.openjdk.jmh.annotations.*;
22-
import org.openjdk.jmh.annotations.Measurement;
2325
import org.openjdk.jmh.runner.Runner;
2426
import org.openjdk.jmh.runner.RunnerException;
25-
import org.openjdk.jmh.runner.options.Options;
2627
import org.openjdk.jmh.runner.options.OptionsBuilder;
2728

2829
import java.util.Locale;
2930
import java.util.Random;
3031
import java.util.concurrent.TimeUnit;
3132
import java.util.stream.IntStream;
3233

33-
@State(Scope.Benchmark)
34-
@OutputTimeUnit(TimeUnit.MICROSECONDS)
3534
@Fork(1)
36-
@BenchmarkMode(Mode.AverageTime)
3735
@Warmup(iterations = 3)
3836
@Measurement(iterations = 3)
37+
@BenchmarkMode(Mode.AverageTime)
38+
@OutputTimeUnit(TimeUnit.MICROSECONDS)
39+
@State(Scope.Benchmark)
3940
public class DefaultLongTaskTimerBenchmark {
4041

41-
public static void main(String[] args) throws RunnerException {
42-
Options opt = new OptionsBuilder().include(DefaultLongTaskTimerBenchmark.class.getSimpleName()).build();
43-
44-
new Runner(opt).run();
45-
}
46-
4742
private static final Random random = new Random();
4843

4944
@Param({ "10000", "100000" })
@@ -83,4 +78,10 @@ public long stopRandom() {
8378
return randomSample.stop();
8479
}
8580

81+
public static void main(String[] args) throws RunnerException {
82+
new Runner(new OptionsBuilder().include(DefaultLongTaskTimerBenchmark.class.getSimpleName())
83+
// .addProfiler(GCProfiler.class)
84+
.build()).run();
85+
}
86+
8687
}

benchmarks/benchmarks-core/src/jmh/java/io/micrometer/benchmark/core/GaugeBenchmark.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,11 @@
2828
import java.util.concurrent.atomic.AtomicInteger;
2929

3030
@Fork(1)
31-
@State(Scope.Benchmark)
31+
@Warmup(iterations = 2)
32+
@Measurement(iterations = 2)
3233
@BenchmarkMode(Mode.SampleTime)
33-
@OutputTimeUnit(TimeUnit.MICROSECONDS)
34+
@OutputTimeUnit(TimeUnit.NANOSECONDS)
35+
@State(Scope.Benchmark)
3436
public class GaugeBenchmark {
3537

3638
private MeterRegistry registry;
@@ -61,7 +63,9 @@ public Gauge gaugeReRegistrationWithBuilder() {
6163
}
6264

6365
public static void main(String[] args) throws RunnerException {
64-
new Runner(new OptionsBuilder().include(GaugeBenchmark.class.getSimpleName()).build()).run();
66+
new Runner(new OptionsBuilder().include(GaugeBenchmark.class.getSimpleName())
67+
// .addProfiler(GCProfiler.class)
68+
.build()).run();
6569
}
6670

6771
}

benchmarks/benchmarks-core/src/jmh/java/io/micrometer/benchmark/core/KeyValuesBenchmark.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,13 @@
2020
import org.openjdk.jmh.annotations.*;
2121
import org.openjdk.jmh.runner.Runner;
2222
import org.openjdk.jmh.runner.RunnerException;
23-
import org.openjdk.jmh.runner.options.Options;
2423
import org.openjdk.jmh.runner.options.OptionsBuilder;
2524

2625
import java.util.concurrent.TimeUnit;
2726

2827
@Fork(1)
29-
@Measurement(iterations = 2)
3028
@Warmup(iterations = 2)
29+
@Measurement(iterations = 2)
3130
@BenchmarkMode(Mode.AverageTime)
3231
@OutputTimeUnit(TimeUnit.NANOSECONDS)
3332
public class KeyValuesBenchmark {
@@ -95,8 +94,9 @@ public KeyValues dotAnd() {
9594
}
9695

9796
public static void main(String[] args) throws RunnerException {
98-
Options opt = new OptionsBuilder().include(KeyValuesBenchmark.class.getSimpleName()).build();
99-
new Runner(opt).run();
97+
new Runner(new OptionsBuilder().include(KeyValuesBenchmark.class.getSimpleName())
98+
// .addProfiler(GCProfiler.class)
99+
.build()).run();
100100
}
101101

102102
}

benchmarks/benchmarks-core/src/jmh/java/io/micrometer/benchmark/core/KeyValuesMergeBenchmark.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,13 @@
1919
import org.openjdk.jmh.annotations.*;
2020
import org.openjdk.jmh.runner.Runner;
2121
import org.openjdk.jmh.runner.RunnerException;
22-
import org.openjdk.jmh.runner.options.Options;
2322
import org.openjdk.jmh.runner.options.OptionsBuilder;
2423

2524
import java.util.concurrent.TimeUnit;
2625

2726
@Fork(1)
28-
@Measurement(iterations = 2)
2927
@Warmup(iterations = 2)
28+
@Measurement(iterations = 2)
3029
@BenchmarkMode(Mode.AverageTime)
3130
@OutputTimeUnit(TimeUnit.NANOSECONDS)
3231
@State(Scope.Thread)
@@ -45,8 +44,9 @@ public KeyValues mergeKeyValues() {
4544
}
4645

4746
public static void main(String[] args) throws RunnerException {
48-
Options opt = new OptionsBuilder().include(KeyValuesMergeBenchmark.class.getSimpleName()).build();
49-
new Runner(opt).run();
47+
new Runner(new OptionsBuilder().include(KeyValuesMergeBenchmark.class.getSimpleName())
48+
// .addProfiler(GCProfiler.class)
49+
.build()).run();
5050
}
5151

5252
}

benchmarks/benchmarks-core/src/jmh/java/io/micrometer/benchmark/core/LogbackMetricsBenchmark.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
@Warmup(iterations = 2)
3232
@Measurement(iterations = 2)
3333
@BenchmarkMode(Mode.SampleTime)
34-
@OutputTimeUnit(TimeUnit.MICROSECONDS)
34+
@OutputTimeUnit(TimeUnit.NANOSECONDS)
3535
@State(Scope.Benchmark)
3636
public class LogbackMetricsBenchmark {
3737

0 commit comments

Comments
 (0)