public void addScanRowCount(long count) { scanRowCount.add(count); for (MutableQuantiles m : scanRowCountQuantiles) { m.add(count); } }
private synchronized MutableRate addMetricIfNotExists(String name) { MutableRate metric = globalMetrics.get(name); if (metric == null) { metric = new MutableRate(name, name, false); globalMetrics.put(name, metric); } return metric; }
/** * Returns mean of RPC Processing Times. * @return double */ public double getProcessingMean() { return rpcProcessingTime.lastStat().mean(); }
@Override public synchronized void snapshot(MetricsRecordBuilder rb, boolean all) { Iterator<WeakReference<ConcurrentMap<String, ThreadSafeSampleStat>>> iter = weakReferenceQueue.iterator(); while (iter.hasNext()) { ConcurrentMap<String, ThreadSafeSampleStat> map = iter.next().get(); if (map == null) { // Thread has died; clean up its state iter.remove(); } else { aggregateLocalStatesToGlobalMetrics(map); } } for (MutableRate globalMetric : globalMetrics.values()) { globalMetric.snapshot(rb, all); } }
@VisibleForTesting public boolean hasUpdateThreadRunChanged() { return updateThreadRun.changed(); } }
private void getIoStats(MetricsRecordBuilder rb) { rb.addGauge(MaxDecodingTime, maxDecodingTime.value()); rateOfDecoding.snapshot(rb, true); for (MutableQuantiles q : decodingTimes) { q.snapshot(rb, true); } }
/** * Test aMLaunchDelay and aMRegisterDelay Metrics */ @Test public void testAmMetrics() throws Exception { assert(metrics != null); Assert.assertTrue(!metrics.aMLaunchDelay.changed()); Assert.assertTrue(!metrics.aMRegisterDelay.changed()); metrics.addAMLaunchDelay(1); metrics.addAMRegisterDelay(1); Assert.assertTrue(metrics.aMLaunchDelay.changed()); Assert.assertTrue(metrics.aMRegisterDelay.changed()); }
public void addResultRowCount(long count) { resultRowCount.add(count); for (MutableQuantiles m : resultRowCountQuantiles) { m.add(count); } }
/** * Returns the number of samples that we have seen so far. * @return long */ public long getProcessingSampleCount() { return rpcProcessingTime.lastStat().numSamples(); }
@InterfaceAudience.Private public MutableRate newRate(String name, String desc, boolean extended, boolean returnExisting) { if (returnExisting) { MutableMetric rate = metricsMap.get(name); if (rate != null) { if (rate instanceof MutableRate) { return (MutableRate) rate; } throw new MetricsException("Unexpected metrics type "+ rate.getClass() +" for "+ name); } } MutableRate ret = new MutableRate(name, desc, extended); return addNewMetricIfAbsent(name, ret, MutableRate.class); }
@Override public synchronized void snapshot(MetricsRecordBuilder rb, boolean all) { Iterator<WeakReference<ConcurrentMap<String, ThreadSafeSampleStat>>> iter = weakReferenceQueue.iterator(); while (iter.hasNext()) { ConcurrentMap<String, ThreadSafeSampleStat> map = iter.next().get(); if (map == null) { // Thread has died; clean up its state iter.remove(); } else { // Aggregate the thread's local samples into the global metrics for (Map.Entry<String, ThreadSafeSampleStat> entry : map.entrySet()) { String name = entry.getKey(); MutableRate globalMetric = addMetricIfNotExists(name); entry.getValue().snapshotInto(globalMetric); } } } for (MutableRate globalMetric : globalMetrics.values()) { globalMetric.snapshot(rb, all); } }
/** * Test aMLaunchDelay and aMRegisterDelay Metrics */ @Test public void testAmMetrics() throws Exception { assert(metrics != null); Assert.assertTrue(!metrics.aMLaunchDelay.changed()); Assert.assertTrue(!metrics.aMRegisterDelay.changed()); metrics.addAMLaunchDelay(1); metrics.addAMRegisterDelay(1); Assert.assertTrue(metrics.aMLaunchDelay.changed()); Assert.assertTrue(metrics.aMRegisterDelay.changed()); }
public void addQueryLatency(long latency) { queryLatency.add(latency); for (MutableQuantiles m : queryLatencyTimeMillisQuantiles) { m.add(latency); } }
/** * Return Standard Deviation of the Processing Time. * @return double */ public double getProcessingStdDev() { return rpcProcessingTime.lastStat().stddev(); }
@InterfaceAudience.Private public synchronized MutableRate newRate(String name, String desc, boolean extended, boolean returnExisting) { if (returnExisting) { MutableMetric rate = metricsMap.get(name); if (rate != null) { if (rate instanceof MutableRate) return (MutableRate) rate; throw new MetricsException("Unexpected metrics type "+ rate.getClass() +" for "+ name); } } checkMetricName(name); MutableRate ret = new MutableRate(name, desc, extended); metricsMap.put(name, ret); return ret; }
@Override public synchronized void snapshot(MetricsRecordBuilder rb, boolean all) { Iterator<WeakReference<ConcurrentMap<String, ThreadSafeSampleStat>>> iter = weakReferenceQueue.iterator(); while (iter.hasNext()) { ConcurrentMap<String, ThreadSafeSampleStat> map = iter.next().get(); if (map == null) { // Thread has died; clean up its state iter.remove(); } else { // Aggregate the thread's local samples into the global metrics for (Map.Entry<String, ThreadSafeSampleStat> entry : map.entrySet()) { String name = entry.getKey(); MutableRate globalMetric = addMetricIfNotExists(name); entry.getValue().snapshotInto(globalMetric); } } } for (MutableRate globalMetric : globalMetrics.values()) { globalMetric.snapshot(rb, all); } }
public void addDeferredRpcProcessingTime(long processingTime) { deferredRpcProcessingTime.add(processingTime); if (rpcQuantileEnable) { for (MutableQuantiles q : deferredRpcProcessingTimeMillisQuantiles) { q.add(processingTime); } } }
public long getDeferredRpcProcessingSampleCount() { return deferredRpcProcessingTime.lastStat().numSamples(); }
private synchronized MutableRate addMetricIfNotExists(String name) { MutableRate metric = globalMetrics.get(name); if (metric == null) { metric = new MutableRate(name, name, false); globalMetrics.put(name, metric); } return metric; }
@Override public synchronized void snapshot(MetricsRecordBuilder rb, boolean all) { Iterator<WeakReference<ConcurrentMap<String, ThreadSafeSampleStat>>> iter = weakReferenceQueue.iterator(); while (iter.hasNext()) { ConcurrentMap<String, ThreadSafeSampleStat> map = iter.next().get(); if (map == null) { // Thread has died; clean up its state iter.remove(); } else { // Aggregate the thread's local samples into the global metrics for (Map.Entry<String, ThreadSafeSampleStat> entry : map.entrySet()) { String name = entry.getKey(); MutableRate globalMetric = addMetricIfNotExists(name); entry.getValue().snapshotInto(globalMetric); } } } for (MutableRate globalMetric : globalMetrics.values()) { globalMetric.snapshot(rb, all); } }