)]}'
{
  "commit": "1697871510f3f196c095c4c9aeba841a5bf97b5c",
  "tree": "be5375236ec161fcd2791de074a9ee744bfb9140",
  "parents": [
    "c9206bef5f06a010106944e589c362c14099a961"
  ],
  "author": {
    "name": "gignat",
    "email": "gignat@google.com",
    "time": "Tue Sep 01 13:26:32 2026 +0000"
  },
  "committer": {
    "name": "gignat",
    "email": "gignat@google.com",
    "time": "Tue Sep 01 13:26:34 2026 +0000"
  },
  "message": "ui: show pprof archives as a flamegraph collection\n\nAggregateProfiles adopts FlamegraphCollection to organize archives: one\ngrid row per profile, one grid column and flamegraph measure per sample\ntype found across the archive. Merging is a single query -- callsites\nare interned globally, so same-stack samples combine across profiles --\nand only the selected subset touches the callstack tables, so the page\nscales to thousands of profiles. Profile-only traces land on the page\ndirectly via initialPage.\n\nThe Playwright test assembles a tar of the two checked-in pprofs in the\ntest itself (new PerfettoTestHelper.openTraceBuffer), so no new\nGCS-hosted test data or screenshot baselines are needed.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5ccbc1e069085ebdd24fadc403056662dfa19bcc",
      "old_mode": 33188,
      "old_path": "ui/src/plugins/dev.perfetto.AggregateProfiles/index.ts",
      "new_id": "491ef3bb65f6a20ec0cf820fc365162a0c32dd5a",
      "new_mode": 33188,
      "new_path": "ui/src/plugins/dev.perfetto.AggregateProfiles/index.ts"
    },
    {
      "type": "modify",
      "old_id": "edd271ff3538f4321cab3fc09ff233bb9062aebf",
      "old_mode": 33188,
      "old_path": "ui/src/plugins/dev.perfetto.AggregateProfiles/types.ts",
      "new_id": "3d788feb5f7a4eecc116303624b6c63ce06f2558",
      "new_mode": 33188,
      "new_path": "ui/src/plugins/dev.perfetto.AggregateProfiles/types.ts"
    }
  ]
}
