feat(#12355): Record the cost of ConfigDump in Prometheus. (#12356)

This commit is contained in:
blake.qiu 2024-07-18 09:40:12 +08:00 committed by GitHub
parent 9d0a48d54f
commit 47d913de05
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 5 additions and 6 deletions

View File

@ -194,6 +194,10 @@ public class MetricsMonitor {
return NacosMeterRegistryCenter.timer(METER_REGISTRY, "nacos_timer", "module", "config", "name", "notifyRt"); return NacosMeterRegistryCenter.timer(METER_REGISTRY, "nacos_timer", "module", "config", "name", "notifyRt");
} }
public static Timer getDumpRtTimer() {
return NacosMeterRegistryCenter.timer(METER_REGISTRY, "nacos_timer", "module", "config", "name", "dumpRt");
}
public static Counter getIllegalArgumentException() { public static Counter getIllegalArgumentException() {
return NacosMeterRegistryCenter return NacosMeterRegistryCenter
.counter(METER_REGISTRY, "nacos_exception", "module", "config", "name", "illegalArgument"); .counter(METER_REGISTRY, "nacos_exception", "module", "config", "name", "illegalArgument");

View File

@ -142,7 +142,6 @@ public class ConfigTraceService {
//localIp | dataid | group | tenant | requestIpAppName | ts | client ip | event | type | [delayed = -1] | ext //localIp | dataid | group | tenant | requestIpAppName | ts | client ip | event | type | [delayed = -1] | ext
// (md5) // (md5)
String md5 = content == null ? null : MD5Utils.md5Hex(content, Constants.PERSIST_ENCODE); String md5 = content == null ? null : MD5Utils.md5Hex(content, Constants.PERSIST_ENCODE);
LogUtil.TRACE_LOG.info("{}|{}|{}|{}|{}|{}|{}|{}|{}|{}|{}", InetUtils.getSelfIP(), dataId, group, tenant, LogUtil.TRACE_LOG.info("{}|{}|{}|{}|{}|{}|{}|{}|{}|{}|{}", InetUtils.getSelfIP(), dataId, group, tenant,
requestIpAppName, ts, handleIp, event, type, -1, md5); requestIpAppName, ts, handleIp, event, type, -1, md5);
} }
@ -165,17 +164,14 @@ public class ConfigTraceService {
if (!LogUtil.TRACE_LOG.isInfoEnabled()) { if (!LogUtil.TRACE_LOG.isInfoEnabled()) {
return; return;
} }
if (delayed < 0) { if (delayed < 0) {
delayed = 0; delayed = 0;
} }
MetricsMonitor.getNotifyRtTimer().record(delayed, TimeUnit.MILLISECONDS); MetricsMonitor.getNotifyRtTimer().record(delayed, TimeUnit.MILLISECONDS);
// Convenient tlog segmentation // Convenient tlog segmentation
if (StringUtils.isBlank(tenant)) { if (StringUtils.isBlank(tenant)) {
tenant = null; tenant = null;
} }
//localIp | dataid | group | tenant | requestIpAppName | ts | handleIp | event | type | [delayed] | ext //localIp | dataid | group | tenant | requestIpAppName | ts | handleIp | event | type | [delayed] | ext
// (targetIp) // (targetIp)
LogUtil.TRACE_LOG.info("{}|{}|{}|{}|{}|{}|{}|{}|{}|{}|{}", InetUtils.getSelfIP(), dataId, group, tenant, LogUtil.TRACE_LOG.info("{}|{}|{}|{}|{}|{}|{}|{}|{}|{}|{}", InetUtils.getSelfIP(), dataId, group, tenant,
@ -227,6 +223,7 @@ public class ConfigTraceService {
if (delayed < 0) { if (delayed < 0) {
delayed = 0; delayed = 0;
} }
MetricsMonitor.getDumpRtTimer().record(delayed, TimeUnit.MILLISECONDS);
// Convenient tlog segmentation // Convenient tlog segmentation
if (StringUtils.isBlank(tenant)) { if (StringUtils.isBlank(tenant)) {
tenant = null; tenant = null;
@ -284,11 +281,9 @@ public class ConfigTraceService {
if (StringUtils.isBlank(tenant)) { if (StringUtils.isBlank(tenant)) {
tenant = null; tenant = null;
} }
if (isNotify && delayed < 0) { if (isNotify && delayed < 0) {
delayed = 0; delayed = 0;
} }
// localIp | dataid | group | tenant| requestIpAppName| ts | event | type | [delayed] |clientIp| isNotify | modehttp/grpc) // localIp | dataid | group | tenant| requestIpAppName| ts | event | type | [delayed] |clientIp| isNotify | modehttp/grpc)
LogUtil.TRACE_LOG.info("{}|{}|{}|{}|{}|{}|{}|{}|{}|{}|{}|{}", InetUtils.getSelfIP(), dataId, group, tenant, LogUtil.TRACE_LOG.info("{}|{}|{}|{}|{}|{}|{}|{}|{}|{}|{}|{}", InetUtils.getSelfIP(), dataId, group, tenant,
requestIpAppName, ts, event, type, delayed, clientIp, isNotify, model); requestIpAppName, ts, event, type, delayed, clientIp, isNotify, model);