check_forensic revision 06106b6b63b112a09de1b66fa29596035c0176ff
2704de98885368683621b01c8f8f4e4b01557611takashi#!/bin/sh
2704de98885368683621b01c8f8f4e4b01557611takashi
fd9abdda70912b99b24e3bf1a38f26fde908a74cnd# check_forensic <forensic log file>
fd9abdda70912b99b24e3bf1a38f26fde908a74cnd
fd9abdda70912b99b24e3bf1a38f26fde908a74cnd# check the forensic log for requests that did not complete
2704de98885368683621b01c8f8f4e4b01557611takashi# output the request log for each one
2704de98885368683621b01c8f8f4e4b01557611takashi
2704de98885368683621b01c8f8f4e4b01557611takashiF=$1
2704de98885368683621b01c8f8f4e4b01557611takashi
96ad5d81ee4a2cc66a4ae19893efc8aa6d06fae7jailletcall=`mktemp -t fcall.XXXXXX || tempfile --prefix=fcall` || { echo "$0: Cannot create temporary file" >&2; exit 1; }
2704de98885368683621b01c8f8f4e4b01557611takashiin=`mktemp -t fcin.XXXXXX || tempfile --prefix=fcin` || { echo "$0: Cannot create temporary file" >&2; exit 1; }
2704de98885368683621b01c8f8f4e4b01557611takashiout=`mktemp -t fcout.XXXXXX || tempfile --prefix=fcout` || { echo "$0: Cannot create temporary file" >&2; exit 1; }
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowentrap "rm -f -- \"$all\" \"$in\" \"$out\";" 0 1 2 3 13 15
2e545ce2450a9953665f701bb05350f0d3f26275nd
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowencut -f 1 -d '|' $F > $all
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowengrep + < $all | cut -c2- | sort > $in
2704de98885368683621b01c8f8f4e4b01557611takashigrep -- - < $all | cut -c2- | sort > $out
2704de98885368683621b01c8f8f4e4b01557611takashi
2704de98885368683621b01c8f8f4e4b01557611takashi# use -i instead of -I for GNU xargs
af33a4994ae2ff15bc67d19ff1a7feb906745bf8rbowenjoin -v 1 $in $out | xargs -I xx egrep "^\\+xx" $F
3f08db06526d6901aa08c110b5bc7dde6bc39905ndexit 0
2704de98885368683621b01c8f8f4e4b01557611takashi