2020import com .ibm .mq .headers .pcf .PCFMessageAgent ;
2121import io .opentelemetry .api .common .AttributeKey ;
2222import io .opentelemetry .api .common .Attributes ;
23- import io .opentelemetry .api .metrics .Meter ;
2423import io .opentelemetry .ibm .mq .config .QueueManager ;
24+ import io .opentelemetry .ibm .mq .metrics .MetricProducer ;
2525import io .opentelemetry .ibm .mq .opentelemetry .ConfigWrapper ;
2626import io .opentelemetry .ibm .mq .opentelemetry .Main ;
2727import io .opentelemetry .ibm .mq .util .WmqUtil ;
28+ import io .opentelemetry .sdk .common .InstrumentationScopeInfo ;
2829import io .opentelemetry .sdk .metrics .data .MetricData ;
29- import io .opentelemetry .sdk .testing . junit5 . OpenTelemetryExtension ;
30+ import io .opentelemetry .sdk .resources . Resource ;
3031import java .io .File ;
3132import java .net .URISyntaxException ;
3233import java .net .URL ;
5051import org .junit .jupiter .api .BeforeEach ;
5152import org .junit .jupiter .api .Disabled ;
5253import org .junit .jupiter .api .Test ;
53- import org .junit .jupiter .api .extension .RegisterExtension ;
5454import org .slf4j .Logger ;
5555import org .slf4j .LoggerFactory ;
5656
@@ -60,9 +60,6 @@ class WMQMonitorIntegrationTest {
6060
6161 private static final Logger logger = LoggerFactory .getLogger (WMQMonitorIntegrationTest .class );
6262
63- @ RegisterExtension
64- static final OpenTelemetryExtension otelTesting = OpenTelemetryExtension .create ();
65-
6663 private static final ExecutorService service =
6764 Executors .newFixedThreadPool (
6865 4 , /* one gets burned with our @BeforeAll message uzi, 4 is faster than 2 */
@@ -183,11 +180,13 @@ void test_monitor_with_full_config() throws Exception {
183180 String configFile = getConfigFile ("conf/test-config.yml" );
184181
185182 ConfigWrapper config = ConfigWrapper .parse (configFile );
186- Meter meter = otelTesting .getOpenTelemetry ().getMeter ("opentelemetry.io/mq" );
187- TestWMQMonitor monitor = new TestWMQMonitor (config , meter , service );
183+ MetricProducer producer =
184+ new MetricProducer (Resource .empty (), InstrumentationScopeInfo .empty ());
185+
186+ TestWMQMonitor monitor = new TestWMQMonitor (config , producer , service );
188187 monitor .runTest ();
189188
190- List <MetricData > data = otelTesting . getMetrics ( );
189+ List <MetricData > data = producer . produce ( Resource . empty () );
191190 Map <String , MetricData > metrics = new HashMap <>();
192191 for (MetricData metricData : data ) {
193192 metrics .put (metricData .getName (), metricData );
@@ -244,9 +243,9 @@ void test_monitor_with_full_config() throws Exception {
244243 void test_wmqmonitor () throws Exception {
245244 String configFile = getConfigFile ("conf/test-queuemgr-config.yml" );
246245 ConfigWrapper config = ConfigWrapper .parse (configFile );
247- Meter meter = otelTesting . getOpenTelemetry (). getMeter ( "opentelemetry.io/mq" );
248-
249- TestWMQMonitor monitor = new TestWMQMonitor (config , meter , service );
246+ MetricProducer producer =
247+ new MetricProducer ( Resource . empty (), InstrumentationScopeInfo . empty ());
248+ TestWMQMonitor monitor = new TestWMQMonitor (config , producer , service );
250249 monitor .runTest ();
251250 // TODO: Wait why are there no asserts here?
252251 }
@@ -257,14 +256,17 @@ void test_otlphttp() throws Exception {
257256 ConfigWrapper .parse (WMQMonitorIntegrationTest .getConfigFile ("conf/test-config.yml" ));
258257 ScheduledExecutorService service =
259258 Executors .newScheduledThreadPool (config .getNumberOfThreads ());
260- Main .run (config , service , otelTesting .getOpenTelemetry ());
259+ MetricProducer producer =
260+ new MetricProducer (Resource .empty (), InstrumentationScopeInfo .empty ());
261+
262+ Main .run (config , service , producer );
261263 CountDownLatch latch = new CountDownLatch (1 );
262264 Future <?> ignored = service .submit (latch ::countDown );
263265 Thread .sleep (5000 ); // TODO: This is fragile and time consuming and should be made better
264266 service .shutdown ();
265267 assertTrue (service .awaitTermination (30 , TimeUnit .SECONDS ));
266268
267- List <MetricData > data = otelTesting . getMetrics ( );
269+ List <MetricData > data = producer . produce ( Resource . empty () );
268270 Set <String > metricNames = new HashSet <>();
269271 for (MetricData metricData : data ) {
270272 metricNames .add (metricData .getName ());
@@ -290,11 +292,12 @@ void test_bad_connection() throws Exception {
290292 String configFile = getConfigFile ("conf/test-bad-config.yml" );
291293
292294 ConfigWrapper config = ConfigWrapper .parse (configFile );
293- Meter meter = otelTesting .getOpenTelemetry ().getMeter ("opentelemetry.io/mq" );
294- TestWMQMonitor monitor = new TestWMQMonitor (config , meter , service );
295+ MetricProducer producer =
296+ new MetricProducer (Resource .empty (), InstrumentationScopeInfo .empty ());
297+ TestWMQMonitor monitor = new TestWMQMonitor (config , producer , service );
295298 monitor .runTest ();
296299
297- List <MetricData > data = otelTesting . getMetrics ( );
300+ List <MetricData > data = producer . produce ( Resource . empty () );
298301
299302 assertThat (data ).isNotEmpty ();
300303 assertThat (data ).hasSize (2 );
0 commit comments