public void record(long nanos) { time.add(nanos); }
public void record(long nanos, boolean match) { if (match) { hits.incrementAndGet(); } time.add(nanos); }
private void splitFinished(PrioritizedSplitRunner split) { completedSplitsPerLevel.incrementAndGet(split.getPriority().getLevel()); synchronized (this) { allSplits.remove(split); long wallNanos = System.nanoTime() - split.getCreatedNanos(); splitWallTime.add(Duration.succinctNanos(wallNanos)); if (intermediateSplits.remove(split)) { intermediateSplitWallTime.add(wallNanos); intermediateSplitScheduledTime.add(split.getScheduledNanos()); intermediateSplitWaitTime.add(split.getWaitNanos()); intermediateSplitCpuTime.add(split.getCpuTimeNanos()); } else { leafSplitWallTime.add(wallNanos); leafSplitScheduledTime.add(split.getScheduledNanos()); leafSplitWaitTime.add(split.getWaitNanos()); leafSplitCpuTime.add(split.getCpuTimeNanos()); } TaskHandle taskHandle = split.getTaskHandle(); taskHandle.splitComplete(split); scheduleTaskIfNecessary(taskHandle); addNewEntrants(); } // call destroy outside of synchronized block as it is expensive and doesn't need a lock on the task executor split.destroy(); }
public void record(long nanos) { time.add(nanos); }
public void record(long nanos) { time.add(nanos); }
public void record(long nanos, boolean match) { if (match) { hits.incrementAndGet(); } time.add(nanos); }
public void record(long nanos, boolean match) { if (match) { hits.incrementAndGet(); } time.add(nanos); }
private void splitFinished(PrioritizedSplitRunner split) { completedSplitsPerLevel.incrementAndGet(split.getPriority().getLevel()); synchronized (this) { allSplits.remove(split); long wallNanos = System.nanoTime() - split.getCreatedNanos(); splitWallTime.add(Duration.succinctNanos(wallNanos)); if (intermediateSplits.remove(split)) { intermediateSplitWallTime.add(wallNanos); intermediateSplitScheduledTime.add(split.getScheduledNanos()); intermediateSplitWaitTime.add(split.getWaitNanos()); intermediateSplitCpuTime.add(split.getCpuTimeNanos()); } else { leafSplitWallTime.add(wallNanos); leafSplitScheduledTime.add(split.getScheduledNanos()); leafSplitWaitTime.add(split.getWaitNanos()); leafSplitCpuTime.add(split.getCpuTimeNanos()); } TaskHandle taskHandle = split.getTaskHandle(); taskHandle.splitComplete(split); scheduleTaskIfNecessary(taskHandle); addNewEntrants(); } // call destroy outside of synchronized block as it is expensive and doesn't need a lock on the task executor split.destroy(); }
private void splitFinished(PrioritizedSplitRunner split) { completedSplitsPerLevel.incrementAndGet(split.getPriority().getLevel()); synchronized (this) { allSplits.remove(split); long wallNanos = System.nanoTime() - split.getCreatedNanos(); splitWallTime.add(Duration.succinctNanos(wallNanos)); if (intermediateSplits.remove(split)) { intermediateSplitWallTime.add(wallNanos); intermediateSplitScheduledTime.add(split.getScheduledNanos()); intermediateSplitWaitTime.add(split.getWaitNanos()); intermediateSplitCpuTime.add(split.getCpuTimeNanos()); } else { leafSplitWallTime.add(wallNanos); leafSplitScheduledTime.add(split.getScheduledNanos()); leafSplitWaitTime.add(split.getWaitNanos()); leafSplitCpuTime.add(split.getCpuTimeNanos()); } TaskHandle taskHandle = split.getTaskHandle(); taskHandle.splitComplete(split); scheduleTaskIfNecessary(taskHandle); addNewEntrants(); } // call destroy outside of synchronized block as it is expensive and doesn't need a lock on the task executor split.destroy(); }