We implement a general purpose instruments, that can be used to implement efficient (fast) visualization plugins. We also use the new instrumentation to optimize the sched_events plugin. Yordan Karadzhov (VMware) (6): kernel-shark: Add KS_DOUBLE_SIZE macro kernel-shark: Add kshark_data_container to libkshark kernel-shark: Add KS_DEFINE_PLUGIN_CONTEXT macro kernel-shark: Start using C++17 kernel-shark: Add plotting methods to KsPlugins kernel-shark: Speed-up the sched_events plugin CMakeLists.txt | 8 +- src/CMakeLists.txt | 5 +- src/KsPlugins.cpp | 416 ++++++++++++++++++++++++++++++++++++ src/KsPlugins.hpp | 48 +++++ src/libkshark-plugin.h | 58 +++++ src/libkshark-tepdata.c | 34 +++ src/libkshark-tepdata.h | 7 + src/libkshark.c | 162 +++++++++++++- src/libkshark.h | 43 ++++ src/plugins/CMakeLists.txt | 11 +- src/plugins/SchedEvents.cpp | 310 +++++++-------------------- src/plugins/sched_events.c | 393 +++++++++++----------------------- src/plugins/sched_events.h | 50 ++--- tests/libkshark-tests.cpp | 66 ++++++ 14 files changed, 1052 insertions(+), 559 deletions(-) create mode 100644 src/KsPlugins.cpp -- 2.25.1