From 94d8764ef938936aa5432f1f13bd1b2d8b62a159 Mon Sep 17 00:00:00 2001 From: Gilles Talis Date: Sun, 24 Oct 2021 13:36:26 +0200 Subject: [PATCH] package/hawktracer: new package HawkTracer is a highly portable, low-overhead, configurable profiling tool Signed-off-by: Gilles Talis Signed-off-by: Thomas Petazzoni --- DEVELOPERS | 1 + package/Config.in | 1 + package/hawktracer/Config.in | 25 +++++++++++++++++ package/hawktracer/hawktracer.hash | 3 ++ package/hawktracer/hawktracer.mk | 44 ++++++++++++++++++++++++++++++ 5 files changed, 74 insertions(+) create mode 100644 package/hawktracer/Config.in create mode 100644 package/hawktracer/hawktracer.hash create mode 100644 package/hawktracer/hawktracer.mk diff --git a/DEVELOPERS b/DEVELOPERS index cd1e0e69a6..2a07ae100b 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -1094,6 +1094,7 @@ F: configs/friendlyarm_nanopi_r2s_defconfig F: package/cctz/ F: package/faad2/ F: package/fdk-aac/ +F: package/hawktracer/ F: package/httping/ F: package/iozone/ F: package/leptonica/ diff --git a/package/Config.in b/package/Config.in index 455c69bac9..bd3d167487 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1734,6 +1734,7 @@ endmenu menu "Logging" source "package/glog/Config.in" + source "package/hawktracer/Config.in" source "package/liblog4c-localtime/Config.in" source "package/liblogging/Config.in" source "package/log4cplus/Config.in" diff --git a/package/hawktracer/Config.in b/package/hawktracer/Config.in new file mode 100644 index 0000000000..7648707404 --- /dev/null +++ b/package/hawktracer/Config.in @@ -0,0 +1,25 @@ +config BR2_PACKAGE_HAWKTRACER + bool "hawktracer" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + help + HawkTracer is a highly portable, low-overhead, configurable + profiling tool built in Amazon Video for getting performance + metrics from low-end devices. + + https://www.hawktracer.org/ + +if BR2_PACKAGE_HAWKTRACER + +config BR2_PACKAGE_HAWKTRACER_TCP_LISTENER + bool "TCP listener" + default y + depends on BR2_TOOLCHAIN_HAS_THREADS + +comment "TCP listener needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS + +endif + +comment "hawktracer needs a toolchain w/ C++, gcc >= 4.8" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 diff --git a/package/hawktracer/hawktracer.hash b/package/hawktracer/hawktracer.hash new file mode 100644 index 0000000000..87aa67c4b6 --- /dev/null +++ b/package/hawktracer/hawktracer.hash @@ -0,0 +1,3 @@ +# Computed locally +sha256 b6c7fdfbe8178bc7ba49ef840ec18a92d1488ad73ac9f64d2a09042410ad3ef4 hawktracer-e53b07bc812c4cfe8f6253ddb48ac43de8fa74a8.tar.gz +sha256 2f377333e64ad08ad3afec8ed6c2c96ced2a6d7d67443eb2784a931bb7b3fd59 LICENSE diff --git a/package/hawktracer/hawktracer.mk b/package/hawktracer/hawktracer.mk new file mode 100644 index 0000000000..f4654b2274 --- /dev/null +++ b/package/hawktracer/hawktracer.mk @@ -0,0 +1,44 @@ +################################################################################ +# +# hawktracer +# +################################################################################ + +HAWKTRACER_VERSION = e53b07bc812c4cfe8f6253ddb48ac43de8fa74a8 +HAWKTRACER_SITE = $(call github,amzn,hawktracer,$(HAWKTRACER_VERSION)) +HAWKTRACER_LICENSE = MIT +HAWKTRACER_LICENSE_FILES = LICENSE +HAWKTRACER_INSTALL_STAGING = YES + +HAWKTRACER_CONF_OPTS = \ + -DENABLE_ASAN=OFF \ + -DENABLE_TESTS=OFF \ + -DENABLE_CODE_COVERAGE=OFF \ + -DENABLE_BENCHMARKS=OFF \ + -DENABLE_DOC=OFF \ + -DENABLE_PYTHON_BINDINGS=OFF \ + -DENABLE_MAINTAINER_MODE=OFF \ + -DENABLE_RELEASE_MODE=OFF \ + -DENABLE_CLIENT=OFF \ + -DENABLE_EXAMPLES=OFF + +ifeq ($(BR2_STATIC_LIBS),y) +HAWKTRACER_CONF_OPTS += -DBUILD_STATIC_LIB=ON +else +HAWKTRACER_CONF_OPTS += -DBUILD_STATIC_LIB=OFF +endif + +ifeq ($(BR2_PACKAGE_HAWKTRACER_TCP_LISTENER),y) +HAWKTRACER_CONF_OPTS += -DENABLE_TCP_LISTENER=ON +else +HAWKTRACER_CONF_OPTS += -DENABLE_TCP_LISTENER=OFF +endif + +# Enable threads support if supported by toolchain +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) +HAWKTRACER_CONF_OPTS += -DENABLE_THREADS=ON +else +HAWKTRACER_CONF_OPTS += -DENABLE_THREADS=OFF +endif + +$(eval $(cmake-package))