[PATCH v2 00/20] Start KernelShark v2 transformation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



In this patch-set we are starting the introduction of the changes
in the C API of libkshark. The goal of this transformation is to
turn KernelShark into a general purpose toolkit for analysis of
tracing data that is no longer strongly coupled to the Ftrace/trace-cmd
data format. At the end of the transformation KernelShark will be able
to merge and simultaneously visualize data from different tracers,
recorded in different data formats. It will also significantly extend
the possibilities for user customization.

This  patch-set transforms the way KernelShark processes the raw tracing
data. Later, in a consecutive patch-sets we will introduce the changes
in the visualization instruments and in the KernelShark GUI itself.

Changes is v2:
 * Tried to address review comments for "kernel-shark: Introduce libkshark-hash"

 * The huge patch "kernel-shark: Integrate the stream definitions with
the C API" in the previous version is now split into 8 smaller patches.
The last of these 8 new patches (kernel-shark: Complete the stream
integration) is still a bit entangled. I can try to further break this
patch in future versions of the patch-set, if this is needed.


Steven,
Please review very carefully patches:
  kernel-shark: Introduce Data streams
  kernel-shark: Add basic methods for Data streams
  kernel-shark: Add stream interface for trace-cmd data
  kernel-shark: Start using data streams
  kernel-shark: Provide merging of multiple data streams
  kernel-shark: Add methods for time calibration

Please review VERY carefully patche:
  kernel-shark: Redesign the plugin interface

You may treat this one as a complete rewrite. Also it may be useful
to see how the redesigned code is being used in the new version of
the sched_events plugin here:
https://github.com/yordan-karadzhov/kernel-shark-v2.beta/blob/master/src/plugins/sched_events.c
https://github.com/yordan-karadzhov/kernel-shark-v2.beta/blob/master/src/plugins/SchedEvents.cpp

Thanks!
Yordan


Yordan Karadzhov (VMware) (20):
  kernel-shark: Start introducing KernelShark 2.0
  kernel-shark: Use only signed types in kshark_entry
  kernel-shark: Introduce libkshark-hash
  kernel-shark: Introduce Data streams
  kernel-shark: Add stream_id to kshark_entry
  kernel-shark: Rename static methods in libkshark
  kernel-shark: Add basic methods for Data streams
  kernel-shark: Housekeeping before implementing stream interface
  kernel-shark: Add stream interface for trace-cmd data
  kernel-shark: Start using data streams
  kernel-shark: Remove dead code
  kernel-shark: Redesign the plugin interface
  kernel-shark: Complete the stream integration
  kernel-shark: Provide merging of multiple data streams
  kernel-shark: Integrate the stream definitions with data model
  kernel-shark: Use only signed types for model defs
  kernel-shark: Add ksmodel_get_bin()
  kernel-shark: Protect ksmodel_set_in_range_bining()
  kernel-shark: Add methods for time calibration
  kernel-shark: Integrate streams with libkshark-configio

 CMakeLists.txt             |   10 +-
 build/deff.h.cmake         |   14 +-
 examples/CMakeLists.txt    |   34 +-
 examples/configio.c        |   20 +-
 examples/datafilter.c      |   67 +-
 examples/datahisto.c       |   38 +-
 examples/dataload.c        |   21 +-
 examples/multibufferload.c |   60 +
 src/CMakeLists.txt         |    7 +-
 src/libkshark-collection.c |  121 +-
 src/libkshark-configio.c   | 1173 +++++++++++++++---
 src/libkshark-hash.c       |  239 ++++
 src/libkshark-model.c      |  154 ++-
 src/libkshark-model.h      |   55 +-
 src/libkshark-plugin.c     |  597 ++++++++--
 src/libkshark-plugin.h     |  279 +++--
 src/libkshark-tepdata.c    | 1754 +++++++++++++++++++++++++++
 src/libkshark-tepdata.h    |  100 ++
 src/libkshark.c            | 2302 +++++++++++++++++-------------------
 src/libkshark.h            |  779 ++++++++++--
 20 files changed, 5908 insertions(+), 1916 deletions(-)
 create mode 100644 examples/multibufferload.c
 create mode 100644 src/libkshark-hash.c
 create mode 100644 src/libkshark-tepdata.c
 create mode 100644 src/libkshark-tepdata.h

-- 
2.25.1




[Index of Archives]     [Linux USB Development]     [Linux USB Development]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux