Skip to content

Commit 7502437

Browse files
authored
Merge pull request #2622 from weihubeats/HTTPMetricsServer
[ISSUE #2593] Method passes a simple String.format result to an SLF4J's or Log4j2's format string [HTTPMetricsServer]
2 parents 6c50876 + 299c70f commit 7502437

File tree

2 files changed

+64
-88
lines changed

2 files changed

+64
-88
lines changed

eventmesh-metrics-plugin/eventmesh-metrics-api/src/main/java/org/apache/eventmesh/metrics/api/model/HttpSummaryMetrics.java

+4-30
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,6 @@ public HttpSummaryMetrics(final ThreadPoolExecutor batchMsgExecutor,
4141
this.httpFailedQueue = httpFailedQueue;
4242
}
4343

44-
public static final String EVENTMESH_MONITOR_FORMAT_HTTP = "{\"maxHTTPTPS\":\"%.1f\",\"avgHTTPTPS\":\"%.1f\","
45-
//EVENTMESH tps related to accepting external http requests
46-
+ "\"maxHTTPCOST\":\"%s\",\"avgHTTPCOST\":\"%.1f\",\"avgHTTPBodyDecodeCost\":\"%.1f\", "
47-
+ "\"httpDiscard\":\"%s\"}";
48-
4944
private float wholeCost = 0f;
5045

5146
private AtomicLong wholeRequestNum = new AtomicLong(0);
@@ -124,12 +119,7 @@ public void recordDecodeTimeCost(long cost) {
124119
public float avgHTTPBodyDecodeCost() {
125120
return (httpDecodeNum.longValue() == 0L) ? 0f : httpDecodeTimeCost / httpDecodeNum.longValue();
126121
}
127-
128-
129-
//////////////////////////////////////////////////////////////////////////
130-
public static final String EVENTMESH_MONITOR_FORMAT_BATCHSENDMSG = "{\"maxBatchSendMsgTPS\":\"%.1f\",\"avgBatchSendMsgTPS\":\"%.1f\","
131-
+ " \"sum\":\"%s\", \"sumFail\":\"%s\", \"sumFailRate\":\"%.2f\", \"discard\":\"%s\"}";
132-
122+
133123
private AtomicLong sendBatchMsgNumPerSecond = new AtomicLong(0);
134124

135125
private AtomicLong sendBatchMsgNumSum = new AtomicLong(0);
@@ -191,11 +181,7 @@ public void cleanSendBatchStat() {
191181
public long getSendBatchMsgDiscardNumSum() {
192182
return sendBatchMsgDiscardNumSum.longValue();
193183
}
194-
195-
//////////////////////////////////////////////////////////////////////////
196-
public static final String EVENTMESH_MONITOR_FORMAT_SENDMSG = "{\"maxSendMsgTPS\":\"%.1f\",\"avgSendMsgTPS\":\"%.1f\","
197-
+ " \"sum\":\"%s\", \"sumFail\":\"%s\", \"sumFailRate\":\"%.2f\", \"replyMsg\":\"%s\", \"replyFail\":\"%s\"}";
198-
184+
199185
private AtomicLong sendMsgNumSum = new AtomicLong(0);
200186

201187
private AtomicLong sendMsgFailNumSum = new AtomicLong(0);
@@ -268,11 +254,7 @@ public void cleanSendMsgStat() {
268254
sendMsgFailNumSum.set(0L);
269255
replyMsgFailNumSum.set(0L);
270256
}
271-
272-
////////////////////////////////////////////////////////////////////////////
273-
public static final String EVENTMESH_MONITOR_FORMAT_PUSHMSG = "{\"maxPushMsgTPS\":\"%.1f\",\"avgPushMsgTPS\":\"%.1f\","
274-
+ " \"sum\":\"%s\", \"sumFail\":\"%s\", \"sumFailRate\":\"%.1f\", \"maxClientLatency\":\"%.1f\", \"avgClientLatency\":\"%.1f\"}";
275-
257+
276258
private float wholePushCost = 0f;
277259

278260
private AtomicLong wholePushRequestNum = new AtomicLong(0);
@@ -348,15 +330,7 @@ public void cleanHttpPushMsgStat() {
348330
wholeCost = 0f;
349331
maxCost.set(0L);
350332
}
351-
352-
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
353-
public static final String EVENTMESH_MONITOR_FORMAT_BLOCKQ = "{\"batchMsgQ\":\"%s\",\"sendMsgQ\":\"%s\","
354-
+ "\"pushMsgQ\":\"%s\",\"httpRetryQ\":\"%s\"}";
355-
356-
///////////////////////////////////////////////////////////////////////////
357-
public static final String EVENTMESH_MONITOR_FORMAT_MQ_CLIENT = "{\"batchAvgSend2MQCost\":\"%.1f\", "
358-
+ "\"avgSend2MQCost\":\"%.1f\", \"avgReply2MQCost\":\"%.1f\"}";
359-
333+
360334
private float batchSend2MQWholeCost = 0f;
361335

362336
private AtomicLong batchSend2MQNum = new AtomicLong(0);

eventmesh-runtime/src/main/java/org/apache/eventmesh/runtime/metrics/http/HTTPMetricsServer.java

+60-58
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,13 @@
3131
import org.slf4j.Logger;
3232
import org.slf4j.LoggerFactory;
3333

34+
import lombok.extern.slf4j.Slf4j;
35+
36+
@Slf4j
3437
public class HTTPMetricsServer {
3538

3639
private static final Logger HTTP_LOGGER = LoggerFactory.getLogger("httpMonitor");
3740

38-
private static final Logger LOGGER = LoggerFactory.getLogger(HTTPMetricsServer.class);
39-
4041
private final transient EventMeshHTTPServer eventMeshHTTPServer;
4142

4243
private final transient List<MetricsRegistry> metricsRegistries;
@@ -47,24 +48,24 @@ public HTTPMetricsServer(EventMeshHTTPServer eventMeshHTTPServer, List<MetricsRe
4748
this.eventMeshHTTPServer = eventMeshHTTPServer;
4849
this.metricsRegistries = metricsRegistries;
4950
this.summaryMetrics = new HttpSummaryMetrics(
50-
eventMeshHTTPServer.batchMsgExecutor,
51-
eventMeshHTTPServer.sendMsgExecutor,
52-
eventMeshHTTPServer.pushMsgExecutor,
53-
eventMeshHTTPServer.getHttpRetryer().getFailedQueue());
51+
eventMeshHTTPServer.batchMsgExecutor,
52+
eventMeshHTTPServer.sendMsgExecutor,
53+
eventMeshHTTPServer.pushMsgExecutor,
54+
eventMeshHTTPServer.getHttpRetryer().getFailedQueue());
5455
}
5556

5657
public void init() throws Exception {
5758
metricsRegistries.forEach(MetricsRegistry::start);
58-
if (LOGGER.isInfoEnabled()) {
59-
LOGGER.info("HTTPMetricsServer initialized......");
59+
if (log.isInfoEnabled()) {
60+
log.info("HTTPMetricsServer initialized......");
6061
}
6162
}
6263

6364
public void start() throws Exception {
6465
metricsRegistries.forEach(metricsRegistry -> {
6566
metricsRegistry.register(summaryMetrics);
66-
if (LOGGER.isInfoEnabled()) {
67-
LOGGER.info("Register httpMetrics to " + metricsRegistry.getClass().getName());
67+
if (log.isInfoEnabled()) {
68+
log.info("Register httpMetrics to " + metricsRegistry.getClass().getName());
6869
}
6970
});
7071
metricsSchedule.scheduleAtFixedRate(() -> {
@@ -74,28 +75,28 @@ public void start() throws Exception {
7475
summaryMetrics.snapshotSendMsgTPS();
7576
summaryMetrics.snapshotPushMsgTPS();
7677
} catch (Exception ex) {
77-
LOGGER.warn("eventMesh snapshot tps metrics err", ex);
78+
log.warn("eventMesh snapshot tps metrics err", ex);
7879
}
7980
}, 0, 1000, TimeUnit.MILLISECONDS);
8081

8182
metricsSchedule.scheduleAtFixedRate(() -> {
8283
try {
8384
logPrintServerMetrics();
8485
} catch (Exception ex) {
85-
LOGGER.warn("eventMesh print metrics err", ex);
86+
log.warn("eventMesh print metrics err", ex);
8687
}
8788
}, 1000, 30 * 1000, TimeUnit.MILLISECONDS);
8889

89-
if (LOGGER.isInfoEnabled()) {
90-
LOGGER.info("HTTPMetricsServer started......");
90+
if (log.isInfoEnabled()) {
91+
log.info("HTTPMetricsServer started......");
9192
}
9293
}
9394

9495
public void shutdown() throws Exception {
9596
metricsSchedule.shutdown();
9697
metricsRegistries.forEach(MetricsRegistry::showdown);
97-
if (LOGGER.isInfoEnabled()) {
98-
LOGGER.info("HTTPMetricsServer shutdown......");
98+
if (log.isInfoEnabled()) {
99+
log.info("HTTPMetricsServer shutdown......");
99100
}
100101
}
101102

@@ -116,71 +117,72 @@ private void logPrintServerMetrics() {
116117
if (HTTP_LOGGER.isInfoEnabled()) {
117118
HTTP_LOGGER.info("===========================================SERVER METRICS==================================================");
118119

119-
HTTP_LOGGER.info(String.format(HttpSummaryMetrics.EVENTMESH_MONITOR_FORMAT_HTTP,
120-
summaryMetrics.maxHTTPTPS(),
121-
summaryMetrics.avgHTTPTPS(),
122-
summaryMetrics.maxHTTPCost(),
123-
summaryMetrics.avgHTTPCost(),
124-
summaryMetrics.avgHTTPBodyDecodeCost(),
125-
summaryMetrics.getHttpDiscard()));
120+
HTTP_LOGGER.info("maxHTTPTPS: {}, avgHTTPTPS: {}, maxHTTPCOST: {}, avgHTTPCOST: {}, avgHTTPBodyDecodeCost: {}, httpDiscard: {}",
121+
summaryMetrics.maxHTTPTPS(),
122+
summaryMetrics.avgHTTPTPS(),
123+
summaryMetrics.maxHTTPCost(),
124+
summaryMetrics.avgHTTPCost(),
125+
summaryMetrics.avgHTTPBodyDecodeCost(),
126+
summaryMetrics.getHttpDiscard());
126127
}
127128

128129
summaryMetrics.httpStatInfoClear();
129130

130131
if (HTTP_LOGGER.isInfoEnabled()) {
131-
HTTP_LOGGER.info(String.format(HttpSummaryMetrics.EVENTMESH_MONITOR_FORMAT_BATCHSENDMSG,
132-
summaryMetrics.maxSendBatchMsgTPS(),
133-
summaryMetrics.avgSendBatchMsgTPS(),
134-
summaryMetrics.getSendBatchMsgNumSum(),
135-
summaryMetrics.getSendBatchMsgFailNumSum(),
136-
summaryMetrics.getSendBatchMsgFailRate(),
137-
summaryMetrics.getSendBatchMsgDiscardNumSum()
138-
));
132+
HTTP_LOGGER.info("maxBatchSendMsgTPS: {}, avgBatchSendMsgTPS: {}, sum: {}. sumFail: {}, sumFailRate: {}, discard : {}",
133+
summaryMetrics.maxSendBatchMsgTPS(),
134+
summaryMetrics.avgSendBatchMsgTPS(),
135+
summaryMetrics.getSendBatchMsgNumSum(),
136+
summaryMetrics.getSendBatchMsgFailNumSum(),
137+
summaryMetrics.getSendBatchMsgFailRate(),
138+
summaryMetrics.getSendBatchMsgDiscardNumSum()
139+
);
139140
}
140141

141142
summaryMetrics.cleanSendBatchStat();
142143

143144
if (HTTP_LOGGER.isInfoEnabled()) {
144-
HTTP_LOGGER.info(String.format(HttpSummaryMetrics.EVENTMESH_MONITOR_FORMAT_SENDMSG,
145-
summaryMetrics.maxSendMsgTPS(),
146-
summaryMetrics.avgSendMsgTPS(),
147-
summaryMetrics.getSendMsgNumSum(),
148-
summaryMetrics.getSendMsgFailNumSum(),
149-
summaryMetrics.getSendMsgFailRate(),
150-
summaryMetrics.getReplyMsgNumSum(),
151-
summaryMetrics.getReplyMsgFailNumSum()
152-
));
145+
HTTP_LOGGER.info("maxSendMsgTPS: {}, avgSendMsgTPS: {}, sum: {}, sumFail: {}, sumFailRate: {}, replyMsg: {}, replyFail: {}",
146+
summaryMetrics.maxSendMsgTPS(),
147+
summaryMetrics.avgSendMsgTPS(),
148+
summaryMetrics.getSendMsgNumSum(),
149+
summaryMetrics.getSendMsgFailNumSum(),
150+
summaryMetrics.getSendMsgFailRate(),
151+
summaryMetrics.getReplyMsgNumSum(),
152+
summaryMetrics.getReplyMsgFailNumSum()
153+
);
153154
}
154155

155156
summaryMetrics.cleanSendMsgStat();
156157

157158
if (HTTP_LOGGER.isInfoEnabled()) {
158-
HTTP_LOGGER.info(String.format(HttpSummaryMetrics.EVENTMESH_MONITOR_FORMAT_PUSHMSG,
159-
summaryMetrics.maxPushMsgTPS(),
160-
summaryMetrics.avgPushMsgTPS(),
161-
summaryMetrics.getHttpPushMsgNumSum(),
162-
summaryMetrics.getHttpPushFailNumSum(),
163-
summaryMetrics.getHttpPushMsgFailRate(),
164-
summaryMetrics.maxHTTPPushLatency(),
165-
summaryMetrics.avgHTTPPushLatency()
166-
));
159+
HTTP_LOGGER.info(
160+
"maxPushMsgTPS: {}, avgPushMsgTPS: {}, sum: {}, sumFail: {}, sumFailRate: {}, maxClientLatency: {}, avgClientLatency: {}",
161+
summaryMetrics.maxPushMsgTPS(),
162+
summaryMetrics.avgPushMsgTPS(),
163+
summaryMetrics.getHttpPushMsgNumSum(),
164+
summaryMetrics.getHttpPushFailNumSum(),
165+
summaryMetrics.getHttpPushMsgFailRate(),
166+
summaryMetrics.maxHTTPPushLatency(),
167+
summaryMetrics.avgHTTPPushLatency()
168+
);
167169
}
168170

169171
summaryMetrics.cleanHttpPushMsgStat();
170172

171173
if (HTTP_LOGGER.isInfoEnabled()) {
172-
HTTP_LOGGER.info(String.format(HttpSummaryMetrics.EVENTMESH_MONITOR_FORMAT_BLOCKQ,
173-
eventMeshHTTPServer.getBatchMsgExecutor().getQueue().size(),
174-
eventMeshHTTPServer.getSendMsgExecutor().getQueue().size(),
175-
eventMeshHTTPServer.getPushMsgExecutor().getQueue().size(),
176-
eventMeshHTTPServer.getHttpRetryer().size()));
174+
HTTP_LOGGER.info("batchMsgQ: {}, sendMsgQ: {}, pushMsgQ: {}, httpRetryQ: {}",
175+
eventMeshHTTPServer.getBatchMsgExecutor().getQueue().size(),
176+
eventMeshHTTPServer.getSendMsgExecutor().getQueue().size(),
177+
eventMeshHTTPServer.getPushMsgExecutor().getQueue().size(),
178+
eventMeshHTTPServer.getHttpRetryer().size());
177179
}
178180

179181
if (HTTP_LOGGER.isInfoEnabled()) {
180-
HTTP_LOGGER.info(String.format(HttpSummaryMetrics.EVENTMESH_MONITOR_FORMAT_MQ_CLIENT,
181-
summaryMetrics.avgBatchSendMsgCost(),
182-
summaryMetrics.avgSendMsgCost(),
183-
summaryMetrics.avgReplyMsgCost()));
182+
HTTP_LOGGER.info("batchAvgSend2MQCost: {}, avgSend2MQCost: {}, avgReply2MQCost: {}",
183+
summaryMetrics.avgBatchSendMsgCost(),
184+
summaryMetrics.avgSendMsgCost(),
185+
summaryMetrics.avgReplyMsgCost());
184186
}
185187
summaryMetrics.send2MQStatInfoClear();
186188
}

0 commit comments

Comments
 (0)