Commit 3601c918 authored by Ell's avatar Ell

tools: add performance-log-viewer.py and driver

performance-log-viewer.py is a viewer for GIMP performance logs.
The viewer is made up of two parts: a sample-selection area at the
top, and an information area at the bottom.

The sample-selection area visualizes the sampled variables and
markers using a simultaneous set of plots, and displays the
currently selected samples.  Samples can be selected directly
through the sample-selection area, or by other means, such as
searching for all samples satisfying a certain condition, or
containing a certain function.

The information area shows global information stored in the log, as
well as information specific to the currently selected samples,
including variable listing and statistics, full backtrace, and
profile/call-graph information.

Note that performance-log-viewer.py takes its input from STDIN,
like the rest of the performance-log tools, and is therefore
suitable for use as part of a pipeline.  For standalone use, the
performance-log-viewer driver is also included, which takes the log
file as a command-line argument, and processes it through an
appropriate pipeline before feeding it to the viewer.
parent 7e186f3e
......@@ -101,4 +101,6 @@ EXTRA_DIST = \
gimppath2svg.py \
performance-log-deduce.py \
performance-log-expand.py \
performance-log-resolve.py
performance-log-resolve.py \
performance-log-viewer \
performance-log-viewer.py
#!/bin/sh
# performance-log-viewer -- GIMP performance log viewer driver
# Copyright (C) 2018 Ell
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#
#
# Usage: performance-log-viewer FILE
if [ "$#" -ne 1 ]; then
echo "Usage: $0 FILE"
exit 1
fi
tools_dir="$(dirname "$(command -v -- "$0")")"
file="$1"
< "$file" || exit 1
< "$file" \
"$tools_dir/performance-log-expand.py" | \
"$tools_dir/performance-log-deduce.py" | \
"$tools_dir/performance-log-viewer.py"
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment