Commit 07203d78 authored by Pierre Floury's avatar Pierre Floury Committed by Thomas Petazzoni
Browse files

trace-cmd: new package



This commit adds a new package for the trace-cmd tool.  This tool is a
command line front end of ftrace.  It collects traces on your target.
You can analyse these traces on the target or on the host via the gui
"kernel shark".

[Thomas: use TARGET_CONFIGURE_OPTS, define _GNU_SOURCE to get
O_CLOEXEC definition on uClibc, add thread and largefile
dependencies.]

Signed-off-by: default avatarPierre Floury <pierre.floury@gmail.com>
Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
parent e0d64023
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@ source "package/strace/Config.in"
source "package/stress/Config.in"
source "package/sysprof/Config.in"
source "package/tinymembench/Config.in"
source "package/trace-cmd/Config.in"
source "package/whetstone/Config.in"
source "package/valgrind/Config.in"
source "package/pv/Config.in"
+16 −0
Original line number Diff line number Diff line
config BR2_PACKAGE_TRACE_CMD
	bool "trace-cmd"
	depends on BR2_LARGEFILE
	depends on BR2_TOOLCHAIN_HAS_THREADS
	help
	  Command line reader for ftrace.

	  To use this profiling tool, you should enable ftrace in your kernel
	  configuration. This command collect traces on your target.
	  You can analyse these traces on the target or on the host via the gui
	  "kernel shark"

	  http://git.kernel.org/cgit/linux/kernel/git/rostedt/trace-cmd.git

comment "trace-cmd needs a toolchain with largefile and threads support"
	depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS
+26 −0
Original line number Diff line number Diff line
################################################################################
#
# trace-cmd
#
################################################################################

TRACE_CMD_VERSION = trace-cmd-v2.2.1
TRACE_CMD_SITE = http://git.kernel.org/cgit/linux/kernel/git/rostedt/trace-cmd.git
TRACE_CMD_SITE_METHOD = git
TRACE_CMD_INSTALL_STAGING = YES
TRACE_CMD_LICENSE = GPLv2 LGPLv2.1
TRACE_CMD_LICENSE_FILES = COPYING COPYING.LIB

define TRACE_CMD_BUILD_CMDS
	$(MAKE) $(TARGET_CONFIGURE_OPTS) \
		CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE" \
		-C $(@D) all
endef

define TRACE_CMD_INSTALL_TARGET_CMDS
	$(INSTALL) -D -m 0755 $(@D)/trace-cmd $(TARGET_DIR)/usr/bin/trace-cmd
	$(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/lib/trace-cmd/plugins
	$(INSTALL) -D -m 0755 $(@D)/plugin_*.so $(TARGET_DIR)/usr/lib/trace-cmd/plugins
endef

$(eval $(generic-package))