HBASE-15222 Addendum - Use less contended classes for metrics

This commit is contained in:
Elliott Clark 2016-02-25 09:08:11 -08:00
parent 43f99def67
commit 77133fd225
3 changed files with 10 additions and 10 deletions

View File

@ -310,12 +310,8 @@ public class FastLongHistogram {
* Resets the histogram for new counting.
*/
public FastLongHistogram reset() {
if (this.bins.hasData.get()) {
Bins oldBins = this.bins;
this.bins = new Bins(this.bins, this.bins.counts.length - 3, 0.01, 0.99);
return new FastLongHistogram(oldBins);
}
return null;
}
}

View File

@ -63,8 +63,10 @@ public class MutableHistogram extends MutableMetric implements MetricHistogram {
public synchronized void snapshot(MetricsRecordBuilder metricsRecordBuilder, boolean all) {
// Get a reference to the old histogram.
FastLongHistogram histo = histogram.reset();
if (histo != null) {
updateSnapshotMetrics(metricsRecordBuilder, histo);
}
}
protected void updateSnapshotMetrics(MetricsRecordBuilder metricsRecordBuilder,
FastLongHistogram histo) {

View File

@ -56,9 +56,11 @@ public abstract class MutableRangeHistogram extends MutableHistogram implements
public synchronized void snapshot(MetricsRecordBuilder metricsRecordBuilder, boolean all) {
// Get a reference to the old histogram.
FastLongHistogram histo = histogram.reset();
if (histo != null) {
updateSnapshotMetrics(metricsRecordBuilder, histo);
updateSnapshotRangeMetrics(metricsRecordBuilder, histo);
}
}
public void updateSnapshotRangeMetrics(MetricsRecordBuilder metricsRecordBuilder,
FastLongHistogram histogram) {