public void completed(long startTime, long endTime, String path, String location, int count, long waitTime) {
   ILogger logger = CommonServices.getEntityAccess().getLogger();
    if (logger.isDebugEnabled()) {
      if (endTime <= 0) {
        endTime = CommonServices.getEntityAccess().getCurrentTime().getTime();
      }
      logger.debug("At " + (endTime - _time0)  + " msecs: executed '"
              + path + "' (" + location + ") "
              + (count > 1 ? count + " times " : "")
              + "in " + (endTime - startTime) + " msecs"
              + (waitTime > 0 ? " wait=" + waitTime + " msecs " : "")
      );
    }
  }
public void completed ( long startTime , long endTime , String path , String location , int count , long waitTime ) { ILogger logger = CommonServices . getEntityAccess ( ) . getLogger ( ) ; if ( logger . isDebugEnabled ( ) ) { if ( endTime <= 0 ) { endTime = CommonServices . getEntityAccess ( ) . getCurrentTime ( ) . getTime ( ) ; } logger . debug ( "At " + ( endTime - _time0 ) + " msecs: executed '" + path + "' (" + location + ") " + ( count > 1 ? count + " times " : "" ) + "in " + ( endTime - startTime ) + " msecs" + ( waitTime > 0 ? " wait=" + waitTime + " msecs " : "" ) ) ; } }
This will log a profiling event, note that the start time and end times should have been captured
from the same clock, for example IEntityAccess.getCurrentTime().

@param startTime the start of the profiled code
@param endTime   the end of the profiled code (if 0 will use IEntityAccess.getCurrentTime())
@param path      the path that was taken to reach this place (A called B called C could be A->B->C)
@param location  this would be the location (maybe file#linenumb)
@param count     the number of times this time represented
@param waitTime  any wait times that were consumed during this execution