zeek/auxil/zeek-aux/devel-tools/cpu-bench-with-trace
Patrick Kelley 8fd444092b initial
2025-05-07 15:35:15 -04:00

33 lines
889 B
Bash
Executable File

#! /usr/bin/env bash
#
# This runs a number of Zeek configurations on trace $2. It
# starts with the bare config and then
# kept adding the scripts load from init-default.zeek and local.zeek one
# by one, measuring user time for each run (i.e., the measurements are
# cumulative).
if [ "$2" == "" ]; then
echo "usage: $(basename $0) <zeekdir> <trace>"
exit 1
fi
zeek=$1
trace=$2
tmp=/tmp/bench.$$.zeek
export ZEEKPATH=$($zeek/build/zeek-path-dev)
cat </dev/null >$tmp
cat $zeek/scripts/base/init-default.zeek $zeek/scripts/site/local.zeek | grep '^ *@load' | while read line; do
echo $line >>$tmp
script=$(echo $line | awk '{print $2}' | sed 's#/#.#g')
output="bench.output.$script.log"
(time -p $zeek/build/src/zeek -b -r $trace $tmp) >$output 2>&1
user=$(cat $output | grep user | awk '{print $2}')
printf "%40s %s\n" $script $user
done
rm -f $tmp