From: "Tzvetomir Stoyanov (VMware)" <tz.stoyanov@gmail.com>
To: rostedt@goodmis.org
Cc: linux-trace-devel@vger.kernel.org
Subject: [PATCH v2 2/5] kernel-shark: Use new tracefs library
Date: Mon, 6 Jan 2020 17:40:55 +0200 [thread overview]
Message-ID: <20200106154058.60660-3-tz.stoyanov@gmail.com> (raw)
In-Reply-To: <20200106154058.60660-1-tz.stoyanov@gmail.com>
Link libtracefs to kernel-shark and use its API:
tracefs_get_tracing_dir()
Signed-off-by: Tzvetomir Stoyanov (VMware) <tz.stoyanov@gmail.com>
---
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 +
5 files changed, 37 insertions(+), 3 deletions(-)
diff --git a/kernel-shark/CMakeLists.txt b/kernel-shark/CMakeLists.txt
index 20478b9..8786b83 100644
--- a/kernel-shark/CMakeLists.txt
+++ b/kernel-shark/CMakeLists.txt
@@ -76,7 +76,8 @@ endif (CMAKE_BUILD_TYPE MATCHES Package)
include_directories(${KS_DIR}/src/
${KS_DIR}/build/src/
${JSONC_INCLUDE_DIR}
- ${TRACECMD_INCLUDE_DIR})
+ ${TRACECMD_INCLUDE_DIR}
+ ${TRACEFS_INCLUDE_DIR})
message("")
message(STATUS "C flags : " ${CMAKE_C_FLAGS})
diff --git a/kernel-shark/build/FindTraceCmd.cmake b/kernel-shark/build/FindTraceCmd.cmake
index d3e145c..f27fafe 100644
--- a/kernel-shark/build/FindTraceCmd.cmake
+++ b/kernel-shark/build/FindTraceCmd.cmake
@@ -6,6 +6,8 @@
# TRACEEVENT_FOUND, If false, do not try to use traceevent.
#
# TRACECMD_INCLUDE_DIR, where to find trace-cmd header.
+# TRACEFS_INCLUDE_DIR, where to find tracefs header.
+# TRACEFS_LIBRARY, the tracefs library.
# TRACECMD_LIBRARY, the trace-cmd library.
# TRACECMD_FOUND, If false, do not try to use trace-cmd.
@@ -31,12 +33,21 @@ find_path(TRACECMD_INCLUDE_DIR NAMES trace-cmd/trace-cmd.h
PATHS $ENV{TRACE_CMD}/include/
${CMAKE_SOURCE_DIR}/../include/
NO_DEFAULT_PATH)
+find_path(TRACEFS_INCLUDE_DIR NAMES tracefs/tracefs.h
+ PATHS $ENV{TRACE_CMD}/include/
+ ${CMAKE_SOURCE_DIR}/../include/
+ NO_DEFAULT_PATH)
find_library(TRACECMD_LIBRARY NAMES trace-cmd/libtracecmd.a
PATHS $ENV{TRACE_CMD}/lib/
${CMAKE_SOURCE_DIR}/../lib/
NO_DEFAULT_PATH)
+find_library(TRACEFS_LIBRARY NAMES trace-cmd/libtracefs.a
+ PATHS $ENV{TRACE_CMD}/lib/
+ ${CMAKE_SOURCE_DIR}/../lib/
+ NO_DEFAULT_PATH)
+
find_library(TRACEEVENT_LIBRARY NAMES traceevent/libtraceevent.a
PATHS $ENV{TRACE_CMD}/lib/
${CMAKE_SOURCE_DIR}/../lib/
@@ -46,7 +57,9 @@ find_library(TRACEEVENT_LIBRARY NAMES traceevent/libtraceevent.a
# search was successful "find_path" will do nothing this time.
find_program(TRACECMD_EXECUTABLE NAMES trace-cmd)
find_path(TRACECMD_INCLUDE_DIR NAMES trace-cmd/trace-cmd.h)
+find_path(TRACEFS_INCLUDE_DIR NAMES tracefs/tracefs.h)
find_library(TRACECMD_LIBRARY NAMES trace-cmd/libtracecmd.so)
+find_library(TRACEFS_LIBRARY NAMES tracefs/libtracefs.so)
find_library(TRACEEVENT_LIBRARY NAMES traceevent/libtraceevent.so)
IF (TRACECMD_INCLUDE_DIR AND TRACECMD_LIBRARY)
@@ -65,6 +78,23 @@ ELSE (TRACECMD_FOUND)
ENDIF (TRACECMD_FOUND)
+IF (TRACEFS_INCLUDE_DIR AND TRACEFS_LIBRARY)
+
+ SET(TRACEFS_FOUND TRUE)
+
+ENDIF (TRACEFS_INCLUDE_DIR AND TRACEFS_LIBRARY)
+
+IF (TRACEFS_FOUND)
+
+ MESSAGE(STATUS "Found tracefs: ${TRACEFS_LIBRARY}")
+
+ELSE (TRACEFS_FOUND)
+
+ MESSAGE(FATAL_ERROR "\nCould not find tracefs!\n")
+
+ENDIF (TRACEFS_FOUND)
+
+
IF (TRACEEVENT_LIBRARY)
SET(TRACEEVENT_FOUND TRUE)
diff --git a/kernel-shark/src/CMakeLists.txt b/kernel-shark/src/CMakeLists.txt
index e20a030..33b5db8 100644
--- a/kernel-shark/src/CMakeLists.txt
+++ b/kernel-shark/src/CMakeLists.txt
@@ -9,6 +9,7 @@ add_library(kshark SHARED libkshark.c
target_link_libraries(kshark ${TRACEEVENT_LIBRARY}
${TRACECMD_LIBRARY}
+ ${TRACEFS_LIBRARY}
${JSONC_LIBRARY}
${CMAKE_DL_LIBS})
@@ -69,6 +70,7 @@ if (Qt5Widgets_FOUND AND Qt5Network_FOUND)
Qt5::Network
${TRACEEVENT_LIBRARY}
${TRACECMD_LIBRARY}
+ ${TRACEFS_LIBRARY}
${CMAKE_DL_LIBS})
set_target_properties(kshark-gui PROPERTIES SUFFIX ".so.${KS_VERSION_STRING}")
diff --git a/kernel-shark/src/KsCaptureDialog.cpp b/kernel-shark/src/KsCaptureDialog.cpp
index ad05917..548b6fb 100644
--- a/kernel-shark/src/KsCaptureDialog.cpp
+++ b/kernel-shark/src/KsCaptureDialog.cpp
@@ -26,7 +26,7 @@ extern "C" {
static inline tep_handle *local_events()
{
- return tracecmd_local_events(tracecmd_get_tracing_dir());
+ return tracecmd_local_events(tracefs_get_tracing_dir());
}
/**
@@ -204,7 +204,7 @@ QStringList KsCaptureControl::_getPlugins()
QStringList pluginList;
char **all_plugins;
- all_plugins = tracecmd_local_plugins(tracecmd_get_tracing_dir());
+ all_plugins = tracecmd_local_plugins(tracefs_get_tracing_dir());
if (!all_plugins)
return pluginList;
diff --git a/kernel-shark/src/libkshark.h b/kernel-shark/src/libkshark.h
index 3407db1..b05aa90 100644
--- a/kernel-shark/src/libkshark.h
+++ b/kernel-shark/src/libkshark.h
@@ -28,6 +28,7 @@ extern "C" {
#include "trace-cmd/trace-cmd.h"
#include "trace-cmd/trace-filter-hash.h"
#include "traceevent/event-parse.h"
+#include "tracefs/tracefs.h"
// KernelShark
#include "libkshark-plugin.h"
--
2.24.1
next prev parent reply other threads:[~2020-01-06 15:41 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-06 15:40 [PATCH v2 0/5] tracefs library Tzvetomir Stoyanov (VMware)
2020-01-06 15:40 ` [PATCH v2 1/5] trace-cmd: Introduce libtracefs library Tzvetomir Stoyanov (VMware)
2020-01-06 15:40 ` Tzvetomir Stoyanov (VMware) [this message]
2020-01-08 19:05 ` [PATCH v2 2/5] kernel-shark: Use new tracefs library Steven Rostedt
2020-01-08 20:09 ` Steven Rostedt
2020-01-06 15:40 ` [PATCH v2 3/5] trace-cmd: New libtracefs APIs for ftrace instances Tzvetomir Stoyanov (VMware)
2020-01-08 19:37 ` Steven Rostedt
2020-01-09 13:29 ` Tzvetomir Stoyanov
2020-01-06 15:40 ` [PATCH v2 4/5] trace-cmd,kernel-shark: New libtracefs APIs for ftrace events and systems Tzvetomir Stoyanov (VMware)
2020-01-08 20:22 ` Steven Rostedt
2020-01-09 13:37 ` Tzvetomir Stoyanov
2020-01-08 21:09 ` Steven Rostedt
2020-01-09 14:14 ` Tzvetomir Stoyanov
2020-01-09 2:32 ` Steven Rostedt
2020-01-06 15:40 ` [PATCH v2 5/5] trace-cmd,kernel-shark: New libtracefs APIs for loading ftrace events Tzvetomir Stoyanov (VMware)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200106154058.60660-3-tz.stoyanov@gmail.com \
--to=tz.stoyanov@gmail.com \
--cc=linux-trace-devel@vger.kernel.org \
--cc=rostedt@goodmis.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).