@Override
  public void setConf(Configuration conf) {
    this.conf = conf;
    this.maximumStepSize = conf.getFloat(MAX_STEP_KEY, DEFAULT_MAX_STEP_VALUE);
    this.minimumStepSize = conf.getFloat(MIN_STEP_KEY, DEFAULT_MIN_STEP_VALUE);
    this.step = this.maximumStepSize;
    this.sufficientMemoryLevel =
      conf.getFloat(SUFFICIENT_MEMORY_LEVEL_KEY, DEFAULT_SUFFICIENT_MEMORY_LEVEL_VALUE);
    this.tunerLookupPeriods = conf.getInt(LOOKUP_PERIODS_KEY, DEFAULT_LOOKUP_PERIODS);
    this.blockCachePercentMinRange = conf.getFloat(BLOCK_CACHE_SIZE_MIN_RANGE_KEY,
      conf.getFloat(HFILE_BLOCK_CACHE_SIZE_KEY, HConstants.HFILE_BLOCK_CACHE_SIZE_DEFAULT));
    this.blockCachePercentMaxRange = conf.getFloat(BLOCK_CACHE_SIZE_MAX_RANGE_KEY,
      conf.getFloat(HFILE_BLOCK_CACHE_SIZE_KEY, HConstants.HFILE_BLOCK_CACHE_SIZE_DEFAULT));
    this.globalMemStorePercentMinRange = conf.getFloat(MEMSTORE_SIZE_MIN_RANGE_KEY,
      MemorySizeUtil.getGlobalMemStoreHeapPercent(conf, false));
    this.globalMemStorePercentMaxRange = conf.getFloat(MEMSTORE_SIZE_MAX_RANGE_KEY,
      MemorySizeUtil.getGlobalMemStoreHeapPercent(conf, false));
    this.globalMemStoreLimitLowMarkPercent =
      MemorySizeUtil.getGlobalMemStoreHeapLowerMark(conf, true);
    // Default value of periods to ignore is number of lookup periods
    this.numPeriodsToIgnore = conf.getInt(NUM_PERIODS_TO_IGNORE, this.tunerLookupPeriods);
    this.rollingStatsForCacheMisses = new RollingStatCalculator(this.tunerLookupPeriods);
    this.rollingStatsForFlushes = new RollingStatCalculator(this.tunerLookupPeriods);
    this.rollingStatsForEvictions = new RollingStatCalculator(this.tunerLookupPeriods);
    this.rollingStatsForTunerSteps = new RollingStatCalculator(this.tunerLookupPeriods);
  }
Add the given context to the rolling tuner stats.
@param context The tuner context.
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DefaultHeapMemoryTuner.java