Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Python 3.12 support for profiler #7787

Open
3 tasks
Tracked by #7769
AdamYoblick opened this issue Dec 11, 2023 · 1 comment
Open
3 tasks
Tracked by #7769

Python 3.12 support for profiler #7787

AdamYoblick opened this issue Dec 11, 2023 · 1 comment
Assignees

Comments

@AdamYoblick
Copy link
Member

AdamYoblick commented Dec 11, 2023

This is the largest task in the 3.12 support epic.

It's much trickier because the cpython team changed lots of the python internals between 3.9 and 3.12, which will cause mismatches between our headers and the cpython ones. I've reached out to the VS team to see what the status is around VS interpreting ETW events, which would be much less work that modifying our custom profiling code and manually matching cpython headers.

Steve Dower has released a python package that publishes the ETW events at https://dev.azure.com/mseng/Python/_artifacts/feed/Python/PyPI/etwtrace/overview/0.1b2.

So here are the tasks on our end:

  • Add this package as a dependency of PTVS and package it up into the vsix that gets injected into the VS installer. Make sure it's installed/enabled.
  • Verify that the ETW events are being generated when running python code through VS.
  • Work with the VS team to have VS listen to these events and hook them up to the VS profiling tool.

Note that this approach will not work for line-level profiling (code coverage). This will require a different solution. We need to see what the line-level profiling experience looks like for other languages so we know what we need to support.

@AdamYoblick AdamYoblick changed the title PTVS profiler, mixed-mode debugger (Concord), pydebugattach Python 3.12 support for profiler, mixed-mode-debugger (Concord), pydebugattach Dec 11, 2023
@AdamYoblick AdamYoblick changed the title Python 3.12 support for profiler, mixed-mode-debugger (Concord), pydebugattach Python 3.12 support for profiler Dec 12, 2023
@jtmedley
Copy link

jtmedley commented Oct 1, 2024

Hi, could I ask for clarification about this task versus #7904?

I see that the parent task for this (#7769) and the big one for 3.12 (#7775) are both marked "on hold" - is that to wait for the revamp in #7904 to be complete?

Or is this task a part of that revamp, or is there another reason for the "on hold" status?

Just got caught in a loop while trying to figure out what kinds of 3.12 support might be added on what time scales. Thanks in advance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants