com.netflix.spectator.api.Timer.measure()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(5.3k)|赞(0)|评价(0)|浏览(104)

本文整理了Java中com.netflix.spectator.api.Timer.measure()方法的一些代码示例,展示了Timer.measure()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Timer.measure()方法的具体详情如下:
包路径:com.netflix.spectator.api.Timer
类名称:Timer
方法名:measure

Timer.measure介绍

暂无

代码示例

代码示例来源:origin: Netflix/servo

@Override public Iterable<Measurement> measure() {
 return get().measure();
}

代码示例来源:origin: com.netflix.servo/servo-core

@Override public Iterable<Measurement> measure() {
 return get().measure();
}

代码示例来源:origin: io.micrometer/micrometer-registry-atlas

@Override
  public double max(TimeUnit unit) {
    for (Measurement measurement : timer.measure()) {
      if (stream(measurement.id().tags().spliterator(), false)
          .anyMatch(tag -> tag.key().equals("statistic") && tag.value().equals(Statistic.max.toString()))) {
        return TimeUtils.secondsToUnit(measurement.value(), unit);
      }
    }

    return Double.NaN;
  }
}

代码示例来源:origin: Netflix/spectator

@Test
public void totalOfSquaresOverflow() {
 final long seconds = 10;
 final long nanos = TimeUnit.SECONDS.toNanos(seconds);
 final BigInteger s = new BigInteger("" + nanos);
 final BigInteger s2 = s.multiply(s);
 Timer t = newTimer("foo");
 t.record(seconds, TimeUnit.SECONDS);
 clock.setWallTime(61000L);
 final double v = Utils.first(t.measure(), Statistic.totalOfSquares).value();
 final double factor = 1e9 * 1e9;
 final BigInteger perSec = s2.divide(BigInteger.valueOf(60));
 Assertions.assertEquals(perSec.doubleValue() / factor, v, 1e-12);
}

代码示例来源:origin: Netflix/spectator

@Test
public void totalOfSquaresManySmallValues() {
 Timer t = newTimer("foo");
 BigInteger sumOfSq = new BigInteger("0");
 for (int i = 0; i < 100000; ++i) {
  final long nanos = i;
  final BigInteger s = new BigInteger("" + nanos);
  final BigInteger s2 = s.multiply(s);
  sumOfSq = sumOfSq.add(s2);
  t.record(i, TimeUnit.NANOSECONDS);
 }
 clock.setWallTime(61000L);
 final double v = Utils.first(t.measure(), Statistic.totalOfSquares).value();
 final double factor = 1e9 * 1e9;
 sumOfSq = sumOfSq.divide(BigInteger.valueOf(60));
 Assertions.assertEquals(sumOfSq.doubleValue() / factor, v, 1e-12);
}

代码示例来源:origin: Netflix/spectator

@Test
public void totalOfSquaresManyBigValues() {
 Timer t = newTimer("foo");
 BigInteger sumOfSq = new BigInteger("0");
 for (int i = 0; i < 100000; ++i) {
  final long nanos = TimeUnit.SECONDS.toNanos(i);
  final BigInteger s = new BigInteger("" + nanos);
  final BigInteger s2 = s.multiply(s);
  sumOfSq = sumOfSq.add(s2);
  t.record(i, TimeUnit.SECONDS);
 }
 clock.setWallTime(61000L);
 final double v = Utils.first(t.measure(), Statistic.totalOfSquares).value();
 // Expected :3.3332833335E14
 // Actual   :3.3332833334999825E14
 final double factor = 1e9 * 1e9;
 sumOfSq = sumOfSq.divide(BigInteger.valueOf(60));
 Assertions.assertEquals(sumOfSq.doubleValue() / factor, v, 2.0);
}

代码示例来源:origin: Netflix/spectator

@Test
public void testMeasure() {
 Timer t = newTimer("foo");
 t.record(42, TimeUnit.MILLISECONDS);
 clock.setWallTime(61000L);
 for (Measurement m : t.measure()) {
  Assertions.assertEquals(m.timestamp(), 61000L);
  final double count = Utils.first(t.measure(), Statistic.count).value();
  final double totalTime = Utils.first(t.measure(), Statistic.totalTime).value();
  Assertions.assertEquals(count, 1.0 / 60.0, 0.1e-12);
  Assertions.assertEquals(totalTime, 42e-3 / 60.0, 0.1e-12);
 }
}

代码示例来源:origin: Netflix/spectator

@Test
 public void testMeasure() {
  Timer t = newTimer();
  t.record(42, TimeUnit.MILLISECONDS);
  clock.setWallTime(3712345L);
  for (Measurement m : t.measure()) {
   Assertions.assertEquals(m.timestamp(), 3712345L);
   if (m.id().equals(t.id().withTag(Statistic.count))) {
    Assertions.assertEquals(m.value(), 1.0, 0.1e-12);
   } else if (m.id().equals(t.id().withTag(Statistic.totalTime))) {
    Assertions.assertEquals(m.value(), 42e6, 0.1e-12);
   } else {
    Assertions.fail("unexpected id: " + m.id());
   }
  }
 }
}

代码示例来源:origin: Netflix/spectator

@Test
 public void testMeasure() {
  Timer timer = factory.timer(factory.createId("testMeasure"));
  timer.record(42, TimeUnit.MILLISECONDS);
  clock.setWallTime(3712345L);
  for (Measurement m : timer.measure()) {
   Assertions.assertEquals(m.timestamp(), 3712345L);
   if (m.id().equals(timer.id().withTag(Statistic.count))) {
    Assertions.assertEquals(1.0, m.value(), 0.1e-12);
   } else if (m.id().equals(timer.id().withTag(Statistic.totalTime))) {
    Assertions.assertEquals(42e6, m.value(), 0.1e-12);
   } else {
    Assertions.fail("unexpected id: " + m.id());
   }
  }
 }
}

代码示例来源:origin: Netflix/spectator

@Test
public void testMeasure() {
 Timer t = new DefaultTimer(clock, new DefaultId("foo"));
 t.record(42, TimeUnit.MILLISECONDS);
 clock.setWallTime(3712345L);
 for (Measurement m : t.measure()) {
  Assertions.assertEquals(m.timestamp(), 3712345L);
  if (m.id().equals(t.id().withTag(Statistic.count))) {
   Assertions.assertEquals(m.value(), 1.0, 0.1e-12);
  } else if (m.id().equals(t.id().withTag(Statistic.totalTime))) {
   Assertions.assertEquals(m.value(), 42e6, 0.1e-12);
  } else {
   Assertions.fail("unexpected id: " + m.id());
  }
 }
}

代码示例来源:origin: Netflix/spectator

@Test
public void timerMeasure() {
 Timer t = registry.timer("foo");
 t.record(42, TimeUnit.SECONDS);
 int i = 0;
 for (Measurement m : t.measure()) {
  ++i;
  Assertions.assertEquals("foo", m.id().name());
  switch (Utils.getTagValue(m.id(), "statistic")) {
   case "count":
    Assertions.assertEquals(1.0, m.value(), 1e-12);
    break;
   case "total":
    Assertions.assertEquals(42.0, m.value(), 1e-12);
    break;
   case "max":
    Assertions.assertEquals(42.0, m.value(), 1e-12);
    break;
   default:
    Assertions.fail("invalid statistic for measurment: " + m);
  }
 }
 Assertions.assertEquals(3, i);
}

相关文章

微信公众号

最新文章

更多