This patch-set is an attempt to restructure the project and to make it build as a native Python package. Although it looks like a complete rewrite, this is essentially just a switching from using Cython to using directly the C API of Python. Cython is still being used but only for the implementation of the NumPy data wrapper. The new package has its own stand-alone build system (very primitive for the moment) that is completely decoupled from the existing build system used by tracecruncher. In order to build and install the new package do: sudo python setup.py install --record files.txt The patch-set does not remove the old implementation yet. This will happen in another successive patch-set. Please review as careful as possible! Yordan Karadzhov (VMware) (5): Refactor the part of the interface that relies on libkshark Refactor the part of the interface that relies on libtraceevent Refactor NumPy based data wrapper Add "utils" Adapt the sched_wakeup.py example script to use the new tracecruncher module examples/sched_wakeup.py | 30 ++--- setup.py | 61 +++++++++ src/common.h | 20 +++ src/datawrapper.pyx | 201 ++++++++++++++++++++++++++++ src/ftracepy.c | 234 +++++++++++++++++++++++++++++++++ src/ksharkpy.c | 268 ++++++++++++++++++++++++++++++++++++++ src/trace2matrix.c | 29 +++++ tracecruncher/__init__.py | 0 tracecruncher/utils.py | 54 ++++++++ 9 files changed, 882 insertions(+), 15 deletions(-) create mode 100644 setup.py create mode 100644 src/common.h create mode 100644 src/datawrapper.pyx create mode 100644 src/ftracepy.c create mode 100644 src/ksharkpy.c create mode 100644 src/trace2matrix.c create mode 100644 tracecruncher/__init__.py create mode 100644 tracecruncher/utils.py -- 2.20.1
![]() |