)]}'
{
  "commit": "23c353cc03716aa87d57aa6fd2ff4ba9b5c75909",
  "tree": "18ec590c6f851f177766dd2d3763ce19339b4292",
  "parents": [
    "f31a9f62cae26fb58e8bff12f477499d7a9f2b23"
  ],
  "author": {
    "name": "Ryan",
    "email": "rsavitski@google.com",
    "time": "Mon Jun 08 15:35:11 2026 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Jun 08 14:35:11 2026 +0000"
  },
  "message": "heapprofd: add glob support to cmdline matching (only for running targets) (#6167)\n\nCurrently, heap profiling is the only data source that cannot be\nconfigured with wildcard patterns for process names. This is because\n\"from startup\" profiling on Android requires self-targeting code to\nderive a unique sysprop name from the process cmdline, where the sysprop\nvalue states whether to self-activate the profiling (and is set by\nheapprofd). With wildcard matching, the startup case would need a\ndifferent scheme that can inspect all N patterns that are being\nprofiled.\n\nThis patch retrofits wildcard support into heapprofd, but makes it\nexplicitly incompatible with startup profiling to reduce surprise\nfactor. A config needs to explicitly state no_startup\u003dtrue if its\n|process_cmdline| includes wildcards.\n\nThe glob-aware matching codepath is identical to traced_perf and\njava_hprof profilers.\n\nBug: 495877833",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "51c8cbe7a99fee8e690caa4f3bdfb88faa8d5232",
      "old_mode": 33188,
      "old_path": "CHANGELOG",
      "new_id": "159c49c73ad5ce76560b2f832706082d743e4660",
      "new_mode": 33188,
      "new_path": "CHANGELOG"
    },
    {
      "type": "modify",
      "old_id": "bb0a70087b2f4e025154583399b247e107340be2",
      "old_mode": 33188,
      "old_path": "protos/perfetto/config/profiling/heapprofd_config.proto",
      "new_id": "cc6116aa9c98c5d5dbfa74a034841d2b07dc8c0c",
      "new_mode": 33188,
      "new_path": "protos/perfetto/config/profiling/heapprofd_config.proto"
    },
    {
      "type": "modify",
      "old_id": "5c0b5515d84765de85e21d1d50995057b6b46c04",
      "old_mode": 33188,
      "old_path": "src/profiling/common/proc_utils.cc",
      "new_id": "042b1a01e579f2bea4762bb7f15f99c6d5f053fd",
      "new_mode": 33188,
      "new_path": "src/profiling/common/proc_utils.cc"
    },
    {
      "type": "modify",
      "old_id": "4792febe0ee7cd7ffd50b4c7f15a7d7560feea57",
      "old_mode": 33188,
      "old_path": "src/profiling/common/proc_utils.h",
      "new_id": "b7211379613c6536d00248e10d802924f1dc6993",
      "new_mode": 33188,
      "new_path": "src/profiling/common/proc_utils.h"
    },
    {
      "type": "modify",
      "old_id": "8ce34e4956c9624e75e624fcb46ca21177acb68e",
      "old_mode": 33188,
      "old_path": "src/profiling/common/proc_utils_unittest.cc",
      "new_id": "4f0ead796233498350c74325b7de1167f0011f17",
      "new_mode": 33188,
      "new_path": "src/profiling/common/proc_utils_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "f0c5043b0e1a4398029e724d76ea1f35d6340ba1",
      "old_mode": 33188,
      "old_path": "src/profiling/memory/heapprofd_producer.cc",
      "new_id": "0eaf1b9ab465a5c47d92cc86108318adedc42b1d",
      "new_mode": 33188,
      "new_path": "src/profiling/memory/heapprofd_producer.cc"
    },
    {
      "type": "modify",
      "old_id": "f1473c806651f358e384cc92b0809ade6e40c021",
      "old_mode": 33188,
      "old_path": "src/profiling/memory/heapprofd_producer.h",
      "new_id": "8ebcdaa2bcacf0cbfe1300b11caf891a616f3ea8",
      "new_mode": 33188,
      "new_path": "src/profiling/memory/heapprofd_producer.h"
    }
  ]
}
