diff --git a/dubbo-monitor-default/src/main/java/com/alibaba/dubbo/monitor/dubbo/DubboMonitor.java b/dubbo-monitor-default/src/main/java/com/alibaba/dubbo/monitor/dubbo/DubboMonitor.java index 096eab365f..6be72b26a6 100644 --- a/dubbo-monitor-default/src/main/java/com/alibaba/dubbo/monitor/dubbo/DubboMonitor.java +++ b/dubbo-monitor-default/src/main/java/com/alibaba/dubbo/monitor/dubbo/DubboMonitor.java @@ -15,8 +15,6 @@ */ package com.alibaba.dubbo.monitor.dubbo; -import java.text.SimpleDateFormat; -import java.util.Date; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; @@ -80,7 +78,7 @@ public class DubboMonitor implements Monitor { if (logger.isInfoEnabled()) { logger.info("Send statistics to monitor " + getUrl()); } - String timestamp = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()); + String timestamp = String.valueOf(System.currentTimeMillis()); for (Map.Entry> entry : statisticsMap.entrySet()) { // 获取已统计数据 Statistics statistics = entry.getKey(); diff --git a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/SimpleMonitorService.java b/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/SimpleMonitorService.java index bf8c870ba9..3b9614268a 100644 --- a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/SimpleMonitorService.java +++ b/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/SimpleMonitorService.java @@ -161,8 +161,15 @@ public class SimpleMonitorService implements MonitorService { if (POISON_PROTOCOL.equals(statistics.getProtocol())) { return; } - long timestamp = statistics.getParameter(Constants.TIMESTAMP_KEY, System.currentTimeMillis()); - Date now = new Date(timestamp); + String timestamp = statistics.getParameter(Constants.TIMESTAMP_KEY); + Date now; + if (timestamp == null || timestamp.length() == 0) { + now = new Date(); + } else if (timestamp.length() == "yyyyMMddHHmmss".length()) { + now = new SimpleDateFormat("yyyyMMddHHmmss").parse(timestamp); + } else { + now = new Date(Long.parseLong(timestamp)); + } String day = new SimpleDateFormat("yyyyMMdd").format(now); SimpleDateFormat format = new SimpleDateFormat("HHmm"); for (String key : types) {