public FileStoreStats(StatisticsProvider statisticsProvider, FileStore store, long initialSize) { this.statisticsProvider = statisticsProvider; this.store = store; this.writeStats = statisticsProvider.getMeter(SEGMENT_WRITES, StatsOptions.DEFAULT); this.repoSize = statisticsProvider.getCounterStats(SEGMENT_REPO_SIZE, StatsOptions.DEFAULT); this.journalWriteStats = statisticsProvider.getMeter(JOURNAL_WRITES, StatsOptions.DEFAULT); repoSize.inc(initialSize); }
private long getCount(String name) { return statsProvider.getCounterStats(name, METRICS_ONLY).getCount(); } }
@Override public void cleaned(long reclaimed, long current) { lastCleanup = clock.getTime(); lastReclaimedSize = reclaimed; lastRepositorySize = current; }
/** * starts the clock */ public void start() { clock = new Clock.Fast(executor); start = clock.getTimeMonotonic(); }
@Override public void doneMerge(int numRetries, long time, boolean suspended, boolean exclusive) { mergeSuccessRate.mark(); mergeSuccessRetries.update(numRetries); mergeSuccessTime.update(time, TimeUnit.MILLISECONDS); if (exclusive) { mergeSuccessExclusive.mark(); } if (suspended) { mergeSuccessSuspended.mark(); } }
private long getStatCount(StatisticsProvider statsProvider, String typeName, String name) { return statsProvider.getCounterStats( TYPE + "." + typeName + "." + name, METRICS_ONLY).getCount(); }
/** * starts the clock */ public void start() { clock = new Clock.Fast(executor); start = clock.getTimeMonotonic(); }
@Override public void doneBackgroundUpdate(BackgroundWriteStats stats) { writeClean.update(stats.clean, TimeUnit.MILLISECONDS); writeSplit.update(stats.split, TimeUnit.MILLISECONDS); writeSweep.update(stats.sweep, TimeUnit.MILLISECONDS); writeWrite.update(stats.write, TimeUnit.MILLISECONDS); writeTotal.update(stats.totalWriteTime, TimeUnit.MILLISECONDS); writeNum.update(stats.num); //Record rate of num of bg writes pushed per second numWritesRate.mark(stats.num); }
@Override public void doneBackgroundUpdate(BackgroundWriteStats stats) { writeClean.update(stats.clean, TimeUnit.MILLISECONDS); writeSplit.update(stats.split, TimeUnit.MILLISECONDS); writeSweep.update(stats.sweep, TimeUnit.MILLISECONDS); writeWrite.update(stats.write, TimeUnit.MILLISECONDS); writeTotal.update(stats.totalWriteTime, TimeUnit.MILLISECONDS); writeNum.update(stats.num); //Record rate of num of bg writes pushed per second numWritesRate.mark(stats.num); }
@Override public void doneMerge(int numRetries, long timeMillis, long suspendMillis, boolean exclusive) { mergeSuccessRate.mark(); mergeSuccessRetries.update(numRetries); mergeSuccessTime.update(timeMillis, TimeUnit.MILLISECONDS); if (exclusive) { mergeSuccessExclusive.mark(); } mergeSuspendTime.update(suspendMillis, TimeUnit.MILLISECONDS); if (suspendMillis > 0) { mergeSuccessSuspended.mark(); } }
@Override public void doneBackgroundRead(BackgroundReadStats stats) { readHead.update(stats.readHead, TimeUnit.MILLISECONDS); readCacheInvalidate.update(stats.cacheInvalidationTime, TimeUnit.MILLISECONDS); readDiffCache.update(stats.populateDiffCache, TimeUnit.MILLISECONDS); readLock.update(stats.lock, TimeUnit.MILLISECONDS); readDispatch.update(stats.dispatchChanges, TimeUnit.MILLISECONDS); readTotalTime.update(stats.totalReadTime, TimeUnit.MILLISECONDS); //Record rate of num of external changes pulled per second numChangesRate.mark(stats.numExternalChanges); numChangesHisto.update(stats.numExternalChanges); // update lag of external changes changesLag.mark(stats.externalChangesLag); }
@Override public void doneBackgroundRead(BackgroundReadStats stats) { readHead.update(stats.readHead, TimeUnit.MILLISECONDS); readCacheInvalidate.update(stats.cacheInvalidationTime, TimeUnit.MILLISECONDS); readDiffCache.update(stats.populateDiffCache, TimeUnit.MILLISECONDS); readLock.update(stats.lock, TimeUnit.MILLISECONDS); readDispatch.update(stats.dispatchChanges, TimeUnit.MILLISECONDS); readTotalTime.update(stats.totalReadTime, TimeUnit.MILLISECONDS); //Record rate of num of external changes pulled per second numChangesRate.mark(stats.numExternalChanges); numChangesHisto.update(stats.numExternalChanges); // update lag of external changes changesLag.mark(stats.externalChangesLag); }