PTVS icon indicating copy to clipboard operation
PTVS copied to clipboard

PTVS Profiling Revamp

Open AdamYoblick opened this issue 9 months ago • 2 comments

We've been asked to refactor our python profiling code to mesh with the new profiling system that VS built.

This work is spread between PTVS (me), a python extension (Steve Dower), and the VS team.

Work remaining for me:

  • [ ] Pull in Steve's profiling package, ask him to put it somewhere upstream of the msft_consumption feed so we can ingest it as part of our build.
    • Package is at https://dev.azure.com/mseng/Python/_artifacts/feed/Python@Prerelease/PyPI/etwtrace/overview/0.1b3.
    • It will need to be moved to a public feed, then added to an upstream of the msft_consumption feed at https://dev.azure.com/azure-public/vside/_artifacts/feed/msft_consumption. OR just add it to PyPi.
  • [ ] Make sure the package gets bundled up into one of the existing VSIX files generated through our CI build
    • This needs to be a "fat" install, taking in files from all the wheels, since we don't know what platform/python version the user will have, so we package all of them. See install_debugpy.py for an example of how to do this.
    • [x] Manually download the etwtrace package and use install_wheels.py to install and merge the wheels into the packages folder.
    • [x] Modify the build scripts to grab this new folder and include the files in one of the vsix files.
  • [ ] Once the package makes it into VS, make sure we install it and/or invoke it when profiling
  • [ ] Do the work to show up in the Performance Profiler UI (see below):

Notes from the VS team:

Here is some info on how to show up in the Performance Profiler (Alt+F2) UI. Grab our SDK package (Package Details - Azure Artifacts (visualstudio.com)) then export an ITargetProvider.

ITargetProvider: Anything that implements this interface shows up in that “select target” dropdown.

The main method where the action happens is GetTargetsAsync which returns the ITarget that the profiler uses.

AdamYoblick avatar May 20 '24 20:05 AdamYoblick