public SemanticMetricsFactory(final SemanticMetricRegistry metricRegistry, Predicate<What> enabledMetrics, Set<Integer> precreateCodes, DurationThresholdConfig durationThresholdConfig) { this.metricRegistry = metricRegistry; this.metricId = MetricId.build(); this.enabledMetrics = enabledMetrics; this.precreateCodes = precreateCodes; this.durationThresholdConfig = durationThresholdConfig; }
@Provides @Singleton public MetricId metricId() { return MetricId.build("apollo").tagged( "service-framework", "service-helper"); } }
@Override public Map<MetricId, Metric> getMetrics() { final Map<MetricId, Metric> gauges = new HashMap<>(); final MetricId metricId = MetricId.build().tagged("what", "file-descriptor-ratio", "unit", "%"); gauges.put(metricId, (Gauge<Object>) () -> { try { return fileDescriptorRatioGauge.getValue(); } catch (final Exception ex) { LOG.debug("Failed to get metrics for FileDescriptorGaugeSet", ex); // This is what the upstream FileDescriptorRatioGauge returns when an exception occurs. return RatioGauge.Ratio.of(Double.NaN, Double.NaN); } }); return Collections.unmodifiableMap(gauges); } });
@Provides @Singleton public MetricId metricId(MetaDescriptor metaDescriptor) { return MetricId.build("apollo").tagged( "service-framework", "http-service", "service-framework-version", metaDescriptor.apolloVersion(), "application", metaDescriptor.descriptor().serviceName()); }
/** * Key prefix to apply to all reported metrics. * * @return this builder */ public Builder prefix(String prefix) { this.prefix = MetricId.build(prefix); return this; }
public Builder prefix(String prefix) { this.prefix = MetricId.build(prefix); return this; }
@Provides @Singleton public MetricId metricId() { return MetricId.build("apollo").tagged( "service-framework", "service-helper"); } }
@Override public Map<MetricId, Metric> getMetrics() { final Map<MetricId, Metric> gauges = new HashMap<MetricId, Metric>(); final MetricId metricId = MetricId.build().tagged("what", "file-descriptor-ratio", "unit", "%"); gauges.put(metricId, new Gauge<Object>() { @Override public Object getValue() { return fileDescriptorRatioGauge.getValue(); } }); return Collections.unmodifiableMap(gauges); } }
@Override public Map<MetricId, Metric> getMetrics() { final Map<MetricId, Metric> gauges = new HashMap<MetricId, Metric>(); final MetricId metricId = MetricId.build().tagged("what", "file-descriptor-ratio", "unit", "%"); gauges.put(metricId, new Gauge<Object>() { @Override public Object getValue() { return fileDescriptorRatioGauge.getValue(); } }); return Collections.unmodifiableMap(gauges); } }
@Provides @Singleton public MetricId metricId(MetaDescriptor metaDescriptor) { return MetricId.build("apollo").tagged( "service-framework", "http-service", "service-framework-version", metaDescriptor.apolloVersion(), "application", metaDescriptor.descriptor().serviceName()); }
@Override public Map<MetricId, Metric> getMetrics() { final Map<MetricId, Metric> gauges = new HashMap<MetricId, Metric>(); final MetricId base = MetricId.build();
@Override public Map<MetricId, Metric> getMetrics() { final Map<MetricId, Metric> gauges = new HashMap<MetricId, Metric>(); final MetricId base = MetricId.build();
final MetricId cpu = MetricId.build().tagged("what", "jvm-cpu-stats");
public static void main(final String[] args) throws Exception { registry.register(MetricId.build("jvm-memory"), new MemoryUsageGaugeSet()); registry.register(MetricId.build("jvm-gc"), new GarbageCollectorMetricSet()); registry.register(MetricId.build("jvm-threads"), new ThreadStatesMetricSet()); registry.register(MetricId.build("jvm-cpu"), CpuGaugeSet.create()); registry.register(MetricId.build("jvm-fd-ratio"), new FileDescriptorGaugeSet()); final FastForwardReporter reporter = FastForwardReporter .forRegistry(registry) .prefix(APP_PREFIX) .schedule(TimeUnit.SECONDS, 5) .build(); reporter.start(); System.out.println("Sending jvm metrics..."); System.in.read(); reporter.stop(); } }
public static void main(final String[] args) throws Exception { final MetricId base = MetricId.build("current-thing"); final FastForwardReporter reporter = FastForwardReporter .forRegistry(registry) .prefix(APP_PREFIX) .schedule(TimeUnit.SECONDS, 5) .build(); reporter.start(); final String[] things = { "shoe", "bucket", "chair" }; for (int i = 0; i < things.length; i++) { final String thing = things[i]; Thread.sleep(1000); final Meter meter = registry.meter(base.tagged("thing", thing).tagged("index", Integer.toString(i))); meter.mark(10 * i); } System.out.println("Sending dynamic metrics..."); System.in.read(); reporter.stop(); } }
@Override public Map<MetricId, Metric> getMetrics() { final Map<MetricId, Metric> gauges = new HashMap<MetricId, Metric>(); final MetricId memory = MetricId.build().tagged("what", "jvm-memory-usage", "unit", "B"); putGauges(gauges, memory.tagged("memory", "heap"), new MemoryUsageSupplier() { @Override public MemoryUsage get() { return m.getHeapMemoryUsage(); } }); putGauges(gauges, memory.tagged("memory", "non-heap"), new MemoryUsageSupplier() { @Override public MemoryUsage get() { return m.getNonHeapMemoryUsage(); } }); for (final MemoryPoolMXBean m : pools) { putGauges(gauges, memory.tagged("memory", m.getName()), new MemoryUsageSupplier() { @Override public MemoryUsage get() { return m.getUsage(); } }); } return Collections.unmodifiableMap(gauges); }
@Override public Map<MetricId, Metric> getMetrics() { final Map<MetricId, Metric> gauges = new HashMap<MetricId, Metric>(); final MetricId memory = MetricId.build().tagged("what", "jvm-memory-usage", "unit", "B"); putGauges(gauges, memory.tagged("memory", "heap"), new MemoryUsageSupplier() { @Override public MemoryUsage get() { return m.getHeapMemoryUsage(); } }); putGauges(gauges, memory.tagged("memory", "non-heap"), new MemoryUsageSupplier() { @Override public MemoryUsage get() { return m.getNonHeapMemoryUsage(); } }); for (final MemoryPoolMXBean m : pools) { putGauges(gauges, memory.tagged("memory", m.getName()), new MemoryUsageSupplier() { @Override public MemoryUsage get() { return m.getUsage(); } }); } return Collections.unmodifiableMap(gauges); }
private static Statistics setupStatistics() throws IOException { final String key = System.getProperty("ffwd.key", "ffwd-java"); final SemanticMetricRegistry registry = new SemanticMetricRegistry(); final SemanticCoreStatistics statistics = new SemanticCoreStatistics(registry); final MetricId gauges = MetricId.build(); registry.register(gauges, new ThreadStatesMetricSet()); registry.register(gauges, new GarbageCollectorMetricSet()); registry.register(gauges, new MemoryUsageGaugeSet()); final MetricId metric = MetricId.build(key); final FastForwardReporter ffwd = FastForwardReporter .forRegistry(registry) .schedule(TimeUnit.SECONDS, 30) .prefix(metric) .build(); ffwd.start(); return new Statistics(ffwd, statistics); }