@@ -1,11 +1,13 @@
-This directory contains the new Qt-based version of the KernelShark GUI.
+KernelShark is a front-end reader of tracing data.
+The official repository is here:
+ https://git.kernel.org/pub/scm/utils/trace-cmd/kernel-shark.git
Third Party Software:
------------------------------------------------------------
KernelShark has the following external dependencies:
- Cmake, Json-C, OpenGL/Glut, Qt5Base.
+ Cmake, Json-C, OpenGL/Glut, Qt5Base, libtraceevent, libtracefs, trace-cmd.
1. In order to install the packages on Ubuntu do the following:
sudo apt-get install build-essential git cmake libjson-c-dev -y
@@ -25,88 +27,91 @@ KernelShark has the following external dependencies:
dnf install graphviz doxygen -y
-Building:
-------------------------------------------------------------
-1. Follow the instructions given in trace-cmd/README and build
-the original trace-cmd end traceevent libraries.
-
-2. Building KernelShark:
-
-2.1 There is a simple and expert way to build KernelShark
+3. In order to install the final dependencies do the following:
+ git clone https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/
+ cd libtraceevent
+ make
+ sudo make install
-2.1.1 Option 1 (simple) : build KernelShark as part of trace-cmd
+ git clone https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/
+ cd libtracefs
+ make
+ sudo make install
- (from the toplevel git tree)
+ git clone https://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git/
+ cd trace-cmd
+ make
+ sudo make install_libs
- make gui
+Building:
+------------------------------------------------------------
+2. Building KernelShark:
- This will build the necessary parts of trace-cmd needed
- by KernelShark.
+ cd kernel-shark/build
+ cmake ../
+ make
+ sudo make install
-2.1.1.1 By default, the installation prefix is "/usr/local". It can be
-changed by passing in "prefix" to the build.
+2.1 In order to create a Doxygen documentation add -D_DOXYGEN_DOC=1
+as a CMake Command-Line option.
- make prefix=/usr gui
+2.2 KernelShark has multiple build types. By default, the build type is
+RelWithDebInfo, which will build a release candidate with debug information.
+To change the type, pass in the option CMAKE_BUILD_TYPE=<type>.
-2.1.1.2 Use "make clean" if you want to delete all already compiled objects.
-This will also clean up all the files created by cmake.
+ cmake -DCMAKE_BUILD_TYPE=Debug - for "-g" option
+ cmake -DCMAKE_BUILD_TYPE=Release - for "-O3" option
+ cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo - for "-g -O2" option (default)
+ cmake -DCMAKE_BUILD_TYPE=MinSizeRel - for "-Os" option
-2.1.1.3 KernelShark has multiple build types (See section 2.1.2.3 for more
-details. By default, the build type is RelWithDebInfo, which will build
-a release candidate with debug information. To change the type, pass in
-the option BUILD_TYPE=<type> to the make process.
+2.3 In addition to the standard CMake build types (Debug, Release,
+RelWithDebInfo, MinSizeRel) KernelShark supports a "Package" build type.
+By default this build type adds the "-O3" compiler flag. Package maintainers
+can chose their own compiler flags by providing the corresponding
+CMAKE_XXXX_FLAGS_PACKAGE Command-Line options (see the example below).
- make BUILD_TYPE=Debug gui - for "-g" option
- make BUILD_TYPE=Release gui - for "-O3" option
- make BUILD_TYPE=RelWithDebInfo gui - for "-g -O2" option (default)
- make BUILD_TYPE=MinSizeRel gui - for "-Os" option
+-- Note that when built as a "Package" the RPATH-s of the executables are
+set directly to _INSTALL_PREFIX/lib/kernelshark/
-2.1.2 Option 2 (expert) : standalone build of KernelShark (for hackers only)
+2.4 After building the code "kernel-shark/lib" will contain all libraries
+and "kernel-shark/bin" will contain all executables.
- (note, you may need to do a normal make from the toplevel git
- tree before performing the following)
+2.5 Use the script "cmake_clean.sh" if you want to delete all already
+compiled objects and all files generated by CMake.
- make
- cd kernel-shark/build
- cmake ../
- make
+ cd kernel-shark/build
+ ./cmake-clean.sh
- This gives you a bit more control as you may easily pass in
- your own cmake options.
+2.6 By default, installation prefix is "/usr/local". It can be changed using
+-D_INSTALL_PREFIX= as a CMake Command-Line option.
-2.1.2.1 In order to create a Doxygen documentation add -D_DOXYGEN_DOC=1
-as a CMake Command-Line option.
+2.7 In order to uninstall KernelShark do:
+ cd kernel-shark/build
+ ./cmake_uninstall.sh
-2.1.2.2 By default, installation prefix is "/usr/local". It can be changed using
--D_INSTALL_PREFIX= as a CMake Command-Line option.
-2.1.2.3 In addition to the standard CMake build types (Debug, Release,
-RelWithDebInfo, MinSizeRel) KernelShark supports a "Package" build type.
-By default this build type adds the "-O2" compiler flag. Package maintainers
-can chose their own compiler flags by providing the corresponding
-CMAKE_XXXX_FLAGS_PACKAGE Command-Line options (see the example below).
+CMake examples:
-set directly to _INSTALL_PREFIX/lib/kernelshark/
+ cmake -D_DOXYGEN_DOC=1 -D_INSTALL_PREFIX=/usr ../
-version of the trace-cmd executable from the build location. In all other cases
-the dialog will derive the absolut path to the trace-cmd executable from
-"_INSTALL_PREFIX", hence the dialog will use the installed version.
+ cmake -DCMAKE_BUILD_TYPE=Package -DCMAKE_C_FLAGS_PACKAGE="-O3 -pedantic" ../
-If no build types is specified, the type will be "RelWithDebInfo".
-Examples:
+Contributions:
+------------------------------------------------------------
+3. For questions about the use of the library, please send email to:
+ linux-trace-users@vger.kernel.org
- cmake -D_DOXYGEN_DOC=1 -D_INSTALL_PREFIX=/usr ../
+ Subscribe: http://vger.kernel.org/vger-lists.html#linux-trace-users
+ Archives: https://lore.kernel.org/linux-trace-users/
- cmake -DCMAKE_BUILD_TYPE=Package -DCMAKE_C_FLAGS_PACKAGE="-O3 -pedantic" ../
+3.1 For contributions to development, please send patches to:
+ linux-trace-devel@vger.kernel.org
-2.1.2.4 Use the script "cmake_clean.sh" if you want to delete all already
-compiled objects and all files generated by CMake.
+ Subscribe: http://vger.kernel.org/vger-lists.html#linux-trace-devel
+ Archives: https://lore.kernel.org/linux-trace-devel/
- cd kernel-shark/build
- ./cmake-clean.sh
+3.2 Note, this project follows the style of submitting patches as described
+by the Linux kernel.
-3. After building the code "kernel-shark/lib" will contain all libraries
-and "kernel-shark/bin" will contain all executables.
+ https://www.kernel.org/doc/html/v5.4/process/submitting-patches.html
KernelShark is now separated from libtraceevent, libtracefs and trace-cmd. The README file has to be updated to reflect this. Signed-off-by: Yordan Karadzhov (VMware) <y.karadz@gmail.com> --- README | 129 ++++++++++++++++++++++++++++++--------------------------- 1 file changed, 67 insertions(+), 62 deletions(-)