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

Missing DTrace probes #104280

Open
furkanonder opened this issue May 7, 2023 · 3 comments
Open

Missing DTrace probes #104280

furkanonder opened this issue May 7, 2023 · 3 comments
Labels
type-bug An unexpected behavior, bug, or error

Comments

@furkanonder
Copy link
Sponsor Contributor

Bug report

On Linux, you can list available DTrace probes by running /bcc/tools/tplist.py tool;

$ ~/bcc/tools/tplist.py -l cpython/python    
cpython/python python:function__entry
cpython/python python:function__return
cpython/python python:line
cpython/python python:import__find__load__done
cpython/python python:import__find__load__start
cpython/python python:audit
cpython/python python:gc__start
cpython/python python:gc__done

The function__entry, function__return and line probes appear to be missing after the GH-103082: Implementation of PEP 669: Low Impact Monitoring for CPython update.

$ ~/bcc/tools/tplist.py -l cpython/python
cpython/python python:import__find__load__done
cpython/python python:import__find__load__start
cpython/python python:audit
cpython/python python:gc__start
cpython/python python:gc__done

Your environment

  • CPython versions tested on: Python 3.12.0a7+
  • Operating system and architecture: Arch Linux x86_64
@furkanonder furkanonder added the type-bug An unexpected behavior, bug, or error label May 7, 2023
@sunmy2019
Copy link
Contributor

CC: @markshannon @gaogaotiantian

@gaogaotiantian
Copy link
Contributor

I think DTrace was intentionally removed because it was not being used. I forgot where I read that, but Mark will have a better idea of it.

@brandtbucher
Copy link
Member

I think a bigger issue is that I'm pretty sure it isn't tested on any CI jobs or buildbots, so stuff can break (like #98894) without us noticing.

If it's not tested, it effectively isn't supported. Not sure whether the right path forward is for some motivated person to fix and maintain it, for us to remove the broken stuff and keep the working stuff (with a big disclaimer in the docs), or to just rip it out entirely.

Anecdotally, it's always been a bit uncomfortable to touch this stuff when modifying the interpreter, since I'm not very sure how it works or how to test it.

@ambv might have an idea of what the right path forward is here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type-bug An unexpected behavior, bug, or error
Projects
None yet
Development

No branches or pull requests

4 participants