spectator-reg-metrics3/src/main/java/com/netflix/spectator/metrics3/MetricsTimer.java [36:65]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    super(clock);
    this.id = id;
    this.impl = impl;
    this.totalTime = new AtomicLong(0L);
  }

  @Override public Id id() {
    return id;
  }

  @Override public boolean hasExpired() {
    return false;
  }

  @Override public void record(long amount, TimeUnit unit) {
    totalTime.addAndGet(unit.toNanos(amount));
    impl.update(amount, unit);
  }

  @Override public Iterable<Measurement> measure() {
    final long now = clock.wallTime();
    return Collections.singleton(new Measurement(id, now, impl.getMeanRate()));
  }

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

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



spectator-reg-metrics5/src/main/java/com/netflix/spectator/metrics5/MetricsTimer.java [36:65]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    super(clock);
    this.id = id;
    this.impl = impl;
    this.totalTime = new AtomicLong(0L);
  }

  @Override public Id id() {
    return id;
  }

  @Override public boolean hasExpired() {
    return false;
  }

  @Override public void record(long amount, TimeUnit unit) {
    totalTime.addAndGet(unit.toNanos(amount));
    impl.update(amount, unit);
  }

  @Override public Iterable<Measurement> measure() {
    final long now = clock.wallTime();
    return Collections.singleton(new Measurement(id, now, impl.getMeanRate()));
  }

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

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



