DiscreteValueRecorder class

Пакет: com.hypixel.hytale.common.benchmark

Файл: com/hypixel/hytale/common/benchmark/DiscreteValueRecorder.java

Поля (1)

МодификаторыТипИмя
final String DEFAULT_COLUMN_SEPARATOR

Методы (15)

МодификаторыВозвратСигнатура
public void formatHeadervoid formatHeader(@Nonnull Formatter var1)
public void formatHeadervoid formatHeader(@Nonnull Formatter var1, @Nonnull String var2)
public void formatValuesvoid formatValues(@Nonnull Formatter var1)
public void formatValuesvoid formatValues(@Nonnull Formatter var1, @Nonnull String var2)
public long getAveragelong getAverage(long var1)
public long getAveragelong getAverage()
public long getCountlong getCount()
public long getMaxValuelong getMaxValue(long var1)
public long getMaxValuelong getMaxValue()
public long getMinValuelong getMinValue(long var1)
public long getMinValuelong getMinValue()
if if(this.minValue > var1)
if if(this.maxValue < var1)
public void recordvoid record(long var1)
public void resetvoid reset()

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.common.benchmark;

class="kw">import com.hypixel.hytale.common.util.FormatUtil;
class="kw">import java.util.Formatter;
class="kw">import javax.annotation.Nonnull;

class="kw">public class DiscreteValueRecorder {
   class="kw">public class="kw">static class="kw">final String DEFAULT_COLUMN_SEPARATOR = "|";
   class="kw">public class="kw">static class="kw">final String DEFAULT_COLUMN_FORMAT_HEADER = "|%-6.6s";
   class="kw">public class="kw">static class="kw">final String DEFAULT_COLUMN_FORMAT_VALUE = "|%6.6s";
   class="kw">public class="kw">static class="kw">final String[] DEFAULT_COLUMNS = new String[]{"AVG", "MIN", "MAX", "COUNT"};
   class="kw">protected long minValue;
   class="kw">protected long maxValue;
   class="kw">protected long sumValues;
   class="kw">protected long count;

   class="kw">public DiscreteValueRecorder() {
      this.reset();
   }

   class="kw">public void reset() {
      this.minValue = Long.MAX_VALUE;
      this.maxValue = Long.MIN_VALUE;
      this.sumValues = 0L;
      this.count = 0L;
   }

   class="kw">public long getMinValue(long var1) {
      class="kw">return this.count > 0L ? this.minValue : var1;
   }

   class="kw">public long getMinValue() {
      class="kw">return this.getMinValue(0L);
   }

   class="kw">public long getMaxValue(long var1) {
      class="kw">return this.count > 0L ? this.maxValue : var1;
   }

   class="kw">public long getMaxValue() {
      class="kw">return this.getMaxValue(0L);
   }

   class="kw">public long getCount() {
      class="kw">return this.count;
   }

   class="kw">public long getAverage(long var1) {
      class="kw">return this.count > 0L ? (2L * this.sumValues + this.count) / (2L * this.count) : var1;
   }

   class="kw">public long getAverage() {
      class="kw">return this.getAverage(0L);
   }

   class="kw">public void record(long var1) {
      if (this.minValue > var1) {
         this.minValue = var1;
      }

      if (this.maxValue < var1) {
         this.maxValue = var1;
      }

      this.count++;
      this.sumValues += var1;
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return String.format("Avg=%s Min=%s Max=%s", this.getAverage(), this.getMinValue(), this.getMaxValue());
   }

   class="kw">public void formatHeader(@Nonnull Formatter var1) {
      this.formatHeader(var1, "|%-6.6s");
   }

   class="kw">public void formatHeader(@Nonnull Formatter var1, @Nonnull String var2) {
      FormatUtil.formatArray(var1, var2, DEFAULT_COLUMNS);
   }

   class="kw">public void formatValues(@Nonnull Formatter var1) {
      this.formatValues(var1, "|%6.6s");
   }

   class="kw">public void formatValues(@Nonnull Formatter var1, @Nonnull String var2) {
      FormatUtil.formatArgs(var1, var2, this.getAverage(), this.getMinValue(), this.getMaxValue(), this.count);
   }
}