head     1.1;
branch   1.1.1;
access   ;
symbols  project:1.1.1.1 analysis:1.1.1;
locks    ; strict;
comment  @# @;


1.1
date     2008.10.10.01.57.31;  author kaurikim;  state Exp;
branches 1.1.1.1;
next     ;

1.1.1.1
date     2008.10.10.01.57.31;  author kaurikim;  state Exp;
branches ;
next     ;


desc
@@



1.1
log
@Initial revision
@
text
@#!/bin/sh

# check_forensic <forensic log file>

# check the forensic log for requests that did not complete
# output the request log for each one

F=$1

temp_create_method=file
if test -f `which mktemp`; then
  temp_create_method=mktemp
elif test -f `which tempfile`; then
  temp_create_method=tempfile
fi

create_temp()
{
  prefix=$1
  case "$temp_create_method" in
    file)
      name="/tmp/$1.$$"
      ;;
    mktemp)
      name=`mktemp -t $1.XXXXXX`
      ;;
    tempfile)
      name=`tempfile --prefix=$1`
      ;;
    *)
      echo "$0: Cannot create temporary file"
      exit 1
      ;;
  esac
}

create_temp fcall
all=$name
create_temp fcin
in=$name
create_temp fcout
out=$name
trap "rm -f -- \"$all\" \"$in\" \"$out\";" 0 1 2 3 13 15

cut -f 1 -d '|' $F  > $all
grep + < $all | cut -c2- | sort > $in
grep -- - < $all | cut -c2- | sort > $out

# use -i instead of -I for GNU xargs
join -v 1 $in $out | xargs -I xx egrep "^\\+xx" $F
exit 0
@


1.1.1.1
log
@analysis apache2
@
text
@@
