Post Init Service Starter
[aaf/authz.git] / misc / env / src / main / java / org / onap / aaf / misc / env / impl / AbsTrans.java
index 83a049c..5ba7436 100644 (file)
@@ -112,7 +112,6 @@ public abstract class AbsTrans<ENV extends Env> implements TransStore {
     public final void checkpoint(String name, int additionalFlag) {\r
         TimeTaken tt = newTimeTaken(name,CHECKPOINT|additionalFlag);\r
         trail.add(tt);\r
-        tt.done();\r
     }\r
 \r
     @Override\r
@@ -130,8 +129,13 @@ public abstract class AbsTrans<ENV extends Env> implements TransStore {
             // If first entry is sub, then it's actually the last "end" as well\r
             // otherwise, check end\r
             //long end = (first.flag&SUB)==SUB?first.end():trail.get(last).end();\r
-            long end = trail.get(last).end();\r
+            long end = 0L;\r
+            for(int i=last;end==0L && i>=0;--i) {\r
+               end= trail.get(i).end();\r
+            }\r
             metric.total = (end - first.start) / 1000000f;\r
+        } else {\r
+               metric.total=0L;\r
         }\r
         \r
         if (sb==null) {\r
@@ -165,6 +169,18 @@ public abstract class AbsTrans<ENV extends Env> implements TransStore {
                 for (int i=0;i<indent;++i) {\r
                     sb.append("  ");\r
                 }\r
+                if((tt.flag & CHECKPOINT)==CHECKPOINT) {\r
+                       // Checkpoint\r
+                       sb.append("  ");\r
+                } else {\r
+                       float ms=tt.millis();\r
+                    // Add time values to Metric\r
+                    for (int i=0;i<flags.length;++i) {\r
+                        if ((tt.flag & flags[i]) == flags[i]) {\r
+                               metric.buckets[i]+=ms;\r
+                        }\r
+                    }\r
+                }\r
                 tt.output(sb);\r
                 sb.append('\n');\r
                 if ((tt.flag&SUB)==SUB) {\r
@@ -172,11 +188,6 @@ public abstract class AbsTrans<ENV extends Env> implements TransStore {
                     ++indent;\r
                 }\r
                 \r
-                // Add time values to Metric\r
-                float ms = tt.millis();\r
-                for (int i=0;i<flags.length;++i) {\r
-                    if (tt.flag == flags[i]) metric.buckets[i]+=ms;\r
-                }\r
             }\r
         }\r
         return metric;\r