Reviewers: tobyr,
Description:
Updates to dashboard interface so we're passing wall-clock time millis
instead of normalized nanos. This is required to tie an event back to
actual date and time it occurred.
Please review this at http://gwt-code-reviews.appspot.com/1449807/
Affected files:
M
dev/core/src/com/google/gwt/dev/util/log/dashboard/DashboardNotifier.java
M
dev/core/src/com/google/gwt/dev/util/log/dashboard/NoOpDashboardNotifier.java
M
dev/core/src/com/google/gwt/dev/util/log/speedtracer/SpeedTracerLogger.java
M
dev/core/test/com/google/gwt/dev/util/log/dashboard/DashboardNotifierFactoryTest.java
M
dev/core/test/com/google/gwt/dev/util/log/dashboard/SpeedTracerLoggerTestMockNotifier.java
Index:
dev/core/src/com/google/gwt/dev/util/log/dashboard/DashboardNotifier.java
===================================================================
---
dev/core/src/com/google/gwt/dev/util/log/dashboard/DashboardNotifier.java
(revision 10236)
+++
dev/core/src/com/google/gwt/dev/util/log/dashboard/DashboardNotifier.java
(working copy)
@@ -33,8 +33,8 @@
/**
* Records a top-level event to the dashboard.
*/
- void devModeEvent(DevModeSession session, String eventType, long
startTimeNanos,
- long durationNanos);
+ void devModeEvent(DevModeSession session, String eventType, long
startTimeMillis,
+ long durationMillis);
/**
* Records a new module/session.
Index:
dev/core/src/com/google/gwt/dev/util/log/dashboard/NoOpDashboardNotifier.java
===================================================================
---
dev/core/src/com/google/gwt/dev/util/log/dashboard/NoOpDashboardNotifier.java
(revision 10236)
+++
dev/core/src/com/google/gwt/dev/util/log/dashboard/NoOpDashboardNotifier.java
(working copy)
@@ -24,8 +24,8 @@
public class NoOpDashboardNotifier implements DashboardNotifier {
@Override
- public void devModeEvent(DevModeSession sesion, String eventType, long
startTimeNanos,
- long durationNanos) {
+ public void devModeEvent(DevModeSession sesion, String eventType, long
startTimeMillis,
+ long durationMillis) {
// do nothing
}
Index:
dev/core/src/com/google/gwt/dev/util/log/speedtracer/SpeedTracerLogger.java
===================================================================
---
dev/core/src/com/google/gwt/dev/util/log/speedtracer/SpeedTracerLogger.java
(revision 10236)
+++
dev/core/src/com/google/gwt/dev/util/log/speedtracer/SpeedTracerLogger.java
(working copy)
@@ -171,8 +171,19 @@
? threadCpuDurationNanos : elapsedDurationNanos);
}
+ public long getElapsedDurationMillis() {
+ return (long) convertToMilliseconds(getElapsedDurationNanos());
+ }
+
public long getElapsedDurationNanos() {
return this.elapsedDurationNanos;
+ }
+
+ public long getElapsedStartTimeMillis() {
+ // return an *un*normalized value that can be used to track actual
dates
+ // and times of the event
+ return elapsedTimeKeeper.zeroTimeSystemClockMillis()
+ + (long) convertToMilliseconds(getElapsedStartTimeNanos());
}
public long getElapsedStartTimeNanos() {
@@ -390,8 +401,10 @@
private final long zeroTimeNanos;
private final long zeroTimeMillis;
-
+ private final long zeroTimeSystemClockMillis;
+
public ElapsedNormalizedTimeKeeper() {
+ zeroTimeSystemClockMillis = System.currentTimeMillis();
zeroTimeNanos = System.nanoTime();
zeroTimeMillis = (long) convertToMilliseconds(zeroTimeNanos);
}
@@ -402,6 +415,10 @@
public long zeroTimeMillis() {
return zeroTimeMillis;
+ }
+
+ public long zeroTimeSystemClockMillis() {
+ return zeroTimeSystemClockMillis;
}
}
@@ -860,8 +877,8 @@
}
DashboardNotifierFactory.getNotifier().devModeEvent(currentEvent.getDevModeSession(),
- currentEvent.getType().getName(),
currentEvent.getElapsedStartTimeNanos(),
- currentEvent.getElapsedDurationNanos());
+ currentEvent.getType().getName(),
currentEvent.getElapsedStartTimeMillis(),
+ currentEvent.getElapsedDurationMillis());
}
}
Index:
dev/core/test/com/google/gwt/dev/util/log/dashboard/DashboardNotifierFactoryTest.java
===================================================================
---
dev/core/test/com/google/gwt/dev/util/log/dashboard/DashboardNotifierFactoryTest.java
(revision 10236)
+++
dev/core/test/com/google/gwt/dev/util/log/dashboard/DashboardNotifierFactoryTest.java
(working copy)
@@ -28,8 +28,8 @@
// create test notifier instance
DashboardNotifier obj = new DashboardNotifier() {
@Override
- public void devModeEvent(DevModeSession session, String eventType,
long startTimeNanos,
- long durationNanos) {
+ public void devModeEvent(DevModeSession session, String eventType,
long startTimeMillis,
+ long durationMillis) {
// no need to do anything
}
Index:
dev/core/test/com/google/gwt/dev/util/log/dashboard/SpeedTracerLoggerTestMockNotifier.java
===================================================================
---
dev/core/test/com/google/gwt/dev/util/log/dashboard/SpeedTracerLoggerTestMockNotifier.java
(revision 10236)
+++
dev/core/test/com/google/gwt/dev/util/log/dashboard/SpeedTracerLoggerTestMockNotifier.java
(working copy)
@@ -34,22 +34,22 @@
public static class DevModeEvent {
private DevModeSession session;
private String eventType;
- private long startTimeNanos;
- private long durationNanos;
+ private long startTimeMillis;
+ private long durationMillis;
- public DevModeEvent(DevModeSession session, String eventType, long
startTimeNanos,
- long durationNanos) {
+ public DevModeEvent(DevModeSession session, String eventType, long
startTimeMillis,
+ long durationMillis) {
this.session = session;
this.eventType = eventType;
- this.startTimeNanos = startTimeNanos;
- this.durationNanos = durationNanos;
+ this.startTimeMillis = startTimeMillis;
+ this.durationMillis = durationMillis;
}
public DevModeEvent(Event e) {
this.session = e.getDevModeSession();
this.eventType = e.getType().getName();
- this.startTimeNanos = e.getElapsedStartTimeNanos();
- this.durationNanos = e.getElapsedDurationNanos();
+ this.startTimeMillis = e.getElapsedStartTimeMillis();
+ this.durationMillis = e.getElapsedDurationMillis();
}
public DevModeSession getDevModeSession() {
@@ -61,7 +61,7 @@
if (o != null && o instanceof DevModeEvent) {
DevModeEvent e = (DevModeEvent) o;
return session.equals(e.session) && eventType.equals(e.eventType)
- && startTimeNanos == e.startTimeNanos && durationNanos ==
e.durationNanos;
+ && startTimeMillis == e.startTimeMillis && durationMillis ==
e.durationMillis;
}
return false;
}
@@ -71,8 +71,8 @@
int hash = 37;
hash = hash*19 + session.hashCode();
hash = hash*19 + eventType.hashCode();
- hash = hash*19 + Long.valueOf(startTimeNanos).hashCode();
- hash = hash*19 + Long.valueOf(durationNanos).hashCode();
+ hash = hash*19 + Long.valueOf(startTimeMillis).hashCode();
+ hash = hash*19 + Long.valueOf(durationMillis).hashCode();
return hash;
}
}
@@ -94,9 +94,9 @@
private LinkedList<DevModeEvent> eventSeq = new
LinkedList<DevModeEvent>();
@Override
- public void devModeEvent(DevModeSession session, String eventType, long
startTimeNanos,
- long durationNanos) {
- DevModeEvent e = new DevModeEvent(session, eventType, startTimeNanos,
durationNanos);
+ public void devModeEvent(DevModeSession session, String eventType, long
startTimeMillis,
+ long durationMillis) {
+ DevModeEvent e = new DevModeEvent(session, eventType, startTimeMillis,
durationMillis);
eventSeq.add(e);
}
--
http://groups.google.com/group/Google-Web-Toolkit-Contributors