)]}'
{
  "commit": "e79b5713ca51b976ceaba0354b5b35a2db2f8697",
  "tree": "2631c624653b66d10d1d80d47cd75f30a8ca0942",
  "parents": [
    "1c7e423c7bc33506d9bc8116cb233357af66d0c5"
  ],
  "author": {
    "name": "Sam Rawlins",
    "email": "srawlins@google.com",
    "time": "Wed Jul 22 10:01:36 2026 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Jul 22 10:01:36 2026 -0700"
  },
  "message": "Correct units and cumulative bug in GC times (#9890)\n\nFixes #7080\n\nIn the logging page, GC events were displayed with summaries like idle\ncollection in 290 ms. The value 290 was calculated directly from the cumulative\ntimes (`newSpace.time` and `oldSpace.time`), meaning it represented the total\ncumulative GC time since isolate startup rather than the duration of this\nspecific GC. In reality, the individual collection took 290 microseconds (which\nis 0.29 milliseconds), but since it was displaying the cumulative time of 290\nms, it was off by a factor of 1000x.\n\nIn this fix, we update `_handleGCEvent` to track and subtract the previous\ncumulative GC time from the new cumulative GC time to compute the actual\nduration delta for this specific GC.\n\nAlso format the duration as a millisecond double with 1 decimal place\n(consistent with how frame times are displayed), and appended it to the log\nsummary (e.g. \"idle collection in 100.0 ms\").",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "da6f1cedf8fc630dbcaad9f98c04f4a8ac14d27d",
      "old_mode": 33188,
      "old_path": "packages/devtools_app/lib/src/screens/logging/logging_controller.dart",
      "new_id": "b9b1c163a516613d0789a72f8978b33f25365177",
      "new_mode": 33188,
      "new_path": "packages/devtools_app/lib/src/screens/logging/logging_controller.dart"
    },
    {
      "type": "modify",
      "old_id": "381298f27d55bb337b9ff50e9350fbe6ab344310",
      "old_mode": 33188,
      "old_path": "packages/devtools_app/release_notes/NEXT_RELEASE_NOTES.md",
      "new_id": "8c84a48f8324078844810da0732f455c4f678ff3",
      "new_mode": 33188,
      "new_path": "packages/devtools_app/release_notes/NEXT_RELEASE_NOTES.md"
    },
    {
      "type": "modify",
      "old_id": "85b534e774188abfe57ee9e2f262095a7aa0c244",
      "old_mode": 33188,
      "old_path": "packages/devtools_app/test/screens/logging/logging_controller_test.dart",
      "new_id": "f906aff33890b6b8932023b163e0110ae5dfcf33",
      "new_mode": 33188,
      "new_path": "packages/devtools_app/test/screens/logging/logging_controller_test.dart"
    },
    {
      "type": "modify",
      "old_id": "d6a981edc8162a6c118530250a12477469bc5127",
      "old_mode": 33188,
      "old_path": "packages/devtools_test/lib/src/mocks/fake_vm_service_wrapper.dart",
      "new_id": "0df17c7f325229ae7935accb901dcf9db758a7b5",
      "new_mode": 33188,
      "new_path": "packages/devtools_test/lib/src/mocks/fake_vm_service_wrapper.dart"
    }
  ]
}
