1+ /*
2+ * Copyright The OpenTelemetry Authors
3+ * SPDX-License-Identifier: Apache-2.0
4+ */
5+
16package io .opentelemetry .instrumentation .jmx .rules ;
27
8+ import static io .opentelemetry .instrumentation .jmx .rules .assertions .DataPointAttributes .attribute ;
9+ import static io .opentelemetry .instrumentation .jmx .rules .assertions .DataPointAttributes .attributeGroup ;
10+
11+ import io .opentelemetry .instrumentation .jmx .rules .assertions .AttributeMatcher ;
12+ import io .opentelemetry .instrumentation .jmx .rules .assertions .AttributeMatcherGroup ;
313import java .time .Duration ;
414import java .util .ArrayList ;
515import java .util .Collections ;
616import java .util .List ;
7- import io .opentelemetry .instrumentation .jmx .rules .assertions .AttributeMatcher ;
8- import io .opentelemetry .instrumentation .jmx .rules .assertions .AttributeMatcherGroup ;
917import org .junit .jupiter .params .ParameterizedTest ;
1018import org .junit .jupiter .params .provider .ValueSource ;
1119import org .testcontainers .containers .GenericContainer ;
1220import org .testcontainers .containers .wait .strategy .Wait ;
1321
14- import static io .opentelemetry .instrumentation .jmx .rules .assertions .DataPointAttributes .attribute ;
15- import static io .opentelemetry .instrumentation .jmx .rules .assertions .DataPointAttributes .attributeGroup ;
16-
1722public class WildflyTest extends TargetSystemTest {
1823
1924 private static final int WILDFLY_SERVICE_PORT = 8080 ;
@@ -29,11 +34,12 @@ public void testWildflyMetrics(String dockerImage) {
2934 jvmArgs .add (javaAgentJvmArgument ());
3035 jvmArgs .addAll (javaPropertiesToJvmArgs (otelConfigProperties (yamlFiles )));
3136
32- GenericContainer <?> target = new GenericContainer <>(dockerImage )
33- .withStartupTimeout (Duration .ofMinutes (2 ))
34- .withExposedPorts (WILDFLY_SERVICE_PORT )
35- .withEnv ("JAVA_TOOL_OPTIONS" , String .join (" " , jvmArgs ))
36- .waitingFor (Wait .forListeningPorts (WILDFLY_SERVICE_PORT ));
37+ GenericContainer <?> target =
38+ new GenericContainer <>(dockerImage )
39+ .withStartupTimeout (Duration .ofMinutes (2 ))
40+ .withExposedPorts (WILDFLY_SERVICE_PORT )
41+ .withEnv ("JAVA_TOOL_OPTIONS" , String .join (" " , jvmArgs ))
42+ .waitingFor (Wait .forListeningPorts (WILDFLY_SERVICE_PORT ));
3743
3844 copyAgentToTarget (target );
3945 copyYamlFilesToTarget (target , yamlFiles );
@@ -46,10 +52,10 @@ public void testWildflyMetrics(String dockerImage) {
4652
4753 private static MetricsVerifier createMetricsVerifier () {
4854 AttributeMatcher deploymentAttribute = attribute ("wildfly.deployment" , "testapp.war" );
49- AttributeMatcherGroup serverListenerAttributes = attributeGroup (
50- attribute ("wildfly.server " , "default-server" ),
51- attribute ( "wildfly.listener" , "default" ));
52- // AttributeMatcher datasourceAttribute = attribute("data_sourcedata_source", "ExampleDS" );
55+ AttributeMatcher serverAttribute = attribute ( "wildfly.server" , "default-server" );
56+ AttributeMatcher listenerAttribute = attribute ("wildfly.listener " , "default" );
57+ AttributeMatcherGroup serverListenerAttributes =
58+ attributeGroup ( serverAttribute , listenerAttribute );
5359
5460 return MetricsVerifier .create ()
5561 // session metrics
@@ -86,25 +92,46 @@ private static MetricsVerifier createMetricsVerifier() {
8692 .hasUnit ("{session}" )
8793 .hasDataPointsWithOneAttribute (deploymentAttribute ))
8894 // request metrics
89- .add ("wildfly.request.count" , metric ->
90- metric
91- .isCounter ()
92- .hasDescription ("The number of requests received." )
93- .hasUnit ("{request}" )
94- .hasDataPointsWithAttributes (serverListenerAttributes ))
95- .add ("wildfly.request.duration.sum" , metric ->
96- metric
97- .isCounter ()
98- .hasDescription ("The total amount of time spent processing requests." )
99- .hasUnit ("s" )
100- .hasDataPointsWithAttributes (serverListenerAttributes ))
101- .add ("wildfly.error.count" , metric ->
102- metric
103- .isCounter ()
104- .hasDescription ("The number of requests that have resulted in a 5xx response." )
105- .hasUnit ("{request}" )
106- .hasDataPointsWithAttributes (serverListenerAttributes ))
107-
108- ;
95+ .add (
96+ "wildfly.request.count" ,
97+ metric ->
98+ metric
99+ .isCounter ()
100+ .hasDescription ("The number of requests received." )
101+ .hasUnit ("{request}" )
102+ .hasDataPointsWithAttributes (serverListenerAttributes ))
103+ .add (
104+ "wildfly.request.duration.sum" ,
105+ metric ->
106+ metric
107+ .isCounter ()
108+ .hasDescription ("The total amount of time spent processing requests." )
109+ .hasUnit ("s" )
110+ .hasDataPointsWithAttributes (serverListenerAttributes ))
111+ .add (
112+ "wildfly.error.count" ,
113+ metric ->
114+ metric
115+ .isCounter ()
116+ .hasDescription ("The number of requests that have resulted in a 5xx response." )
117+ .hasUnit ("{request}" )
118+ .hasDataPointsWithAttributes (serverListenerAttributes ))
119+ // network io metrics
120+ .add (
121+ "wildfly.network.io" ,
122+ metric ->
123+ metric
124+ .hasDescription ("Total number of bytes transferred" )
125+ .hasUnit ("By" )
126+ .isCounter ()
127+ .hasDataPointsWithAttributes (
128+ attributeGroup (
129+ attribute ("network.io.direction" , "receive" ),
130+ serverAttribute ,
131+ listenerAttribute ),
132+ attributeGroup (
133+ attribute ("network.io.direction" , "transmit" ),
134+ serverAttribute ,
135+ listenerAttribute )));
109136 }
110137}
0 commit comments