close this file so it actually writes out
[IRC.git] / Robust / CoreProf / Trace.java
index 0db91ad87fbf70b196f1a01cd12d88c4ea4cb4cd..0d4cf9882de653377706b29b410fdea7bc8fba63 100644 (file)
@@ -138,6 +138,10 @@ public class Trace {
   long mintime;
   long scale;
 
+  long minObservedTime = Long.MAX_VALUE;
+  long maxObservedTime = Long.MIN_VALUE;
+
+
   public Trace( boolean c2txt, String inFile, String outFile,  HashSet<Integer> eventset, long mintime, long maxtime, long scale) {
     this.eventset=eventset;
     this.maxtime=maxtime;
@@ -150,6 +154,12 @@ public class Trace {
 
     initNames();
 
+    if( convert2txt ) {
+      try { 
+        txtStream = new BufferedWriter( new FileWriter( "events.txt" ) ); 
+      } catch( Exception e ) { e.printStackTrace(); System.exit( -1 ); }
+    }
+
     if (convert2plot) {
       printPlotCmd();
     }
@@ -158,8 +168,20 @@ public class Trace {
       readThread( i );
     }
 
+    System.out.println( "Minimum observed time stamp: "+minObservedTime );
+    System.out.println( "Maximum observed time stamp: "+maxObservedTime );
+    
+    System.out.println( "\nelapsed time: "+(maxObservedTime - minObservedTime) );
+
+
     printStats( outFile );
 
+    if( convert2txt ) {
+      try {
+        txtStream.close();
+      } catch( Exception e ) { e.printStackTrace(); System.exit( -1 ); }
+    }
+
     if( convert2plot ) {
       try {
        bwPlot.write("plot [0:"+(globendtime/scale)+"] [-1:"+(numThreads+1)+"] -3\n");
@@ -293,8 +315,6 @@ public class Trace {
 
     if( convert2txt ) {
       try {
-        txtStream = new BufferedWriter( new FileWriter( "events.txt" ) );
-
         txtStream.write( "\n\n\n\n" );
         txtStream.write( "*************************************************\n" );
         txtStream.write( "**  Thread "+tNum+"\n" );
@@ -335,6 +355,16 @@ public class Trace {
       timeStamp    = readLong( tdata.dataStream );
       i += 3;
 
+      
+      if( timeStamp < minObservedTime ) {
+        minObservedTime = timeStamp;
+      }
+
+      if( timeStamp > maxObservedTime ) {
+        maxObservedTime = timeStamp;
+      }
+
+
       int eventType = eventRaw &  CP_EVENT_MASK;
       int eventID   = eventRaw >> CP_EVENT_BASESHIFT;
 
@@ -527,7 +557,7 @@ public class Trace {
        if (nstart<0)
          nstart=0;
        bwPlot.write( "set arrow from "+(nstart/scale)+","+thread+
-                      " to "+(nend/scale)+","+thread+" lt palette cb "+eventID+" nohead\n");
+                      " to "+(nend/scale)+","+thread+" lt "+eventID+"\n");
       }
     } catch( IOException e ) {
       e.printStackTrace();