)]}'
{
  "commit": "a764c31bc07950b4de68b2d8f7c5fe158db5a348",
  "tree": "77c7bea890131ecf8a09f14cba3eba2eabb6c5df",
  "parents": [
    "db2b5e84ae01a0491976cdc81fc4481608727865"
  ],
  "author": {
    "name": "Lalit Maganti",
    "email": "lalitm@google.com",
    "time": "Wed Mar 18 13:36:32 2026 +0000"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Mar 18 13:36:32 2026 +0000"
  },
  "message": "tp: add metrics subcommand (#5131)\n\n## Summary\n- Metrics subcommand (v1 metrics with --run, --pre, --output,\n--extension, --post-query, --interactive)\n- Uses new declarative flag system with multi-valued --extension via\ncustom handler\n- All sources folded into single :subcommand BUILD.gn target\n- Integration test for metrics subcommand\n\n## Test plan\n- [x] All 39 TraceProcessorShellIntegrationTest tests pass\n- [x] Builds cleanly with no warnings",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d22b1a3b10b1fd1cd56920c3e029231e45bb28ba",
      "old_mode": 33188,
      "old_path": "Android.bp",
      "new_id": "624fe5f61508bfd9f686c44c46929bd1eef6e51d",
      "new_mode": 33188,
      "new_path": "Android.bp"
    },
    {
      "type": "modify",
      "old_id": "763ec9334a60b88897f5043a2e8838c3161596fb",
      "old_mode": 33188,
      "old_path": "BUILD",
      "new_id": "2ebbbc658e8226943772af8a2c64158d9d51a879",
      "new_mode": 33188,
      "new_path": "BUILD"
    },
    {
      "type": "modify",
      "old_id": "8000a693e2934d80c079ca61f0cbf0b14106fe0b",
      "old_mode": 33188,
      "old_path": "src/trace_processor/shell/BUILD.gn",
      "new_id": "61f95245df6e548e38d5427345775f6cfb6cfd62",
      "new_mode": 33188,
      "new_path": "src/trace_processor/shell/BUILD.gn"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e028d14599c2b8366de2ad213284b80bbd362d43",
      "new_mode": 33188,
      "new_path": "src/trace_processor/shell/metrics_subcommand.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a919b99d158b45781397946102f89ad4e71d380d",
      "new_mode": 33188,
      "new_path": "src/trace_processor/shell/metrics_subcommand.h"
    },
    {
      "type": "modify",
      "old_id": "cf9161930a4a15d131861d3e13bb9650d80cf172",
      "old_mode": 33188,
      "old_path": "src/trace_processor/trace_processor_shell.cc",
      "new_id": "4c65586eac5059f6603661ed8a5245250320e916",
      "new_mode": 33188,
      "new_path": "src/trace_processor/trace_processor_shell.cc"
    },
    {
      "type": "modify",
      "old_id": "aaf8b3ef06361edcc09b2faafe18485fc418e8d6",
      "old_mode": 33188,
      "old_path": "test/trace_processor_shell_integrationtest.cc",
      "new_id": "e85b7d1cf13f027290d242d2a5efb57c77024ac8",
      "new_mode": 33188,
      "new_path": "test/trace_processor_shell_integrationtest.cc"
    }
  ]
}
