All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 00/20] Start KernelShark v2 transformation
@ 2020-11-18 14:49 Yordan Karadzhov (VMware)
  2020-11-18 14:49 ` [PATCH v4 01/20] kernel-shark: Use only signed types in kshark_entry Yordan Karadzhov (VMware)
                   ` (19 more replies)
  0 siblings, 20 replies; 35+ messages in thread
From: Yordan Karadzhov (VMware) @ 2020-11-18 14:49 UTC (permalink / raw)
  To: rostedt; +Cc: linux-trace-devel, Yordan Karadzhov (VMware)

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 v4:
 * The integer data format identifier is replaced with a string value 
   that gets registered by the readout plugin.

 * Plus several small modifications addressing the   issues pointed out
   by Steven


Changes is v3.
  This version contains number of small modifications addressing the
  issues pointed out by Steven in his review. However, it also contains
  the following major changes:

   * The session context (kshark_context) holds a pointer to unspecified
     data processing interface (void *interface). This will allow to
     easily introduce new versions of this interface in the future, while
     keeping the interface that we have now for backward compatibility.
     The necessary type checking when using the interface made the helper
     functions wrapping the corresponding methods of the interface
     relatively complicated, so the implementations have been moved from
     the header to the source file.

   * A more sophisticated management of the Data stream descriptors that
     can handle the case when Data streams are constantly added and
     removed has been implemented. The design for this change was
     suggested by Steven in his review.


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.


Yordan Karadzhov (VMware) (20):
  kernel-shark: Use only signed types in kshark_entry
  kernel-shark: Add stream_id to kshark_entry
  kernel-shark: Introduce libkshark-hash
  kernel-shark: Introduce Data streams
  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 introducing KernelShark 2.0
  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        |   28 +-
 examples/multibufferload.c |   60 +
 src/CMakeLists.txt         |    4 +-
 src/libkshark-collection.c |  121 +-
 src/libkshark-configio.c   | 1208 ++++++++++++++---
 src/libkshark-hash.c       |  239 ++++
 src/libkshark-model.c      |  154 ++-
 src/libkshark-model.h      |   55 +-
 src/libkshark-plugin.c     |  658 +++++++--
 src/libkshark-plugin.h     |  294 +++-
 src/libkshark-tepdata.c    | 1917 ++++++++++++++++++++++++++
 src/libkshark-tepdata.h    |  113 ++
 src/libkshark.c            | 2616 ++++++++++++++++++++----------------
 src/libkshark.h            |  704 ++++++++--
 20 files changed, 6531 insertions(+), 1823 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


^ permalink raw reply	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2020-11-19 20:44 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-18 14:49 [PATCH v4 00/20] Start KernelShark v2 transformation Yordan Karadzhov (VMware)
2020-11-18 14:49 ` [PATCH v4 01/20] kernel-shark: Use only signed types in kshark_entry Yordan Karadzhov (VMware)
2020-11-18 14:49 ` [PATCH v4 02/20] kernel-shark: Add stream_id to kshark_entry Yordan Karadzhov (VMware)
2020-11-18 14:49 ` [PATCH v4 03/20] kernel-shark: Introduce libkshark-hash Yordan Karadzhov (VMware)
2020-11-18 14:49 ` [PATCH v4 04/20] kernel-shark: Introduce Data streams Yordan Karadzhov (VMware)
2020-11-18 14:49 ` [PATCH v4 05/20] kernel-shark: Rename static methods in libkshark Yordan Karadzhov (VMware)
2020-11-18 14:49 ` [PATCH v4 06/20] kernel-shark: Add basic methods for Data streams Yordan Karadzhov (VMware)
2020-11-18 22:13   ` Steven Rostedt
2020-11-19 16:01     ` Yordan Karadzhov (VMware)
2020-11-19 16:38       ` Steven Rostedt
2020-11-18 22:17   ` Steven Rostedt
2020-11-19 16:04     ` Yordan Karadzhov (VMware)
2020-11-18 14:49 ` [PATCH v4 07/20] kernel-shark: Housekeeping before implementing stream interface Yordan Karadzhov (VMware)
2020-11-18 14:49 ` [PATCH v4 08/20] kernel-shark: Add stream interface for trace-cmd data Yordan Karadzhov (VMware)
2020-11-19  1:11   ` Steven Rostedt
2020-11-19 16:06     ` Yordan Karadzhov (VMware)
2020-11-18 14:49 ` [PATCH v4 09/20] kernel-shark: Start introducing KernelShark 2.0 Yordan Karadzhov (VMware)
2020-11-18 14:49 ` [PATCH v4 10/20] kernel-shark: Start using data streams Yordan Karadzhov (VMware)
2020-11-19  1:29   ` Steven Rostedt
2020-11-19 16:08     ` Yordan Karadzhov (VMware)
2020-11-18 14:49 ` [PATCH v4 11/20] kernel-shark: Remove dead code Yordan Karadzhov (VMware)
2020-11-18 14:49 ` [PATCH v4 12/20] kernel-shark: Redesign the plugin interface Yordan Karadzhov (VMware)
2020-11-18 14:49 ` [PATCH v4 13/20] kernel-shark: Complete the stream integration Yordan Karadzhov (VMware)
2020-11-18 14:49 ` [PATCH v4 14/20] kernel-shark: Provide merging of multiple data streams Yordan Karadzhov (VMware)
2020-11-19  2:00   ` Steven Rostedt
2020-11-19 16:14     ` Yordan Karadzhov (VMware)
2020-11-19 16:43       ` Steven Rostedt
2020-11-19 17:48         ` Yordan Karadzhov (VMware)
2020-11-19 20:43           ` Steven Rostedt
2020-11-18 14:49 ` [PATCH v4 15/20] kernel-shark: Integrate the stream definitions with data model Yordan Karadzhov (VMware)
2020-11-18 14:49 ` [PATCH v4 16/20] kernel-shark: Use only signed types for model defs Yordan Karadzhov (VMware)
2020-11-18 14:50 ` [PATCH v4 17/20] kernel-shark: Add ksmodel_get_bin() Yordan Karadzhov (VMware)
2020-11-18 14:50 ` [PATCH v4 18/20] kernel-shark: Protect ksmodel_set_in_range_bining() Yordan Karadzhov (VMware)
2020-11-18 14:50 ` [PATCH v4 19/20] kernel-shark: Add methods for time calibration Yordan Karadzhov (VMware)
2020-11-18 14:50 ` [PATCH v4 20/20] kernel-shark: Integrate streams with libkshark-configio Yordan Karadzhov (VMware)

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.