TimeRecorder class

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

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

extends: ContinuousValueRecorder

Поля (1)

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

Методы (15)

МодификаторыВозвратСигнатура
public double enddouble end(long var1)
abstract return formatreturn format(var0, "s")
abstract return formatreturn format(var0, "ms")
abstract return formatreturn format(var0, "us")
abstract return formatreturn format(var0, "ns")
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)
if if(var0 <= 0.0)
if if(var0 >= 10.0)
if if(var0 >= 10.0)
if if(var0 >= 10.0)
public double recordNanosdouble recordNanos(long var1)
public long startlong start()

Исходный код

Показать/скрыть
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 TimeRecorder class="kw">extends ContinuousValueRecorder {
   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 = DiscreteValueRecorder.DEFAULT_COLUMNS;
   class="kw">public class="kw">static class="kw">final double NANOS_TO_SECONDS = 1.0E-9;

   class="kw">public TimeRecorder() {
   }

   class="kw">public long start() {
      class="kw">return System.nanoTime();
   }

   class="kw">public double end(long var1) {
      class="kw">return this.recordNanos(System.nanoTime() - var1);
   }

   class="kw">public double recordNanos(long var1) {
      class="kw">return super.record(var1 * 1.0E-9);
   }

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

   @Nonnull
   class="kw">public class="kw">static String formatTime(double var0) {
      if (var0 <= 0.0) {
         class="kw">return "0s";
      }

      if (var0 >= 10.0) {
         class="kw">return format(var0, "s");
      }

      var0 *= 1000.0;
      if (var0 >= 10.0) {
         class="kw">return format(var0, "ms");
      }

      var0 *= 1000.0;
      if (var0 >= 10.0) {
         class="kw">return format(var0, "us");
      }

      var0 *= 1000.0;
      class="kw">return format(var0, "ns");
   }

   @Nonnull
   class="kw">protected class="kw">static String format(double var0, String var2) {
      class="kw">return (int)Math.round(var0) + var2;
   }

   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, formatTime(this.getAverage()), formatTime(this.getMinValue()), formatTime(this.getMaxValue()), this.count);
   }
}