-#!/bin/bash
-source utils.sh
-#Mserver and killall must be in /etc/sudoers
-function kmonet() {
- sudo killall -TERM Mserver
- sleep 2
- sudo killall -9 Mserver
-}
-trap kmonet INT TERM
-
-function do_monet(){
- while pidof Mserver >/dev/null
- do
-
- sudo killall -TERM Mserver
- sleep 3
- done
-
- while ! pidof Mserver >/dev/null
- do
- sudo /usr/local/bin/alarm 600 22000000 Mserver --dbinit="module(pathfinder);" >/dev/null 2>&1 &
- sleep 3
- done
- sync
-
- query="$1"
- doc="$2"
- repeat="$3"
- TIME_MAT=""
- TIME_COUNT=""
- TIME_PRINT=""
- NUM_RESULTS=""
- for i in `seq 1 "$repeat"`
- do
- {
- read foo
- read foo
- read num
- read foo
- read foo
- read tquery
- read foo
- read foo
- } < <(echo "fn:count(fn:doc(\"$doc\")$query)
-" | mclient -t --interactive 2>&1 | grep -o '[0-9.]*' )
-
- TIME_COUNT="$TIME_COUNT
-$tquery"
-
- NUM_RESULTS="$num"
- done
-
- if [ -z "$4" ]
- then
- for i in `seq 1 "$repeat"`
- do
- {
- read foo
- read foo
- read tquery
- read tprint
- read foo
- } < <(echo "\>/dev/null
-fn:doc(\"$doc\")$query
-" | mclient -t --interactive 2>&1 | grep -o '[0-9.]*' )
-
- TIME_MAT="$TIME_MAT
-$tquery"
-
- TIME_PRINT="$TIME_PRINT
-$tprint"
-
- done
- else
- TIME_MAT="999999"
- TIME_PRINT="0"
- fi
- while pidof Mserver >/dev/null
- do
-
- sudo killall -TERM Mserver
- sleep 3
- done
-
- echo "$TIME_COUNT" | tail -n +2 | average
- echo "$TIME_MAT" | tail -n +2 | average
- echo "$TIME_PRINT" | tail -n +2 | average
- echo $NUM_RESULTS
-}
-
-do_monet "$@"