)]}'
{
  "commit": "e5fc89cf29ce5dd4b66d6c76b2b0559c51a35d11",
  "tree": "f2195d4e94bfbac77c1323187af5a41467ea2d62",
  "parents": [
    "c8d09cbd9103c2d096bf3546a80de39a83484d05"
  ],
  "author": {
    "name": "Lalit Maganti",
    "email": "lalitm@google.com",
    "time": "Fri Mar 20 13:16:12 2026 +0000"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Mar 20 13:16:12 2026 +0000"
  },
  "message": "tp: classic-to-subcommand translation layer (#5149)\n\n## Summary\n\n- Replace the classic monolithic `Run()` path with a translation layer\nthat\n  converts old-style flags (`-q`, `-Q`, `--summary`, `--run-metrics`,\n`--httpd`, `--stdiod`, `-e`) into subcommand invocations and\nre-dispatches.\n- Add integration tests for the classic flag translation.\n- Add `--perf-file` to metrics/summarize subcommands, content-sniffing\nfor\n  summary spec format, `-i` (interactive after query) support, and other\n  subcommand enhancements.\n\n## Stack\n- #5198 tp: add structured query mode to query subcommand\n- **#5149 tp: classic-to-subcommand translation layer** (this PR)\n\n## Test plan\n- [x] `perfetto_integrationtests\n--gtest_filter\u003d\"TraceProcessorShellIntegrationTest.*\"` (56 tests pass)\n- [x] `tools/diff_test_trace_processor.py\n--name-filter\u003d\".*structured.*\"` (4 tests pass)",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "813bff034bc8a56ff8abcec4af218f5083776455",
      "old_mode": 33188,
      "old_path": "src/trace_processor/shell/metrics_subcommand.cc",
      "new_id": "dfd59fd71c2db1b4ef3fdda74eb8bdeff2421737",
      "new_mode": 33188,
      "new_path": "src/trace_processor/shell/metrics_subcommand.cc"
    },
    {
      "type": "modify",
      "old_id": "7194b31f45257f0eb7d85d90a01a3db3346ee21a",
      "old_mode": 33188,
      "old_path": "src/trace_processor/shell/metrics_subcommand.h",
      "new_id": "b460c2fadd0b728893d1af283702a1dbef675a42",
      "new_mode": 33188,
      "new_path": "src/trace_processor/shell/metrics_subcommand.h"
    },
    {
      "type": "modify",
      "old_id": "64eea714e13302bb09164844189e16fc98c2a65f",
      "old_mode": 33188,
      "old_path": "src/trace_processor/shell/query_subcommand.cc",
      "new_id": "e4f14515fc336d2bfcbb956a521f70cae254b565",
      "new_mode": 33188,
      "new_path": "src/trace_processor/shell/query_subcommand.cc"
    },
    {
      "type": "modify",
      "old_id": "b7ac6be1fda8a86df623a7e555cef2a7b6dfaf0a",
      "old_mode": 33188,
      "old_path": "src/trace_processor/shell/summarize_subcommand.cc",
      "new_id": "82ae923a1ef0336fa5894789ee789c051fe694b9",
      "new_mode": 33188,
      "new_path": "src/trace_processor/shell/summarize_subcommand.cc"
    },
    {
      "type": "modify",
      "old_id": "1286e1dfaba4fa07c0c15c3e95277f5589c1cf9a",
      "old_mode": 33188,
      "old_path": "src/trace_processor/shell/summarize_subcommand.h",
      "new_id": "c730f669b4a1398e907ab721fca2df78f9e1c0e8",
      "new_mode": 33188,
      "new_path": "src/trace_processor/shell/summarize_subcommand.h"
    },
    {
      "type": "modify",
      "old_id": "f63d6af53472441cd3941fbd243526a7218a45c8",
      "old_mode": 33188,
      "old_path": "src/trace_processor/trace_processor_shell.cc",
      "new_id": "d8bb30e917f8916787a63e116ba330c41a0f0742",
      "new_mode": 33188,
      "new_path": "src/trace_processor/trace_processor_shell.cc"
    },
    {
      "type": "modify",
      "old_id": "830f3730bc33f060e9ee5f6319de606333caf534",
      "old_mode": 33188,
      "old_path": "test/trace_processor_shell_integrationtest.cc",
      "new_id": "3d03473e49c1861e642fdaa656ccf7ddf7bad3f1",
      "new_mode": 33188,
      "new_path": "test/trace_processor_shell_integrationtest.cc"
    }
  ]
}
