public static void updateTimer(Timer timer, long duration) { if (timer != null) { timer.update(duration); } }
private void throttle(int credits) { if (!rateLimited) { return; } long startNs = System.nanoTime(); rateLimiter.acquire(Collections.singletonMap(tag, credits)); waitTimeMetric.update(System.nanoTime() - startNs); }
private void throttle(int credits) { long startNs = System.nanoTime(); rateLimiter.acquire(Collections.singletonMap(tag, credits)); if (waitTimeMetric != null) { waitTimeMetric.update(System.nanoTime() - startNs); } }
private void throttle(int credits) { if (!rateLimited) { return; } long startNs = System.nanoTime(); rateLimiter.acquire(Collections.singletonMap(tag, credits)); waitTimeMetric.update(System.nanoTime() - startNs); }
private void throttle(int credits) { if (!rateLimited) { return; } long startNs = System.nanoTime(); rateLimiter.acquire(Collections.singletonMap(tag, credits)); waitTimeMetric.update(System.nanoTime() - startNs); }
@Override public synchronized void flush() { writeMetrics.numFlushes.inc(); long startNs = System.nanoTime(); Preconditions.checkNotNull(rwTable, "Cannot flush a read-only table: " + rdTable); rwTable.flush(); writeMetrics.flushNs.update(System.nanoTime() - startNs); }
@Override public synchronized void flush() { writeMetrics.numFlushes.inc(); long startNs = System.nanoTime(); Preconditions.checkNotNull(rwTable, "Cannot flush a read-only table: " + rdTable); rwTable.flush(); writeMetrics.flushNs.update(System.nanoTime() - startNs); }
@Override public synchronized void flush() { writeMetrics.numFlushes.inc(); long startNs = System.nanoTime(); Preconditions.checkNotNull(rwTable, "Cannot flush a read-only table: " + rdTable); rwTable.flush(); writeMetrics.flushNs.update(System.nanoTime() - startNs); }
@Override public void deleteAll(List<K> keys) { writeMetrics.numDeleteAlls.inc(); long startNs = System.nanoTime(); kvStore.deleteAll(keys); writeMetrics.deleteAllNs.update(System.nanoTime() - startNs); }
@Override public void flush() { writeMetrics.numFlushes.inc(); long startNs = System.nanoTime(); kvStore.flush(); writeMetrics.flushNs.update(System.nanoTime() - startNs); }
@Override public Map<K, V> getAll(List<K> keys) { readMetrics.numGetAlls.inc(); long startNs = System.nanoTime(); Map<K, V> result = kvStore.getAll(keys); readMetrics.getAllNs.update(System.nanoTime() - startNs); return result; }
@Override public V get(K key) { readMetrics.numGets.inc(); long startNs = System.nanoTime(); V result = kvStore.get(key); readMetrics.getNs.update(System.nanoTime() - startNs); return result; }
@Override public Map<K, V> getAll(List<K> keys) { readMetrics.numGetAlls.inc(); long startNs = System.nanoTime(); Map<K, V> result = kvStore.getAll(keys); readMetrics.getAllNs.update(System.nanoTime() - startNs); return result; }
@Override public void delete(K key) { writeMetrics.numDeletes.inc(); long startNs = System.nanoTime(); kvStore.delete(key); writeMetrics.deleteNs.update(System.nanoTime() - startNs); }
@Override public void flush() { writeMetrics.numFlushes.inc(); long startNs = System.nanoTime(); kvStore.flush(); writeMetrics.flushNs.update(System.nanoTime() - startNs); }
@Override public void putAll(List<Entry<K, V>> entries) { writeMetrics.numPutAlls.inc(); long startNs = System.nanoTime(); kvStore.putAll(entries); writeMetrics.putAllNs.update(System.nanoTime() - startNs); }
@Override public void put(K key, V value) { if (value != null) { writeMetrics.numPuts.inc(); long startNs = System.nanoTime(); kvStore.put(key, value); writeMetrics.putNs.update(System.nanoTime() - startNs); } else { delete(key); } }
@Override public void put(K key, V value) { if (value != null) { writeMetrics.numPuts.inc(); long startNs = System.nanoTime(); kvStore.put(key, value); writeMetrics.putNs.update(System.nanoTime() - startNs); } else { delete(key); } }
@Test public void testThrottle() { TableRateLimiter<String, String> rateLimitHelper = getThrottler(); Timer timer = mock(Timer.class); rateLimitHelper.setTimerMetric(timer); rateLimitHelper.throttle("foo"); verify(rateLimitHelper.rateLimiter, times(1)).acquire(anyMap()); verify(timer, times(1)).update(anyLong()); }