[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/rudolfolah/profiling-code/main/python/call_stack.d [Back]  [Original]

self int indent;

python$target:::function-entry
/basename(copyinstr(arg0)) == "program.py"/
{
        self->trace = 1;
}

python$target:::function-entry
/self->trace/
{
        printf("%d\t%*s:", timestamp, 15, probename);
        printf("%*s", self->indent, "");
        printf("%s:%s:%d\n", basename(copyinstr(arg0)), copyinstr(arg1), arg2);
        self->indent++;
}

python$target:::function-return
/self->trace/
{
        self->indent--;
        printf("%d\t%*s:", timestamp, 15, probename);
        printf("%*s", self->indent, "");
        printf("%s:%s:%d\n", basename(copyinstr(arg0)), copyinstr(arg1), arg2);
}

python$target:::function-return
/basename(copyinstr(arg0)) == "program.py"/
{
        self->trace = 0;
}

python$target:::line
/basename(copyinstr(arg0)) == "program.py"/
{
        printf("%d\t%*s:", timestamp, 15, probename);
        printf("%*s", self->indent, "");
        printf("%s:%s:%d\n", basename(copyinstr(arg0)), copyinstr(arg1), arg2);
}

Web Proxy Viewer  |  New URL  |  Original Page