mbox series

[v3,0/5] tracefs library

Message ID 20200117135544.598235-1-tz.stoyanov@gmail.com (mailing list archive)
Headers show
Series tracefs library | expand

Message

Tzvetomir Stoyanov (VMware) Jan. 17, 2020, 1:55 p.m. UTC
Add a skeleton for new library: libtracefs, providing APIs
for accessing files from tracefs. The library files are added in
 lib/tracefs
 include/tracefs
It is built and installed by trace-cmd targets
  make libs 
  make install_libs

A unit test framework is added, as POC patch, to test the APIs
of the library. It requiers CUnit test framework to be installed
on the machine. A new target is added to build the unit test:
  make test

[
 v3 changes:
  - Renamed few APIs, to match the naming convention used commonly
  - Optimized tracefs_iterate_raw_events() API
  - Added unit test infrastructure 
  - Few minor changes

 v2 changes:
  - Fix copyright of the newly created files
  - Remove tracefs_write_file() API, add it as a local helper function 
]

Tzvetomir Stoyanov (VMware) (5):
  trace-cmd,kernel-shark: Introduce libtracefs library
  trace-cmd: New libtracefs APIs for ftrace instances
  trace-cmd,kernel-shark: New libtracefs APIs for ftrace events and
    systems
  trace-cmd,kernel-shark: New libtracefs APIs for loading ftrace events
  trace-cmd: Unit test for libtracefs

 Makefile                              |  38 +-
 include/trace-cmd/trace-cmd.h         |  21 -
 include/tracefs/tracefs.h             |  58 +++
 kernel-shark/CMakeLists.txt           |   3 +-
 kernel-shark/build/FindTraceCmd.cmake |  30 ++
 kernel-shark/src/CMakeLists.txt       |   2 +
 kernel-shark/src/KsCaptureDialog.cpp  |   4 +-
 kernel-shark/src/libkshark.h          |   1 +
 lib/trace-cmd/trace-input.c           |  95 ----
 lib/trace-cmd/trace-output.c          |   3 +-
 lib/trace-cmd/trace-recorder.c        |   7 +-
 lib/trace-cmd/trace-util.c            | 629 --------------------------
 lib/tracefs/Makefile                  |  48 ++
 lib/tracefs/include/tracefs-local.h   |  13 +
 lib/tracefs/tracefs-events.c          | 627 +++++++++++++++++++++++++
 lib/tracefs/tracefs-instance.c        | 249 ++++++++++
 lib/tracefs/tracefs-utils.c           | 226 +++++++++
 lib/utest/Makefile                    |  43 ++
 lib/utest/trace-utest.c               |  83 ++++
 lib/utest/trace-utest.h               |  11 +
 lib/utest/tracefs-utest.c             | 132 ++++++
 tracecmd/Makefile                     |   2 +-
 tracecmd/include/trace-local.h        |   5 +-
 tracecmd/trace-check-events.c         |   5 +-
 tracecmd/trace-list.c                 |  21 +-
 tracecmd/trace-record.c               | 487 +++++++-------------
 tracecmd/trace-show.c                 |   7 +-
 tracecmd/trace-snapshot.c             |   9 +-
 tracecmd/trace-stack.c                |   9 +-
 tracecmd/trace-stat.c                 |  38 +-
 30 files changed, 1782 insertions(+), 1124 deletions(-)
 create mode 100644 include/tracefs/tracefs.h
 create mode 100644 lib/tracefs/Makefile
 create mode 100644 lib/tracefs/include/tracefs-local.h
 create mode 100644 lib/tracefs/tracefs-events.c
 create mode 100644 lib/tracefs/tracefs-instance.c
 create mode 100644 lib/tracefs/tracefs-utils.c
 create mode 100644 lib/utest/Makefile
 create mode 100644 lib/utest/trace-utest.c
 create mode 100644 lib/utest/trace-utest.h
 create mode 100644 lib/utest/tracefs-utest.c