Skip to content

Commit

Permalink
Implemented exact filter benchmark
Browse files Browse the repository at this point in the history
Signed-off-by: Calum Murray <cmurray@redhat.com>
  • Loading branch information
Cali0707 committed Jul 31, 2023
1 parent 50c9b56 commit fb18786
Show file tree
Hide file tree
Showing 2 changed files with 74 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
package dev.knative.eventing.kafka.broker.dispatcher.impl.filter;

import dev.knative.eventing.kafka.broker.dispatcher.Filter;
import dev.knative.eventing.kafka.broker.dispatcher.impl.filter.subscriptionsapi.ExactFilter;
import io.cloudevents.CloudEvent;
import io.cloudevents.core.builder.CloudEventBuilder;
import io.cloudevents.core.v1.CloudEventV1;

import java.net.URI;
import java.util.Map;

public class ExactFilterBenchmark {

public static CloudEvent event() {
return CloudEventBuilder.v1()
.withId("abc")
.withSource(URI.create("http://localhost"))
.withType("test")
.withDataSchema(URI.create("/api/schema"))
.withDataContentType("testContentType")
.withSubject("testSubject")
.build();
}

public static class ExactFilterBenchmarkExactMatchID extends FilterBenchmark {

@Override
protected Filter createFilter() {
return new ExactFilter(Map.of(CloudEventV1.ID, "abc"));
}

@Override
protected CloudEvent createEvent() {
return event();
}
}

public static class ExactFilterBenchmarkAllAttributes extends FilterBenchmark {

@Override
protected Filter createFilter() {
return new ExactFilter(Map.of(
CloudEventV1.ID, "abc",
CloudEventV1.SOURCE, "http://localhost",
CloudEventV1.TYPE, "test",
CloudEventV1.DATASCHEMA,"/api/schema",
CloudEventV1.DATACONTENTTYPE, "testContentType",
CloudEventV1.SUBJECT, "testSubject"
));
}

@Override
protected CloudEvent createEvent() {
return event();
}
}

public static class ExactFilterBenchmarkNoMatch extends FilterBenchmark {

@Override
protected Filter createFilter() {
return new ExactFilter(Map.of(
CloudEventV1.ID, "qwertyuiopasdfghjklzxcvbnm",
CloudEventV1.SOURCE, "qwertyuiopasdfghjklzxcvbnm"
));
}

@Override
protected CloudEvent createEvent() {
return event();
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
import org.openjdk.jmh.annotations.Benchmark;
import org.openjdk.jmh.infra.Blackhole;

public abstract class FilterBenchmark{
public abstract class FilterBenchmark {
Filter filter;
CloudEvent cloudEvent;

Expand Down

0 comments on commit fb18786

Please sign in to comment.