From 2ee70c094dda18476fa7041e1d28f904848cb0be Mon Sep 17 00:00:00 2001 From: youyong Date: Mon, 11 Mar 2013 14:02:18 +0800 Subject: [PATCH] modify the cat time issure --- .../message/internal/MilliSecondTimer.java | 34 +++++++++++-------- .../dianping/cat/report/page/top/Metrix.java | 28 ++++++++++----- cat-home/src/main/webapp/jsp/report/top.jsp | 4 +-- 3 files changed, 41 insertions(+), 25 deletions(-) diff --git a/cat-core/src/main/java/com/dianping/cat/message/internal/MilliSecondTimer.java b/cat-core/src/main/java/com/dianping/cat/message/internal/MilliSecondTimer.java index 2d9e3ae96..ae6e4c08b 100644 --- a/cat-core/src/main/java/com/dianping/cat/message/internal/MilliSecondTimer.java +++ b/cat-core/src/main/java/com/dianping/cat/message/internal/MilliSecondTimer.java @@ -8,7 +8,8 @@ import java.util.concurrent.locks.LockSupport; public class MilliSecondTimer { private static long m_baseTime; - private static long m_startNanoTime; + @SuppressWarnings("unused") + private static long m_startNanoTime; public static void initialize() { String os = System.getProperty("os.name"); @@ -34,22 +35,25 @@ public class MilliSecondTimer { } public static long currentTimeMicros() { - if (m_baseTime == 0) { - initialize(); - } - - long elipsed = (long) ((System.nanoTime() - m_startNanoTime) / 1e3); - - return m_baseTime * 1000L + elipsed; + return System.nanoTime(); +// if (m_baseTime == 0) { +// initialize(); +// } +// +// long elipsed = (long) ((System.nanoTime() - m_startNanoTime) / 1e3); +// +// return m_baseTime * 1000L + elipsed; } public static long currentTimeMillis() { - if (m_baseTime == 0) { - initialize(); - } - - long elipsed = (long) ((System.nanoTime() - m_startNanoTime) / 1e6); - - return m_baseTime + elipsed; + return System.currentTimeMillis(); +// +// if (m_baseTime == 0) { +// initialize(); +// } +// +// long elipsed = (long) ((System.nanoTime() - m_startNanoTime) / 1e6); +// +// return m_baseTime + elipsed; } } diff --git a/cat-home/src/main/java/com/dianping/cat/report/page/top/Metrix.java b/cat-home/src/main/java/com/dianping/cat/report/page/top/Metrix.java index 14583ec29..2fc742c00 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/page/top/Metrix.java +++ b/cat-home/src/main/java/com/dianping/cat/report/page/top/Metrix.java @@ -39,6 +39,8 @@ public class Metrix extends BaseVisitor { private static final int DEFAULT = 10; + private long m_currentTime = System.currentTimeMillis(); + public Metrix() { this(DEFAULT); } @@ -56,7 +58,7 @@ public class Metrix extends BaseVisitor { public MetrixItem getCache() { return m_cache; } - + public MetrixItem getCall() { return m_call; } @@ -90,13 +92,23 @@ public class Metrix extends BaseVisitor { @Override public void visitSegment(Segment segment) { int minute = segment.getId(); - - m_error.add(m_sdf.format(new Date(m_start.getTime() + minute * TimeUtil.ONE_MINUTE)), m_currentDomain, segment.getError()); - m_url.add(m_sdf.format(new Date(m_start.getTime() + minute * TimeUtil.ONE_MINUTE)), m_currentDomain, segment.getUrlDuration()); - m_service.add(m_sdf.format(new Date(m_start.getTime() + minute * TimeUtil.ONE_MINUTE)), m_currentDomain, segment.getServiceDuration()); - m_call.add(m_sdf.format(new Date(m_start.getTime() + minute * TimeUtil.ONE_MINUTE)), m_currentDomain, segment.getCallDuration()); - m_sql.add(m_sdf.format(new Date(m_start.getTime() + minute * TimeUtil.ONE_MINUTE)), m_currentDomain, segment.getSqlDuration()); - m_cache.add(m_sdf.format(new Date(m_start.getTime() + minute * TimeUtil.ONE_MINUTE)), m_currentDomain, segment.getCacheDuration()); + long time = m_start.getTime() + minute * TimeUtil.ONE_MINUTE; + + if (time <= m_currentTime + TimeUtil.ONE_MINUTE) { + + m_error.add(m_sdf.format(new Date(m_start.getTime() + minute * TimeUtil.ONE_MINUTE)), m_currentDomain, + segment.getError()); + m_url.add(m_sdf.format(new Date(m_start.getTime() + minute * TimeUtil.ONE_MINUTE)), m_currentDomain, + segment.getUrlDuration()); + m_service.add(m_sdf.format(new Date(m_start.getTime() + minute * TimeUtil.ONE_MINUTE)), m_currentDomain, + segment.getServiceDuration()); + m_call.add(m_sdf.format(new Date(m_start.getTime() + minute * TimeUtil.ONE_MINUTE)), m_currentDomain, + segment.getCallDuration()); + m_sql.add(m_sdf.format(new Date(m_start.getTime() + minute * TimeUtil.ONE_MINUTE)), m_currentDomain, + segment.getSqlDuration()); + m_cache.add(m_sdf.format(new Date(m_start.getTime() + minute * TimeUtil.ONE_MINUTE)), m_currentDomain, + segment.getCacheDuration()); + } } @Override diff --git a/cat-home/src/main/webapp/jsp/report/top.jsp b/cat-home/src/main/webapp/jsp/report/top.jsp index 4b1509b0c..0d0d41063 100644 --- a/cat-home/src/main/webapp/jsp/report/top.jsp +++ b/cat-home/src/main/webapp/jsp/report/top.jsp @@ -11,11 +11,11 @@ -- GitLab