Skip to content

Commit bdd7c59

Browse files
authored
Merge pull request #153 from signalfx/cleanup2
cleanup
2 parents 85e2a86 + ce8a749 commit bdd7c59

18 files changed

+63
-110
lines changed

src/integrationTest/java/com/splunk/ibm/mq/integration/tests/TestWMQMonitor.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
import com.splunk.ibm.mq.WMQMonitorTask;
2222
import com.splunk.ibm.mq.config.QueueManager;
2323
import com.splunk.ibm.mq.opentelemetry.ConfigWrapper;
24-
import com.splunk.ibm.mq.opentelemetry.OpenTelemetryMetricWriteHelper;
24+
import com.splunk.ibm.mq.opentelemetry.Writer;
2525
import io.opentelemetry.api.metrics.LongGauge;
2626
import java.util.List;
2727
import java.util.Map;
@@ -35,14 +35,11 @@
3535
*/
3636
class TestWMQMonitor {
3737

38-
private final OpenTelemetryMetricWriteHelper metricWriteHelper;
38+
private final Writer metricWriteHelper;
3939
private final ConfigWrapper config;
4040
private final ExecutorService threadPool;
4141

42-
TestWMQMonitor(
43-
ConfigWrapper config,
44-
OpenTelemetryMetricWriteHelper metricWriteHelper,
45-
ExecutorService service) {
42+
TestWMQMonitor(ConfigWrapper config, Writer metricWriteHelper, ExecutorService service) {
4643
this.config = config;
4744
this.metricWriteHelper = metricWriteHelper;
4845
this.threadPool = service;

src/integrationTest/java/com/splunk/ibm/mq/integration/tests/WMQMonitorIntegrationTest.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
import com.splunk.ibm.mq.integration.opentelemetry.TestResultMetricExporter;
3131
import com.splunk.ibm.mq.opentelemetry.ConfigWrapper;
3232
import com.splunk.ibm.mq.opentelemetry.Main;
33-
import com.splunk.ibm.mq.opentelemetry.OpenTelemetryMetricWriteHelper;
33+
import com.splunk.ibm.mq.opentelemetry.Writer;
3434
import io.opentelemetry.api.common.AttributeKey;
3535
import io.opentelemetry.sdk.metrics.SdkMeterProvider;
3636
import io.opentelemetry.sdk.metrics.data.MetricData;
@@ -184,9 +184,8 @@ void test_monitor_with_full_config() throws Exception {
184184
.build();
185185
SdkMeterProvider meterProvider =
186186
SdkMeterProvider.builder().registerMetricReader(reader).build();
187-
OpenTelemetryMetricWriteHelper metricWriteHelper =
188-
new OpenTelemetryMetricWriteHelper(
189-
reader, testExporter, meterProvider.get("opentelemetry.io/mq"));
187+
Writer metricWriteHelper =
188+
new Writer(reader, testExporter, meterProvider.get("opentelemetry.io/mq"));
190189
String configFile = getConfigFile("conf/test-config.yml");
191190

192191
ConfigWrapper config = ConfigWrapper.parse(configFile);
@@ -257,9 +256,8 @@ void test_wmqmonitor() throws Exception {
257256
.build();
258257
SdkMeterProvider meterProvider =
259258
SdkMeterProvider.builder().registerMetricReader(reader).build();
260-
OpenTelemetryMetricWriteHelper metricWriteHelper =
261-
new OpenTelemetryMetricWriteHelper(
262-
reader, testExporter, meterProvider.get("opentelemetry.io/mq"));
259+
Writer metricWriteHelper =
260+
new Writer(reader, testExporter, meterProvider.get("opentelemetry.io/mq"));
263261
String configFile = getConfigFile("conf/test-queuemgr-config.yml");
264262
ConfigWrapper config = ConfigWrapper.parse(configFile);
265263

src/main/java/com/splunk/ibm/mq/WMQMonitor.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import com.google.common.base.Strings;
2020
import com.splunk.ibm.mq.config.QueueManager;
2121
import com.splunk.ibm.mq.opentelemetry.ConfigWrapper;
22-
import com.splunk.ibm.mq.opentelemetry.OpenTelemetryMetricWriteHelper;
22+
import com.splunk.ibm.mq.opentelemetry.Writer;
2323
import io.opentelemetry.api.metrics.LongGauge;
2424
import java.util.List;
2525
import java.util.Map;
@@ -32,15 +32,12 @@ public class WMQMonitor implements Runnable {
3232

3333
public static final Logger logger = LoggerFactory.getLogger(WMQMonitor.class);
3434

35-
private final OpenTelemetryMetricWriteHelper metricWriteHelper;
35+
private final Writer metricWriteHelper;
3636
private final ExecutorService threadPool;
3737
private final ConfigWrapper config;
3838
private final LongGauge heartbeatGauge;
3939

40-
public WMQMonitor(
41-
ConfigWrapper config,
42-
ExecutorService threadPool,
43-
OpenTelemetryMetricWriteHelper metricWriteHelper) {
40+
public WMQMonitor(ConfigWrapper config, ExecutorService threadPool, Writer metricWriteHelper) {
4441
assert (metricWriteHelper != null);
4542
this.config = config;
4643
this.threadPool = threadPool;

src/main/java/com/splunk/ibm/mq/WMQMonitorTask.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
import com.splunk.ibm.mq.metricscollector.ReadConfigurationEventQueueCollector;
3737
import com.splunk.ibm.mq.metricscollector.TopicMetricsCollector;
3838
import com.splunk.ibm.mq.opentelemetry.ConfigWrapper;
39-
import com.splunk.ibm.mq.opentelemetry.OpenTelemetryMetricWriteHelper;
39+
import com.splunk.ibm.mq.opentelemetry.Writer;
4040
import io.opentelemetry.api.common.AttributeKey;
4141
import io.opentelemetry.api.common.Attributes;
4242
import io.opentelemetry.api.metrics.LongGauge;
@@ -55,14 +55,14 @@ public class WMQMonitorTask implements Runnable {
5555
public static final Logger logger = LoggerFactory.getLogger(WMQMonitorTask.class);
5656
private final QueueManager queueManager;
5757
private final ConfigWrapper config;
58-
private final OpenTelemetryMetricWriteHelper metricWriteHelper;
58+
private final Writer metricWriteHelper;
5959
private final List<Runnable> pendingJobs = new ArrayList<>();
6060
private final ExecutorService threadPool;
6161
private final LongGauge heartbeatGauge;
6262

6363
public WMQMonitorTask(
6464
ConfigWrapper config,
65-
OpenTelemetryMetricWriteHelper metricWriteHelper,
65+
Writer metricWriteHelper,
6666
QueueManager queueManager,
6767
ExecutorService threadPool,
6868
LongGauge heartbeatGauge) {

src/main/java/com/splunk/ibm/mq/metricscollector/InquireTStatusCmdCollector.java

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ final class InquireTStatusCmdCollector implements Runnable {
3333

3434
private static final Logger logger = LoggerFactory.getLogger(InquireTStatusCmdCollector.class);
3535

36-
static final String COMMAND = "MQCMD_INQUIRE_TOPIC_STATUS";
3736
private final MetricsCollectorContext context;
3837
private final LongGauge publishCountGauge;
3938
private final LongGauge subscriptionCountGauge;
@@ -58,7 +57,7 @@ public InquireTStatusCmdCollector(MetricsCollectorContext context) {
5857

5958
@Override
6059
public void run() {
61-
logger.info("Collecting metrics for command {}", COMMAND);
60+
logger.info("Collecting metrics for command MQCMD_INQUIRE_TOPIC_STATUS");
6261
long entryTime = System.currentTimeMillis();
6362

6463
Set<String> topicGenericNames = context.getTopicIncludeFilterNames();
@@ -73,12 +72,11 @@ public void run() {
7372
request.addParameter(CMQC.MQCA_TOPIC_STRING, topicGenericName);
7473

7574
try {
76-
processPCFRequestAndPublishQMetrics(topicGenericName, request, COMMAND);
75+
processPCFRequestAndPublishQMetrics(topicGenericName, request);
7776
} catch (PCFException pcfe) {
7877
logger.error(
79-
"PCFException caught while collecting metric for Queue: {} for command {}",
78+
"PCFException caught while collecting metric for Queue: {} for command MQCMD_INQUIRE_TOPIC_STATUS",
8079
topicGenericName,
81-
COMMAND,
8280
pcfe);
8381
PCFMessage[] msgs = (PCFMessage[]) pcfe.exceptionSource;
8482
for (PCFMessage msg : msgs) {
@@ -92,30 +90,25 @@ public void run() {
9290
}
9391
long exitTime = System.currentTimeMillis() - entryTime;
9492
logger.debug(
95-
"Time taken to publish metrics for all queues is {} milliseconds for command {}",
96-
exitTime,
97-
COMMAND);
93+
"Time taken to publish metrics for all queues is {} milliseconds for command MQCMD_INQUIRE_TOPIC_STATUS",
94+
exitTime);
9895
}
9996

100-
private void processPCFRequestAndPublishQMetrics(
101-
String topicGenericName, PCFMessage request, String command)
97+
private void processPCFRequestAndPublishQMetrics(String topicGenericName, PCFMessage request)
10298
throws IOException, MQDataException {
10399
logger.debug(
104-
"sending PCF agent request to topic metrics for generic topic {} for command {}",
105-
topicGenericName,
106-
command);
100+
"sending PCF agent request to topic metrics for generic topic {} for command MQCMD_INQUIRE_TOPIC_STATUS",
101+
topicGenericName);
107102
long startTime = System.currentTimeMillis();
108103
List<PCFMessage> response = context.send(request);
109104
long endTime = System.currentTimeMillis() - startTime;
110105
logger.debug(
111-
"PCF agent topic metrics query response for generic topic {} for command {} received in {} milliseconds",
106+
"PCF agent topic metrics query response for generic topic {} for command MQCMD_INQUIRE_TOPIC_STATUS received in {} milliseconds",
112107
topicGenericName,
113-
command,
114108
endTime);
115109
if (response.isEmpty()) {
116110
logger.debug(
117-
"Unexpected error while PCFMessage.send() for command {}, response is either null or empty",
118-
command);
111+
"Unexpected error while PCFMessage.send() for command MQCMD_INQUIRE_TOPIC_STATUS, response is either null or empty");
119112
return;
120113
}
121114

@@ -127,7 +120,9 @@ private void processPCFRequestAndPublishQMetrics(
127120

128121
for (PCFMessage message : messages) {
129122
String topicName = MessageBuddy.topicName(message);
130-
logger.debug("Pulling out metrics for topic name {} for command {}", topicName, command);
123+
logger.debug(
124+
"Pulling out metrics for topic name {} for command MQCMD_INQUIRE_TOPIC_STATUS",
125+
topicName);
131126
extractMetrics(message, topicName);
132127
}
133128
}

src/main/java/com/splunk/ibm/mq/metricscollector/MetricsCollectorContext.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import com.ibm.mq.headers.pcf.PCFMessageAgent;
2323
import com.splunk.ibm.mq.config.ExcludeFilters;
2424
import com.splunk.ibm.mq.config.QueueManager;
25-
import com.splunk.ibm.mq.opentelemetry.OpenTelemetryMetricWriteHelper;
25+
import com.splunk.ibm.mq.opentelemetry.Writer;
2626
import java.io.IOException;
2727
import java.util.*;
2828
import javax.annotation.concurrent.Immutable;
@@ -42,12 +42,10 @@ public final class MetricsCollectorContext {
4242

4343
private final QueueManager queueManager;
4444
private final PCFMessageAgent agent;
45-
private final OpenTelemetryMetricWriteHelper metricWriteHelper;
45+
private final Writer metricWriteHelper;
4646

4747
public MetricsCollectorContext(
48-
QueueManager queueManager,
49-
PCFMessageAgent agent,
50-
OpenTelemetryMetricWriteHelper metricWriteHelper) {
48+
QueueManager queueManager, PCFMessageAgent agent, Writer metricWriteHelper) {
5149
this.queueManager = queueManager;
5250
this.agent = agent;
5351
this.metricWriteHelper = metricWriteHelper;
@@ -103,7 +101,7 @@ PCFMessageAgent getAgent() {
103101
return agent;
104102
}
105103

106-
OpenTelemetryMetricWriteHelper getMetricWriteHelper() {
104+
Writer getMetricWriteHelper() {
107105
return metricWriteHelper;
108106
}
109107
}

src/main/java/com/splunk/ibm/mq/metricscollector/PerformanceEventQueueCollector.java

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
import com.ibm.mq.headers.pcf.PCFException;
2626
import com.ibm.mq.headers.pcf.PCFMessage;
2727
import com.splunk.ibm.mq.config.QueueManager;
28-
import com.splunk.ibm.mq.opentelemetry.OpenTelemetryMetricWriteHelper;
28+
import com.splunk.ibm.mq.opentelemetry.Writer;
2929
import io.opentelemetry.api.common.AttributeKey;
3030
import io.opentelemetry.api.common.Attributes;
3131
import io.opentelemetry.api.metrics.LongCounter;
@@ -45,29 +45,15 @@ public final class PerformanceEventQueueCollector implements Runnable {
4545
private final LongCounter lowQueueDepthCounter;
4646

4747
public PerformanceEventQueueCollector(
48-
MQQueueManager mqQueueManager,
49-
QueueManager queueManager,
50-
OpenTelemetryMetricWriteHelper openTelemetryMetricWriteHelper) {
48+
MQQueueManager mqQueueManager, QueueManager queueManager, Writer writer) {
5149
this.mqQueueManager = mqQueueManager;
5250
this.queueManager = queueManager;
5351
this.fullQueueDepthCounter =
54-
openTelemetryMetricWriteHelper
55-
.getMeter()
56-
.counterBuilder("mq.queue.depth.full.event")
57-
.setUnit("1")
58-
.build();
52+
writer.getMeter().counterBuilder("mq.queue.depth.full.event").setUnit("1").build();
5953
this.highQueueDepthCounter =
60-
openTelemetryMetricWriteHelper
61-
.getMeter()
62-
.counterBuilder("mq.queue.depth.high.event")
63-
.setUnit("1")
64-
.build();
54+
writer.getMeter().counterBuilder("mq.queue.depth.high.event").setUnit("1").build();
6555
this.lowQueueDepthCounter =
66-
openTelemetryMetricWriteHelper
67-
.getMeter()
68-
.counterBuilder("mq.queue.depth.low.event")
69-
.setUnit("1")
70-
.build();
56+
writer.getMeter().counterBuilder("mq.queue.depth.low.event").setUnit("1").build();
7157
}
7258

7359
private void readEvents(String performanceEventsQueueName) throws Exception {

src/main/java/com/splunk/ibm/mq/metricscollector/QueueManagerEventCollector.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
import com.ibm.mq.constants.MQConstants;
2626
import com.ibm.mq.headers.pcf.PCFMessage;
2727
import com.splunk.ibm.mq.config.QueueManager;
28-
import com.splunk.ibm.mq.opentelemetry.OpenTelemetryMetricWriteHelper;
28+
import com.splunk.ibm.mq.opentelemetry.Writer;
2929
import io.opentelemetry.api.common.AttributeKey;
3030
import io.opentelemetry.api.common.Attributes;
3131
import io.opentelemetry.api.metrics.LongCounter;
@@ -42,9 +42,7 @@ public final class QueueManagerEventCollector implements Runnable {
4242
private final LongCounter authorityEventCounter;
4343

4444
public QueueManagerEventCollector(
45-
MQQueueManager mqQueueManager,
46-
QueueManager queueManager,
47-
OpenTelemetryMetricWriteHelper metricWriteHelper) {
45+
MQQueueManager mqQueueManager, QueueManager queueManager, Writer metricWriteHelper) {
4846
this.mqQueueManager = mqQueueManager;
4947
this.queueManager = queueManager;
5048
this.authorityEventCounter =

src/main/java/com/splunk/ibm/mq/metricscollector/ReadConfigurationEventQueueCollector.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
import com.ibm.mq.headers.pcf.PCFMessage;
2727
import com.ibm.mq.headers.pcf.PCFMessageAgent;
2828
import com.splunk.ibm.mq.config.QueueManager;
29-
import com.splunk.ibm.mq.opentelemetry.OpenTelemetryMetricWriteHelper;
29+
import com.splunk.ibm.mq.opentelemetry.Writer;
3030
import io.opentelemetry.api.common.AttributeKey;
3131
import io.opentelemetry.api.common.Attributes;
3232
import io.opentelemetry.api.metrics.LongGauge;
@@ -48,7 +48,7 @@ public ReadConfigurationEventQueueCollector(
4848
PCFMessageAgent agent,
4949
MQQueueManager mqQueueManager,
5050
QueueManager queueManager,
51-
OpenTelemetryMetricWriteHelper metricWriteHelper) {
51+
Writer metricWriteHelper) {
5252
this.agent = agent;
5353
this.mqQueueManager = mqQueueManager;
5454
this.queueManager = queueManager;

src/main/java/com/splunk/ibm/mq/metricscollector/TopicMetricsCollector.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,7 @@ public void run() {
3838
// to query the current status of topics, which is essential for monitoring and managing the
3939
// publish/subscribe environment in IBM MQ.
4040
MetricsCollectorContext collectorContext = context.newCollectorContext();
41-
InquireTStatusCmdCollector metricsPublisher = new InquireTStatusCmdCollector(collectorContext);
42-
publishers.add(metricsPublisher);
41+
publishers.add(new InquireTStatusCmdCollector(collectorContext));
4342
CountDownLatch latch = new CountDownLatch(publishers.size());
4443
for (Runnable publisher : publishers) {
4544
context.submitPublishJob(publisher, latch);

src/main/java/com/splunk/ibm/mq/opentelemetry/Main.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,10 +91,7 @@ public static void run(
9191
() -> {
9292
WMQMonitor monitor =
9393
new WMQMonitor(
94-
config,
95-
service,
96-
new OpenTelemetryMetricWriteHelper(
97-
reader, exporter, meterProvider.get("websphere/mq")));
94+
config, service, new Writer(reader, exporter, meterProvider.get("websphere/mq")));
9895
monitor.run();
9996
},
10097
config.getTaskInitialDelaySeconds(),
Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,17 +21,15 @@
2121
import org.slf4j.Logger;
2222
import org.slf4j.LoggerFactory;
2323

24-
public class OpenTelemetryMetricWriteHelper {
24+
public class Writer {
2525

26-
private static final Logger logger =
27-
LoggerFactory.getLogger(OpenTelemetryMetricWriteHelper.class);
26+
private static final Logger logger = LoggerFactory.getLogger(Writer.class);
2827

2928
private final MetricExporter exporter;
3029
private final MetricReader reader;
3130
private final Meter meter;
3231

33-
public OpenTelemetryMetricWriteHelper(
34-
MetricReader reader, MetricExporter otlpGrpcMetricExporter, Meter meter) {
32+
public Writer(MetricReader reader, MetricExporter otlpGrpcMetricExporter, Meter meter) {
3533
this.exporter = otlpGrpcMetricExporter;
3634
this.meter = meter;
3735
this.reader = reader;

src/test/java/com/splunk/ibm/mq/metricscollector/ChannelMetricsCollectorTest.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
import com.splunk.ibm.mq.config.QueueManager;
3333
import com.splunk.ibm.mq.integration.opentelemetry.TestResultMetricExporter;
3434
import com.splunk.ibm.mq.opentelemetry.ConfigWrapper;
35-
import com.splunk.ibm.mq.opentelemetry.OpenTelemetryMetricWriteHelper;
35+
import com.splunk.ibm.mq.opentelemetry.Writer;
3636
import io.opentelemetry.sdk.metrics.SdkMeterProvider;
3737
import io.opentelemetry.sdk.metrics.data.MetricData;
3838
import io.opentelemetry.sdk.metrics.export.PeriodicMetricReader;
@@ -56,7 +56,7 @@ class ChannelMetricsCollectorTest {
5656

5757
@Mock PCFMessageAgent pcfMessageAgent;
5858

59-
OpenTelemetryMetricWriteHelper metricWriteHelper;
59+
Writer metricWriteHelper;
6060

6161
QueueManager queueManager;
6262
MetricsCollectorContext context;
@@ -75,9 +75,7 @@ void setup() throws Exception {
7575
.build();
7676
SdkMeterProvider meterProvider =
7777
SdkMeterProvider.builder().registerMetricReader(reader).build();
78-
metricWriteHelper =
79-
new OpenTelemetryMetricWriteHelper(
80-
reader, testExporter, meterProvider.get("opentelemetry.io/mq"));
78+
metricWriteHelper = new Writer(reader, testExporter, meterProvider.get("opentelemetry.io/mq"));
8179
context = new MetricsCollectorContext(queueManager, pcfMessageAgent, metricWriteHelper);
8280
}
8381

0 commit comments

Comments
 (0)