ajdavis / GreenletProfiler

Abandoned, please use Yappi.
MIT License
51 stars 15 forks source link

Upgrade Yappi #2

Open sublee opened 10 years ago

sublee commented 10 years ago

The latest version of Yappi is 0.92 but the Yappi vendorized to GreenletProfiler seems to be 0.82. It should be upgraded also.

veegee commented 10 years ago

+1 Yappi needs to be upgraded, or this doesn't install on Python 3.4

aodj commented 9 years ago

Upgrading will also hopefully bring in the new set_context_id_callback and set_context_name_callback functions which allow further integration with profiling greenlets.

advance512 commented 7 years ago

Seeing this error on Ubuntu 16.10 with Python 3.5.2:

    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DLIB_RT_AVAILABLE=1 -I_vendorized_yappi -I/usr/include/python3.5m -I/home/user/workspace/perfpie/boilerplate/.pyenv/include/python3.5m -c _vendorized_yappi/_yappi.c -o build/temp.linux-x86_64-3.5/_vendorized_yappi/_yappi.o
    _vendorized_yappi/_yappi.c: In function ‘_call_context_name_callback’:
    _vendorized_yappi/_yappi.c:199:14: warning: implicit declaration of function ‘PyString_Check’ [-Wimplicit-function-declaration]
             if (!PyString_Check(callback_rc)) {
                  ^
    _vendorized_yappi/_yappi.c: In function ‘_yapp_callback’:
    _vendorized_yappi/_yappi.c:737:36: error: ‘PyFrameObject {aka struct _frame}’ has no member named ‘f_tstate’
         current_ctx = _thread2ctx(frame->f_tstate);
                                        ^
    error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
meagerman commented 6 years ago

Seeing this on OSX 10 with Python 3.6.1, probably related to the same outdated yappi:

building '_GreenletProfiler_yappi' extension
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I_vendorized_yappi -I/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/include/python3.6m -c _vendorized_yappi/_yappi.c -o build/temp.macosx-10.10-x86_64-3.6/_vendorized_yappi/_yappi.o
_vendorized_yappi/_yappi.c:199:14: warning: implicit declaration of function 'PyString_Check' is invalid in C99 [-Wimplicit-function-declaration]
        if (!PyString_Check(callback_rc)) {
             ^
_vendorized_yappi/_yappi.c:199:14: warning: this function declaration is not a prototype [-Wstrict-prototypes]
_vendorized_yappi/_yappi.c:737:38: error: no member named 'f_tstate' in 'struct _frame'
    current_ctx = _thread2ctx(frame->f_tstate);

If the maintainer is abandoning the project, could we at least get a diff of the changes made to the vendorized Yappi so we can try to update it with the required changes?