Index: trunk/ippToPsps/jython/metrics.py
===================================================================
--- trunk/ippToPsps/jython/metrics.py	(revision 32109)
+++ trunk/ippToPsps/jython/metrics.py	(revision 32110)
@@ -3,4 +3,5 @@
 import smtplib
 import sys
+import os
 
 from java.lang import Math
@@ -13,4 +14,31 @@
 
 '''
+Makes a gnuplot of the data
+'''
+def plotMe(batchType, file):
+
+    OUTPUTFILE = DVOLABEL + "_" + batchType + ".png"
+    f=os.popen('gnuplot', 'w')
+
+    if 0:
+        TERM = "X11"
+    else:
+        TERM = "png font \"/usr/share/fonts/corefonts/arial.ttf\" 8"
+        
+    print >> f, "set term " + TERM + "; \
+              set output \"" + OUTPUTFILE + "\"; \
+              set title \"ippToPsps : " + batchType + " loading for " + DVOLABEL + "\"; \
+              set boxwidth; \
+              set xtic rotate by -90 scale 0; \
+              set style data histogram; \
+              set style histogram rowstacked; \
+              set style fill solid border -1; \
+              set ylabel \"Items processed per loading stage\"; \
+              set boxwidth 0.75; \
+              plot '" + file + "' using 2:xtic(1) notitle lt 2, '' using 3 notitle lt 1, '' using 4 notitle lt rgb \"#808080\""
+
+    f.flush()
+
+'''
 Prepares a string of the format:
 
@@ -18,12 +46,18 @@
 
 '''
-def prepareStr(prevList, thisList):
+def prepareStr(masterList, prevList, thisList, FILE, name):
 
-     unsuccessful = list(set(prevList) - set(thisList))
+    unsuccessful = list(set(prevList) - set(thisList))
 
-     str = "%d" % len(thisList)
-     if len(unsuccessful) > 0: str = str + "(%d)" % len(unsuccessful)
+    countTotal = len(masterList)
+    countSuccessful = len(thisList)
+    countUnsuccessful = len(unsuccessful)
 
-     return str
+    str = "%d" % countSuccessful
+    if countUnsuccessful: str = str + "(%d)" % countUnsuccessful
+
+    print >> FILE, name, countSuccessful, countUnsuccessful, (countTotal - countSuccessful - countUnsuccessful)
+    #;sys.stdout.softspace=0; 
+    return str
 
 '''
@@ -39,15 +73,22 @@
     mergedIDs = ippToPspsDb.getMergedIDs(batchType, EPOCH, DVOLABEL)
 
+    tempFilename = batchType + '.dat'
+    DATFILE = open(tempFilename,'w')
+    prepareStr(allIDs, allIDs, allIDs, DATFILE, "inDVO"),
+
     logger.info("|  %2s  |  %-12d  |  %-12s  |  %-12s  |  %-12s  |  %-12s  |  %-12s  |  %-12s  |  %-19s |" % (
                 batchType, 
                 len(allIDs), 
-                prepareStr(allIDs, processedIDs),
-                prepareStr(processedIDs, datastoreIDs),
-                prepareStr(datastoreIDs, loadedToODMIDs),
-                prepareStr(loadedToODMIDs, mergeWorthyIDs),
-                prepareStr(mergeWorthyIDs, mergedIDs),
+                prepareStr(allIDs, allIDs, processedIDs, DATFILE, "processed"),
+                prepareStr(allIDs, processedIDs, datastoreIDs, DATFILE, "onDatastore"),
+                prepareStr(allIDs, datastoreIDs, loadedToODMIDs, DATFILE, "loadedToODM"),
+                prepareStr(allIDs, loadedToODMIDs, mergeWorthyIDs, DATFILE, "MergeWorthy"),
+                prepareStr(allIDs, mergeWorthyIDs, mergedIDs, DATFILE, "Merged"),
                 len(list(set(allIDs) - set(mergedIDs))),
                 ippToPspsDb.getTimeOfLastBatchPublished(batchType, EPOCH, DVOLABEL)))
 
+    plotMe(batchType, tempFilename)
+    DATFILE.close()
+    #os.remove(tempFilename)
 
 '''
@@ -83,11 +124,4 @@
 logger.info("+------+----------------+----------------+----------------+----------------+----------------+----------------+----------------+----------------------+")
 
-#logger.info("Total batches published      %d" % totalP2Published)
-#logger.info("Total batches left           %d" % (totalP2 - totalP2Published))
-#logger.info("Total failed batches         %d" % ippToPspsDb.getTotalFailedBatches("P2", EPOCH))
-#logger.info("Average time per batch       %.2f minutes" % ippToPspsDb.getAverageTimePerBatch("P2", EPOCH))
-#logger.info("Last published               %.2f hours ago" % ippToPspsDb.getLastBatchPublished("P2"))
-#logger.info("Average batches per day      %.2f" % ippToPspsDb.getBatchesPerDay("P2", EPOCH))
-#logger.info("-----------------------------------------------------")
 
 
