)]}'
{
  "commit": "c8c6133b212752a5ca4bf9be661b68e43db4b26b",
  "tree": "10076da231a8ab211e1947753038d720102887b4",
  "parents": [
    "5e3b0f0ed775a57b931d8bc4b559fa8fd8481e06"
  ],
  "author": {
    "name": "Lalit Maganti",
    "email": "lalitm@google.com",
    "time": "Fri Mar 20 11:31:03 2026 +0000"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Mar 20 11:31:03 2026 +0000"
  },
  "message": "tp: add structured query mode to query subcommand (#5198)\n\n## Summary\n\n- Add `--structured-query-id` and `--summary-spec` flags to the `query`\n  subcommand, using the Summarizer API to materialize and print a single\n  structured query result. Intended for debugging/testing.\n- Remove the legacy `ExecuteStructuredQuery()` from summary.{h,cc} and\nthe\n  old `--structured-query-spec`/`--structured-query-id` classic flags.\n- Migrate diff test infra to use the new subcommand syntax.\n\n## Stack\n- **#5198 tp: add structured query mode to query subcommand** (this PR)\n- #5149 tp: classic-to-subcommand translation layer\n\n## Test plan\n- [x] `perfetto_integrationtests\n--gtest_filter\u003d\"TraceProcessorShellIntegrationTest.*\"` (45 tests pass)\n- [x] `tools/diff_test_trace_processor.py\n--name-filter\u003d\".*structured.*\"` (4 tests pass)",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "801f74cf445d792b15ba0b60549c4e7ab903f21a",
      "old_mode": 33188,
      "old_path": "python/generators/diff_tests/test_executor.py",
      "new_id": "3a79c261be6bb587677f669a841b859129f0bbed",
      "new_mode": 33188,
      "new_path": "python/generators/diff_tests/test_executor.py"
    },
    {
      "type": "modify",
      "old_id": "4a0169d1c192c877071ff6882dddc28911292fc0",
      "old_mode": 33188,
      "old_path": "src/trace_processor/shell/BUILD.gn",
      "new_id": "5973651bd664f31a6b6a0948417d5e90d633ec5b",
      "new_mode": 33188,
      "new_path": "src/trace_processor/shell/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "df65e81d068aa9f6a1a1c8f1b2ca94be8cefdec4",
      "old_mode": 33188,
      "old_path": "src/trace_processor/shell/query_subcommand.cc",
      "new_id": "64eea714e13302bb09164844189e16fc98c2a65f",
      "new_mode": 33188,
      "new_path": "src/trace_processor/shell/query_subcommand.cc"
    },
    {
      "type": "modify",
      "old_id": "f4dffb66a2bf34bf29429e37fc6ac6155b2d3925",
      "old_mode": 33188,
      "old_path": "src/trace_processor/shell/query_subcommand.h",
      "new_id": "84e93b7056315996d7cb97d9dcf77daf1f5ece92",
      "new_mode": 33188,
      "new_path": "src/trace_processor/shell/query_subcommand.h"
    },
    {
      "type": "modify",
      "old_id": "64ac91226756844685e40f955da2e4618821c318",
      "old_mode": 33188,
      "old_path": "src/trace_processor/trace_processor_shell.cc",
      "new_id": "f63d6af53472441cd3941fbd243526a7218a45c8",
      "new_mode": 33188,
      "new_path": "src/trace_processor/trace_processor_shell.cc"
    },
    {
      "type": "modify",
      "old_id": "6f93062aa21005e380fec1578bdc90ec000275ed",
      "old_mode": 33188,
      "old_path": "src/trace_processor/trace_summary/summary.cc",
      "new_id": "d9c99b4fadb1266ba9683f945ea678467381f269",
      "new_mode": 33188,
      "new_path": "src/trace_processor/trace_summary/summary.cc"
    },
    {
      "type": "modify",
      "old_id": "abcd36eec3a7e7bfa253d8c5043b27e90f22ba21",
      "old_mode": 33188,
      "old_path": "src/trace_processor/trace_summary/summary.h",
      "new_id": "b6fa5af2db76bc49bc6dd8e86b24d25bd913e4b9",
      "new_mode": 33188,
      "new_path": "src/trace_processor/trace_summary/summary.h"
    }
  ]
}
