mirror of
https://github.com/python/cpython.git
synced 2024-11-30 01:16:51 +01:00
a785c87d6e
Tested on macOS 10.11 dtrace, Ubuntu 16.04 SystemTap, and libbcc. Largely based by an initial patch by Jesús Cea Avión, with some influence from Dave Malcolm's SystemTap patch and Nikhil Benesch's unification patch. Things deliberately left out for simplicity: - ustack helpers, I have no way of testing them at this point since they are Solaris-specific - PyFrameObject * in function__entry/function__return, this is SystemTap-specific - SPARC support - dynamic tracing - sys module dtrace facility introspection All of those might be added later.
20 lines
863 B
D
20 lines
863 B
D
/* Python DTrace provider */
|
|
|
|
provider python {
|
|
probe function__entry(const char *, const char *, int);
|
|
probe function__return(const char *, const char *, int);
|
|
probe instance__new__start(const char *, const char *);
|
|
probe instance__new__done(const char *, const char *);
|
|
probe instance__delete__start(const char *, const char *);
|
|
probe instance__delete__done(const char *, const char *);
|
|
probe line(const char *, const char *, int);
|
|
probe gc__start(int);
|
|
probe gc__done(long);
|
|
};
|
|
|
|
#pragma D attributes Evolving/Evolving/Common provider python provider
|
|
#pragma D attributes Evolving/Evolving/Common provider python module
|
|
#pragma D attributes Evolving/Evolving/Common provider python function
|
|
#pragma D attributes Evolving/Evolving/Common provider python name
|
|
#pragma D attributes Evolving/Evolving/Common provider python args
|