linux-trace-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 00/12] libtracefs dynamic events support
@ 2021-11-05 12:16 Tzvetomir Stoyanov (VMware)
  2021-11-05 12:16 ` [PATCH v5 01/12] libtracefs: New APIs for dynamic events Tzvetomir Stoyanov (VMware)
                   ` (11 more replies)
  0 siblings, 12 replies; 23+ messages in thread
From: Tzvetomir Stoyanov (VMware) @ 2021-11-05 12:16 UTC (permalink / raw)
  To: rostedt, y.karadz; +Cc: linux-trace-devel

The libtracefs logic that works with ftrace dynamic events is unified
and capsulated into a new set of dynamic events APIs. This change makes
the code more consistent and reusable. Also, adding future libtracefs
support for uprobes and eprobes dynamic events is simplified.
The existing library APIs for kprobes and synthetic events are
reimplemented using the new dynamic events helpers.

This patch sets depends on "[PATCH v2 0/4] Modifications of some 'hist' APIs":
 https://lore.kernel.org/linux-trace-devel/20210924095702.151826-1-y.karadz@gmail.com/

Suggested-by: Yordan Karadzhov (VMware) <y.karadz@gmail.com>

v5 changes:
 - Improved parsing of dynamic events files - added ' \t' as delimiter.
 - Added TRACEFS_DYNEVENT_UNKNOWN in dynamic events enum, which is used as
   error return by the APIsi.
 - Renamed and moved tracefs_kprobe_info() to tracefs_dynevent_info(), as
   the API is more generic and not kprobe specific.
 - Added unit tests for synthetic events APIs.
 - Fixed bugs in synthetic events APIs, related to dynamic events.
 - Coding style fixes.
 - Man pages clean ups.

v4 changes:
 - Redefined the dynamic events enum, so the items can be used in a bitmask.
 - Reimplement the logic for parsing dynamic event strings from ftrace files.
 - Coding style fixes.
 - Added more comments.

v3 changes:
 - Exposed dynamic events API as official tracefs APIs.
 - Removed kprobe specific APIs, that duplicate corresponding dynamic events
   APIs.
 - Updated unit tests and man pages with the new dynamic events APIs.
 - Fixed typos, found by Yordan. 

v2 changes:
 - Removed triple pointer from the APIs.
 - Reimplement dynamic events parsing using strtok_r instead of strchr.
 - Coding style fixes.


Tzvetomir Stoyanov (VMware) (12):
  libtracefs: New APIs for dynamic events
  libtracefs: New APIs for kprobe allocation
  libtracefs: Remove redundant kprobes APIs
  libtracefs: Reimplement kprobe raw APIs
  libtracefs: Extend kprobes unit test
  libtracefs: Rename tracefs_synth_init API
  libtracefs: Use the internal dynamic events API when creating
    synthetic events
  libtracefs: Add unit test for synthetic events
  libtracefs: Update kprobes man pages
  libtracefs: Document dynamic events APIs
  libtracefs: Remove man page compile artifact
  libtracefs: Fix duplication in synthetic events man page

 Documentation/libtracefs-dynevents.txt | 266 +++++++++
 Documentation/libtracefs-kprobes.txt   |  94 ++--
 Documentation/libtracefs-sqlhist.txt.1 | 351 ------------
 Documentation/libtracefs-synth.txt     |  20 +-
 Documentation/libtracefs-synth2.txt    |  14 +-
 Documentation/libtracefs.txt           |  17 +
 include/tracefs-local.h                |  18 +
 include/tracefs.h                      |  55 +-
 src/Makefile                           |   1 +
 src/tracefs-dynevents.c                | 718 +++++++++++++++++++++++++
 src/tracefs-hist.c                     | 127 +++--
 src/tracefs-kprobes.c                  | 508 ++++-------------
 src/tracefs-sqlhist.c                  |   6 +-
 utest/tracefs-utest.c                  | 518 ++++++++++++------
 14 files changed, 1634 insertions(+), 1079 deletions(-)
 create mode 100644 Documentation/libtracefs-dynevents.txt
 delete mode 100644 Documentation/libtracefs-sqlhist.txt.1
 create mode 100644 src/tracefs-dynevents.c

-- 
2.31.1


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

end of thread, other threads:[~2021-11-05 15:27 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-11-05 12:16 [PATCH v5 00/12] libtracefs dynamic events support Tzvetomir Stoyanov (VMware)
2021-11-05 12:16 ` [PATCH v5 01/12] libtracefs: New APIs for dynamic events Tzvetomir Stoyanov (VMware)
2021-11-05 15:03   ` Steven Rostedt
2021-11-05 15:21     ` Tzvetomir Stoyanov
2021-11-05 15:27       ` Steven Rostedt
2021-11-05 15:08   ` Steven Rostedt
2021-11-05 15:12     ` Steven Rostedt
2021-11-05 12:16 ` [PATCH v5 02/12] libtracefs: New APIs for kprobe allocation Tzvetomir Stoyanov (VMware)
2021-11-05 12:16 ` [PATCH v5 03/12] libtracefs: Remove redundant kprobes APIs Tzvetomir Stoyanov (VMware)
2021-11-05 12:16 ` [PATCH v5 04/12] libtracefs: Reimplement kprobe raw APIs Tzvetomir Stoyanov (VMware)
2021-11-05 12:16 ` [PATCH v5 05/12] libtracefs: Extend kprobes unit test Tzvetomir Stoyanov (VMware)
2021-11-05 12:16 ` [PATCH v5 06/12] libtracefs: Rename tracefs_synth_init API Tzvetomir Stoyanov (VMware)
2021-11-05 12:16 ` [PATCH v5 07/12] libtracefs: Use the internal dynamic events API when creating synthetic events Tzvetomir Stoyanov (VMware)
2021-11-05 12:16 ` [PATCH v5 08/12] libtracefs: Add unit test for " Tzvetomir Stoyanov (VMware)
2021-11-05 12:16 ` [PATCH v5 09/12] libtracefs: Update kprobes man pages Tzvetomir Stoyanov (VMware)
2021-11-05 12:16 ` [PATCH v5 10/12] libtracefs: Document dynamic events APIs Tzvetomir Stoyanov (VMware)
2021-11-05 12:16 ` [PATCH v5 11/12] libtracefs: Remove man page compile artifact Tzvetomir Stoyanov (VMware)
2021-11-05 14:24   ` Steven Rostedt
2021-11-05 14:34     ` Tzvetomir Stoyanov
2021-11-05 14:40       ` Tzvetomir Stoyanov
2021-11-05 14:45         ` Steven Rostedt
2021-11-05 14:44       ` Steven Rostedt
2021-11-05 12:16 ` [PATCH v5 12/12] libtracefs: Fix duplication in synthetic events man page Tzvetomir Stoyanov (VMware)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).