3 # We don't do that here
6 # Initialization inspired by dlog_test.in, TODO: unify somehow
8 echo "usage: $0 pipe|logger"
12 if [ "$1" = "pipe" ]; then
14 elif [ "$1" = "logger" ]; then
17 # Make sure the newly launched daemon ignores old logs
18 touch /run/dlog/first_time
20 echo "usage: $0 pipe|logger"
25 capsh --print | grep Current | grep cap_syslog > /dev/null || { echo "*** ERROR: cap_syslog missing"; NEEDS_TO_QUIT=1; }
26 mount | grep ' / ' | grep rw > /dev/null || { echo "*** ERROR: root not mounted read-write"; NEEDS_TO_QUIT=1; }
27 [ $NEEDS_TO_QUIT -eq 0 ] || exit 1
29 export DLOG_CONFIG_PATH="@datadir@/dlog-$type.conf.cpu"
30 PATH=$PATH:@libexecdir@/libdlog/
34 RUNTIME_FILTERS_DIR="/tmp/dlog-filters/"
35 WRITER_DIR="/tmp/dlog-writers/"
38 [ $LOGGER -ne -1 ] && kill $LOGGER > /dev/null 2>&1
39 [ $TEST -ne -1 ] && kill $TEST > /dev/null 2>&1
40 [ -d $RUNTIME_FILTERS_DIR ] && rm -rf $RUNTIME_FILTERS_DIR
41 [ -d $WRITER_DIR ] && rm -rf $WRITER_DIR
45 mkdir -p "$RUNTIME_FILTERS_DIR"
46 mkdir -p "$WRITER_DIR"
48 # TODO: 2>&1 is a hack, but I don't see any other solution
49 for LENGTH in 10 500; do
51 echo "LOG LATENCY ($LENGTH characters):"
53 MESSAGE=$(printf '%0.s&' $(seq 1 $LENGTH)) # Print the '&' character $LENGTH times
60 /usr/libexec/libdlog/dlog_stdout_benchmark 0 100000 $MESSAGE libdlog 2>&1 &
63 echo "cpu usage of logger:"
64 ps --no-headers --quick-pid $LOGGER --format %cpu
65 echo "cpu usage of client:"
66 ps --no-headers --quick-pid $TEST --format %cpu
75 dlog_redirect_stdout --outtag "DLOG_BENCHMARK" --nofallback -- /usr/libexec/libdlog/dlog_stdout_benchmark 0 100000 $MESSAGE stdout 2>&1 &
78 echo "cpu usage of logger:"
79 ps --no-headers --quick-pid $LOGGER --format %cpu
80 echo "cpu usage of client:"
81 ps --no-headers --quick-pid $TEST --format %cpu
90 dlog_redirect_stdout --outtag "DLOG_BENCHMARK" --nofallback -- /usr/libexec/libdlog/dlog_stdout_benchmark 1 100000 $MESSAGE stdout 2>&1 &
93 echo "cpu usage of logger:"
94 ps --no-headers --quick-pid $LOGGER --format %cpu
95 echo "cpu usage of client:"
96 ps --no-headers --quick-pid $TEST --format %cpu