code: public double getElapsedTimeCurrentThread(int stage) {
  	   if (stage == ProfilingEvent.START.ordinal()) {
             return 0;    
  	   }
  	   
  	   Accumulator acc = getAccForThread();
  
  	   return acc == null ? Double.NaN : (acc.currentTimes[stage] - acc.currentTimes[stage - 1]) / MILLION;
     }
docs: Elapsed time for a single event only and for the current thread, i.e. since the previous stage rather than from the start.