diff options
author | jmd <jmd@FreeBSD.org> | 2017-04-02 09:06:25 +0800 |
---|---|---|
committer | jmd <jmd@FreeBSD.org> | 2017-04-02 09:06:25 +0800 |
commit | 0d1721b60a658d1c20afaba8a7e2783c992da1ca (patch) | |
tree | 000e7d1f84603ce55d08983ef0770d9dcf1eae30 /benchmarks/flamegraph | |
parent | 71013df73b8ece84b6e9e42cf5ae7d08a8357f50 (diff) | |
download | freebsd-ports-gnome-0d1721b60a658d1c20afaba8a7e2783c992da1ca.tar.gz freebsd-ports-gnome-0d1721b60a658d1c20afaba8a7e2783c992da1ca.tar.zst freebsd-ports-gnome-0d1721b60a658d1c20afaba8a7e2783c992da1ca.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
Diffstat (limited to 'benchmarks/flamegraph')
-rw-r--r-- | benchmarks/flamegraph/Makefile | 52 | ||||
-rw-r--r-- | benchmarks/flamegraph/distinfo | 3 | ||||
-rw-r--r-- | benchmarks/flamegraph/pkg-descr | 10 | ||||
-rw-r--r-- | benchmarks/flamegraph/pkg-plist | 19 |
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 |