f7ecd5e41d6f499eac67a80c32d3ab5944f4cc6f
kuhn
  Fri Mar 23 17:34:42 2018 -0700
added detection of lastUse values for last two months

diff --git src/utils/qa/sessionStats.csh src/utils/qa/sessionStats.csh
index 0a47fd5..8ef2dee 100755
--- src/utils/qa/sessionStats.csh
+++ src/utils/qa/sessionStats.csh
@@ -1,128 +1,145 @@
 #!/bin/tcsh
 source `which qaConfig.csh`
 
 
 ###############################################
 # 
 #  04-04-2008
 #  Robert Kuhn
 #
 #  Gets some stats on hgSession
 # 
 ###############################################
 
 set short=""
 set users=0
 set count=0
 set shared=0
 set reuse=0
+set active1=0
+set active2=0
+set lastMonth=""
+set thisMonth=""
 set countTot=0
 set userTot=0
 set shareTot=0
 set reuseTot=0
 
 if ( $#argv != 1 ) then
   # no command line args
   echo
   echo " gets some stats on hgSession"
   echo
   echo "    usage:  go|short"
   echo "      where short prints abbreviated report."
   echo
   exit
 else
   if ( $argv[1] != "go" ) then
     if ( $argv[1] == "short" ) then
       set short=$argv[1]
     else
       echo
-      echo ' only "go" are "short" are permitted as arguments'
+      echo ' only "go" and "short" are permitted as arguments'
       $0
       exit
     endif
   endif
 endif
 
 # get months sessions has been alive:
 set months=`hgsql -N -h $sqlrr -e 'SELECT DISTINCT DATE_FORMAT(firstUse, \
   "%Y-%m") FROM namedSessionDb' hgcentral | sort -u`
 
+# set months="2018-01 2018-02 2018-03"
 # get stats
 rm -f tempOutFile
 echo
 echo " first  count users  shared   reused  "
 echo "------  ----- ----- -------  -------"
 foreach month ( $months )
   set count=`hgsql -N -h $sqlrr -e 'SELECT COUNT(*) FROM namedSessionDb \
     WHERE DATE_FORMAT(firstUse, "%Y-%m") = "'$month'"' hgcentral`
   set users=`hgsql -N -h $sqlrr -e 'SELECT COUNT(DISTINCT(userName)) \
     FROM namedSessionDb WHERE DATE_FORMAT(firstUse, "%Y-%m") = "'$month'"' hgcentral`
   set shared=`hgsql -N -h $sqlrr -e 'SELECT COUNT(*) FROM namedSessionDb \
     WHERE DATE_FORMAT(firstUse, "%Y-%m") = "'$month'" AND shared = 1' hgcentral`
   set reuse=`hgsql -N -h $sqlrr -e 'SELECT firstUse, lastUse FROM namedSessionDb \
     WHERE DATE_FORMAT(firstUse, "%Y-%m") = "'$month'"' hgcentral \
     |  awk '$1 != $3 {print $1, $3}'  | wc -l`
   echo $month $count $users $shared $reuse  \
     | awk '{printf ("%7s %4s %5s %4s %2d%% %4s %2d%%\n", \
     $1, $2, $3, $4, $4/$2*100, $5, $5/$2*100)}' | tee -a tempOutFile
 
   # increment totals
   set countTot=`echo $countTot $count | awk '{print $1+$2}'`
   set userTot=`echo $userTot $users | awk '{print $1+$2}'`
   set shareTot=`echo $shareTot $shared | awk '{print $1+$2}'`
   set reuseTot=`echo $reuseTot $reuse | awk '{print $1+$2}'`
 end
 
 echo "------- ----- ----- -------  -------"
 echo "total " $countTot $userTot $shareTot $reuseTot  \
   | awk '{printf ("%7s %4s %5s %4s %2d%% %4s %2d%%\n", \
   $1, $2, $3, $4, $4/$2*100, $5, $5/$2*100)}'
 set uniq=`hgsql -N -h $sqlrr -e 'SELECT COUNT(DISTINCT(userName)) \
   FROM namedSessionDb' hgcentral`
-echo "uniq " "-" "$uniq" \
-  | awk '{printf ("%7s %4s %5s \n", $1, $2, $3)}'
-
 echo "------  ----- ----- -------  -------"
 echo " first  count users  shared   reused  "
 echo
+echo "uniq users: $uniq"
+echo
+
+# get number of sessions actively viewed last month
+
+set lastMonth=`echo $months | sed "s/ /\n/g" | tail -2 | head -1`
+set thisMonth=`echo $months | sed "s/ /\n/g" | tail -1`
+set active1=`hgsql -N -h $sqlrr -e 'SELECT COUNT(*) FROM namedSessionDb \
+    WHERE DATE_FORMAT(lastUse, "%Y-%m") = "'$lastMonth'"' hgcentral`
+set active2=`hgsql -N -h $sqlrr -e 'SELECT COUNT(*) FROM namedSessionDb \
+    WHERE DATE_FORMAT(lastUse, "%Y-%m") = "'$thisMonth'"' hgcentral`
+echo "sessions last used in ${lastMonth}:   $active1"
+echo "sessions last used in ${thisMonth}:   $active2"
+echo
+echo
 
 # graph sessions
 echo sessions
 echo --------
 graph.csh tempOutFile
 
 # graph users
 echo " users"
 echo --------
 rm -f tempOutFile2
 cat tempOutFile | awk '{print $1, $3}' > tempOutFile2
 graph.csh tempOutFile2
 rm -f tempOutFile
 rm -f tempOutFile2
 
 # stop here if short
 if ( $short != "" ) then
   exit
 endif 
 
 echo
 # see how often people make more than one session:
 echo "how many people had more than one session?"
 echo " people sessions"
 echo " ------ --------"
 hgsql -N -h $sqlrr -e 'SELECT DISTINCT(userName), COUNT(*) as number \
   FROM namedSessionDb GROUP BY userName ORDER BY number' hgcentral \
   | awk '{print $2}' | sort -n | uniq -c
 echo
 
 echo "how often are sessions reaccessed?"
 hgsql -t -h $sqlrr -e 'SELECT DISTINCT(useCount), COUNT(*) as sessions \
   FROM namedSessionDb GROUP BY useCount ORDER BY useCount' hgcentral 
 echo
 
 echo "most used:"
 hgsql -t -h $sqlrr -e 'SELECT userName, sessionName, firstUse, \
   lastUse, useCount FROM namedSessionDb ORDER BY useCount DESC LIMIT 4' hgcentral
 echo
 
 exit 0