io.micrometer.core.instrument.Timer.takeSnapshot()方法的使用及代码示例

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

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

Timer.takeSnapshot介绍

暂无

代码示例

代码示例来源:origin: org.ballerinalang/ballerina-micrometer-extension

@Override
  public SortedMap<Double, Double> percentileValues(TimeUnit unit) {
    SortedMap<Double, Double> result = new TreeMap<>();
    HistogramSnapshot snapshot = timer.takeSnapshot();
    for (ValueAtPercentile valueAtPercentile : snapshot.percentileValues()) {
      result.put(valueAtPercentile.percentile(), valueAtPercentile.value(unit));
    }
    return Collections.unmodifiableSortedMap(result);
  }
}

代码示例来源:origin: spring-cloud/spring-cloud-stream

private Metric<Number> toTimerMetric(Timer timer) {
  return new Metric<Number>(timer.getId(), timer.takeSnapshot());
}

代码示例来源:origin: jhipster/jhipster

private Map<String, Map<String, Number>> databaseMetrics() {
  Map<String, Map<String, Number>> resultsDatabase = new HashMap<>();
  Collection<Timer> timers = Search.in(this.meterRegistry).name(s -> s.contains("hikari")).timers();
  timers.forEach(timer -> {
    String key = timer.getId().getName().substring(timer.getId().getName().lastIndexOf('.') + 1);
    resultsDatabase.putIfAbsent(key, new HashMap<>());
    resultsDatabase.get(key).put("count", timer.count());
    resultsDatabase.get(key).put("max", timer.max(TimeUnit.MILLISECONDS));
    resultsDatabase.get(key).put("totalTime", timer.totalTime(TimeUnit.MILLISECONDS));
    resultsDatabase.get(key).put("mean", timer.mean(TimeUnit.MILLISECONDS));
    ValueAtPercentile[] percentiles = timer.takeSnapshot().percentileValues();
    for (ValueAtPercentile percentile : percentiles) {
      resultsDatabase.get(key).put(String.valueOf(percentile.percentile()), percentile.value(TimeUnit.MILLISECONDS));
    }
  });
  Collection<Gauge> gauges = Search.in(this.meterRegistry).name(s -> s.contains("hikari")).gauges();
  gauges.forEach(gauge -> {
    String key = gauge.getId().getName().substring(gauge.getId().getName().lastIndexOf('.') + 1);
    resultsDatabase.putIfAbsent(key, new HashMap<>());
    resultsDatabase.get(key).put("value", gauge.value());
  });
  return resultsDatabase;
}

代码示例来源:origin: jhipster/jhipster

private Map<String, Object> garbageCollectorMetrics() {
  Map<String, Object> resultsGarbageCollector = new HashMap<>();
  Collection<Timer> timers = Search.in(this.meterRegistry).name(s -> s.contains("jvm.gc.pause")).timers();
  timers.forEach(timer -> {
    String key = timer.getId().getName();
    HashMap<String, Number> gcPauseResults = new HashMap<>();
    gcPauseResults.put("count", timer.count());
    gcPauseResults.put("max", timer.max(TimeUnit.MILLISECONDS));
    gcPauseResults.put("totalTime", timer.totalTime(TimeUnit.MILLISECONDS));
    gcPauseResults.put("mean", timer.mean(TimeUnit.MILLISECONDS));
    ValueAtPercentile[] percentiles = timer.takeSnapshot().percentileValues();
    for (ValueAtPercentile percentile : percentiles) {
      gcPauseResults.put(String.valueOf(percentile.percentile()), percentile.value(TimeUnit.MILLISECONDS));
    }
    resultsGarbageCollector.putIfAbsent(key, gcPauseResults);
  });
  Collection<Gauge> gauges = Search.in(this.meterRegistry).name(s -> s.contains("jvm.gc") && !s.contains("jvm.gc.pause")).gauges();
  gauges.forEach(gauge -> resultsGarbageCollector.put(gauge.getId().getName(), gauge.value()));
  Collection<Counter> counters = Search.in(this.meterRegistry).name(s -> s.contains("jvm.gc") && !s.contains("jvm.gc.pause")).counters();
  counters.forEach(counter -> resultsGarbageCollector.put(counter.getId().getName(), counter.count()));
  gauges = Search.in(this.meterRegistry).name(s -> s.contains("jvm.classes.loaded")).gauges();
  Double classesLoaded = gauges.stream().map(Gauge::value).reduce((x, y) -> (x + y)).orElse((double) 0);
  resultsGarbageCollector.put("classesLoaded", classesLoaded);
  Collection<FunctionCounter> functionCounters = Search.in(this.meterRegistry).name(s -> s.contains("jvm.classes.unloaded")).functionCounters();
  Double classesUnloaded = functionCounters.stream().map(FunctionCounter::count).reduce((x, y) -> (x + y)).orElse((double) 0);
  resultsGarbageCollector.put("classesUnloaded", classesUnloaded);
  return resultsGarbageCollector;
}

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

@Nullable
private Optional<String> writeTimer(Timer timer) {
  HistogramSnapshot snapshot = timer.takeSnapshot();
  long count = snapshot.count();
  if (count > 0) {
    return Optional.of(write(timer.getId(), "timer",
        Fields.Count.tag(), decimal(count),
        Fields.Sum.tag(), decimal(snapshot.total(getBaseTimeUnit())),
        Fields.Max.tag(), decimal(snapshot.max(getBaseTimeUnit()))));
  }
  return Optional.empty();
}

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

private void announceTimer(Timer timer) {
  HistogramSnapshot snapshot = timer.takeSnapshot();
  announce(timer, snapshot.count(), "count");
  announce(timer, snapshot.total(getBaseTimeUnit()), "sum");
  announce(timer, snapshot.mean(getBaseTimeUnit()), "avg");
  announce(timer, snapshot.max(getBaseTimeUnit()), "max");
}

代码示例来源:origin: io.rsocket.rpc/rsocket-rpc-core

private List<Meter> convert(Timer timer) {
 List<Meter> meters = new ArrayList<>();
 HistogramSnapshot snapshot = timer.takeSnapshot();

相关文章