From 3453fe0574212e428dd154e29641f1c51bd0c1ac Mon Sep 17 00:00:00 2001 From: Roberto Cortez Date: Fri, 12 Jul 2024 14:50:48 +0100 Subject: [PATCH] MicroProfile Telemetry 2.0 --- pom.xml | 3 +- testsuite/pom.xml | 6 - testsuite/tck/pom.xml | 111 +++++++++++++++++- .../tck/ArquillianExtension.java | 10 -- .../tck/ArquillianLifecycle.java | 13 -- .../opentelemetry/tck/RedirectOutHandler.java | 40 +++++++ .../opentelemetry/tck/TestConfigSource.java | 6 +- .../tck/src/test/resources/exclusions.txt | 2 +- .../tck/src/test/resources/logging.properties | 10 ++ 9 files changed, 163 insertions(+), 38 deletions(-) delete mode 100644 testsuite/tck/src/test/java/io/smallrye/opentelemetry/tck/ArquillianExtension.java delete mode 100644 testsuite/tck/src/test/java/io/smallrye/opentelemetry/tck/ArquillianLifecycle.java create mode 100644 testsuite/tck/src/test/java/io/smallrye/opentelemetry/tck/RedirectOutHandler.java create mode 100644 testsuite/tck/src/test/resources/logging.properties diff --git a/pom.xml b/pom.xml index 7618f8fb..6e447fa3 100644 --- a/pom.xml +++ b/pom.xml @@ -18,7 +18,7 @@ 1.39.0 2.5.0 1.25.0-alpha - 1.1 + 2.0 3.1 6.2.9.Final 4.5.8 @@ -27,6 +27,7 @@ 2.3.0 3.8.3 + 2.1.5.Final diff --git a/testsuite/pom.xml b/testsuite/pom.xml index bfd778d2..ddbbd3cb 100644 --- a/testsuite/pom.xml +++ b/testsuite/pom.xml @@ -13,10 +13,6 @@ SmallRye OpenTelemetry: Test Suite - - 2.1.5.Final - - @@ -38,9 +34,7 @@ extra - diff --git a/testsuite/tck/pom.xml b/testsuite/tck/pom.xml index 59b60724..51bc8470 100644 --- a/testsuite/tck/pom.xml +++ b/testsuite/tck/pom.xml @@ -18,11 +18,28 @@ - org.eclipse.microprofile.telemetry.tracing + org.eclipse.microprofile.telemetry microprofile-telemetry-tracing-tck ${version.microprofile.opentelemetry} test + + org.eclipse.microprofile.telemetry + microprofile-telemetry-metrics-tck + ${version.microprofile.opentelemetry} + test + + + org.eclipse.microprofile.telemetry + microprofile-telemetry-logs-tck + ${version.microprofile.opentelemetry} + test + + + + io.opentelemetry + opentelemetry-exporter-logging + io.smallrye.opentelemetry @@ -54,6 +71,19 @@ io.smallrye.testing smallrye-testing-tck-jetty + + + org.slf4j + slf4j-jdk14 + 2.0.13 + test + + + org.slf4j + slf4j-api + 2.0.13 + test + io.smallrye.config smallrye-config @@ -70,11 +100,84 @@ org.apache.maven.plugins maven-surefire-plugin - - org.eclipse.microprofile.telemetry.tracing:microprofile-telemetry-tracing-tck - + true + + ${project.basedir}/src/test/resources/logging.properties + src/test/resources/exclusions.txt + + + tracing + + test + + + false + ${project.build.directory}/surefire-reports-tracing + + org.eclipse.microprofile.telemetry:microprofile-telemetry-tracing-tck + + + + + metrics + + test + + + false + ${project.build.directory}/surefire-reports-metrics + + org.eclipse.microprofile.telemetry:microprofile-telemetry-metrics-tck + + + **/application/**/*Test.java + + + + + metrics-jvm + + test + + + false + ${project.build.directory}/surefire-reports-metrics-jvm + + false + logging + none + none + 1000 + ${project.build.directory}/tck.log + + + org.eclipse.microprofile.telemetry:microprofile-telemetry-metrics-tck + + + **/jvm/*Test.java + + + + + logs + + test + + + false + ${project.build.directory}/surefire-reports-logs + + false + ${project.build.directory}/out.log + + + org.eclipse.microprofile.telemetry:microprofile-telemetry-logs-tck + + + + org.apache.maven.surefire diff --git a/testsuite/tck/src/test/java/io/smallrye/opentelemetry/tck/ArquillianExtension.java b/testsuite/tck/src/test/java/io/smallrye/opentelemetry/tck/ArquillianExtension.java deleted file mode 100644 index 0e5f4300..00000000 --- a/testsuite/tck/src/test/java/io/smallrye/opentelemetry/tck/ArquillianExtension.java +++ /dev/null @@ -1,10 +0,0 @@ -package io.smallrye.opentelemetry.tck; - -import org.jboss.arquillian.core.spi.LoadableExtension; - -public class ArquillianExtension implements LoadableExtension { - @Override - public void register(ExtensionBuilder extensionBuilder) { - extensionBuilder.observer(ArquillianLifecycle.class); - } -} diff --git a/testsuite/tck/src/test/java/io/smallrye/opentelemetry/tck/ArquillianLifecycle.java b/testsuite/tck/src/test/java/io/smallrye/opentelemetry/tck/ArquillianLifecycle.java deleted file mode 100644 index 22c8015b..00000000 --- a/testsuite/tck/src/test/java/io/smallrye/opentelemetry/tck/ArquillianLifecycle.java +++ /dev/null @@ -1,13 +0,0 @@ -package io.smallrye.opentelemetry.tck; - -import org.jboss.arquillian.container.spi.event.container.BeforeDeploy; -import org.jboss.arquillian.core.api.annotation.Observes; -import org.jboss.arquillian.test.spi.TestClass; - -import io.opentelemetry.api.GlobalOpenTelemetry; - -public class ArquillianLifecycle { - public void beforeDeploy(@Observes BeforeDeploy event, TestClass testClass) { - GlobalOpenTelemetry.resetForTest(); - } -} diff --git a/testsuite/tck/src/test/java/io/smallrye/opentelemetry/tck/RedirectOutHandler.java b/testsuite/tck/src/test/java/io/smallrye/opentelemetry/tck/RedirectOutHandler.java new file mode 100644 index 00000000..d955b565 --- /dev/null +++ b/testsuite/tck/src/test/java/io/smallrye/opentelemetry/tck/RedirectOutHandler.java @@ -0,0 +1,40 @@ +package io.smallrye.opentelemetry.tck; + +import java.io.PrintStream; +import java.util.logging.Handler; +import java.util.logging.LogManager; +import java.util.logging.LogRecord; + +import io.smallrye.common.constraint.Assert; + +public class RedirectOutHandler extends Handler { + private final PrintStream oldOut; + private final PrintStream newOut; + + public RedirectOutHandler() throws Exception { + LogManager manager = LogManager.getLogManager(); + + String className = this.getClass().getName(); + String pattern = Assert.checkNotNullParam(className + ".pattern", manager.getProperty(className + ".pattern")); + + this.oldOut = System.out; + this.newOut = new PrintStream(pattern); + System.setOut(newOut); + } + + @Override + public void publish(final LogRecord record) { + + } + + @Override + public void flush() { + + } + + @Override + public void close() throws SecurityException { + newOut.close(); + System.setOut(oldOut); + } +} diff --git a/testsuite/tck/src/test/java/io/smallrye/opentelemetry/tck/TestConfigSource.java b/testsuite/tck/src/test/java/io/smallrye/opentelemetry/tck/TestConfigSource.java index 8cf204bb..97c4c31f 100644 --- a/testsuite/tck/src/test/java/io/smallrye/opentelemetry/tck/TestConfigSource.java +++ b/testsuite/tck/src/test/java/io/smallrye/opentelemetry/tck/TestConfigSource.java @@ -7,9 +7,9 @@ public class TestConfigSource extends MapBackedConfigSource { public TestConfigSource() { super("TestConfigSource", - Map.of("otel.sdk.disabled", "true", - "otel.traces.exporter", "none", - "otel.metrics.exporter", "none"), + Map.of("otel.traces.exporter", "none", + "otel.metrics.exporter", "none", + "otel.logs.exporter", "none"), Integer.MIN_VALUE); } } diff --git a/testsuite/tck/src/test/resources/exclusions.txt b/testsuite/tck/src/test/resources/exclusions.txt index 7e49ec78..ef15f8bc 100644 --- a/testsuite/tck/src/test/resources/exclusions.txt +++ b/testsuite/tck/src/test/resources/exclusions.txt @@ -1,4 +1,4 @@ -# Optional tests +# Tracing - Optional tests org.eclipse.microprofile.telemetry.tracing.tck.rest.JaegerPropagationTest org.eclipse.microprofile.telemetry.tracing.tck.rest.B3MultiPropagationTest org.eclipse.microprofile.telemetry.tracing.tck.rest.B3PropagationTest diff --git a/testsuite/tck/src/test/resources/logging.properties b/testsuite/tck/src/test/resources/logging.properties new file mode 100644 index 00000000..7d532a28 --- /dev/null +++ b/testsuite/tck/src/test/resources/logging.properties @@ -0,0 +1,10 @@ +handlers=java.util.logging.FileHandler,java.util.logging.ConsoleHandler,io.smallrye.opentelemetry.tck.RedirectOutHandler +.level=INFO + +java.util.logging.ConsoleHandler.level=FINE +java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter + +java.util.logging.FileHandler.pattern=target/tck.log +java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter + +io.smallrye.opentelemetry.tck.RedirectOutHandler.pattern=target/out.log