Index: runtime/bin/vmservice/client/lib/src/elements/observatory_element.dart |
diff --git a/runtime/bin/vmservice/client/lib/src/elements/observatory_element.dart b/runtime/bin/vmservice/client/lib/src/elements/observatory_element.dart |
index 441d62b839fb32d9e8b5dceda12fa0640bab06d9..b6b92ec4a9c75149b1f3e6eaf34c6d1cff4b1922 100644 |
--- a/runtime/bin/vmservice/client/lib/src/elements/observatory_element.dart |
+++ b/runtime/bin/vmservice/client/lib/src/elements/observatory_element.dart |
@@ -38,7 +38,7 @@ class ObservatoryElement extends PolymerElement { |
return "${prefix}${value}"; |
} |
- String formatTime(double time) { |
+ String formatTimePrecise(double time) { |
if (time == null) { |
return "-"; |
} |
@@ -64,6 +64,34 @@ class ObservatoryElement extends PolymerElement { |
} |
+ String formatTime(double time) { |
+ if (time == null) { |
+ return "-"; |
+ } |
+ const millisPerHour = 60 * 60 * 1000; |
+ const millisPerMinute = 60 * 1000; |
+ const millisPerSecond = 1000; |
+ |
+ var millis = (time * millisPerSecond).round(); |
+ |
+ var hours = millis ~/ millisPerHour; |
+ millis = millis % millisPerHour; |
+ |
+ var minutes = millis ~/ millisPerMinute; |
+ millis = millis % millisPerMinute; |
+ |
+ var seconds = millis ~/ millisPerSecond; |
+ |
+ StringBuffer out = new StringBuffer(); |
+ if (hours != 0) { |
+ return '${hours}h ${minutes}m ${seconds}s'; |
+ } |
+ if (minutes != 0) { |
+ return '${minutes}m ${seconds}s'; |
+ } |
+ return '${seconds}s'; |
+ } |
+ |
String formatSeconds(double x) { |
return x.toStringAsFixed(2); |
} |