Przeglądaj źródła

Initial revision

git-svn-id: https://openser.svn.sourceforge.net/svnroot/openser/trunk@2 689a6050-402a-0410-94f2-e92a70836424
Bogdan-Andrei Iancu 20 lat temu
commit
12239aec71
2 zmienionych plików z 116 dodań i 0 usunięć
  1. 106 0
      utils/profile/launch.sh
  2. 10 0
      utils/profile/profile.cfg

+ 106 - 0
utils/profile/launch.sh

@@ -0,0 +1,106 @@
+#!/bin/sh -x
+
+# profile filename
+PREF=$1
+# number of cycles
+NROFCYCLES=4
+# functions to go into report
+MYFN="eat_line|eat_space|eat_token"
+# set to non-zero if only a report is to be generated
+#REPONLY=tru
+
+CONFIG=profile.cfg
+
+SRD=${HOME}/sip_router
+PRO=${SRD}/profile
+REP=$PRO/$PREF.txt
+EXEC=ser
+
+
+function usage()
+{
+cat << EOF
+usage: $0 profile_name
+
+currently, this script starts a remote sender at alioth.
+The sender iterates through all messages available in its
+directory and send them many times (should be configurable).
+Sip-router is configured to relay requests to benetnash:sink
+and responses are built to be routed there too.
+This repeats NROFCYCLES-times. Results of all cycles are then
+dumped into <profile_name>-<cycle number>.txt and a
+report <profile_name>.txt is generated.
+
+EOF
+
+exit 1
+}
+
+if [ "$#" -ne 1 ] ; then
+	usage
+fi
+
+cd $SRD
+
+function run()
+{
+j=0
+while [ $j -lt "$NROFCYCLES" ] ; do
+i=`printf "%.3d" $j`
+j=`expr $j + 1`
+
+echo "*** Entering cycle $j"
+
+/usr/bin/time --output="$PRO/${PREF}-${i}-time.txt" ${SRD}/$EXEC -l 192.168.99.100 -D -E -d -f ${PRO}/$CONFIG &
+
+#rsh -l jku benetnash.fokus.gmd.de 'nohup bin/sock -s -u 5060 '
+
+rsh -l jku alioth.fokus.gmd.de 'nohup tmp/sipp/start.sh '
+
+killall -INT $EXEC
+
+gprof $EXEC > $PRO/${PREF}-${i}.txt
+
+done
+}
+
+function report()
+{
+cat > $REP << EOF
+first line ... time spent in tested procedure
+second line (yyrestart) ... total time
+third line (receive_msg) ... numer of calls
+   %   cumulative   self              self     total
+ time   seconds   seconds    calls  ms/call  ms/call  name
+EOF
+
+j=0
+while [ $j -lt "$NROFCYCLES" ] ; do
+i=`printf "%.3d" $j`
+j=`expr $j + 1`
+  FN="${PRO}/${PREF}-${i}.txt"
+  echo >> $REP
+  echo >> $REP
+  echo $FN >> $REP
+  egrep "($MYFN|yyrestart)" $FN | grep -v '\[' >> $REP
+  grep 'receive_msg \[.\]' $FN | grep -v '\/' >> $REP
+  echo >> $REP
+  cat $PRO/${PREF}-${i}-time.txt >> $REP
+
+done
+
+cat >> $REP << EOF
+
+
+Execution environment:
+EOF
+cat /proc/cpuinfo /proc/meminfo >> $REP
+}
+
+if [ -z "$REPONLY" ] ; then
+	run
+fi
+report
+
+echo '*** finished ***'
+echo

+ 10 - 0
utils/profile/profile.cfg

@@ -0,0 +1,10 @@
+# first sort out iptel.org requests from those destined somewhere else
+####################################################################################
+
+port=5080
+
+route[0] {
+
+forward( 127.0.0.1, 9 );
+
+}