This is an automated email from the ASF dual-hosted git repository.

rzo1 pushed a commit to branch mp7
in repository https://gitbox.apache.org/repos/asf/tomee.git

commit 91ca7aa5a36a688dd395c0ed54e5c92133ee9f11
Author: Richard Zowalla <[email protected]>
AuthorDate: Tue Mar 17 15:29:05 2026 +0100

    Upgrade MicroProfile 6.1 to 7.1: version bumps, metrics removal, telemetry 
TCK
    
    - Bump MP spec versions: Fault Tolerance 4.1, OpenAPI 4.1, Rest Client 4.0, 
Telemetry 2.1
    - Bump SmallRye impls: Fault Tolerance 6.11.0, OpenAPI 4.2.4, OpenTelemetry 
2.11.2
    - Remove MicroProfile Metrics (dropped in MP 7.0): API, SmallRye impl, 
Micrometer,
      source code (VendorMetrics, MetricsFilterRegistration, 
MicroProfileMetricsEndpoint,
      MicroProfileMetricsRegistration), SPI registrations, TCK module, examples
    - Remove LegacyMetricsExtension from SystemInstance CDI extensions
    - Remove VendorMetrics from org.apache.openejb.extension SPI
    - Restructure Telemetry TCK into tracing/metrics/logs sub-modules (all 47 
tests pass)
    - Update opentelemetry-semconv groupId and version (1.32.0)
    - Fix OpenApiTest to remove @Timed/MetricUnits usage
---
 boms/tomee-microprofile-api/pom.xml                |  21 +-
 .../org/apache/openejb/loader/SystemInstance.java  |   1 -
 examples/pom.xml                                   |   5 -
 itests/tomee-microprofile-itests/pom.xml           |   7 -
 .../tomee/microprofile/openapi/OpenApiTest.java    |  10 -
 pom.xml                                            |  24 +-
 tck/microprofile-tck/fault-tolerance/pom.xml       |   7 -
 .../opentelemetry/{ => logs}/pom.xml               |  43 ++--
 .../logs/src/test/conf/logging.properties          |  18 ++
 .../tck/opentelemetry/ArquillianExtension.java     |  21 +-
 .../tck/opentelemetry/ArquillianLifecycle.java     |   2 +-
 .../OpenTelemetryTCKDeploymentProcessor.java       |  47 ++++
 .../tck/opentelemetry/StdoutRedirectListener.java  |  62 +++++
 ...org.jboss.arquillian.core.spi.LoadableExtension |   2 +-
 .../{ => logs}/src/test/resources/arquillian.xml   |   1 +
 .../opentelemetry/{ => metrics}/pom.xml            |  44 ++--
 .../metrics/src/test/conf/logging.properties       |  18 ++
 .../tck/opentelemetry/ArquillianExtension.java     |   2 +-
 .../tck/opentelemetry/ArquillianLifecycle.java     |   2 +-
 .../OpenTelemetryTCKDeploymentProcessor.java       |  46 ++++
 ...org.jboss.arquillian.core.spi.LoadableExtension |   2 +-
 .../src/test/resources/arquillian.xml              |   1 +
 tck/microprofile-tck/opentelemetry/pom.xml         | 175 +-------------
 .../opentelemetry/{ => tracing}/pom.xml            |  16 +-
 .../tck/opentelemetry/ArquillianExtension.java     |   0
 .../tck/opentelemetry/ArquillianLifecycle.java     |   0
 .../OpenTelemetryTCKDeploymentProcessor.java       |   4 +-
 ...org.jboss.arquillian.core.spi.LoadableExtension |   0
 .../src/test/resources/arquillian.xml              |   0
 tck/microprofile-tck/pom.xml                       |  13 -
 tomee/tomee-microprofile/mp-common/pom.xml         |  38 ---
 .../metrics/MicroProfileMetricsEndpoint.java       |  58 -----
 .../metrics/MicroProfileMetricsRegistration.java   |  51 ----
 .../tomee/microprofile/metrics/VendorMetrics.java  | 263 ---------------------
 .../META-INF/org.apache.openejb.extension          |   1 -
 .../jakarta.servlet.ServletContainerInitializer    |   1 -
 36 files changed, 266 insertions(+), 740 deletions(-)

diff --git a/boms/tomee-microprofile-api/pom.xml 
b/boms/tomee-microprofile-api/pom.xml
index 7499c4b8a0..46b9124048 100644
--- a/boms/tomee-microprofile-api/pom.xml
+++ b/boms/tomee-microprofile-api/pom.xml
@@ -124,7 +124,7 @@
       <dependency>
         <groupId>org.eclipse.microprofile.fault-tolerance</groupId>
         <artifactId>microprofile-fault-tolerance-api</artifactId>
-        <version>4.0.2</version>
+        <version>4.1</version>
       </dependency>
       <dependency>
         <groupId>org.eclipse.microprofile.health</groupId>
@@ -136,20 +136,15 @@
         <artifactId>microprofile-jwt-auth-api</artifactId>
         <version>2.1</version>
       </dependency>
-      <dependency>
-        <groupId>org.eclipse.microprofile.metrics</groupId>
-        <artifactId>microprofile-metrics-api</artifactId>
-        <version>5.1.0</version>
-      </dependency>
       <dependency>
         <groupId>org.eclipse.microprofile.openapi</groupId>
         <artifactId>microprofile-openapi-api</artifactId>
-        <version>3.1.2</version>
+        <version>4.1</version>
       </dependency>
       <dependency>
         <groupId>org.eclipse.microprofile.rest.client</groupId>
         <artifactId>microprofile-rest-client-api</artifactId>
-        <version>3.0.1</version>
+        <version>4.0</version>
       </dependency>
     </dependencies>
   </dependencyManagement>
@@ -345,16 +340,6 @@
         </exclusion>
       </exclusions>
     </dependency>
-    <dependency>
-      <groupId>org.eclipse.microprofile.metrics</groupId>
-      <artifactId>microprofile-metrics-api</artifactId>
-      <exclusions>
-        <exclusion>
-          <artifactId>*</artifactId>
-          <groupId>*</groupId>
-        </exclusion>
-      </exclusions>
-    </dependency>
     <dependency>
       <groupId>org.eclipse.microprofile.openapi</groupId>
       <artifactId>microprofile-openapi-api</artifactId>
diff --git 
a/container/openejb-loader/src/main/java/org/apache/openejb/loader/SystemInstance.java
 
b/container/openejb-loader/src/main/java/org/apache/openejb/loader/SystemInstance.java
index f690577740..26611afaf3 100644
--- 
a/container/openejb-loader/src/main/java/org/apache/openejb/loader/SystemInstance.java
+++ 
b/container/openejb-loader/src/main/java/org/apache/openejb/loader/SystemInstance.java
@@ -151,7 +151,6 @@ public final class SystemInstance {
             this.internalProperties.setProperty("tomee.mp.cdi.extensions", 
String.join(",", List.of(
                     "io.smallrye.config.inject.ConfigExtension",
                     "io.smallrye.faulttolerance.FaultToleranceExtension",
-                    "io.smallrye.metrics.legacyapi.LegacyMetricsExtension",
                     
"io.smallrye.opentelemetry.implementation.cdi.OpenTelemetryExtension",
                     
"org.apache.cxf.microprofile.client.cdi.RestClientExtension",
                     
"org.apache.tomee.microprofile.faulttolerance.MPFaultToleranceCDIExtension",
diff --git a/examples/pom.xml b/examples/pom.xml
index 48f18dd458..ddbe5eaa6e 100644
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -109,11 +109,6 @@
     <module>mp-faulttolerance-timeout</module>
     <module>mp-jwt-bean-validation</module>
     <module>mp-jwt-bean-validation-strongly-typed</module>
-    <module>mp-metrics-counted</module>
-    <module>mp-metrics-histogram</module>
-    <module>mp-metrics-timed</module>
-    <module>mp-metrics-gauge</module>
-    <module>mp-metrics-metered</module>
     <module>mp-rest-jwt-jwk</module>
     <module>mp-rest-jwt-principal</module>
     <module>mp-rest-jwt-public-key</module>
diff --git a/itests/tomee-microprofile-itests/pom.xml 
b/itests/tomee-microprofile-itests/pom.xml
index 4094835ab7..4eafe3091e 100644
--- a/itests/tomee-microprofile-itests/pom.xml
+++ b/itests/tomee-microprofile-itests/pom.xml
@@ -88,13 +88,6 @@
       <version>${version.microprofile.openapi}</version>
       <scope>compile</scope>
     </dependency>
-    <dependency>
-      <groupId>org.eclipse.microprofile.metrics</groupId>
-      <artifactId>microprofile-metrics-api</artifactId>
-      <version>${version.microprofile.metrics}</version>
-      <scope>compile</scope>
-    </dependency>
-
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-cxf-rs</artifactId>
diff --git 
a/itests/tomee-microprofile-itests/src/test/java/org/apache/tomee/microprofile/openapi/OpenApiTest.java
 
b/itests/tomee-microprofile-itests/src/test/java/org/apache/tomee/microprofile/openapi/OpenApiTest.java
index 5e4161d240..c2f04170b9 100644
--- 
a/itests/tomee-microprofile-itests/src/test/java/org/apache/tomee/microprofile/openapi/OpenApiTest.java
+++ 
b/itests/tomee-microprofile-itests/src/test/java/org/apache/tomee/microprofile/openapi/OpenApiTest.java
@@ -27,8 +27,6 @@ import org.apache.cxf.jaxrs.client.WebClient;
 import org.apache.johnzon.jaxrs.JohnzonProvider;
 import org.apache.tomee.server.composer.Archive;
 import org.apache.tomee.server.composer.TomEE;
-import org.eclipse.microprofile.metrics.MetricUnits;
-import org.eclipse.microprofile.metrics.annotation.Timed;
 import org.eclipse.microprofile.openapi.annotations.Operation;
 import org.eclipse.microprofile.openapi.annotations.media.Content;
 import org.eclipse.microprofile.openapi.annotations.media.Schema;
@@ -195,10 +193,6 @@ public class OpenApiTest {
                                        schema = @Schema(implementation = 
Properties.class)))})
         @Operation(summary = "Outputs a list of books",
                    description = "This method outputs a list of books")
-        @Timed(name = "get-all-books",
-               description = "Monitor the time getAll Method takes",
-               unit = MetricUnits.MILLISECONDS,
-               absolute = true)
         @GET
         @Path("/get")
         public String getId(@QueryParam( "id" ) Integer id) {
@@ -245,10 +239,6 @@ public class OpenApiTest {
                                        schema = @Schema(implementation = 
Properties.class)))})
         @Operation(summary = "Outputs a list of books",
                    description = "This method outputs a list of books")
-        @Timed(name = "get-all-books",
-               description = "Monitor the time getAll Method takes",
-               unit = MetricUnits.MILLISECONDS,
-               absolute = true)
         @GET
         @Path("/get")
         public String getId(@QueryParam( "id" ) Integer id);
diff --git a/pom.xml b/pom.xml
index 72b92d92f1..86906c83b9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -175,26 +175,23 @@
     <maven.compiler.target>17</maven.compiler.target>
 
     <maven.compiler.release>17</maven.compiler.release>
-    <version.micrometer>1.12.5</version.micrometer>
-    <!-- Micro Profile APIs (6.1)  -->
+    <!-- Micro Profile APIs (7.1)  -->
     <version.microprofile.config>3.1</version.microprofile.config>
-    
<version.microprofile.fault-tolerance>4.0.2</version.microprofile.fault-tolerance>
+    
<version.microprofile.fault-tolerance>4.1</version.microprofile.fault-tolerance>
     <version.microprofile.health>4.0.1</version.microprofile.health>
     <version.microprofile.jwt>2.1</version.microprofile.jwt>
-    <version.microprofile.metrics>5.1.0</version.microprofile.metrics>
-    <version.microprofile.openapi>3.1.2</version.microprofile.openapi>
-    
<version.microprofile.opentelemetry>1.1</version.microprofile.opentelemetry>
-    <version.microprofile.rest-client>3.0.1</version.microprofile.rest-client>
+    <version.microprofile.openapi>4.1</version.microprofile.openapi>
+    
<version.microprofile.opentelemetry>2.1</version.microprofile.opentelemetry>
+    <version.microprofile.rest-client>4.0</version.microprofile.rest-client>
 
     <version.io.opentracing>0.33.0</version.io.opentracing>
 
     <!-- Micro Profile Impl. -->
     <version.microprofile.impl.config>3.16.0</version.microprofile.impl.config>
-    
<version.microprofile.impl.fault-tolerance>6.4.3</version.microprofile.impl.fault-tolerance>
+    
<version.microprofile.impl.fault-tolerance>6.11.0</version.microprofile.impl.fault-tolerance>
     <version.microprofile.impl.health>4.0.4</version.microprofile.impl.health>
-    
<version.microprofile.impl.metrics>5.1.0</version.microprofile.impl.metrics>
-    
<version.microprofile.impl.openapi>3.13.0</version.microprofile.impl.openapi>
-    
<version.microprofile.impl.opentelemetry>2.7.0</version.microprofile.impl.opentelemetry>
+    
<version.microprofile.impl.openapi>4.2.4</version.microprofile.impl.openapi>
+    
<version.microprofile.impl.opentelemetry>2.11.2</version.microprofile.impl.opentelemetry>
 
     <!-- Jackson and snakeyaml required by OpenAPI Impl -->
     <version.jackson>2.21.1</version.jackson>
@@ -975,11 +972,6 @@
         <artifactId>microprofile-jwt-auth-api</artifactId>
         <version>${version.microprofile.jwt}</version>
       </dependency>
-      <dependency>
-        <groupId>org.eclipse.microprofile.metrics</groupId>
-        <artifactId>microprofile-metrics-api</artifactId>
-        <version>${version.microprofile.metrics}</version>
-      </dependency>
       <dependency>
         <groupId>org.eclipse.microprofile.openapi</groupId>
         <artifactId>microprofile-openapi-api</artifactId>
diff --git a/tck/microprofile-tck/fault-tolerance/pom.xml 
b/tck/microprofile-tck/fault-tolerance/pom.xml
index c2fdb8146b..69ea748821 100644
--- a/tck/microprofile-tck/fault-tolerance/pom.xml
+++ b/tck/microprofile-tck/fault-tolerance/pom.xml
@@ -111,13 +111,6 @@
       <version>${project.version}</version>
       <scope>provided</scope>
     </dependency>
-    <dependency>
-      <groupId>io.smallrye</groupId>
-      <artifactId>smallrye-metrics</artifactId>
-      <version>${version.microprofile.impl.metrics}</version>
-      <scope>provided</scope>
-    </dependency>
-
     <dependency>
       <groupId>${project.groupId}</groupId>
       <artifactId>apache-tomee</artifactId>
diff --git a/tck/microprofile-tck/opentelemetry/pom.xml 
b/tck/microprofile-tck/opentelemetry/logs/pom.xml
similarity index 78%
copy from tck/microprofile-tck/opentelemetry/pom.xml
copy to tck/microprofile-tck/opentelemetry/logs/pom.xml
index 64229e9307..2f7869b6d8 100644
--- a/tck/microprofile-tck/opentelemetry/pom.xml
+++ b/tck/microprofile-tck/opentelemetry/logs/pom.xml
@@ -19,13 +19,13 @@
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.apache.tomee</groupId>
-        <artifactId>microprofile-tck</artifactId>
+        <artifactId>microprofile-opentelemetry-tck</artifactId>
         <version>11.0.0-SNAPSHOT</version>
     </parent>
 
-    <artifactId>microprofile-opentelemetry-tck</artifactId>
+    <artifactId>microprofile-telemetry-logs-tck</artifactId>
 
-    <name>TomEE :: TCK :: MicroProfile Open Telemetry TCK</name>
+    <name>TomEE :: TCK :: MicroProfile Telemetry Logs TCK</name>
 
     <build>
         <plugins>
@@ -35,24 +35,8 @@
                 <configuration>
                     <reuseForks>false</reuseForks>
                     <dependenciesToScan>
-                        
<dependency>org.eclipse.microprofile.telemetry.tracing:microprofile-telemetry-tracing-tck</dependency>
+                        
<dependency>org.eclipse.microprofile.telemetry:microprofile-telemetry-logs-tck</dependency>
                     </dependenciesToScan>
-
-                    <excludes>
-                        <!--
-                         These tests pass on a local system but will fail on 
ASF Jenkins
-                              
org.eclipse.microprofile.telemetry.tracing.tck.async.MpRestClientAsyncTest.testIntegrationWithMpRestClientAsyncError
-                              
org.eclipse.microprofile.telemetry.tracing.tck.async.JaxRsClientAsyncTest.testIntegrationWithJaxRsClientError
-                        -->
-                        
<exclude>org.eclipse.microprofile.telemetry.tracing.tck.async.MpRestClientAsyncTest</exclude>
-                        
<exclude>org.eclipse.microprofile.telemetry.tracing.tck.async.JaxRsClientAsyncTest</exclude>
-
-                        <!-- Optional tests -->
-                        
<exclude>org.eclipse.microprofile.telemetry.tracing.tck.rest.JaegerPropagationTest</exclude>
-                        
<exclude>org.eclipse.microprofile.telemetry.tracing.tck.rest.B3MultiPropagationTest</exclude>
-                        
<exclude>org.eclipse.microprofile.telemetry.tracing.tck.rest.B3PropagationTest</exclude>
-                        
<exclude>org.eclipse.microprofile.telemetry.tracing.tck.async.JaxRsServerAsyncTest</exclude>
-                    </excludes>
                 </configuration>
             </plugin>
         </plugins>
@@ -99,8 +83,8 @@
     <dependencies>
 
         <dependency>
-            <groupId>org.eclipse.microprofile.telemetry.tracing</groupId>
-            <artifactId>microprofile-telemetry-tracing-tck</artifactId>
+            <groupId>org.eclipse.microprofile.telemetry</groupId>
+            <artifactId>microprofile-telemetry-logs-tck</artifactId>
             <version>${version.microprofile.opentelemetry}</version>
             <scope>test</scope>
         </dependency>
@@ -178,12 +162,6 @@
             <scope>test</scope>
         </dependency>
 
-        <dependency>
-            <groupId>io.opentelemetry</groupId>
-            <artifactId>opentelemetry-semconv</artifactId>
-            <version>1.20.1-alpha</version>
-        </dependency>
-
         <dependency>
             <groupId>org.apache.tomee</groupId>
             <artifactId>ziplock</artifactId>
@@ -191,6 +169,13 @@
             <scope>test</scope>
         </dependency>
 
+        <dependency>
+            <groupId>io.opentelemetry</groupId>
+            <artifactId>opentelemetry-exporter-logging</artifactId>
+            <version>1.49.0</version>
+            <scope>test</scope>
+        </dependency>
+
     </dependencies>
 
-</project>
\ No newline at end of file
+</project>
diff --git 
a/tck/microprofile-tck/opentelemetry/logs/src/test/conf/logging.properties 
b/tck/microprofile-tck/opentelemetry/logs/src/test/conf/logging.properties
new file mode 100644
index 0000000000..572b2d63a6
--- /dev/null
+++ b/tck/microprofile-tck/opentelemetry/logs/src/test/conf/logging.properties
@@ -0,0 +1,18 @@
+handlers = java.util.logging.FileHandler, 
1catalina.java.util.logging.FileHandler, java.util.logging.ConsoleHandler
+
+java.util.logging.FileHandler.pattern = /tmp/tomee-otel-logs-tck%g.log
+java.util.logging.FileHandler.limit = 0
+java.util.logging.FileHandler.count = 1
+java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
+java.util.logging.FileHandler.append = true
+java.util.logging.FileHandler.level = ALL
+
+1catalina.java.util.logging.FileHandler.level = FINE
+1catalina.java.util.logging.FileHandler.formatter = 
org.apache.juli.OneLineFormatter
+1catalina.java.util.logging.FileHandler.prefix = catalina.
+
+java.util.logging.ConsoleHandler.level = FINE
+java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
+
+io.opentelemetry.level = FINE
+io.opentelemetry.exporter.logging.level = FINE
diff --git 
a/tomee/tomee-microprofile/mp-common/src/main/java/org/apache/tomee/microprofile/metrics/MetricsFilterRegistration.java
 
b/tck/microprofile-tck/opentelemetry/logs/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/ArquillianExtension.java
similarity index 55%
rename from 
tomee/tomee-microprofile/mp-common/src/main/java/org/apache/tomee/microprofile/metrics/MetricsFilterRegistration.java
rename to 
tck/microprofile-tck/opentelemetry/logs/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/ArquillianExtension.java
index 8f4807660e..87a6a885dd 100644
--- 
a/tomee/tomee-microprofile/mp-common/src/main/java/org/apache/tomee/microprofile/metrics/MetricsFilterRegistration.java
+++ 
b/tck/microprofile-tck/opentelemetry/logs/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/ArquillianExtension.java
@@ -14,22 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.tomee.microprofile.metrics;
+package org.apache.tomee.microprofile.tck.opentelemetry;
 
-import io.smallrye.metrics.jaxrs.JaxRsMetricsFilter;
-import jakarta.ws.rs.container.DynamicFeature;
-import jakarta.ws.rs.container.ResourceInfo;
-import jakarta.ws.rs.core.FeatureContext;
-import jakarta.ws.rs.ext.Provider;
-import org.apache.openejb.loader.SystemInstance;
+import org.jboss.arquillian.core.spi.LoadableExtension;
 
-@Provider
-public class MetricsFilterRegistration implements DynamicFeature {
+public class ArquillianExtension implements LoadableExtension {
     @Override
-    public void configure(ResourceInfo resourceInfo, FeatureContext context) {
-        if 
("none".equals(SystemInstance.get().getOptions().get("tomee.mp.scan", "none"))) 
{
-            return;
-        }
-        context.register(JaxRsMetricsFilter.class);
+    public void register(ExtensionBuilder extensionBuilder) {
+        
extensionBuilder.observer(ArquillianLifecycle.class).observer(OpenTelemetryTCKDeploymentProcessor.class);
     }
-}
\ No newline at end of file
+}
diff --git 
a/tck/microprofile-tck/opentelemetry/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/ArquillianLifecycle.java
 
b/tck/microprofile-tck/opentelemetry/logs/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/ArquillianLifecycle.java
similarity index 99%
copy from 
tck/microprofile-tck/opentelemetry/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/ArquillianLifecycle.java
copy to 
tck/microprofile-tck/opentelemetry/logs/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/ArquillianLifecycle.java
index eaf13e761b..5925d17783 100644
--- 
a/tck/microprofile-tck/opentelemetry/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/ArquillianLifecycle.java
+++ 
b/tck/microprofile-tck/opentelemetry/logs/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/ArquillianLifecycle.java
@@ -26,4 +26,4 @@ public class ArquillianLifecycle {
     public void beforeDeploy(@Observes BeforeDeploy event, TestClass 
testClass) {
         GlobalOpenTelemetry.resetForTest();
     }
-}
\ No newline at end of file
+}
diff --git 
a/tck/microprofile-tck/opentelemetry/logs/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/OpenTelemetryTCKDeploymentProcessor.java
 
b/tck/microprofile-tck/opentelemetry/logs/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/OpenTelemetryTCKDeploymentProcessor.java
new file mode 100644
index 0000000000..e22bf4e4e3
--- /dev/null
+++ 
b/tck/microprofile-tck/opentelemetry/logs/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/OpenTelemetryTCKDeploymentProcessor.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.tomee.microprofile.tck.opentelemetry;
+
+import io.opentelemetry.exporter.logging.SystemOutLogRecordExporter;
+import org.apache.ziplock.JarLocation;
+import 
org.jboss.arquillian.container.spi.client.deployment.DeploymentDescription;
+import org.jboss.arquillian.container.spi.event.container.BeforeDeploy;
+import org.jboss.arquillian.core.api.annotation.Observes;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.asset.EmptyAsset;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+
+public class OpenTelemetryTCKDeploymentProcessor {
+
+    public void observeDeployment(@Observes final BeforeDeploy beforeDeploy) {
+        DeploymentDescription deployment = beforeDeploy.getDeployment();
+        Archive<?> testableArchive = deployment.getTestableArchive();
+        if (testableArchive != null) {
+            process(testableArchive);
+        } else {
+            process(deployment.getArchive());
+        }
+    }
+
+    private void process(Archive<?> archive) {
+        if (archive instanceof WebArchive webapp) {
+            webapp.addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml");
+            webapp.addClass(StdoutRedirectListener.class);
+            
webapp.addAsLibrary(JarLocation.jarLocation(SystemOutLogRecordExporter.class));
+        }
+    }
+}
diff --git 
a/tck/microprofile-tck/opentelemetry/logs/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/StdoutRedirectListener.java
 
b/tck/microprofile-tck/opentelemetry/logs/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/StdoutRedirectListener.java
new file mode 100644
index 0000000000..910e3e3211
--- /dev/null
+++ 
b/tck/microprofile-tck/opentelemetry/logs/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/StdoutRedirectListener.java
@@ -0,0 +1,62 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.tomee.microprofile.tck.opentelemetry;
+
+import jakarta.servlet.ServletContextEvent;
+import jakarta.servlet.ServletContextListener;
+import jakarta.servlet.annotation.WebListener;
+
+import java.io.FileOutputStream;
+import java.io.OutputStream;
+import java.io.PrintStream;
+
+@WebListener
+public class StdoutRedirectListener implements ServletContextListener {
+
+    @Override
+    public void contextInitialized(ServletContextEvent sce) {
+        String logFilePath = 
System.getProperty("mptelemetry.tck.log.file.path");
+        if (logFilePath != null) {
+            try {
+                final PrintStream original = System.out;
+                final OutputStream fileOut = new FileOutputStream(logFilePath, 
true);
+                PrintStream tee = new PrintStream(new OutputStream() {
+                    @Override
+                    public void write(int b) throws java.io.IOException {
+                        original.write(b);
+                        fileOut.write(b);
+                    }
+
+                    @Override
+                    public void write(byte[] b, int off, int len) throws 
java.io.IOException {
+                        original.write(b, off, len);
+                        fileOut.write(b, off, len);
+                    }
+
+                    @Override
+                    public void flush() throws java.io.IOException {
+                        original.flush();
+                        fileOut.flush();
+                    }
+                }, true);
+                System.setOut(tee);
+            } catch (Exception e) {
+                // ignore
+            }
+        }
+    }
+}
diff --git 
a/tck/microprofile-tck/opentelemetry/src/test/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension
 
b/tck/microprofile-tck/opentelemetry/logs/src/test/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension
similarity index 94%
copy from 
tck/microprofile-tck/opentelemetry/src/test/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension
copy to 
tck/microprofile-tck/opentelemetry/logs/src/test/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension
index 64afb3e3dc..6cd04885a7 100644
--- 
a/tck/microprofile-tck/opentelemetry/src/test/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension
+++ 
b/tck/microprofile-tck/opentelemetry/logs/src/test/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension
@@ -1 +1 @@
-org.apache.tomee.microprofile.tck.opentelemetry.ArquillianExtension
\ No newline at end of file
+org.apache.tomee.microprofile.tck.opentelemetry.ArquillianExtension
diff --git 
a/tck/microprofile-tck/opentelemetry/src/test/resources/arquillian.xml 
b/tck/microprofile-tck/opentelemetry/logs/src/test/resources/arquillian.xml
similarity index 97%
copy from tck/microprofile-tck/opentelemetry/src/test/resources/arquillian.xml
copy to 
tck/microprofile-tck/opentelemetry/logs/src/test/resources/arquillian.xml
index 07db9eafa8..8467d4ecac 100644
--- a/tck/microprofile-tck/opentelemetry/src/test/resources/arquillian.xml
+++ b/tck/microprofile-tck/opentelemetry/logs/src/test/resources/arquillian.xml
@@ -33,6 +33,7 @@
       <property name="appWorkingDir">target/workdir</property>
       <property name="cleanOnStartUp">true</property>
       <property name="properties">
+        mptelemetry.tck.log.file.path = /tmp/tomee-otel-logs-tck0.log
       </property>
     </configuration>
   </container>
diff --git a/tck/microprofile-tck/opentelemetry/pom.xml 
b/tck/microprofile-tck/opentelemetry/metrics/pom.xml
similarity index 78%
copy from tck/microprofile-tck/opentelemetry/pom.xml
copy to tck/microprofile-tck/opentelemetry/metrics/pom.xml
index 64229e9307..6c380355ab 100644
--- a/tck/microprofile-tck/opentelemetry/pom.xml
+++ b/tck/microprofile-tck/opentelemetry/metrics/pom.xml
@@ -19,13 +19,13 @@
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.apache.tomee</groupId>
-        <artifactId>microprofile-tck</artifactId>
+        <artifactId>microprofile-opentelemetry-tck</artifactId>
         <version>11.0.0-SNAPSHOT</version>
     </parent>
 
-    <artifactId>microprofile-opentelemetry-tck</artifactId>
+    <artifactId>microprofile-telemetry-metrics-tck</artifactId>
 
-    <name>TomEE :: TCK :: MicroProfile Open Telemetry TCK</name>
+    <name>TomEE :: TCK :: MicroProfile Telemetry Metrics TCK</name>
 
     <build>
         <plugins>
@@ -35,24 +35,11 @@
                 <configuration>
                     <reuseForks>false</reuseForks>
                     <dependenciesToScan>
-                        
<dependency>org.eclipse.microprofile.telemetry.tracing:microprofile-telemetry-tracing-tck</dependency>
+                        
<dependency>org.eclipse.microprofile.telemetry:microprofile-telemetry-metrics-tck</dependency>
                     </dependenciesToScan>
-
-                    <excludes>
-                        <!--
-                         These tests pass on a local system but will fail on 
ASF Jenkins
-                              
org.eclipse.microprofile.telemetry.tracing.tck.async.MpRestClientAsyncTest.testIntegrationWithMpRestClientAsyncError
-                              
org.eclipse.microprofile.telemetry.tracing.tck.async.JaxRsClientAsyncTest.testIntegrationWithJaxRsClientError
-                        -->
-                        
<exclude>org.eclipse.microprofile.telemetry.tracing.tck.async.MpRestClientAsyncTest</exclude>
-                        
<exclude>org.eclipse.microprofile.telemetry.tracing.tck.async.JaxRsClientAsyncTest</exclude>
-
-                        <!-- Optional tests -->
-                        
<exclude>org.eclipse.microprofile.telemetry.tracing.tck.rest.JaegerPropagationTest</exclude>
-                        
<exclude>org.eclipse.microprofile.telemetry.tracing.tck.rest.B3MultiPropagationTest</exclude>
-                        
<exclude>org.eclipse.microprofile.telemetry.tracing.tck.rest.B3PropagationTest</exclude>
-                        
<exclude>org.eclipse.microprofile.telemetry.tracing.tck.async.JaxRsServerAsyncTest</exclude>
-                    </excludes>
+                    <systemPropertyVariables>
+                        
<mptelemetry.tck.log.file.path>${project.build.directory}/tomee/apache-tomee-microprofile-11.0.0-SNAPSHOT/logs/otel-metrics.log</mptelemetry.tck.log.file.path>
+                    </systemPropertyVariables>
                 </configuration>
             </plugin>
         </plugins>
@@ -99,8 +86,8 @@
     <dependencies>
 
         <dependency>
-            <groupId>org.eclipse.microprofile.telemetry.tracing</groupId>
-            <artifactId>microprofile-telemetry-tracing-tck</artifactId>
+            <groupId>org.eclipse.microprofile.telemetry</groupId>
+            <artifactId>microprofile-telemetry-metrics-tck</artifactId>
             <version>${version.microprofile.opentelemetry}</version>
             <scope>test</scope>
         </dependency>
@@ -179,9 +166,16 @@
         </dependency>
 
         <dependency>
-            <groupId>io.opentelemetry</groupId>
+            <groupId>io.opentelemetry.semconv</groupId>
             <artifactId>opentelemetry-semconv</artifactId>
-            <version>1.20.1-alpha</version>
+            <version>1.32.0</version>
+        </dependency>
+
+        <dependency>
+            <groupId>io.opentelemetry</groupId>
+            <artifactId>opentelemetry-exporter-logging</artifactId>
+            <version>1.49.0</version>
+            <scope>test</scope>
         </dependency>
 
         <dependency>
@@ -193,4 +187,4 @@
 
     </dependencies>
 
-</project>
\ No newline at end of file
+</project>
diff --git 
a/tck/microprofile-tck/opentelemetry/metrics/src/test/conf/logging.properties 
b/tck/microprofile-tck/opentelemetry/metrics/src/test/conf/logging.properties
new file mode 100644
index 0000000000..b3ba6ec5f0
--- /dev/null
+++ 
b/tck/microprofile-tck/opentelemetry/metrics/src/test/conf/logging.properties
@@ -0,0 +1,18 @@
+handlers = java.util.logging.FileHandler, 
1catalina.java.util.logging.FileHandler, java.util.logging.ConsoleHandler
+
+java.util.logging.FileHandler.pattern = /tmp/tomee-otel-metrics-tck.log
+java.util.logging.FileHandler.limit = 50000000
+java.util.logging.FileHandler.count = 1
+java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
+java.util.logging.FileHandler.append = true
+java.util.logging.FileHandler.level = ALL
+
+1catalina.java.util.logging.FileHandler.level = FINE
+1catalina.java.util.logging.FileHandler.formatter = 
org.apache.juli.OneLineFormatter
+1catalina.java.util.logging.FileHandler.prefix = catalina.
+
+java.util.logging.ConsoleHandler.level = FINE
+java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
+
+io.opentelemetry.level = FINE
+io.opentelemetry.exporter.logging.level = FINE
diff --git 
a/tck/microprofile-tck/opentelemetry/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/ArquillianExtension.java
 
b/tck/microprofile-tck/opentelemetry/metrics/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/ArquillianExtension.java
similarity index 99%
copy from 
tck/microprofile-tck/opentelemetry/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/ArquillianExtension.java
copy to 
tck/microprofile-tck/opentelemetry/metrics/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/ArquillianExtension.java
index 2c42994ac9..87a6a885dd 100644
--- 
a/tck/microprofile-tck/opentelemetry/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/ArquillianExtension.java
+++ 
b/tck/microprofile-tck/opentelemetry/metrics/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/ArquillianExtension.java
@@ -23,4 +23,4 @@ public class ArquillianExtension implements LoadableExtension 
{
     public void register(ExtensionBuilder extensionBuilder) {
         
extensionBuilder.observer(ArquillianLifecycle.class).observer(OpenTelemetryTCKDeploymentProcessor.class);
     }
-}
\ No newline at end of file
+}
diff --git 
a/tck/microprofile-tck/opentelemetry/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/ArquillianLifecycle.java
 
b/tck/microprofile-tck/opentelemetry/metrics/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/ArquillianLifecycle.java
similarity index 99%
copy from 
tck/microprofile-tck/opentelemetry/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/ArquillianLifecycle.java
copy to 
tck/microprofile-tck/opentelemetry/metrics/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/ArquillianLifecycle.java
index eaf13e761b..5925d17783 100644
--- 
a/tck/microprofile-tck/opentelemetry/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/ArquillianLifecycle.java
+++ 
b/tck/microprofile-tck/opentelemetry/metrics/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/ArquillianLifecycle.java
@@ -26,4 +26,4 @@ public class ArquillianLifecycle {
     public void beforeDeploy(@Observes BeforeDeploy event, TestClass 
testClass) {
         GlobalOpenTelemetry.resetForTest();
     }
-}
\ No newline at end of file
+}
diff --git 
a/tck/microprofile-tck/opentelemetry/metrics/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/OpenTelemetryTCKDeploymentProcessor.java
 
b/tck/microprofile-tck/opentelemetry/metrics/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/OpenTelemetryTCKDeploymentProcessor.java
new file mode 100644
index 0000000000..6f7fa7f69b
--- /dev/null
+++ 
b/tck/microprofile-tck/opentelemetry/metrics/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/OpenTelemetryTCKDeploymentProcessor.java
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.tomee.microprofile.tck.opentelemetry;
+
+import io.opentelemetry.exporter.logging.LoggingMetricExporter;
+import org.apache.ziplock.JarLocation;
+import 
org.jboss.arquillian.container.spi.client.deployment.DeploymentDescription;
+import org.jboss.arquillian.container.spi.event.container.BeforeDeploy;
+import org.jboss.arquillian.core.api.annotation.Observes;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.asset.EmptyAsset;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+
+public class OpenTelemetryTCKDeploymentProcessor {
+
+    public void observeDeployment(@Observes final BeforeDeploy beforeDeploy) {
+        DeploymentDescription deployment = beforeDeploy.getDeployment();
+        Archive<?> testableArchive = deployment.getTestableArchive();
+        if (testableArchive != null) {
+            process(testableArchive);
+        } else {
+            process(deployment.getArchive());
+        }
+    }
+
+    private void process(Archive<?> archive) {
+        if (archive instanceof WebArchive webapp) {
+            webapp.addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml");
+            
webapp.addAsLibrary(JarLocation.jarLocation(LoggingMetricExporter.class));
+        }
+    }
+}
diff --git 
a/tck/microprofile-tck/opentelemetry/src/test/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension
 
b/tck/microprofile-tck/opentelemetry/metrics/src/test/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension
similarity index 94%
copy from 
tck/microprofile-tck/opentelemetry/src/test/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension
copy to 
tck/microprofile-tck/opentelemetry/metrics/src/test/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension
index 64afb3e3dc..6cd04885a7 100644
--- 
a/tck/microprofile-tck/opentelemetry/src/test/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension
+++ 
b/tck/microprofile-tck/opentelemetry/metrics/src/test/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension
@@ -1 +1 @@
-org.apache.tomee.microprofile.tck.opentelemetry.ArquillianExtension
\ No newline at end of file
+org.apache.tomee.microprofile.tck.opentelemetry.ArquillianExtension
diff --git 
a/tck/microprofile-tck/opentelemetry/src/test/resources/arquillian.xml 
b/tck/microprofile-tck/opentelemetry/metrics/src/test/resources/arquillian.xml
similarity index 97%
copy from tck/microprofile-tck/opentelemetry/src/test/resources/arquillian.xml
copy to 
tck/microprofile-tck/opentelemetry/metrics/src/test/resources/arquillian.xml
index 07db9eafa8..9e49793664 100644
--- a/tck/microprofile-tck/opentelemetry/src/test/resources/arquillian.xml
+++ 
b/tck/microprofile-tck/opentelemetry/metrics/src/test/resources/arquillian.xml
@@ -33,6 +33,7 @@
       <property name="appWorkingDir">target/workdir</property>
       <property name="cleanOnStartUp">true</property>
       <property name="properties">
+        mptelemetry.tck.log.file.path = /tmp/tomee-otel-metrics-tck.log
       </property>
     </configuration>
   </container>
diff --git a/tck/microprofile-tck/opentelemetry/pom.xml 
b/tck/microprofile-tck/opentelemetry/pom.xml
index 64229e9307..0dacf9f108 100644
--- a/tck/microprofile-tck/opentelemetry/pom.xml
+++ b/tck/microprofile-tck/opentelemetry/pom.xml
@@ -24,173 +24,14 @@
     </parent>
 
     <artifactId>microprofile-opentelemetry-tck</artifactId>
+    <packaging>pom</packaging>
 
-    <name>TomEE :: TCK :: MicroProfile Open Telemetry TCK</name>
+    <name>TomEE :: TCK :: MicroProfile Telemetry TCK</name>
 
-    <build>
-        <plugins>
-            <plugin>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <version>3.5.5</version>
-                <configuration>
-                    <reuseForks>false</reuseForks>
-                    <dependenciesToScan>
-                        
<dependency>org.eclipse.microprofile.telemetry.tracing:microprofile-telemetry-tracing-tck</dependency>
-                    </dependenciesToScan>
+    <modules>
+        <module>tracing</module>
+        <module>metrics</module>
+        <module>logs</module>
+    </modules>
 
-                    <excludes>
-                        <!--
-                         These tests pass on a local system but will fail on 
ASF Jenkins
-                              
org.eclipse.microprofile.telemetry.tracing.tck.async.MpRestClientAsyncTest.testIntegrationWithMpRestClientAsyncError
-                              
org.eclipse.microprofile.telemetry.tracing.tck.async.JaxRsClientAsyncTest.testIntegrationWithJaxRsClientError
-                        -->
-                        
<exclude>org.eclipse.microprofile.telemetry.tracing.tck.async.MpRestClientAsyncTest</exclude>
-                        
<exclude>org.eclipse.microprofile.telemetry.tracing.tck.async.JaxRsClientAsyncTest</exclude>
-
-                        <!-- Optional tests -->
-                        
<exclude>org.eclipse.microprofile.telemetry.tracing.tck.rest.JaegerPropagationTest</exclude>
-                        
<exclude>org.eclipse.microprofile.telemetry.tracing.tck.rest.B3MultiPropagationTest</exclude>
-                        
<exclude>org.eclipse.microprofile.telemetry.tracing.tck.rest.B3PropagationTest</exclude>
-                        
<exclude>org.eclipse.microprofile.telemetry.tracing.tck.async.JaxRsServerAsyncTest</exclude>
-                    </excludes>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-    <profiles>
-        <profile>
-            <id>mp-tck-all</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-surefire-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>tomee-plus</id>
-                                <goals>
-                                    <goal>test</goal>
-                                </goals>
-                                <configuration>
-                                    <systemPropertyVariables>
-                                        
<arquillian.launch>tomee-plus</arquillian.launch>
-                                    </systemPropertyVariables>
-                                </configuration>
-                            </execution>
-                            <execution>
-                                <id>tomee-plume</id>
-                                <goals>
-                                    <goal>test</goal>
-                                </goals>
-                                <configuration>
-                                    <systemPropertyVariables>
-                                        
<arquillian.launch>tomee-plume</arquillian.launch>
-                                    </systemPropertyVariables>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-
-    <dependencies>
-
-        <dependency>
-            <groupId>org.eclipse.microprofile.telemetry.tracing</groupId>
-            <artifactId>microprofile-telemetry-tracing-tck</artifactId>
-            <version>${version.microprofile.opentelemetry}</version>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.tomee</groupId>
-            <artifactId>jakartaee-api</artifactId>
-            <version>${version.jakartaee-api}</version>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.cxf</groupId>
-            <artifactId>cxf-rt-rs-client</artifactId>
-            <version>${version.cxf}</version>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.johnzon</groupId>
-            <artifactId>johnzon-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.johnzon</groupId>
-            <artifactId>johnzon-mapper</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.johnzon</groupId>
-            <artifactId>johnzon-jsonb</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.johnzon</groupId>
-            <artifactId>johnzon-jaxrs</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>apache-tomee</artifactId>
-            <version>${project.version}</version>
-            <type>zip</type>
-            <classifier>microprofile</classifier>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.testng</groupId>
-            <artifactId>testng</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>arquillian-tomee-remote</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.jboss.arquillian.testng</groupId>
-            <artifactId>arquillian-testng-container</artifactId>
-            <version>1.10.0.Final</version>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.eclipse.microprofile.config</groupId>
-            <artifactId>microprofile-config-api</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>io.smallrye.config</groupId>
-            <artifactId>smallrye-config-common</artifactId>
-            <version>${version.microprofile.impl.config}</version>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>io.opentelemetry</groupId>
-            <artifactId>opentelemetry-semconv</artifactId>
-            <version>1.20.1-alpha</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.tomee</groupId>
-            <artifactId>ziplock</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-
-    </dependencies>
-
-</project>
\ No newline at end of file
+</project>
diff --git a/tck/microprofile-tck/opentelemetry/pom.xml 
b/tck/microprofile-tck/opentelemetry/tracing/pom.xml
similarity index 94%
copy from tck/microprofile-tck/opentelemetry/pom.xml
copy to tck/microprofile-tck/opentelemetry/tracing/pom.xml
index 64229e9307..73aaebd624 100644
--- a/tck/microprofile-tck/opentelemetry/pom.xml
+++ b/tck/microprofile-tck/opentelemetry/tracing/pom.xml
@@ -19,13 +19,13 @@
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.apache.tomee</groupId>
-        <artifactId>microprofile-tck</artifactId>
+        <artifactId>microprofile-opentelemetry-tck</artifactId>
         <version>11.0.0-SNAPSHOT</version>
     </parent>
 
-    <artifactId>microprofile-opentelemetry-tck</artifactId>
+    <artifactId>microprofile-telemetry-tracing-tck</artifactId>
 
-    <name>TomEE :: TCK :: MicroProfile Open Telemetry TCK</name>
+    <name>TomEE :: TCK :: MicroProfile Telemetry Tracing TCK</name>
 
     <build>
         <plugins>
@@ -35,7 +35,7 @@
                 <configuration>
                     <reuseForks>false</reuseForks>
                     <dependenciesToScan>
-                        
<dependency>org.eclipse.microprofile.telemetry.tracing:microprofile-telemetry-tracing-tck</dependency>
+                        
<dependency>org.eclipse.microprofile.telemetry:microprofile-telemetry-tracing-tck</dependency>
                     </dependenciesToScan>
 
                     <excludes>
@@ -99,7 +99,7 @@
     <dependencies>
 
         <dependency>
-            <groupId>org.eclipse.microprofile.telemetry.tracing</groupId>
+            <groupId>org.eclipse.microprofile.telemetry</groupId>
             <artifactId>microprofile-telemetry-tracing-tck</artifactId>
             <version>${version.microprofile.opentelemetry}</version>
             <scope>test</scope>
@@ -179,9 +179,9 @@
         </dependency>
 
         <dependency>
-            <groupId>io.opentelemetry</groupId>
+            <groupId>io.opentelemetry.semconv</groupId>
             <artifactId>opentelemetry-semconv</artifactId>
-            <version>1.20.1-alpha</version>
+            <version>1.32.0</version>
         </dependency>
 
         <dependency>
@@ -193,4 +193,4 @@
 
     </dependencies>
 
-</project>
\ No newline at end of file
+</project>
diff --git 
a/tck/microprofile-tck/opentelemetry/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/ArquillianExtension.java
 
b/tck/microprofile-tck/opentelemetry/tracing/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/ArquillianExtension.java
similarity index 100%
rename from 
tck/microprofile-tck/opentelemetry/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/ArquillianExtension.java
rename to 
tck/microprofile-tck/opentelemetry/tracing/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/ArquillianExtension.java
diff --git 
a/tck/microprofile-tck/opentelemetry/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/ArquillianLifecycle.java
 
b/tck/microprofile-tck/opentelemetry/tracing/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/ArquillianLifecycle.java
similarity index 100%
rename from 
tck/microprofile-tck/opentelemetry/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/ArquillianLifecycle.java
rename to 
tck/microprofile-tck/opentelemetry/tracing/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/ArquillianLifecycle.java
diff --git 
a/tck/microprofile-tck/opentelemetry/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/OpenTelemetryTCKDeploymentProcessor.java
 
b/tck/microprofile-tck/opentelemetry/tracing/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/OpenTelemetryTCKDeploymentProcessor.java
similarity index 95%
rename from 
tck/microprofile-tck/opentelemetry/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/OpenTelemetryTCKDeploymentProcessor.java
rename to 
tck/microprofile-tck/opentelemetry/tracing/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/OpenTelemetryTCKDeploymentProcessor.java
index b4c6b9d500..6728988914 100644
--- 
a/tck/microprofile-tck/opentelemetry/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/OpenTelemetryTCKDeploymentProcessor.java
+++ 
b/tck/microprofile-tck/opentelemetry/tracing/src/test/java/org/apache/tomee/microprofile/tck/opentelemetry/OpenTelemetryTCKDeploymentProcessor.java
@@ -16,7 +16,7 @@
  */
 package org.apache.tomee.microprofile.tck.opentelemetry;
 
-import io.opentelemetry.semconv.trace.attributes.SemanticAttributes;
+import io.opentelemetry.semconv.HttpAttributes;
 import org.apache.xbean.asm9.ClassReader;
 import org.apache.xbean.asm9.ClassVisitor;
 import org.apache.xbean.asm9.ClassWriter;
@@ -49,7 +49,7 @@ public class OpenTelemetryTCKDeploymentProcessor {
 
     private void process(Archive<?> archive) {
         if (archive instanceof WebArchive webapp) {
-            
webapp.addAsLibrary(JarLocation.jarLocation(SemanticAttributes.class)) // 
required for some tck classes
+            webapp.addAsLibrary(JarLocation.jarLocation(HttpAttributes.class)) 
// required for some tck classes
                     .addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml");
 
             applyJaxRsClientAsyncTestVisibilityHack(webapp);
diff --git 
a/tck/microprofile-tck/opentelemetry/src/test/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension
 
b/tck/microprofile-tck/opentelemetry/tracing/src/test/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension
similarity index 100%
rename from 
tck/microprofile-tck/opentelemetry/src/test/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension
rename to 
tck/microprofile-tck/opentelemetry/tracing/src/test/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension
diff --git 
a/tck/microprofile-tck/opentelemetry/src/test/resources/arquillian.xml 
b/tck/microprofile-tck/opentelemetry/tracing/src/test/resources/arquillian.xml
similarity index 100%
rename from tck/microprofile-tck/opentelemetry/src/test/resources/arquillian.xml
rename to 
tck/microprofile-tck/opentelemetry/tracing/src/test/resources/arquillian.xml
diff --git a/tck/microprofile-tck/pom.xml b/tck/microprofile-tck/pom.xml
index bf4b8b29ef..53e4c1f6ae 100644
--- a/tck/microprofile-tck/pom.xml
+++ b/tck/microprofile-tck/pom.xml
@@ -33,7 +33,6 @@
     <module>config</module>
     <module>jwt</module>
     <module>health</module>
-    <module>metrics</module>
     <module>rest-client</module>
     <module>openapi</module>
     <module>fault-tolerance</module>
@@ -81,18 +80,6 @@
         <type>test-jar</type>
         <scope>test</scope>
       </dependency>
-      <dependency>
-        <groupId>org.eclipse.microprofile.metrics</groupId>
-        <artifactId>microprofile-metrics-api-tck</artifactId>
-        <version>${version.microprofile.metrics}</version>
-        <scope>test</scope>
-      </dependency>
-      <dependency>
-        <groupId>org.eclipse.microprofile.metrics</groupId>
-        <artifactId>microprofile-metrics-rest-tck</artifactId>
-        <version>${version.microprofile.metrics}</version>
-        <scope>test</scope>
-      </dependency>
       <dependency>
         <groupId>org.eclipse.microprofile.openapi</groupId>
         <artifactId>microprofile-openapi-tck</artifactId>
diff --git a/tomee/tomee-microprofile/mp-common/pom.xml 
b/tomee/tomee-microprofile/mp-common/pom.xml
index aea96e2728..cc8cc91a73 100644
--- a/tomee/tomee-microprofile/mp-common/pom.xml
+++ b/tomee/tomee-microprofile/mp-common/pom.xml
@@ -65,16 +65,6 @@
         <artifactId>smallrye-health</artifactId>
         <version>${version.microprofile.impl.health}</version>
       </dependency>
-      <dependency>
-        <groupId>io.smallrye</groupId>
-        <artifactId>smallrye-metrics-api</artifactId>
-        <version>${version.microprofile.impl.metrics}</version>
-      </dependency>
-      <dependency>
-        <groupId>io.smallrye</groupId>
-        <artifactId>smallrye-metrics</artifactId>
-        <version>${version.microprofile.impl.metrics}</version>
-      </dependency>
       <dependency>
         <groupId>io.smallrye</groupId>
         <artifactId>smallrye-open-api</artifactId>
@@ -145,11 +135,6 @@
       <artifactId>microprofile-jwt-auth-api</artifactId>
     </dependency>
 
-    <dependency>
-      <groupId>org.eclipse.microprofile.metrics</groupId>
-      <artifactId>microprofile-metrics-api</artifactId>
-    </dependency>
-
     <dependency>
       <groupId>org.eclipse.microprofile.openapi</groupId>
       <artifactId>microprofile-openapi-api</artifactId>
@@ -225,29 +210,6 @@
       </exclusions>
     </dependency>
 
-    <dependency>
-      <groupId>io.smallrye</groupId>
-      <artifactId>smallrye-metrics</artifactId>
-      <exclusions>
-        <exclusion>
-          <groupId>*</groupId>
-          <artifactId>microprofile-metrics-api</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-
-    <dependency>
-      <groupId>io.micrometer</groupId>
-      <artifactId>micrometer-core</artifactId>
-      <version>${version.micrometer}</version>
-    </dependency>
-
-    <dependency>
-      <groupId>io.micrometer</groupId>
-      <artifactId>micrometer-registry-prometheus</artifactId>
-      <version>${version.micrometer}</version>
-    </dependency>
-
     <dependency>
       <groupId>io.smallrye</groupId>
       <artifactId>smallrye-open-api</artifactId>
diff --git 
a/tomee/tomee-microprofile/mp-common/src/main/java/org/apache/tomee/microprofile/metrics/MicroProfileMetricsEndpoint.java
 
b/tomee/tomee-microprofile/mp-common/src/main/java/org/apache/tomee/microprofile/metrics/MicroProfileMetricsEndpoint.java
deleted file mode 100644
index 53a4a64884..0000000000
--- 
a/tomee/tomee-microprofile/mp-common/src/main/java/org/apache/tomee/microprofile/metrics/MicroProfileMetricsEndpoint.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tomee.microprofile.metrics;
-
-import io.smallrye.metrics.MetricsRequestHandler;
-import jakarta.inject.Inject;
-import jakarta.servlet.annotation.WebServlet;
-import jakarta.servlet.http.HttpServlet;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
-
-import java.io.IOException;
-import java.util.Collections;
-import java.util.stream.Stream;
-
-/**
- * This is not a JAXRS endpoint but a regular servlet because the Smallrye 
handler does the remaining job
- */
-@WebServlet(name = "metrics-servlet", urlPatterns = "/metrics/*")
-public class MicroProfileMetricsEndpoint extends HttpServlet {
-
-    @Inject
-    private MetricsRequestHandler metricsHandler;
-
-    @Override
-    protected void doOptions(final HttpServletRequest req, final 
HttpServletResponse resp) throws IOException {
-        doGet(req, resp);
-    }
-
-    @Override
-    protected void doGet(HttpServletRequest request, HttpServletResponse 
response) throws IOException {
-        final String requestPath = request.getContextPath().length() > 1
-                                   ? 
request.getRequestURI().substring(request.getContextPath().length())
-                                   : request.getRequestURI();
-        final String method = request.getMethod();
-        final Stream<String> acceptHeaders = 
Collections.list(request.getHeaders("Accept")).stream();
-
-        metricsHandler.handleRequest(requestPath, method, acceptHeaders, 
request.getParameterMap(), (status, message, headers) -> {
-            headers.forEach(response::addHeader);
-            response.setStatus(status);
-            response.getWriter().write(message);
-        });
-    }
-}
diff --git 
a/tomee/tomee-microprofile/mp-common/src/main/java/org/apache/tomee/microprofile/metrics/MicroProfileMetricsRegistration.java
 
b/tomee/tomee-microprofile/mp-common/src/main/java/org/apache/tomee/microprofile/metrics/MicroProfileMetricsRegistration.java
deleted file mode 100644
index 90575078cf..0000000000
--- 
a/tomee/tomee-microprofile/mp-common/src/main/java/org/apache/tomee/microprofile/metrics/MicroProfileMetricsRegistration.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- *     Licensed to the Apache Software Foundation (ASF) under one or more
- *     contributor license agreements.  See the NOTICE file distributed with
- *     this work for additional information regarding copyright ownership.
- *     The ASF licenses this file to You under the Apache License, Version 2.0
- *     (the "License"); you may not use this file except in compliance with
- *     the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *     Unless required by applicable law or agreed to in writing, software
- *     distributed under the License is distributed on an "AS IS" BASIS,
- *     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *     See the License for the specific language governing permissions and
- *     limitations under the License.
- */
-package org.apache.tomee.microprofile.metrics;
-
-import io.smallrye.metrics.jaxrs.JaxRsMetricsServletFilter;
-import jakarta.servlet.FilterRegistration;
-import jakarta.servlet.ServletContainerInitializer;
-import jakarta.servlet.ServletContext;
-import jakarta.servlet.ServletException;
-import jakarta.servlet.ServletRegistration;
-import org.apache.openejb.loader.SystemInstance;
-
-import java.util.Set;
-
-/**
- * Responsible for adding the SmallRye metrics filter in the chain to catch 
all servlet + JAX RS calls. It also
- * adds the Metrics servlet endpoint to render the results.
- *
- */
-// todo do we want to be so restrictive with the HandlesTypes annotation for 
@Path @ApplicationPath @Servlet ... ?
-public class MicroProfileMetricsRegistration implements 
ServletContainerInitializer {
-
-    @Override
-    public void onStartup(final Set<Class<?>> classes, final ServletContext 
ctx) throws ServletException {
-        if 
("none".equals(SystemInstance.get().getOptions().get("tomee.mp.scan", "none"))) 
{
-            return;
-        }
-
-        final FilterRegistration.Dynamic metricsServletFilter = 
ctx.addFilter("mp-metrics-filter", JaxRsMetricsServletFilter.class);
-        metricsServletFilter.setAsyncSupported(true);
-        metricsServletFilter.addMappingForUrlPatterns(null, false, "/*");
-
-        final ServletRegistration.Dynamic servletRegistration = 
ctx.addServlet("mp-metrics-servlet", MicroProfileMetricsEndpoint.class);
-        servletRegistration.addMapping("/metrics/*");
-    }
-
-}
\ No newline at end of file
diff --git 
a/tomee/tomee-microprofile/mp-common/src/main/java/org/apache/tomee/microprofile/metrics/VendorMetrics.java
 
b/tomee/tomee-microprofile/mp-common/src/main/java/org/apache/tomee/microprofile/metrics/VendorMetrics.java
deleted file mode 100644
index cc06ddeca9..0000000000
--- 
a/tomee/tomee-microprofile/mp-common/src/main/java/org/apache/tomee/microprofile/metrics/VendorMetrics.java
+++ /dev/null
@@ -1,263 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tomee.microprofile.metrics;
-
-import io.smallrye.metrics.SharedMetricRegistries;
-import io.smallrye.metrics.legacyapi.LegacyMetricRegistryAdapter;
-import 
org.apache.openejb.assembler.classic.event.AssemblerAfterApplicationCreated;
-import org.apache.openejb.loader.SystemInstance;
-import org.apache.openejb.observer.Observes;
-import org.apache.openejb.util.Join;
-import org.eclipse.microprofile.metrics.Metadata;
-import org.eclipse.microprofile.metrics.MetricRegistry;
-
-import javax.management.AttributeList;
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanInfo;
-import javax.management.MBeanServer;
-import javax.management.MalformedObjectNameException;
-import javax.management.ObjectInstance;
-import javax.management.ObjectName;
-import java.lang.management.ManagementFactory;
-import java.util.*;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import java.util.stream.Collectors;
-
-/**
- * This class exposes various vendor-specific metrics
- * Our vendor specific stuff typically lives in openejb.management in JMX
- * We have a slight issue that it doesn't look like we
- * can tie it back to application (at the moment at least),
- * so we probably just need to scrape everything each time.
- */
-public class VendorMetrics {
-
-    private static final Logger LOGGER = 
Logger.getLogger(VendorMetrics.class.getName());
-
-    public void afterApplicationDeployed(@Observes 
AssemblerAfterApplicationCreated event) {
-        if 
("none".equals(SystemInstance.get().getOptions().get("tomee.mp.scan", "none"))) 
{
-            return;
-        }
-
-        final MetricRegistry registry = 
SharedMetricRegistries.getOrCreate(MetricRegistry.VENDOR_SCOPE);
-
-        if (! (registry instanceof LegacyMetricRegistryAdapter)) {
-            return;
-        }
-
-        final MBeanServer platformMBeanServer = 
ManagementFactory.getPlatformMBeanServer();
-        final Set<ObjectInstance> objectInstances;
-
-        try {
-            objectInstances = platformMBeanServer.queryMBeans(new 
ObjectName("openejb.management:*"), null);
-        } catch (MalformedObjectNameException e) {
-            LOGGER.severe("Unable to read MBeans under openejb.management");
-            return;
-        }
-
-        for (final ObjectInstance objectInstance : objectInstances) {
-            final ObjectName objectName = objectInstance.getObjectName();
-            LOGGER.info("Adding vendor metrics for " + objectName);
-            LOGGER.info("Class name: " + objectInstance.getClassName());
-
-            final List<String> nameParts = new ArrayList<>();
-
-            if (objectName.getKeyProperty("ObjectType") != null) {
-                nameParts.add(objectName.getKeyProperty("ObjectType"));
-                if (objectName.getKeyProperty("DataSource") != null) {
-                    nameParts.add(objectName.getKeyProperty("DataSource"));
-                }
-            } else if (objectName.getKeyProperty("j2eeType") != null) {
-                nameParts.add(objectName.getKeyProperty("j2eeType"));
-                if (objectName.getKeyProperty("name") != null) {
-                    nameParts.add(objectName.getKeyProperty("name"));
-                }
-            }
-
-            final String metricName = Join.join("_", nameParts);
-
-            try {
-                final MBeanInfo mBeanInfo = 
platformMBeanServer.getMBeanInfo(objectName);
-                final JMXInfo jmxInfo = JMXInfo.from(objectName, mBeanInfo);
-
-                jmxInfo.configureMetrics(registry, metricName);
-
-            } catch (Exception e) {
-                LOGGER.log(Level.SEVERE, "Unable to configure metrics for " + 
objectName, e);
-            }
-        }
-    }
-
-
-    private static class JMXInfo {
-        private final ObjectName objectName;
-        private long lastUpdated = 0;
-        private Map<String, JMXAttribute> attributeMap = new HashMap<>();
-
-        private JMXInfo(ObjectName objectName) {
-            this.objectName = objectName;
-        }
-
-        public static JMXInfo from(final ObjectName objectName, final 
MBeanInfo info) {
-
-            final List<JMXAttribute> attributes = 
Arrays.stream(info.getAttributes())
-                    .filter(a -> JMXAttribute.getType(a.getType()) != null)
-                    .map(a -> JMXAttribute.from(a))
-                    .collect(Collectors.toList());
-
-
-            final JMXInfo jmxInfo = new JMXInfo(objectName);
-            attributes.forEach(a -> {
-                jmxInfo.attributeMap.put(a.getAttributeName(), a);
-            });
-
-            return jmxInfo;
-        }
-
-        public synchronized void update() {
-            final long timeNow = System.currentTimeMillis();
-
-            // try not to hammer JMX, maybe make this configurable?
-            if ((timeNow - lastUpdated) < 5000) {
-                return;
-            }
-
-            final MBeanServer platformMBeanServer = 
ManagementFactory.getPlatformMBeanServer();
-            final String[] attributeNames = attributeMap.keySet().toArray(new 
String[0]);
-            final AttributeList attributes;
-
-            try {
-                attributes = platformMBeanServer.getAttributes(objectName, 
attributeNames);
-            } catch (Exception e) {
-                LOGGER.log(Level.SEVERE, "Unable to read metrics from JMX", e);
-                return;
-            }
-
-            attributes.asList().forEach(a -> {
-                final String name = a.getName();
-                final Object value = a.getValue();
-
-                if (! Number.class.isInstance(value)) {
-                    // Log?
-                    return;
-                }
-
-                final JMXAttribute jmxAttribute = attributeMap.get(name);
-                if (jmxAttribute == null) {
-                    return;
-                }
-
-                jmxAttribute.setCurrentValue(Number.class.cast(value));
-            });
-
-            lastUpdated = timeNow;
-        }
-
-        public Double get(final String attributeName) {
-            update();
-
-            final JMXAttribute jmxAttribute = attributeMap.get(attributeName);
-            if (jmxAttribute == null) {
-                throw new IllegalArgumentException("Attribute name: " + 
attributeName + " not known");
-            }
-
-            return jmxAttribute.toDouble();
-        }
-
-        public void configureMetrics(final MetricRegistry registry, final 
String metricName) {
-            attributeMap.values().forEach(a -> {
-                ((LegacyMetricRegistryAdapter) registry).counter(
-                    Metadata
-                        .builder()
-                        .withName(metricName + "_" + a.getAttributeName())
-                        .build(),
-                    a.getType(),
-                    value -> get(a.attributeName)
-                );
-            });
-        }
-    }
-
-    private static class JMXAttribute<T extends Number> {
-        private final String attributeName;
-        private final Class<T> type;
-        private T currentValue;
-
-        public JMXAttribute(String attributeName, Class<T> type) {
-            this.attributeName = attributeName;
-            this.type = type;
-        }
-
-        public static JMXAttribute from(final MBeanAttributeInfo 
attributeInfo) {
-            final String name = attributeInfo.getName();
-            final Class<? extends Number> t = 
JMXAttribute.getType(attributeInfo.getType());
-
-            if (name == null || t == null) {
-                throw new IllegalArgumentException("Class and type must be 
specified");
-            }
-
-            return new JMXAttribute(name, t);
-        }
-
-        public String getAttributeName() {
-            return attributeName;
-        }
-
-        public Class<T> getType() {
-            return type;
-        }
-
-        public T getCurrentValue() {
-            return currentValue;
-        }
-
-        public void setCurrentValue(T currentValue) {
-            this.currentValue = currentValue;
-        }
-
-        public Double toDouble() {
-            if (currentValue == null) {
-                return Double.NaN;
-            }
-
-            return currentValue.doubleValue();
-        }
-
-        @Override
-        public String toString() {
-            return attributeName + "(" + type.getName() + "): " + currentValue;
-        }
-
-        public static Class<? extends Number> getType(final String type) {
-            if ("int".equals(type)) {
-                return Integer.class;
-            }
-            if ("long".equals(type)) {
-                return Long.class;
-            }
-            if ("float".equals(type)) {
-                return Float.class;
-            }
-            if ("double".equals(type)) {
-                return Double.class;
-            }
-
-            return null;
-        }
-    }
-}
diff --git 
a/tomee/tomee-microprofile/mp-common/src/main/resources/META-INF/org.apache.openejb.extension
 
b/tomee/tomee-microprofile/mp-common/src/main/resources/META-INF/org.apache.openejb.extension
deleted file mode 100644
index e4b4089001..0000000000
--- 
a/tomee/tomee-microprofile/mp-common/src/main/resources/META-INF/org.apache.openejb.extension
+++ /dev/null
@@ -1 +0,0 @@
-org.apache.tomee.microprofile.metrics.VendorMetrics
\ No newline at end of file
diff --git 
a/tomee/tomee-microprofile/mp-common/src/main/resources/META-INF/services/jakarta.servlet.ServletContainerInitializer
 
b/tomee/tomee-microprofile/mp-common/src/main/resources/META-INF/services/jakarta.servlet.ServletContainerInitializer
index ccc38a2e9c..e2fe588eb1 100644
--- 
a/tomee/tomee-microprofile/mp-common/src/main/resources/META-INF/services/jakarta.servlet.ServletContainerInitializer
+++ 
b/tomee/tomee-microprofile/mp-common/src/main/resources/META-INF/services/jakarta.servlet.ServletContainerInitializer
@@ -1,2 +1 @@
-org.apache.tomee.microprofile.metrics.MicroProfileMetricsRegistration
 org.apache.tomee.microprofile.openapi.MicroProfileOpenApiRegistration
\ No newline at end of file

Reply via email to