added explicit code for handling traceBegin and traceEnd.
authorGengbin Zheng <gzheng@illinois.edu>
Fri, 29 Oct 2010 19:04:05 +0000 (14:04 -0500)
committerGengbin Zheng <gzheng@illinois.edu>
Fri, 29 Oct 2010 19:04:05 +0000 (14:04 -0500)
src/ck-perf/trace-summary.C
src/ck-perf/trace-summary.h

index 3b13bb8b8ae01d6cc948681ee7685f0e6d635923..82d6c56a0c64ac8cf9592fc7cc23d69cd08a5505 100644 (file)
@@ -726,18 +726,20 @@ void TraceSummary::endExecute(void)
   double ts = start;
   double nts = binStart;
 
+/*
   if (execEp == TRACEON_EP) {
     // if trace just got turned on, then one expects to see this
     // END_PROCESSING event without seeing a preceeding BEGIN_PROCESSING
     return;
   }
+*/
 
   if (execEp == INVALIDEP) {
     TRACE_WARN("Warning: TraceSummary END_PROCESSING without BEGIN_PROCESSING!\n");
     return;
   }
 
-  if (execEp != -1)
+  if (execEp >= 0)
   {
     _logPool->setEp(execEp, t-ts);
   }
@@ -800,6 +802,16 @@ void TraceSummary::endIdle(double currT)
   binIdle += t - t_idleStart;
 }
 
+void TraceSummary::traceBegin(void)
+{
+  beginExecute(-1, -1, TRACEON_EP, -1, -1);
+}
+
+void TraceSummary::traceEnd(void)
+{
+  endExecute();
+}
+
 void TraceSummary::beginPack(void)
 {
     packstart = CmiWallTimer();
index 7372587b6db05d55b56161d9a3c797dbf45ec5b0..2db5b5655165fd57f5556333bcba963aa5690361 100644 (file)
@@ -270,6 +270,8 @@ class TraceSummary : public Trace {
     void endExecute(void);
     void beginIdle(double currT);
     void endIdle(double currT);
+    void traceBegin(void);
+    void traceEnd(void);
     void beginPack(void);
     void endPack(void);
     void beginUnpack(void);