)]}'
{
  "commit": "6946b1a22af46e23fc085f93303d4b993b6080d1",
  "tree": "b0cc5da14fa31a15db8849c58e443775f4683bc0",
  "parents": [
    "5ef59a6941059614e1fcd9f8b1d2f01c6f0f1eba"
  ],
  "author": {
    "name": "Zimuzo Ezeozue",
    "email": "zezeozue@google.com",
    "time": "Wed Jul 22 19:12:27 2026 +0100"
  },
  "committer": {
    "name": "Zimuzo Ezeozue",
    "email": "zezeozue@google.com",
    "time": "Wed Jul 22 19:12:27 2026 +0100"
  },
  "message": "tp+ui: render (is_pid)/(is_tid) args as process/thread references\n\nArgs produced from an (is_pid)/(is_tid) proto field annotation carried\ntheir upid/utid into trace_processor but were stored as a plain integer,\nso the UI could not tell them apart from any other int and rendered them\nas a bare number.\n\nGive the value its own identity end to end, mirroring how kPointer already\ndistinguishes a pointer from an int:\n\n  - Add Variadic::kUpid / kUtid (value_type \u0027upid\u0027 / \u0027utid\u0027), so the\n    semantic survives into the args table and is queryable in SQL.\n  - AddUpid/AddUtid store the new types instead of Variadic::Integer.\n  - arg_set_to_json serialises them as a typed reference object,\n    {\"__ref\": \"process\"|\"thread\", \"id\": \u003cn\u003e}, keyed by the target table.\n  - The args details tree keeps the upid/utid arg as the raw id and adds a\n    companion row, keyed by rewriting the id suffix (caller_upid -\u003e\n    caller_process_name, x_utid -\u003e x_thread_name), showing the process/thread\n    name -- without the pid/tid -- resolved live from the process/thread\n    table so it never goes stale. If the key lacks the expected suffix the\n    name row is skipped.\n\nEverywhere else the new types behave exactly like an integer (they are\none), so the remaining Variadic switches fall through to the kInt path.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\nChange-Id: I8765552630abf6396988c0a53987d27db1b1d2a1\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "210de3e4fa9cea6bd4aa53a2b5154ef526d4c5a7",
      "old_mode": 33188,
      "old_path": "src/trace_processor/export_json.cc",
      "new_id": "23c81668170be363f4106da05c900534c3ed73ec",
      "new_mode": 33188,
      "new_path": "src/trace_processor/export_json.cc"
    },
    {
      "type": "modify",
      "old_id": "86968f9f1cd0300004d17c4d1b663be3dd22933b",
      "old_mode": 33188,
      "old_path": "src/trace_processor/importers/common/global_args_tracker.h",
      "new_id": "3c2a958f5afc37dd9e5471f76c0a8ebe2a450ec3",
      "new_mode": 33188,
      "new_path": "src/trace_processor/importers/common/global_args_tracker.h"
    },
    {
      "type": "modify",
      "old_id": "66d3d5d38362a909eb09c33bc0ac7b6a3726cb44",
      "old_mode": 33188,
      "old_path": "src/trace_processor/importers/common/global_metadata_tracker.cc",
      "new_id": "0957fc4e7fd73919be480473b1e812a95578e518",
      "new_mode": 33188,
      "new_path": "src/trace_processor/importers/common/global_metadata_tracker.cc"
    },
    {
      "type": "modify",
      "old_id": "58a3866c0fd002ff9b8ed8b109dd518077dddc5e",
      "old_mode": 33188,
      "old_path": "src/trace_processor/importers/proto/args_parser.cc",
      "new_id": "af66020abde1ecae1ea6d3930e479908aaf13721",
      "new_mode": 33188,
      "new_path": "src/trace_processor/importers/proto/args_parser.cc"
    },
    {
      "type": "modify",
      "old_id": "6d48201ed65573adcceb272e3076a4f144ebddd8",
      "old_mode": 33188,
      "old_path": "src/trace_processor/plugins/args/args.cc",
      "new_id": "1e1a01a935905b508fcc4d3bb3ba435cc67fd6d7",
      "new_mode": 33188,
      "new_path": "src/trace_processor/plugins/args/args.cc"
    },
    {
      "type": "modify",
      "old_id": "84c4daa84996afd95f80211cbdf06070fd76130d",
      "old_mode": 33188,
      "old_path": "src/trace_processor/plugins/to_ftrace/to_ftrace.cc",
      "new_id": "92a7edf6c3466c1883b41f3a6d3529090cffe534",
      "new_mode": 33188,
      "new_path": "src/trace_processor/plugins/to_ftrace/to_ftrace.cc"
    },
    {
      "type": "modify",
      "old_id": "2a9510aa833be287ed6e850b863ad5389cda394a",
      "old_mode": 33188,
      "old_path": "src/trace_processor/types/variadic.h",
      "new_id": "0dd42e951308ea4b34d147bdd2411b97c353c100",
      "new_mode": 33188,
      "new_path": "src/trace_processor/types/variadic.h"
    },
    {
      "type": "modify",
      "old_id": "1761174a6685c17ec3e0b54134ec3d46953e78b2",
      "old_mode": 33188,
      "old_path": "src/trace_processor/util/args_utils.h",
      "new_id": "c29b463cfce1a8c015cb31127ed6093afdcb3fa5",
      "new_mode": 33188,
      "new_path": "src/trace_processor/util/args_utils.h"
    },
    {
      "type": "modify",
      "old_id": "00dd83682b5311ab2d1f680f95efc73b1b1f9b8f",
      "old_mode": 33188,
      "old_path": "ui/src/components/details/args.ts",
      "new_id": "8840eb743c6a01ccd217a134c3662f591dc40c99",
      "new_mode": 33188,
      "new_path": "ui/src/components/details/args.ts"
    }
  ]
}
