-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WFLY-19351] Add Micrometer test to verify that applications with shared metrics names are not merged when exported #17898
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jasondlee I made a bunch of code style comments but the substantive change LGTM.
...ile/src/test/java/org/wildfly/test/integration/observability/container/PrometheusMetric.java
Show resolved
Hide resolved
...org/wildfly/test/integration/observability/micrometer/MicrometerOtelIntegrationTestCase.java
Outdated
Show resolved
Hide resolved
...ava/org/wildfly/test/integration/observability/micrometer/multiple/BaseMultipleTestCase.java
Show resolved
Hide resolved
...ava/org/wildfly/test/integration/observability/micrometer/multiple/BaseMultipleTestCase.java
Outdated
Show resolved
Hide resolved
...ava/org/wildfly/test/integration/observability/micrometer/multiple/BaseMultipleTestCase.java
Outdated
Show resolved
Hide resolved
...java/org/wildfly/test/integration/observability/micrometer/multiple/MultipleWarTestCase.java
Show resolved
Hide resolved
...java/org/wildfly/test/integration/observability/micrometer/multiple/MultipleWarTestCase.java
Outdated
Show resolved
Hide resolved
...test/integration/observability/micrometer/multiple/application/DuplicateMetricResource1.java
Show resolved
Hide resolved
...test/integration/observability/micrometer/multiple/application/DuplicateMetricResource2.java
Show resolved
Hide resolved
.../wildfly/test/integration/observability/micrometer/multiple/application/TestApplication.java
Show resolved
Hide resolved
Thanks. I'll get these updated as soon as I can. |
@bstansberry All changes should be address 'cept for the import order. Those have been updated, but I'll wait to resolve those until I can confirm I have the right order. :) |
bbec34b
to
c939c38
Compare
@jasondlee I'm withdrawing my approval because the tests are failing.
@bstansberry You're so picky. :) I've been reworking the tests so they should be more stable. Will be pushing an update "soon" |
496bc27
to
8bd50a0
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jasondlee There are new missing header issues and import reordering issues.
...profile/src/test/java/org/wildfly/test/integration/observability/TestContainersEnricher.java
Outdated
Show resolved
Hide resolved
...profile/src/test/java/org/wildfly/test/integration/observability/TestContainersEnricher.java
Outdated
Show resolved
Hide resolved
...profile/src/test/java/org/wildfly/test/integration/observability/TestContainersEnricher.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@darranl This LGTM but I put the 'hold' label on it with the idea that until we tag 33 Beta you can decide whether to merge or let it wait for the tag.
@jasondlee Until merged, perhaps do a retest every now and then
96638c1
to
94b7b78
Compare
import org.wildfly.test.integration.observability.micrometer.multiple.application.TestApplication; | ||
|
||
public class MultipleWarTestCase extends BaseMultipleTestCase { | ||
@Deployment(name = SERVICE_ONE, order = 1) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
add 'testable=false' to this to avoid this stuff in the logs:
2024-07-09 19:14:48,680 WARN [org.jboss.modules.define] (Weld Thread Pool -- 2) Failed to define class org.wildfly.test.integration.observability.micrometer.multiple.MultipleWarTestCase in Module "deployment.service-one.war" from Service Module Loader: java.lang.NoClassDefFoundError: Failed to link org/wildfly/test/integration/observability/micrometer/multiple/MultipleWarTestCase (Module "deployment.service-one.war" from Service Module Loader): org/wildfly/test/integration/observability/micrometer/multiple/BaseMultipleTestCase
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1022)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1101)
at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:351)
at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:482)
at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:276)
at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:79)
at org.jboss.modules.Module.loadModuleClass(Module.java:798)
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:192)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:408)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:396)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:115)
at org.jboss.as.weld@33.0.0.Final-SNAPSHOT//org.jboss.as.weld.WeldModuleResourceLoader.classForName(WeldModuleResourceLoader.java:51)
at org.jboss.weld.core@5.1.2.Final//org.jboss.weld.bootstrap.AnnotatedTypeLoader.loadClass(AnnotatedTypeLoader.java:86)
at org.jboss.weld.core@5.1.2.Final//org.jboss.weld.bootstrap.AnnotatedTypeLoader.loadAnnotatedType(AnnotatedTypeLoader.java:65)
at org.jboss.weld.core@5.1.2.Final//org.jboss.weld.bootstrap.FastAnnotatedTypeLoader.loadAnnotatedType(FastAnnotatedTypeLoader.java:112)
at org.jboss.weld.core@5.1.2.Final//org.jboss.weld.bootstrap.BeanDeployer.addClass(BeanDeployer.java:87)
at org.jboss.weld.core@5.1.2.Final//org.jboss.weld.bootstrap.ConcurrentBeanDeployer$1.doWork(ConcurrentBeanDeployer.java:55)
at org.jboss.weld.core@5.1.2.Final//org.jboss.weld.bootstrap.ConcurrentBeanDeployer$1.doWork(ConcurrentBeanDeployer.java:52)
at org.jboss.weld.core@5.1.2.Final//org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:62)
at org.jboss.weld.core@5.1.2.Final//org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:55)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.JBossThread.run(JBossThread.java:513)
Caused by: java.lang.ClassNotFoundException: org.wildfly.test.integration.observability.micrometer.multiple.BaseMultipleTestCase from [Module "deployment.service-one.war" from Service Module Loader]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:200)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:408)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:396)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:115)
... 26 more
|
||
} | ||
|
||
@Deployment(name = SERVICE_TWO, order = 2) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
add 'testable=false' to this to avoid this stuff in the logs:
2024-07-09 19:14:49,030 WARN [org.jboss.modules.define] (Weld Thread Pool -- 2) Failed to define class org.wildfly.test.integration.observability.micrometer.multiple.MultipleWarTestCase in Module "deployment.service-two.war" from Service Module Loader: java.lang.NoClassDefFoundError: Failed to link org/wildfly/test/integration/observability/micrometer/multiple/MultipleWarTestCase (Module "deployment.service-two.war" from Service Module Loader): org/wildfly/test/integration/observability/micrometer/multiple/BaseMultipleTestCase
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1022)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1101)
at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:351)
at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:482)
at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:276)
at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:79)
at org.jboss.modules.Module.loadModuleClass(Module.java:798)
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:192)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:408)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:396)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:115)
at org.jboss.as.weld@33.0.0.Final-SNAPSHOT//org.jboss.as.weld.WeldModuleResourceLoader.classForName(WeldModuleResourceLoader.java:51)
at org.jboss.weld.core@5.1.2.Final//org.jboss.weld.bootstrap.AnnotatedTypeLoader.loadClass(AnnotatedTypeLoader.java:86)
at org.jboss.weld.core@5.1.2.Final//org.jboss.weld.bootstrap.AnnotatedTypeLoader.loadAnnotatedType(AnnotatedTypeLoader.java:65)
at org.jboss.weld.core@5.1.2.Final//org.jboss.weld.bootstrap.FastAnnotatedTypeLoader.loadAnnotatedType(FastAnnotatedTypeLoader.java:112)
at org.jboss.weld.core@5.1.2.Final//org.jboss.weld.bootstrap.BeanDeployer.addClass(BeanDeployer.java:87)
at org.jboss.weld.core@5.1.2.Final//org.jboss.weld.bootstrap.ConcurrentBeanDeployer$1.doWork(ConcurrentBeanDeployer.java:55)
at org.jboss.weld.core@5.1.2.Final//org.jboss.weld.bootstrap.ConcurrentBeanDeployer$1.doWork(ConcurrentBeanDeployer.java:52)
at org.jboss.weld.core@5.1.2.Final//org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:62)
at org.jboss.weld.core@5.1.2.Final//org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:55)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.JBossThread.run(JBossThread.java:513)
Caused by: java.lang.ClassNotFoundException: org.wildfly.test.integration.observability.micrometer.multiple.BaseMultipleTestCase from [Module "deployment.service-two.war" from Service Module Loader]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:200)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:408)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:396)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:115)
... 26 more
…red metrics names are not merged when exported Add test with multiple war deployments Add test with ear with multiple war subdeployments Rework how Prometheus metrics are retrieved and handled Add test to verify that metrics with identical names are exported separately Add a TestEnricher to manage lifecycle and injection of the Otel container
https://issues.redhat.com/browse/WFLY-19351
Add test with multiple war deployments
Add test with ear with multiple war subdeployments
Rework how Prometheus metrics are retrieved and handled
Add test to verify that metrics with identical names are exported separately
More information about the wildfly-bot[bot]