1
2/* Python dtrace provider */
3
4provider python {
5    probe function__entry(char *, char *, int, int);
6    probe function__return(char *, char *, char *);
7};
8
9/*
10
11   f      ==> PyFrameObject from compile.h
12   f_code ==> PyCodeObject  from frameobject.h
13
14Entry
15	1. char * (file name, f->f_code->co_filename->ob_sval)
16	2. char * (function name, f->f_code->co_name->ob_sval)
17	3. int    (line number, f->f_lineno)
18	4. int	  (argument count, f->f_code->co_argcount)
19
20Return
21	1. char * (file name, f->f_code->co_filename->ob_sval)
22	2. char * (function name, f->f_code->co_name->ob_sval)
23	3. char * (object type char * , object->ob_type->tp_name)
24
25*/
26
27
28
29/*
30  The definitions for these below are here:
31	http://docs.sun.com/app/docs/doc/817-6223/6mlkidlnp?a=view
32*/
33#pragma D attributes unstable/unstable/Common provider python provider
34#pragma D attributes unstable/unstable/Common provider python module
35#pragma D attributes unstable/unstable/Common provider python function
36#pragma D attributes unstable/unstable/Common provider python name
37#pragma D attributes unstable/unstable/Common provider python args
38