diff options
author | Paul E. McKenney <paulmck@kernel.org> | 2023-12-14 09:49:09 -0800 |
---|---|---|
committer | Paul E. McKenney <paulmck@kernel.org> | 2023-12-14 09:49:09 -0800 |
commit | 92843b12654e732fec5f36d5e759c684fe400950 (patch) | |
tree | f85b09c00ba1d791f30ff74e7921824ed825cfa3 | |
parent | fa91b90eb6fca40a3ba55d3df616f8d6b67ccffa (diff) | |
download | perfbook-paulmck.2023.12.14a.tar.gz |
CodeSamples/cpu: Add temporalhist.sh to create histogramspaulmck.2023.12.14a
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
-rw-r--r-- | CodeSamples/cpu/temporalhist.sh | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/CodeSamples/cpu/temporalhist.sh b/CodeSamples/cpu/temporalhist.sh new file mode 100644 index 00000000..f96feba4 --- /dev/null +++ b/CodeSamples/cpu/temporalhist.sh @@ -0,0 +1,42 @@ +#!/bin/bash +# +# Reduce data gathered by fre.sh and rfe.sh as standard input. +# The histogram output (time, count) will be emitted on standard output. +# The is suitable for gnuplot, though stray values due to delays in the +# test may need to be manually trimmed. +# +# 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 2 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, you can access it online at +# http://www.gnu.org/licenses/gpl-2.0.html. +# +# Copyright (C) Meta Platforms Inc., 2023 +# +# Authors: Paul E. McKenney <paulmck@kernel.org> + +sed -e 's/!!!//' | grep '^[0-9][0-9]* ' | +awk ' +curval != $4 { + if (curval != "") + print curval, nvals; + curval = $4; + nvals = 0; +} + +{ + nvals++; +} + +END { + if (curval != "") + print curval, nvals; +}' |