aboutsummaryrefslogtreecommitdiff
path: root/benchmarks/flamegraph
diff options
context:
space:
mode:
authorJohannes M Dieterich <jmd@FreeBSD.org>2017-04-02 01:06:25 +0000
committerJohannes M Dieterich <jmd@FreeBSD.org>2017-04-02 01:06:25 +0000
commit3c181cf5f9615e31171905020a9dd8e43655ea9b (patch)
tree000e7d1f84603ce55d08983ef0770d9dcf1eae30 /benchmarks/flamegraph
parent99ada25aa72c65419b39ccc2a4cff81f645bbf74 (diff)
downloadports-3c181cf5f9615e31171905020a9dd8e43655ea9b.tar.gz
ports-3c181cf5f9615e31171905020a9dd8e43655ea9b.zip
new port: benchmarks/flamegraph
A trivial port of Brendan Gregg's collection of flamegraph scripts (a lot of shebang-fixes). This will allow developers to visually profile output from, e.g., ljp and dtrace to locate CPU and memory hogs in workloads. Reviewed by: swills (mentor) Approved by: swills (mentor) Differential Revision: https://reviews.freebsd.org/D10233
Notes
Notes: svn path=/head/; revision=437514
Diffstat (limited to 'benchmarks/flamegraph')
-rw-r--r--benchmarks/flamegraph/Makefile52
-rw-r--r--benchmarks/flamegraph/distinfo3
-rw-r--r--benchmarks/flamegraph/pkg-descr10
-rw-r--r--benchmarks/flamegraph/pkg-plist19
4 files changed, 84 insertions, 0 deletions
diff --git a/benchmarks/flamegraph/Makefile b/benchmarks/flamegraph/Makefile
new file mode 100644
index 000000000000..29a3710cdab5
--- /dev/null
+++ b/benchmarks/flamegraph/Makefile
@@ -0,0 +1,52 @@
+# Created by: Johannes Dieterich <jmd@FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME= flamegraph
+PORTVERSION= g20170308
+CATEGORIES= benchmarks
+
+MAINTAINER= jmd@FreeBSD.org
+COMMENT= Stack trace visualizer
+
+LICENSE= CDDL
+LICENSE_FILE= ${WRKSRC}/docs/cddl1.txt
+
+BUILD_DEPENDS= bash>=0:shells/bash
+RUN_DEPENDS= bash>=0:shells/bash
+
+USE_GITHUB= yes
+GH_ACCOUNT= brendangregg
+GH_PROJECT= FlameGraph
+GH_TAGNAME= 74764af
+
+USES= shebangfix perl5
+NO_BUILD= yes
+
+SHEBANG_FILES= *.pl *.sh
+
+SOURCE_FILES= aix-perf.pl \
+ difffolded.pl \
+ files.pl \
+ flamegraph.pl \
+ pkgsplit-perf.sh \
+ range-perf.pl \
+ stackcollapse-aix.pl \
+ stackcollapse-elfutils.pl \
+ stackcollapse-gdb.pl \
+ stackcollapse-go.pl \
+ stackcollapse-instruments.pl \
+ stackcollapse-jstack.pl \
+ stackcollapse-ljp.awk \
+ stackcollapse-perf.pl \
+ stackcollapse-pmc.pl \
+ stackcollapse-recursive.pl \
+ stackcollapse-stap.pl \
+ stackcollapse-vtune.pl \
+ stackcollapse.pl
+
+do-install:
+.for FILE in ${SOURCE_FILES}
+ ${INSTALL_DATA} ${WRKSRC}/${FILE} ${STAGEDIR}/${PREFIX}/bin/${FILE}
+.endfor
+
+.include <bsd.port.mk>
diff --git a/benchmarks/flamegraph/distinfo b/benchmarks/flamegraph/distinfo
new file mode 100644
index 000000000000..ad681f5f0d77
--- /dev/null
+++ b/benchmarks/flamegraph/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1491067519
+SHA256 (brendangregg-FlameGraph-g20170308-74764af_GH0.tar.gz) = f9b45d8df7e606749d86f86a7d83be63796aba42499362f20f8dcebfd2058cc4
+SIZE (brendangregg-FlameGraph-g20170308-74764af_GH0.tar.gz) = 960356
diff --git a/benchmarks/flamegraph/pkg-descr b/benchmarks/flamegraph/pkg-descr
new file mode 100644
index 000000000000..1bbaf0ae50d5
--- /dev/null
+++ b/benchmarks/flamegraph/pkg-descr
@@ -0,0 +1,10 @@
+a stack-trace visualizer
+
+Flame Graphs visualize profiled code. Flame graphs can be created in three
+steps: 1) Capture stacks, 2) Fold stacks, 3) flamegraph.pl.
+Capturing stacks can be done with Linux perf_events, FreeBSD pmcstat (hwpmc),
+DTrace, SystemTap, and many other profilers. See stackcollapse-*
+converters. These stackcollapse scripts are used to fold the stacks.
+Flamegraph SVGs are created using the flamegraph.pl script.
+
+WWW: https://github.com/brendangregg/FlameGraph
diff --git a/benchmarks/flamegraph/pkg-plist b/benchmarks/flamegraph/pkg-plist
new file mode 100644
index 000000000000..dbad4719d896
--- /dev/null
+++ b/benchmarks/flamegraph/pkg-plist
@@ -0,0 +1,19 @@
+bin/aix-perf.pl
+bin/difffolded.pl
+bin/files.pl
+bin/flamegraph.pl
+bin/pkgsplit-perf.sh
+bin/range-perf.pl
+bin/stackcollapse-aix.pl
+bin/stackcollapse-elfutils.pl
+bin/stackcollapse-gdb.pl
+bin/stackcollapse-go.pl
+bin/stackcollapse-instruments.pl
+bin/stackcollapse-jstack.pl
+bin/stackcollapse-ljp.awk
+bin/stackcollapse-perf.pl
+bin/stackcollapse-pmc.pl
+bin/stackcollapse-recursive.pl
+bin/stackcollapse-stap.pl
+bin/stackcollapse-vtune.pl
+bin/stackcollapse.pl