diff --git a/runtime/observatory/lib/utils.dart b/runtime/observatory/lib/utils.dart
index 940a6e1..a23dc64 100644
--- a/runtime/observatory/lib/utils.dart
+++ b/runtime/observatory/lib/utils.dart
@@ -98,24 +98,25 @@
 
   static String formatSize(bytesDynamic) {
     int bytes = bytesDynamic.toInt();
-    int absBytes = bytes >= 0 ? bytes : -bytes;
-    const int digits = 1;
+
+    String finish(int scale, String prefix) {
+      double scaled = bytes / scale;
+      int digits = 1;
+      if (scaled < 10) digits = 2;
+      return "${scaled.toStringAsFixed(digits)}${prefix}B";
+    }
+
     const int bytesPerKB = 1024;
     const int bytesPerMB = 1024 * bytesPerKB;
     const int bytesPerGB = 1024 * bytesPerMB;
     const int bytesPerTB = 1024 * bytesPerGB;
 
-    if (absBytes < bytesPerKB) {
-      return "${bytes}B";
-    } else if (absBytes < bytesPerMB) {
-      return "${(bytes / bytesPerKB).toStringAsFixed(digits)}KB";
-    } else if (absBytes < bytesPerGB) {
-      return "${(bytes / bytesPerMB).toStringAsFixed(digits)}MB";
-    } else if (absBytes < bytesPerTB) {
-      return "${(bytes / bytesPerGB).toStringAsFixed(digits)}GB";
-    } else {
-      return "${(bytes / bytesPerTB).toStringAsFixed(digits)}TB";
-    }
+    int absBytes = bytes >= 0 ? bytes : -bytes;
+    if (absBytes < bytesPerKB) return "${bytes}B";
+    if (absBytes < bytesPerMB) return finish(bytesPerKB, "K");
+    if (absBytes < bytesPerGB) return finish(bytesPerMB, "M");
+    if (absBytes < bytesPerTB) return finish(bytesPerGB, "G");
+    return finish(bytesPerTB, "TB");
   }
 
   static String formatTime(double time) {
diff --git a/tools/VERSION b/tools/VERSION
index 7c96765..fd18663 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 12
 PATCH 0
-PRERELEASE 172
+PRERELEASE 173
 PRERELEASE_PATCH 0
\ No newline at end of file
