org.apache.zookeeper.server.DatadirCleanupManager#io.micrometer.core.instrument.TimeGauge源码实例Demo

下面列出了org.apache.zookeeper.server.DatadirCleanupManager#io.micrometer.core.instrument.TimeGauge 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: micrometer   文件: CaffeineCacheMetricsTest.java
@Test
void reportExpectedGeneralMetrics() {
    MeterRegistry registry = new SimpleMeterRegistry();
    metrics.bindTo(registry);

    verifyCommonCacheMetrics(registry, metrics);

    FunctionCounter evictionWeight = fetch(registry, "cache.eviction.weight").functionCounter();
    CacheStats stats = cache.stats();
    assertThat(evictionWeight.count()).isEqualTo(stats.evictionWeight());

    // specific to LoadingCache instance
    TimeGauge loadDuration = fetch(registry, "cache.load.duration").timeGauge();
    assertThat(loadDuration.value()).isEqualTo(stats.totalLoadTime());

    FunctionCounter successfulLoad = fetch(registry, "cache.load", Tags.of("result", "success")).functionCounter();
    assertThat(successfulLoad.count()).isEqualTo(stats.loadSuccessCount());

    FunctionCounter failedLoad = fetch(registry, "cache.load", Tags.of("result", "failure")).functionCounter();
    assertThat(failedLoad.count()).isEqualTo(stats.loadFailureCount());
}
 
/**
 * Build and register a typed meter.
 *
 * @return Optional type of {@link Meter}
 */
public Optional<Meter> build() {
    if (!isValid()) {
        return Optional.empty();
    }

    if (StringUtils.isEmpty(name)) {
        name = kafkaMetric.metricName().name();
    }

    KafkaMetricMeterType kafkaMetricMeterType = kafkaMetricMeterTypeRegistry.lookup(this.name);

    if (kafkaMetricMeterType.getMeterType() == MeterType.GAUGE && this.kafkaMetric.metricValue() instanceof Double) {
        return Optional.of(Gauge.builder(getMetricName(), () -> (Double) kafkaMetric.metricValue())
                .tags(tagFunction.apply(kafkaMetric.metricName()))
                .description(kafkaMetricMeterType.getDescription())
                .baseUnit(kafkaMetricMeterType.getBaseUnit())
                .register(meterRegistry));
    } else if (kafkaMetricMeterType.getMeterType() == MeterType.FUNCTION_COUNTER && this.kafkaMetric.metricValue() instanceof Double) {
        return Optional.of(FunctionCounter.builder(getMetricName(), kafkaMetric, value -> (Double) value.metricValue())
                .tags(tagFunction.apply(kafkaMetric.metricName()))
                .description(kafkaMetricMeterType.getDescription())
                .baseUnit(kafkaMetricMeterType.getBaseUnit())
                .register(meterRegistry));
    } else if (kafkaMetricMeterType.getMeterType() == MeterType.TIME_GAUGE && this.kafkaMetric.metricValue() instanceof Double) {
        return Optional.of(TimeGauge.builder(getMetricName(), kafkaMetric, kafkaMetricMeterType.getTimeUnit(), value -> (Double) value.metricValue())
                .tags(tagFunction.apply(kafkaMetric.metricName()))
                .description(kafkaMetricMeterType.getDescription())
                .register(meterRegistry));
    }

    return Optional.empty();
}
 
private void registerTimeGaugeForObject(MeterRegistry registry, ObjectName o, String jmxMetricName,
    String meterName, Tags allTags, String description) {
    TimeGauge
        .builder(METRIC_NAME_PREFIX + meterName, getMBeanServer(), TimeUnit.MILLISECONDS,
            s -> safeDouble(() -> s.getAttribute(o, jmxMetricName)))
        .description(description).tags(allTags).register(registry);
}
 
源代码4 项目: summerframework   文件: KafkaConsumerMetrics.java
private void registerTimeGaugeForObject(MeterRegistry registry, ObjectName o, String jmxMetricName,
    String meterName, Tags allTags, String description) {
    TimeGauge
        .builder(METRIC_NAME_PREFIX + meterName, mBeanServer, TimeUnit.MILLISECONDS,
            s -> safeDouble(() -> s.getAttribute(o, jmxMetricName)))
        .description(description).tags(allTags).register(registry);
}
 
源代码5 项目: micrometer   文件: UptimeMetrics.java
@Override
public void bindTo(MeterRegistry registry) {
    TimeGauge.builder("process.uptime", runtimeMXBean, TimeUnit.MILLISECONDS, RuntimeMXBean::getUptime)
        .tags(tags)
        .description("The uptime of the Java virtual machine")
        .register(registry);

    TimeGauge.builder("process.start.time", runtimeMXBean, TimeUnit.MILLISECONDS, RuntimeMXBean::getStartTime)
        .tags(tags)
        .description("Start time of the process since unix epoch.")
        .register(registry);
}
 
源代码6 项目: micrometer   文件: CompositeTimeGauge.java
@Override
TimeGauge registerNewMeter(MeterRegistry registry) {
    final T obj = ref.get();
    if (obj == null) {
        return null;
    }

    return TimeGauge.builder(getId().getName(), obj, fUnit, f)
        .tags(getId().getTagsAsIterable())
        .description(getId().getDescription())
        .register(registry);
}
 
源代码7 项目: micrometer   文件: GuavaCacheMetricsTest.java
@Test
void reportExpectedMetrics() {
    MeterRegistry registry = new SimpleMeterRegistry();
    metrics.bindTo(registry);

    verifyCommonCacheMetrics(registry, metrics);

    // common metrics
    Gauge cacheSize = fetch(registry, "cache.size").gauge();
    assertThat(cacheSize.value()).isEqualTo(cache.size());

    FunctionCounter hitCount = fetch(registry, "cache.gets", Tags.of("result", "hit")).functionCounter();
    assertThat(hitCount.count()).isEqualTo(metrics.hitCount());

    FunctionCounter missCount = fetch(registry, "cache.gets", Tags.of("result", "miss")).functionCounter();
    assertThat(missCount.count()).isEqualTo(metrics.missCount().doubleValue());

    FunctionCounter cachePuts = fetch(registry, "cache.puts").functionCounter();
    assertThat(cachePuts.count()).isEqualTo(metrics.putCount());

    FunctionCounter cacheEviction = fetch(registry, "cache.evictions").functionCounter();
    assertThat(cacheEviction.count()).isEqualTo(metrics.evictionCount().doubleValue());

    CacheStats stats = cache.stats();
    TimeGauge loadDuration = fetch(registry, "cache.load.duration").timeGauge();
    assertThat(loadDuration.value()).isEqualTo(stats.totalLoadTime());

    FunctionCounter successfulLoad = fetch(registry, "cache.load", Tags.of("result", "success")).functionCounter();
    assertThat(successfulLoad.count()).isEqualTo(stats.loadSuccessCount());

    FunctionCounter failedLoad = fetch(registry, "cache.load", Tags.of("result", "failure")).functionCounter();
    assertThat(failedLoad.count()).isEqualTo(stats.loadExceptionCount());
}
 
源代码8 项目: data-highway   文件: MeterPool.java
public MeterPool(MeterRegistry registry) {
  counterPool = new KeyedSharedObjectPool<NameAndTags, Counter>() {
    @Override
    protected Counter constructValue(NameAndTags key) {
      return registry.counter(key.getName(), key.getTags());
    }

    @Override
    protected void destroyValue(NameAndTags key, Counter value) {
      registry.remove(value);
    }
  };

  timeGaugePool = new KeyedSharedObjectPool<NameAndTags, SettableTimeGauge>() {
    @Override
    protected SettableTimeGauge constructValue(NameAndTags key) {
      AtomicLong value = new AtomicLong();
      TimeGauge timeGauge = registry
          .more()
          .timeGauge(key.getName(), key.getTags(), value, MILLISECONDS, AtomicLong::doubleValue);
      return new SettableTimeGauge(timeGauge, value);
    }

    @Override
    protected void destroyValue(NameAndTags key, SettableTimeGauge value) {
      registry.remove(value);
    }
  };

  timerPool = new KeyedSharedObjectPool<NameAndTags, Timer>() {
    @Override
    protected Timer constructValue(NameAndTags key) {
      return registry.timer(key.getName(), key.getTags());
    }

    @Override
    protected void destroyValue(NameAndTags key, Timer value) {
      registry.remove(value);
    }
  };

  gaugePool = new KeyedSharedObjectPool<MeterPool.NameAndTags, SettableGauge>() {
    @Override
    protected SettableGauge constructValue(NameAndTags key) {
      AtomicLong value = new AtomicLong();
      Gauge gauge = Gauge.builder(key.getName(), value, AtomicLong::doubleValue).tags(key.getTags()).register(registry);
      return new SettableGauge(gauge, value);
    }

    @Override
    protected void destroyValue(NameAndTags key, SettableGauge value) {
      registry.remove(value);
    }
  };
}
 
源代码9 项目: micrometer   文件: CompositeTimeGauge.java
@Override
TimeGauge newNoopMeter() {
    return new NoopTimeGauge(getId());
}
 
源代码10 项目: micrometer   文件: NewRelicClientProvider.java
Object writeTimeGauge(TimeGauge gauge);