try to run jmh bench

Signed-off-by: christian.lutnik <christian.lutnik@dynatrace.com>
This commit is contained in:
christian.lutnik 2025-07-08 16:22:41 +02:00
parent 9a62234e8c
commit c8a4172746
4 changed files with 29 additions and 29 deletions

View File

@ -54,8 +54,9 @@ jobs:
fail_ci_if_error: true # optional (default = false)
verbose: true # optional (default = false)
- name: Run JMH benchmark
run: mvn --activate-profiles benchmark jmh:benchmark
- if: matrix.build.java == '17'
name: Run JMH benchmark
run: mvn --activate-profiles benchmark jmh:benchmark -rf json -rff output.json .*
#run: |
# 'mvn clean compile'
# 'mvn jmh:benchmark -rf json -rff output.json .*'

View File

@ -10,18 +10,19 @@ import org.openjdk.jmh.annotations.Measurement;
import org.openjdk.jmh.annotations.Mode;
import org.openjdk.jmh.annotations.Warmup;
@BenchmarkMode(Mode.Throughput)
@Warmup(time = 1, timeUnit = TimeUnit.SECONDS, iterations = 1)
//@Warmup(time = 1, timeUnit = TimeUnit.SECONDS, iterations = 2)
// @Warmup(time = 1, timeUnit = TimeUnit.SECONDS, iterations = 2)
@Measurement(time = 5, timeUnit = TimeUnit.SECONDS, iterations = 1)
//@Measurement(time = 5, timeUnit = TimeUnit.SECONDS, iterations = 4)
// @Measurement(time = 5, timeUnit = TimeUnit.SECONDS, iterations = 4)
@Fork(1)
public class FlagEvaluationBenchmark {
@Benchmark
public String flagEvaluations(FlagEvaluationState state) {
return state.client.getStringDetails(FlagEvaluationState.FLAG_KEY, "default").getValue();
return state.client
.getStringDetails(FlagEvaluationState.FLAG_KEY, "default")
.getValue();
}
@Benchmark

View File

@ -5,8 +5,8 @@ import dev.openfeature.sdk.ImmutableMetadata;
import dev.openfeature.sdk.OpenFeatureAPI;
import dev.openfeature.sdk.providers.memory.Flag;
import dev.openfeature.sdk.providers.memory.InMemoryProvider;
import org.openjdk.jmh.annotations.*;
import java.util.Map;
import org.openjdk.jmh.annotations.*;
@State(Scope.Benchmark)
public class FlagEvaluationState {
@ -18,17 +18,16 @@ public class FlagEvaluationState {
@Setup(Level.Trial)
public void setup() {
provider = new InMemoryProvider(
Map.of(
FLAG_KEY,
Flag.builder()
.variant("a", "a-value")
.variant("b", "b-value")
.defaultVariant("b")
.flagMetadata(ImmutableMetadata.builder().addString("meta", "data").build())
.build()
)
);
provider = new InMemoryProvider(Map.of(
FLAG_KEY,
Flag.builder()
.variant("a", "a-value")
.variant("b", "b-value")
.defaultVariant("b")
.flagMetadata(ImmutableMetadata.builder()
.addString("meta", "data")
.build())
.build()));
OpenFeatureAPI.getInstance().setProviderAndWait(DOMAIN, provider);
client = OpenFeatureAPI.getInstance().getClient(DOMAIN);
}

View File

@ -24,17 +24,16 @@ public class HooksState {
@Setup(Level.Trial)
public void setup() {
provider = new InMemoryProvider(
Map.of(
FLAG_KEY,
Flag.builder()
.variant("a", "a-value")
.variant("b", "b-value")
.defaultVariant("b")
.flagMetadata(ImmutableMetadata.builder().addString("meta", "data").build())
.build()
)
);
provider = new InMemoryProvider(Map.of(
FLAG_KEY,
Flag.builder()
.variant("a", "a-value")
.variant("b", "b-value")
.defaultVariant("b")
.flagMetadata(ImmutableMetadata.builder()
.addString("meta", "data")
.build())
.build()));
OpenFeatureAPI.getInstance().setProviderAndWait(DOMAIN, provider);
client = OpenFeatureAPI.getInstance().getClient(DOMAIN);
client.addHooks(new StringHook() {}, new Hook() {});