diff options
| author | Matthias Andreas Benkard <code@mail.matthias.benkard.de> | 2024-06-23 17:08:58 +0200 | 
|---|---|---|
| committer | Matthias Andreas Benkard <code@mail.matthias.benkard.de> | 2024-06-23 17:12:01 +0200 | 
| commit | d2280ad9e239fb686bcc1df74fa465dba50b235c (patch) | |
| tree | 461a898b36aac1ee9b043cbbea822070a1fd14b2 /core/src/test/java | |
| parent | 7fec6de7662b80a70a46b37043d007e278fdb894 (diff) | |
perf: Reuse a single JsonProvider.
This speeds up the formatter significantly.
Before:
    Benchmark                                         Mode  Cnt     Score      Error  Units
    FormatterBenchmark.massivelyStructuredLogRecord  thrpt   10  6552.727 ± 2169.572  ops/s
    FormatterBenchmark.simpleLogRecord               thrpt   10  8126.699 ± 2259.912  ops/s
    FormatterBenchmark.structuredLogRecord           thrpt   10  5594.849 ± 1129.151  ops/s
After:
    Benchmark                                         Mode  Cnt       Score        Error  Units
    FormatterBenchmark.massivelyStructuredLogRecord  thrpt   10  137879.001 ±  30467.644  ops/s
    FormatterBenchmark.simpleLogRecord               thrpt   10  896085.217 ± 249890.421  ops/s
    FormatterBenchmark.structuredLogRecord           thrpt   10  553428.807 ± 194787.754  ops/s
Change-Id: If184327a4ff0de0d92b769493dbf6270ba3a8c8e
Diffstat (limited to 'core/src/test/java')
| -rw-r--r-- | core/src/test/java/eu/mulk/quarkus/googlecloud/jsonlogging/FormatterTest.java | 10 | 
1 files changed, 6 insertions, 4 deletions
diff --git a/core/src/test/java/eu/mulk/quarkus/googlecloud/jsonlogging/FormatterTest.java b/core/src/test/java/eu/mulk/quarkus/googlecloud/jsonlogging/FormatterTest.java index b755230..6d40b15 100644 --- a/core/src/test/java/eu/mulk/quarkus/googlecloud/jsonlogging/FormatterTest.java +++ b/core/src/test/java/eu/mulk/quarkus/googlecloud/jsonlogging/FormatterTest.java @@ -2,7 +2,7 @@ package eu.mulk.quarkus.googlecloud.jsonlogging;  import static org.junit.jupiter.api.Assertions.assertLinesMatch; -import jakarta.json.Json; +import jakarta.json.spi.JsonProvider;  import java.util.Collection;  import java.util.List;  import org.jboss.logmanager.ExtLogRecord; @@ -11,6 +11,8 @@ import org.junit.jupiter.api.Test;  class FormatterTest { +  private static final JsonProvider JSON = JsonProvider.provider(); +    @Test    void simpleRecord() {      var logRecord = makeSimpleRecord(); @@ -43,7 +45,7 @@ class FormatterTest {          new StructuredParameterProvider() {            @Override            public StructuredParameter getParameter() { -            var b = Json.createObjectBuilder(); +            var b = JSON.createObjectBuilder();              b.add("traceId", "39f9a49a9567a8bd7087b708f8932550");              b.add("spanId", "c7431b14630b633d");              return () -> b; @@ -88,7 +90,7 @@ class FormatterTest {      logRecord.setParameters(          new Object[] {            (StructuredParameter) -              () -> Json.createObjectBuilder().add("one", 1).add("two", 2.0).add("yes", true), +              () -> JSON.createObjectBuilder().add("one", 1).add("two", 2.0).add("yes", true),            Label.of("a", "b")          });      return logRecord; @@ -128,7 +130,7 @@ class FormatterTest {          new Object[] {            (StructuredParameter)                () -> { -                var b = Json.createObjectBuilder(); +                var b = JSON.createObjectBuilder();                  for (int i = 0; i < 10; i++) {                    b.add("int-" + i, i);                  }  | 
