1111import io .opentelemetry .instrumentation .jmx .rules .assertions .AttributeMatcherGroup ;
1212import java .time .Duration ;
1313import java .util .ArrayList ;
14+ import java .util .Arrays ;
1415import java .util .Collections ;
16+ import java .util .HashSet ;
1517import java .util .List ;
18+ import java .util .Set ;
1619import org .junit .jupiter .params .ParameterizedTest ;
1720import org .junit .jupiter .params .provider .ValueSource ;
1821import org .testcontainers .containers .GenericContainer ;
@@ -35,13 +38,13 @@ void testCollectedMetrics(int jettyMajorVersion) {
3538 jvmArgs .add (javaAgentJvmArgument ());
3639 jvmArgs .addAll (javaPropertiesToJvmArgs (otelConfigProperties (yamlFiles )));
3740
38- String jettyModules = "jmx, http," ;
41+ Set < String > jettyModules = new HashSet <>( Arrays . asList ( "jmx" , " http" )) ;
3942 if (jettyMajorVersion >= 12 ) {
40- jettyModules += "statistics" ;
43+ jettyModules . add ( "statistics" ) ;
4144 } else {
42- jettyModules += "stats" ;
45+ jettyModules . add ( "stats" ) ;
4346 }
44- String addModulesArg = "--add-to-startd=" + jettyModules ;
47+ String addModulesArg = "--add-to-startd=" + String . join ( "," , jettyModules ) ;
4548
4649 GenericContainer <?> container =
4750 new GenericContainer <>(
@@ -132,7 +135,31 @@ private static MetricsVerifier createMetricsVerifier(int jettyMajorVersion) {
132135 attributeWithAnyValue ("jetty.selector.id" ),
133136 attributeWithAnyValue ("jetty.selector.context" ))));
134137
135- if (jettyMajorVersion < 12 ) {
138+ if (jettyMajorVersion >= 12 ) {
139+ verifier
140+ .add (
141+ "jetty.session.count" ,
142+ metric ->
143+ metric
144+ .isUpDownCounter ()
145+ .hasDescription ("Current number of active sessions" )
146+ .hasUnit ("{session}" )
147+ .hasDataPointsWithAttributes (
148+ attributeGroup (
149+ attributeWithAnyValue ("jetty.context" ),
150+ attributeWithAnyValue ("jetty.session.cache.id" ))))
151+ .add (
152+ "jetty.session.count.max" ,
153+ metric ->
154+ metric
155+ .isUpDownCounter ()
156+ .hasDescription ("Maximum number of active sessions" )
157+ .hasUnit ("{session}" )
158+ .hasDataPointsWithAttributes (
159+ attributeGroup (
160+ attributeWithAnyValue ("jetty.context" ),
161+ attributeWithAnyValue ("jetty.session.cache.id" ))));
162+ } else {
136163 verifier
137164 .add (
138165 "jetty.session.created.count" ,
@@ -179,7 +206,6 @@ private static MetricsVerifier createMetricsVerifier(int jettyMajorVersion) {
179206 attributeWithAnyValue ("jetty.context" ),
180207 attributeWithAnyValue ("jetty.session.handler.id" ))));
181208 }
182-
183209 return verifier ;
184210 }
185211}
0 commit comments