com.netflix.spectator.api.Timer类的使用及代码示例

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

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

Timer介绍

[英]Timer intended to track a large number of short running events. Example would be something like an http request. Though "short running" is a bit subjective the assumption is that it should be under a minute. The precise set of information maintained by the timer depends on the implementation. Most should try to provide a consistent implementation of #count() and #totalTime(), but some implementations may not. In particular, the implementation from NoopRegistrywill always return 0.
[中]用于跟踪大量短时间运行事件的计时器。例如http请求。虽然“短跑”有点主观,但假设应该在一分钟以内。计时器维护的精确信息集取决于实现。大多数应该尝试提供一致的#count()和#totalTime()实现,但有些实现可能不会。特别是,来自NooPreGistry的实现将始终返回0。

代码示例

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

public static void recordQueueWaitTime(String taskType, long queueWaitTime) {
  getTimer(classQualifier, "task_queue_wait", "taskType", taskType).record(queueWaitTime, TimeUnit.MILLISECONDS);
}

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

@Override public long count() {
 return get().count();
}

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

@Override public long totalTime() {
  return get().totalTime();
 }
}

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

@Test
public void timerRecord() {
 Timer t = registry.timer("foo");
 Assertions.assertEquals(0, t.count());
 Assertions.assertEquals(0, t.totalTime());
 t.record(42, TimeUnit.SECONDS);
 Assertions.assertEquals(1, t.count());
 Assertions.assertEquals(TimeUnit.SECONDS.toNanos(42), t.totalTime());
}

代码示例来源: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 testRecord() {
 String[] tagValue = new String[] { "default" };
 Timer timer = factory.timer(factory.createId("testRecord",
     Collections.singleton(new TestTagFactory(tagValue))));
 timer.record(42, TimeUnit.MILLISECONDS);
 Assertions.assertEquals("testRecord:tag=default", timer.id().toString());
 Assertions.assertEquals(timer.count(), 1L);
 Assertions.assertEquals(42000000L, timer.totalTime());
 tagValue[0] = "value2";
 Assertions.assertEquals("testRecord:tag=value2", timer.id().toString());
 Assertions.assertEquals(0L, timer.count());
 Assertions.assertEquals(0L, timer.totalTime());
}

代码示例来源: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 timerGet() {
 Timer t1 = registry.timer("foo");
 t1.record(1, TimeUnit.SECONDS);
 Timer t2 = (Timer) registry.get(registry.createId("foo"));
 Assertions.assertEquals(1, t2.count());
}

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

@Test
public void expiration() {
 final long initTime = TimeUnit.MINUTES.toMillis(30);
 final long fifteenMinutes = TimeUnit.MINUTES.toMillis(15);
 // Not expired on init, wait for activity to mark as active
 clock.setWallTime(initTime);
 Timer t = newTimer("foo");
 Assertions.assertFalse(t.hasExpired());
 t.record(1, TimeUnit.SECONDS);
 Assertions.assertFalse(t.hasExpired());
 // Expires with inactivity
 clock.setWallTime(initTime + fifteenMinutes + 1);
 Assertions.assertTrue(t.hasExpired());
 // Activity brings it back
 t.record(42, TimeUnit.SECONDS);
 Assertions.assertFalse(t.hasExpired());
}

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

@Test
public void testInit() {
 Timer t = newTimer("foo");
 Assertions.assertEquals(t.count(), 0L);
 Assertions.assertEquals(t.totalTime(), 0L);
}

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

@Test
public void testInit() {
 Timer t = new DefaultTimer(clock, NoopId.INSTANCE);
 Assertions.assertEquals(t.count(), 0L);
 Assertions.assertEquals(t.totalTime(), 0L);
 Assertions.assertFalse(t.hasExpired());
}

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

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

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

@Override public boolean hasExpired() {
 return get().hasExpired();
}

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

@Test
public void testRecordDuration() {
 Timer t = new DefaultTimer(clock, NoopId.INSTANCE);
 t.record(Duration.ofMillis(42));
 Assertions.assertEquals(t.count(), 1L);
 Assertions.assertEquals(t.totalTime(), 42000000L);
}

代码示例来源: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 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 testInit() {
 Timer timer = new DefaultPlaceholderTimer(new DefaultPlaceholderId("testInit", registry), registry);
 Assertions.assertEquals(0L, timer.count());
 Assertions.assertEquals(0L, timer.totalTime());
}

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

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

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

@Override public boolean hasExpired() {
 return timer.hasExpired();
}

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

@Test
public void testRecordZero() {
 Timer t = new DefaultTimer(clock, NoopId.INSTANCE);
 t.record(0, TimeUnit.MILLISECONDS);
 Assertions.assertEquals(t.count(), 1L);
 Assertions.assertEquals(t.totalTime(), 0L);
}

相关文章

微信公众号

最新文章

更多