From 52eee012cd6becdf5312c01a293239dca956b5b6 Mon Sep 17 00:00:00 2001 From: Frankie Wu Date: Tue, 31 Jan 2012 14:44:27 +0800 Subject: [PATCH] integrate MilliSecondTimer --- .../dianping/cat/message/internal/AbstractMessage.java | 2 +- .../dianping/cat/message/internal/DefaultTransaction.java | 2 +- .../cat/message/internal/MillisSecondTimerTest.java | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/cat-core/src/main/java/com/dianping/cat/message/internal/AbstractMessage.java b/cat-core/src/main/java/com/dianping/cat/message/internal/AbstractMessage.java index 23d51aaa7..6f8f4934b 100644 --- a/cat-core/src/main/java/com/dianping/cat/message/internal/AbstractMessage.java +++ b/cat-core/src/main/java/com/dianping/cat/message/internal/AbstractMessage.java @@ -25,7 +25,7 @@ public abstract class AbstractMessage implements Message { public AbstractMessage(String type, String name) { m_type = type; m_name = name; - m_timestamp = (long) (System.nanoTime() / 1e6); + m_timestamp = MilliSecondTimer.currentTimeMillis(); m_data = new StringRope(); } diff --git a/cat-core/src/main/java/com/dianping/cat/message/internal/DefaultTransaction.java b/cat-core/src/main/java/com/dianping/cat/message/internal/DefaultTransaction.java index 77d3262a0..d4351379a 100644 --- a/cat-core/src/main/java/com/dianping/cat/message/internal/DefaultTransaction.java +++ b/cat-core/src/main/java/com/dianping/cat/message/internal/DefaultTransaction.java @@ -41,7 +41,7 @@ public class DefaultTransaction extends AbstractMessage implements Transaction { event.complete(); addChild(event); } else { - m_duration = (long) (System.nanoTime() / 1e6) - getTimestamp(); + m_duration = MilliSecondTimer.currentTimeMillis() - getTimestamp(); setCompleted(true); diff --git a/cat-core/src/test/java/com/dianping/cat/message/internal/MillisSecondTimerTest.java b/cat-core/src/test/java/com/dianping/cat/message/internal/MillisSecondTimerTest.java index a54c1bf87..9709beb2d 100644 --- a/cat-core/src/test/java/com/dianping/cat/message/internal/MillisSecondTimerTest.java +++ b/cat-core/src/test/java/com/dianping/cat/message/internal/MillisSecondTimerTest.java @@ -11,14 +11,14 @@ public class MillisSecondTimerTest { public void test() { MilliSecondTimer.initialize(); + long t1 = MilliSecondTimer.currentTimeMillis(); + for (int i = 1; i <= 100; i++) { - LockSupport.parkNanos(1000 * 1000); // 1 ms + LockSupport.parkUntil(t1 + i); - long t1 = System.currentTimeMillis(); long t2 = MilliSecondTimer.currentTimeMillis(); - // 15~16 ms is one tick in Windows system - Assert.assertTrue("failed on loop " + i + ": " + (t2 - t1), t2 - t1 <= 16); + Assert.assertTrue("failed on loop " + i + ": " + (t2 - t1), t2 - t1 <= i + 1); } } } -- GitLab