public void record(long nanos) { time.add(nanos); }
@Test public void testEmpty() { TimeStat stat = new TimeStat(); TimeDistribution allTime = stat.getAllTime(); assertEquals(allTime.getMin(), Double.NaN); assertEquals(allTime.getMax(), Double.NaN); assertEquals(allTime.getP50(), Double.NaN); assertEquals(allTime.getP75(), Double.NaN); assertEquals(allTime.getP90(), Double.NaN); assertEquals(allTime.getP99(), Double.NaN); assertEquals(allTime.getAvg(), Double.NaN); }
@Test public void timeTry() throws Exception { TimeStat stat = new TimeStat(ticker); try (BlockTimer ignored = stat.time()) { ticker.increment(10, TimeUnit.MILLISECONDS); } TimeDistribution allTime = stat.getAllTime(); assertEquals(allTime.getCount(), 1.0); assertEquals(allTime.getMin(), 0.010); assertEquals(allTime.getMax(), 0.010); }
@Managed public synchronized double getAvg() { return convertToUnit(total.getCount()) / getCount(); }
@Test public void testBasic() throws Exception { ManagedDataSource dataSource = new MockManagedDataSource(1, new Duration(10, MILLISECONDS)); assertEquals(dataSource.getConnectionsActive(), 0); assertEquals(dataSource.getStats().getCheckout().getAllTime().getCount(), 0.0); assertEquals(dataSource.getStats().getCreate().getAllTime().getCount(), 0.0); assertEquals(dataSource.getStats().getHeld().getAllTime().getCount(), 0.0); assertEquals(dataSource.getStats().getConnectionErrorCount(), 0); Connection connection = dataSource.getConnection(); assertNotNull(connection); assertTrue(connection instanceof MockConnection); assertEquals(dataSource.getConnectionsActive(), 1); assertEquals(dataSource.getStats().getCheckout().getAllTime().getCount(), 1.0); assertEquals(dataSource.getStats().getCreate().getAllTime().getCount(), 1.0); assertEquals(dataSource.getStats().getHeld().getAllTime().getCount(), 0.0); assertEquals(dataSource.getStats().getConnectionErrorCount(), 0); connection.close(); assertEquals(dataSource.getConnectionsActive(), 0); assertEquals(dataSource.getStats().getCheckout().getAllTime().getCount(), 1.0); assertEquals(dataSource.getStats().getCreate().getAllTime().getCount(), 1.0); assertEquals(dataSource.getStats().getHeld().getAllTime().getCount(), 1.0); assertEquals(dataSource.getStats().getConnectionErrorCount(), 0); }
@Test public void testEmpty() { TimeStat stat = new TimeStat(); TimeDistribution allTime = stat.getAllTime(); assertEquals(allTime.getMin(), Double.NaN); assertEquals(allTime.getMax(), Double.NaN); assertEquals(allTime.getP50(), Double.NaN); assertEquals(allTime.getP75(), Double.NaN); assertEquals(allTime.getP90(), Double.NaN); assertEquals(allTime.getP99(), Double.NaN); assertEquals(allTime.getAvg(), Double.NaN); }
@Test public void timeTry() throws Exception { TimeStat stat = new TimeStat(ticker); try (BlockTimer ignored = stat.time()) { ticker.increment(10, TimeUnit.MILLISECONDS); } TimeDistribution allTime = stat.getAllTime(); assertEquals(allTime.getCount(), 1.0); assertEquals(allTime.getMin(), 0.010); assertEquals(allTime.getMax(), 0.010); }
@Managed public synchronized double getAvg() { return convertToUnit(total.getCount()) / getCount(); }
@Test public void testBasic() throws Exception { ManagedDataSource dataSource = new MockManagedDataSource(1, new Duration(10, MILLISECONDS)); assertEquals(dataSource.getConnectionsActive(), 0); assertEquals(dataSource.getStats().getCheckout().getAllTime().getCount(), 0.0); assertEquals(dataSource.getStats().getCreate().getAllTime().getCount(), 0.0); assertEquals(dataSource.getStats().getHeld().getAllTime().getCount(), 0.0); assertEquals(dataSource.getStats().getConnectionErrorCount(), 0); Connection connection = dataSource.getConnection(); assertNotNull(connection); assertTrue(connection instanceof MockConnection); assertEquals(dataSource.getConnectionsActive(), 1); assertEquals(dataSource.getStats().getCheckout().getAllTime().getCount(), 1.0); assertEquals(dataSource.getStats().getCreate().getAllTime().getCount(), 1.0); assertEquals(dataSource.getStats().getHeld().getAllTime().getCount(), 0.0); assertEquals(dataSource.getStats().getConnectionErrorCount(), 0); connection.close(); assertEquals(dataSource.getConnectionsActive(), 0); assertEquals(dataSource.getStats().getCheckout().getAllTime().getCount(), 1.0); assertEquals(dataSource.getStats().getCreate().getAllTime().getCount(), 1.0); assertEquals(dataSource.getStats().getHeld().getAllTime().getCount(), 1.0); assertEquals(dataSource.getStats().getConnectionErrorCount(), 0); }
@Test public void time() throws Exception { TimeStat stat = new TimeStat(ticker); stat.time(() -> { ticker.increment(10, TimeUnit.MILLISECONDS); return null; }); TimeDistribution allTime = stat.getAllTime(); assertEquals(allTime.getCount(), 1.0); assertEquals(allTime.getMin(), 0.010); assertEquals(allTime.getMax(), 0.010); }
public void record(long nanos, boolean match) { if (match) { hits.incrementAndGet(); } time.add(nanos); }
@Test public void time() throws Exception { TimeStat stat = new TimeStat(ticker); stat.time(() -> { ticker.increment(10, TimeUnit.MILLISECONDS); return null; }); TimeDistribution allTime = stat.getAllTime(); assertEquals(allTime.getCount(), 1.0); assertEquals(allTime.getMin(), 0.010); assertEquals(allTime.getMax(), 0.010); }
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); }