@Test public void reportTransactionStatistics() { KernelTransactionImplementation transaction = newTransaction( 100 ); KernelTransactionImplementation.Statistics statistics = new KernelTransactionImplementation.Statistics( transaction, new AtomicReference<>( new ThreadBasedCpuClock() ), new AtomicReference<>( new ThreadBasedAllocation() ) ); PredictablePageCursorTracer tracer = new PredictablePageCursorTracer(); statistics.init( 2, tracer ); assertEquals( 2, statistics.cpuTimeMillis() ); assertEquals( 2, statistics.heapAllocatedBytes() ); assertEquals( 1, statistics.totalTransactionPageCacheFaults() ); assertEquals( 4, statistics.totalTransactionPageCacheHits() ); statistics.addWaitingTime( 1 ); assertEquals( 1, statistics.getWaitingTimeNanos( 0 ) ); statistics.reset(); statistics.init( 4, tracer ); assertEquals( 4, statistics.cpuTimeMillis() ); assertEquals( 4, statistics.heapAllocatedBytes() ); assertEquals( 2, statistics.totalTransactionPageCacheFaults() ); assertEquals( 6, statistics.totalTransactionPageCacheHits() ); assertEquals( 0, statistics.getWaitingTimeNanos( 0 ) ); }
final void stopQueryExecution( ExecutingQuery executingQuery ) { this.executingQueryList = executingQueryList.remove( executingQuery ); transaction.getStatistics().addWaitingTime( executingQuery.reportedWaitingTimeNanos() ); }
final void stopQueryExecution( ExecutingQuery executingQuery ) { this.executingQueryList = executingQueryList.remove( executingQuery ); transaction.getStatistics().addWaitingTime( executingQuery.reportedWaitingTimeNanos() ); }
@Test public void resetTransactionStatisticsOnRelease() throws TransactionFailureException { KernelTransactionImplementation transaction = newTransaction( 1000 ); transaction.getStatistics().addWaitingTime( 1 ); transaction.getStatistics().addWaitingTime( 1 ); assertEquals( 2, transaction.getStatistics().getWaitingTimeNanos( 0 ) ); transaction.close(); assertEquals( 0, transaction.getStatistics().getWaitingTimeNanos( 0 ) ); }