)]}'
{
  "commit": "188598851d5cf475fa57b4ec21c0e88ce9316ff0",
  "tree": "cd8face9dc12d1d001503aa2e502d06ac391295d",
  "parents": [
    "60a3a0dd6fe140fdc87f6e769ee5bb17d92efe4e"
  ],
  "author": {
    "name": "Yury Selivanov",
    "email": "yury@edgedb.com",
    "time": "Wed Jan 22 16:25:29 2025"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Jan 22 16:25:29 2025"
  },
  "message": "GH-91048: Add utils for capturing async call stack for asyncio programs and enable profiling (#124640)\n\nSigned-off-by: Pablo Galindo \u003cpablogsal@gmail.com\u003e\r\nCo-authored-by: Pablo Galindo \u003cpablogsal@gmail.com\u003e\r\nCo-authored-by: Kumar Aditya \u003ckumaraditya@python.org\u003e\r\nCo-authored-by: Łukasz Langa \u003clukasz@langa.pl\u003e\r\nCo-authored-by: Savannah Ostrowski \u003csavannahostrowski@gmail.com\u003e\r\nCo-authored-by: Jacob Coffee \u003cjacob@z7x.org\u003e\r\nCo-authored-by: Irit Katriel \u003c1055913+iritkatriel@users.noreply.github.com\u003e",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fc8edeb426c567baf39bfffdaa9d0d37c3316e37",
      "new_mode": 33188,
      "new_path": "Doc/library/asyncio-graph.rst"
    },
    {
      "type": "modify",
      "old_id": "5f83b3a2658da44e871a51736acf71de99fc29b4",
      "old_mode": 33188,
      "old_path": "Doc/library/asyncio.rst",
      "new_id": "7d368dae49dc1d731f5b4d1dd77be2954a7864b2",
      "new_mode": 33188,
      "new_path": "Doc/library/asyncio.rst"
    },
    {
      "type": "modify",
      "old_id": "0085207d3055f282c60e54cd19e1ce9cf968a681",
      "old_mode": 33188,
      "old_path": "Doc/library/inspect.rst",
      "new_id": "544efed1a76b96dc8d80d4d1822a0bbc35899939",
      "new_mode": 33188,
      "new_path": "Doc/library/inspect.rst"
    },
    {
      "type": "modify",
      "old_id": "685a09dc70eec2d61bd3601a6180e74ee6975873",
      "old_mode": 33188,
      "old_path": "Doc/whatsnew/3.14.rst",
      "new_id": "531c5ed6226fe43c347a98139aa397cece220d20",
      "new_mode": 33188,
      "new_path": "Doc/whatsnew/3.14.rst"
    },
    {
      "type": "modify",
      "old_id": "184f4b9360b6d35c6893a37e442cc677c5bc5900",
      "old_mode": 33188,
      "old_path": "Include/internal/pycore_debug_offsets.h",
      "new_id": "34debf35d14df4dc8a78d98304a399784347c00b",
      "new_mode": 33188,
      "new_path": "Include/internal/pycore_debug_offsets.h"
    },
    {
      "type": "modify",
      "old_id": "b8bea72baeaaf53eacd15e1db9be5dfcdca7208d",
      "old_mode": 33188,
      "old_path": "Include/internal/pycore_tstate.h",
      "new_id": "74e1452763e56c4143d5122532090ddc494e72cc",
      "new_mode": 33188,
      "new_path": "Include/internal/pycore_tstate.h"
    },
    {
      "type": "modify",
      "old_id": "edb615b1b6b1c65c23d840c267d71c9263377724",
      "old_mode": 33188,
      "old_path": "Lib/asyncio/__init__.py",
      "new_id": "4be7112fa017d410dd0c7d18d421f94d9fd35389",
      "new_mode": 33188,
      "new_path": "Lib/asyncio/__init__.py"
    },
    {
      "type": "modify",
      "old_id": "359b7a5e3f9eea0ff34af62f3a66b21b8d5ba2e0",
      "old_mode": 33188,
      "old_path": "Lib/asyncio/futures.py",
      "new_id": "d1df6707302277ebed2e5e606158bd08d9e2a977",
      "new_mode": 33188,
      "new_path": "Lib/asyncio/futures.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d8df7c9919abbf7f1f4c7d0fe004adf823c581ef",
      "new_mode": 33188,
      "new_path": "Lib/asyncio/graph.py"
    },
    {
      "type": "modify",
      "old_id": "8fda6c8d55e16c8c54d4862d63fb298d01b73dba",
      "old_mode": 33188,
      "old_path": "Lib/asyncio/taskgroups.py",
      "new_id": "1633478d1c87c2d3441118657c1b3d6405be9026",
      "new_mode": 33188,
      "new_path": "Lib/asyncio/taskgroups.py"
    },
    {
      "type": "modify",
      "old_id": "2112dd4b99d17f50b9f8490648625e8ed5c4c5af",
      "old_mode": 33188,
      "old_path": "Lib/asyncio/tasks.py",
      "new_id": "a25854cc4bd69eb9c70803be5a63d49e19beee17",
      "new_mode": 33188,
      "new_path": "Lib/asyncio/tasks.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fd2160d4ca31374ad27bee979b78fc93e4617098",
      "new_mode": 33188,
      "new_path": "Lib/test/test_asyncio/test_graph.py"
    },
    {
      "type": "modify",
      "old_id": "d896fec73d19719b2857b7247d8f8506b4f74b29",
      "old_mode": 33188,
      "old_path": "Lib/test/test_external_inspection.py",
      "new_id": "eceae532422f3ce13e181403634c70cb89758796",
      "new_mode": 33188,
      "new_path": "Lib/test/test_external_inspection.py"
    },
    {
      "type": "modify",
      "old_id": "11f191700ccef0ab03d0d5cd74be9511abebb50b",
      "old_mode": 33188,
      "old_path": "Lib/test/test_frame.py",
      "new_id": "7bd13eada8fedfe952089925e94a8705dae96ed6",
      "new_mode": 33188,
      "new_path": "Lib/test/test_frame.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c2faf470ffc9cf642347271753d0d81e60a64e48",
      "new_mode": 33188,
      "new_path": "Misc/NEWS.d/next/Library/2024-10-02-11-17-23.gh-issue-91048.QWY-b1.rst"
    },
    {
      "type": "modify",
      "old_id": "48f0ef95934fa40d1c1bc45f630ac150a32f1e43",
      "old_mode": 33188,
      "old_path": "Modules/_asynciomodule.c",
      "new_id": "bba7416b398101e234580e33bbd78f4d19228575",
      "new_mode": 33188,
      "new_path": "Modules/_asynciomodule.c"
    },
    {
      "type": "modify",
      "old_id": "8a92d5cdd894be576b4563f6dc200e33db058dae",
      "old_mode": 33188,
      "old_path": "Modules/_testexternalinspection.c",
      "new_id": "0c31d1b7a3486cfa30d58e467f4f6ac42110ab6d",
      "new_mode": 33188,
      "new_path": "Modules/_testexternalinspection.c"
    },
    {
      "type": "modify",
      "old_id": "794585572b13b93395be83ee80204a037dc67018",
      "old_mode": 33188,
      "old_path": "Modules/clinic/_asynciomodule.c.h",
      "new_id": "c6b7e39788be71e351b621bff2d5cd4144dc97d5",
      "new_mode": 33188,
      "new_path": "Modules/clinic/_asynciomodule.c.h"
    },
    {
      "type": "modify",
      "old_id": "d6b4065e1302bccb0c96fcd4f5384a564adadeaa",
      "old_mode": 33188,
      "old_path": "Objects/frameobject.c",
      "new_id": "44b3a2a75626c959b24dae8b623bfcd30440f7fa",
      "new_mode": 33188,
      "new_path": "Objects/frameobject.c"
    },
    {
      "type": "modify",
      "old_id": "bc3a65d8aa25ec93f7eab54c8e14b06eaed50c20",
      "old_mode": 33188,
      "old_path": "Objects/genobject.c",
      "new_id": "73bbf86588c45719229517dac769703801b0bd3c",
      "new_mode": 33188,
      "new_path": "Objects/genobject.c"
    },
    {
      "type": "modify",
      "old_id": "ea8a291a8e5eb4db13340f2c18b7c1b0475cd94d",
      "old_mode": 33188,
      "old_path": "Python/pylifecycle.c",
      "new_id": "f6526725d5dccc195936da4eb6fda989f703be37",
      "new_mode": 33188,
      "new_path": "Python/pylifecycle.c"
    },
    {
      "type": "modify",
      "old_id": "e5003021b83f00c22f940bdaf68ddce4d1be201b",
      "old_mode": 33188,
      "old_path": "Python/pystate.c",
      "new_id": "26047edb4594806f391225b10866e2a018a45d3b",
      "new_mode": 33188,
      "new_path": "Python/pystate.c"
    },
    {
      "type": "modify",
      "old_id": "da2cfedfd802c8dbbe20062e967284d7fc0cf5ba",
      "old_mode": 33188,
      "old_path": "Tools/c-analyzer/cpython/ignored.tsv",
      "new_id": "1aabe262eac480d21aea2bfcd2650a4379253629",
      "new_mode": 33188,
      "new_path": "Tools/c-analyzer/cpython/ignored.tsv"
    }
  ]
}
