Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork32k
GH-98894: Fixfunction__return
andfunction__entry
dTrace probe missing afterGH-103083
#125019
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
base:main
Are you sure you want to change the base?
Conversation
Zheaoli commentedOct 6, 2024 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
After#103083, the sudo bpftrace -e'usdt:/home/manjusaka/Documents/projects/cpython/python:python:function__return {printf("filename: %s, funcname:%s, lineno:%d\n",str(arg0),str(arg1),arg2);}' -p 291832 And the So I think we should keep the codebase same with the document or we need to update the document if we confirm that we don't need the dtrace feature any more. |
Misc/NEWS.d/next/Core_and_Builtins/2024-10-06-17-46-24.gh-issue-98894.uG2s-h.rst OutdatedShow resolvedHide resolved
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
The build errors:
Something is probably missing somewhere. |
I have noticed this, I'm working on the CI. Thanks for the tips. Draft this PR first |
…e-98894.uG2s-h.rstCo-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
87ac00a
to128e856
Compare
IIUC, this means that they will not work with the JIT. Even if the instrumentation points are compiled into the templates, dtrace will not be able to find them. How does dtrace handle jit-in-time compiled code? |
Zheaoli commentedOct 9, 2024 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
Yes, it's static
The For now, the JIT is still an experimental feature. I think For the future, I think we may need extra dtrace point for JIT module |
How? |
That would be some different dtrace points, I'm not sure we need to discuss it here.
I'm not sure about the JIT roadmap. if here's more than five years before we make the JIT default release, I think it still is worthed adding the dtrace point back. Otherwise, we need to clean up the docs FYIhttps://docs.python.org/3/howto/instrumentation.html |
@markshannon ping~ |
Also, merging it as it is facilitates backporting. |
@markshannon ping~ |
The JIT will be included in 3.14, but probably off by default. It will almost certainly on by default for 3.15. |
I'm not opposed to having dtrace hooks, but I don't see much value in them unless they
|
Zheaoli commentedOct 23, 2024 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
OK, I got it. 1 and 3 would not be a big issue, but I need more time about 2. So how about we updatehttps://docs.python.org/3/howto/instrumentation.html and remove the function__return and function__entry part first? |
x-zvf commentedMar 29, 2025
+1 |
@Zheaoli Can you resolve the conflicts? |
Yes, But I think we need a final call here. @markshannon Should we recover the USDT probe or we just need to remove it from documentation? |
ajor commentedApr 23, 2025
If the Python JIT can be enabled/disabled without a recompilation of Python, then to me it seems worth it to include this instrumentation for non-JIT codepaths at least. That way, people who want instrumentation can disable the JIT to get it as needed. It can be documented that the probe points won't work when the JIT is enabled (rather than the alternative of them not working at all!) |
x-zvf commentedApr 23, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
This seems like the easiest path to move forward with, but it defeats the greatest power of Dtrace - intrumentingrunning processes (with low overhead). If you need to restart a process to instrument it (disabling the jit), the probes become much less useful. |
thesamesam commentedApr 23, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
I'm also confident that I can get eyes on the general DTrace vs JIT issue in the future, just at the moment, the team working on that is busy with some more fundamental bits on the DTrace side. That is, I don't think this is delaying the inevitable or anything (and therefore PR should ideally go in for now). |
…ka/fix-dtraceSigned-off-by: Manjusaka <me@manjusaka.me>
I think there are many people still need USDT for non-JIT build. I think this PR is still worth to push forward. I resolve the code conflict |
Uh oh!
There was an error while loading.Please reload this page.
Fix#98894