public MetricRegistryProvider() { this.metricRegistry = new MetricRegistry(); metricRegistry.register("jvm.buffers", new BufferPoolMetricSet(ManagementFactory.getPlatformMBeanServer())); metricRegistry.register("jvm.cl", new ClassLoadingGaugeSet()); metricRegistry.register("jvm.gc", new GarbageCollectorMetricSet()); metricRegistry.register("jvm.memory", new MemoryUsageGaugeSet()); metricRegistry.register("jvm.threads", new ThreadStatesGaugeSet()); }
private void registerJvmMetrics() { this.registry.register("MEMORY_Gauge", new MemoryUsageGaugeSet()); this.registry.register("GC_Gauge", new GarbageCollectorMetricSet()); this.registry.register("Thread_State_Gauge", new ThreadStatesGaugeSet()); }
/** * Creates a new {@link JvmSource} and register all JVM metrics. */ public JvmSource() { mMetricRegistry = new MetricRegistry(); mMetricRegistry.registerAll(new GarbageCollectorMetricSet()); mMetricRegistry.registerAll(new MemoryUsageGaugeSet()); }
/** * Registers the JVM metrics to the metric registry and start to report * the registry metrics via JMX. */ public void registerMetrics() { if (metricsAreRegistered) { return; } getMetricRegistry().register("jvm.attribute", new JvmAttributeGaugeSet()); getMetricRegistry().register("jvm.buffers", new BufferPoolMetricSet(ManagementFactory .getPlatformMBeanServer())); getMetricRegistry().register("jvm.classloader", new ClassLoadingGaugeSet()); getMetricRegistry().register("jvm.filedescriptor", new FileDescriptorRatioGauge()); getMetricRegistry().register("jvm.gc", new GarbageCollectorMetricSet()); getMetricRegistry().register("jvm.memory", new MemoryUsageGaugeSet()); getMetricRegistry().register("jvm.threads", new ThreadStatesGaugeSet()); JmxReporter.forRegistry(metricRegistry).build().start(); metricsAreRegistered = true; }
private void registerJvmMetrics() { registerMetricSetWithPrefix("jvm.gc", new GarbageCollectorMetricSet()); registerMetricSetWithPrefix("jvm.memory", new MemoryUsageGaugeSet()); registerMetricSetWithPrefix("jvm.threads", new ThreadStatesGaugeSet()); this.metricRegistry.register("jvm.fileDescriptorRatio", new FileDescriptorRatioGauge()); for (Map.Entry<String, MetricSet> metricSet : this.additionalMetricSets.entrySet()) { registerMetricSetWithPrefix(metricSet.getKey(), metricSet.getValue()); } }
config.metricRegistry.register(metricName("jvm", "memory_usage"), new MemoryUsageGaugeSet()); config.metricRegistry.register(metricName("jvm", "gc"), new GarbageCollectorMetricSet()); config.metricRegistry.register(metricName("jvm", "class_loading"), new ClassLoadingGaugeSet()); config.metricRegistry.register(metricName("jvm", "file_descriptor_ratio"), new FileDescriptorRatioGauge()); config.metricRegistry.register(metricName("jvm", "thread_states"), new CachedThreadStatesGaugeSet(60, TimeUnit.SECONDS));
/** * Register all wanted metrics to {@link #metricRegistry}. * <p> * {@inheritDoc} */ @Override protected void init(ReportingInitializationContext config) { metricRegistry = new MetricRegistry(); currentStatusReference = new AtomicReference<>(); metricRegistry.registerAll(new MemoryUsageGaugeSet()); metricRegistry.registerAll(new FlowMetricSet(currentStatusReference)); }
private FileDescriptorRatioGauge fileDescriptorRatioGauge = new FileDescriptorRatioGauge();
@GET @Path("/threaddump") @Produces(MediaType.TEXT_PLAIN) @Timed @ApiOperation(value = "Get a thread dump as plain text") public StreamingOutput threadDumpAsText() { checkPermission(RestPermissions.THREADS_DUMP, serverStatus.getNodeId().toString()); return output -> new ThreadDump(ManagementFactory.getThreadMXBean()).dump(output); }
@Override public void handle(final Request req, final Response rsp) throws Throwable { Object data; Status status; if (threadDump == null) { data = "Sorry your runtime environment does not allow to dump threads."; status = Status.NOT_IMPLEMENTED; } else { final ByteArrayOutputStream output = new ByteArrayOutputStream(); threadDump.dump(output); data = output.toByteArray(); status = Status.OK; } rsp.type(MediaType.plain) .status(status) .header("Cache-Control", "must-revalidate,no-cache,no-store") .send(data); }
@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); } });
registerAll("gc", new GarbageCollectorMetricSet()); registerAll("buffers", new BufferPoolMetricSet(ManagementFactory.getPlatformMBeanServer())); registerAll("memory", new MemoryUsageGaugeSet()); registerAll("threads", new ThreadStatesGaugeSet()); registerAll("classLoading", new ClassLoadingGaugeSet());
/** * Registers the JVM metrics to the metric registry and start to report * the registry metrics via JMX. */ public void registerMetrics() { if (metricsAreRegistered) { return; } getMetricRegistry().register("jvm.attribute", new JvmAttributeGaugeSet()); getMetricRegistry().register("jvm.buffers", new BufferPoolMetricSet(ManagementFactory .getPlatformMBeanServer())); getMetricRegistry().register("jvm.classloader", new ClassLoadingGaugeSet()); getMetricRegistry().register("jvm.filedescriptor", new FileDescriptorRatioGauge()); getMetricRegistry().register("jvm.gc", new GarbageCollectorMetricSet()); getMetricRegistry().register("jvm.memory", new MemoryUsageGaugeSet()); getMetricRegistry().register("jvm.threads", new ThreadStatesGaugeSet()); JmxReporter.forRegistry(metricRegistry).build().start(); metricsAreRegistered = true; }
private static void registerSystemMetrics() { REGISTRY.registerAll(new GarbageCollectorMetricSet()); REGISTRY.registerAll(new BufferPoolMetricSet(ManagementFactory.getPlatformMBeanServer())); REGISTRY.registerAll(new MemoryUsageGaugeSet()); REGISTRY.registerAll(new ThreadStatesGaugeSet()); REGISTRY.registerAll(new CpuGaugeSet()); register("fd.usage", new FileDescriptorRatioGauge()); }
@Override public void initializePlugin(StagemonitorPlugin.InitArguments initArguments) { initArguments.getMetricRegistry().registerAll(Metric2Set.Converter.convert(new GarbageCollectorMetricSet(), new MetricNameConverter() { @Override public MetricName convert(String name) { initArguments.getMetricRegistry().registerAll(Metric2Set.Converter.convert(new MemoryUsageGaugeSet(), new MetricNameConverter() { @Override public MetricName convert(String name) {
@GET @Timed @ApiOperation(value = "Get a thread dump") @Path("/threaddump") public SystemThreadDumpResponse threaddump() { checkPermission(RestPermissions.THREADS_DUMP, serverStatus.getNodeId().toString()); // The ThreadDump is built by internal codahale.metrics servlet library we are abusing. final ThreadDump threadDump = new ThreadDump(ManagementFactory.getThreadMXBean()); final ByteArrayOutputStream output = new ByteArrayOutputStream(); threadDump.dump(output); return SystemThreadDumpResponse.create(new String(output.toByteArray(), StandardCharsets.UTF_8)); }
registerAll("jvm.gc", new GarbageCollectorMetricSet()); registerAll("jvm.memory", new MemoryUsageGaugeSet()); registerAll("jvm.threads", new ThreadStatesGaugeSet()); registerAll("jvm.classes", new ClassLoadingGaugeSet());
metricsRegistry.registerAll(new GarbageCollectorMetricSet()); metricsRegistry.registerAll(new MemoryUsageGaugeSet());
private Metrics(Configuration conf) { registry = new MetricRegistry(); registry.registerAll(new GarbageCollectorMetricSet()); registry.registerAll(new BufferPoolMetricSet(ManagementFactory.getPlatformMBeanServer())); registry.registerAll(new MemoryUsageGaugeSet()); registry.registerAll(new ThreadStatesGaugeSet()); registry.registerAll(new ClassLoadingGaugeSet());
metricsRegistry.registerAll(new GarbageCollectorMetricSet()); metricsRegistry.registerAll(new MemoryUsageGaugeSet());