linux-trace-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Yordan Karadzhov (VMware)" <y.karadz@gmail.com>
To: "Tzvetomir Stoyanov (VMware)" <tz.stoyanov@gmail.com>,
	rostedt@goodmis.org
Cc: linux-trace-devel@vger.kernel.org
Subject: Re: [PATCH 2/6] kernel-shark: Use new tracefs library
Date: Fri, 20 Dec 2019 11:27:30 +0200	[thread overview]
Message-ID: <402e91f5-06bc-24ec-2653-845fc7818e01@gmail.com> (raw)
In-Reply-To: <20191219113502.28964-3-tz.stoyanov@gmail.com>



On 19.12.19 г. 13:34 ч., Tzvetomir Stoyanov (VMware) wrote:
> Link libtracefs to kernel-shark and use its API:
>    tracefs_get_tracing_dir()
> 

Looks good.
Thanks!

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

> 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"
> 

  parent reply	other threads:[~2019-12-20  9:27 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-19 11:34 [PATCH 0/6] tracefs libraray Tzvetomir Stoyanov (VMware)
2019-12-19 11:34 ` [PATCH 1/6] trace-cmd: Introduce libtracefs library Tzvetomir Stoyanov (VMware)
2019-12-20  3:25   ` Steven Rostedt
2019-12-19 11:34 ` [PATCH 2/6] kernel-shark: Use new tracefs library Tzvetomir Stoyanov (VMware)
2019-12-20  3:37   ` Steven Rostedt
2019-12-20  3:55     ` Steven Rostedt
2019-12-20  9:27   ` Yordan Karadzhov (VMware) [this message]
2019-12-19 11:34 ` [PATCH 3/6] trace-cmd: New libtracefs API tracefs_write_file() Tzvetomir Stoyanov (VMware)
2019-12-20  4:21   ` Steven Rostedt
2020-01-06 12:10     ` Tzvetomir Stoyanov
2019-12-19 11:35 ` [PATCH 4/6] trace-cmd: New libtracefs APIs for ftrace instances Tzvetomir Stoyanov (VMware)
2019-12-19 11:35 ` [PATCH 5/6] trace-cmd,kernel-shark: New libtracefs APIs for ftrace events and systems Tzvetomir Stoyanov (VMware)
2019-12-19 11:35 ` [PATCH 6/6] 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=402e91f5-06bc-24ec-2653-845fc7818e01@gmail.com \
    --to=y.karadz@gmail.com \
    --cc=linux-trace-devel@vger.kernel.org \
    --cc=rostedt@goodmis.org \
    --cc=tz.stoyanov@gmail.com \
    /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).