private Map<String,Integer> getIntegerMetrics(VirtualMachineMetrics virtualMachineMetrics) { final Map<String,Integer> metrics = new HashMap<>(); metrics.put(MetricNames.JVM_DAEMON_THREAD_COUNT, virtualMachineMetrics.daemonThreadCount()); metrics.put(MetricNames.JVM_THREAD_COUNT, virtualMachineMetrics.threadCount()); for (Map.Entry<Thread.State,Double> entry : virtualMachineMetrics.threadStatePercentages().entrySet()) { final int normalizedValue = (int) (100 * (entry.getValue() == null ? 0 : entry.getValue())); switch(entry.getKey()) { case BLOCKED: metrics.put(MetricNames.JVM_THREAD_STATES_BLOCKED, normalizedValue); break; case RUNNABLE: metrics.put(MetricNames.JVM_THREAD_STATES_RUNNABLE, normalizedValue); break; case TERMINATED: metrics.put(MetricNames.JVM_THREAD_STATES_TERMINATED, normalizedValue); break; case TIMED_WAITING: metrics.put(MetricNames.JVM_THREAD_STATES_TIMED_WAITING, normalizedValue); break; default: break; } } return metrics; }
metrics.put(MetricNames.JVM_NON_HEAP_USAGE, new Double(virtualMachineMetrics.nonHeapUsage())); metrics.put(MetricNames.JVM_THREAD_COUNT, new Double(virtualMachineMetrics.threadCount())); metrics.put(MetricNames.JVM_DAEMON_THREAD_COUNT, new Double(virtualMachineMetrics.daemonThreadCount())); metrics.put(MetricNames.JVM_FILE_DESCRIPTOR_USAGE, new Double(virtualMachineMetrics.fileDescriptorUsage()));
public static Map<String, Double> vmMetrics(VirtualMachineMetrics vm) { return ImmutableMap.<String, Double>builder() .put("daemon_thread_count", (double) vm.daemonThreadCount()) .put("thread_count", (double) vm.threadCount()) .put("uptime", (double) vm.uptime()) .put("fd_usage", vm.fileDescriptorUsage()) .build(); }
public static Map<String, Double> vmMetrics(VirtualMachineMetrics vm) { return ImmutableMap.<String, Double>builder() .put("daemon_thread_count", (double) vm.daemonThreadCount()) .put("thread_count", (double) vm.threadCount()) .put("uptime", (double) vm.uptime()) .put("fd_usage", vm.fileDescriptorUsage()) .build(); }
json.writeNumberField("daemon_thread_count", vm.daemonThreadCount()); json.writeNumberField("thread_count", vm.threadCount()); json.writeNumberField("current_time", clock.time());
json.writeNumberField("daemon_thread_count", vm.daemonThreadCount()); json.writeNumberField("thread_count", vm.threadCount()); json.writeNumberField("current_time", clock.time());
private void printVmMetrics() { printDoubleField("jvm.memory.heap_usage", vm.heapUsage(), "jvm"); printDoubleField("jvm.memory.non_heap_usage", vm.nonHeapUsage(), "jvm"); for (Map.Entry<String, Double> pool : vm.memoryPoolUsage().entrySet()) { printDoubleField("jvm.memory.memory_pool_usages." + pool.getKey(), pool.getValue(), "jvm"); } printDoubleField("jvm.daemon_thread_count", vm.daemonThreadCount(), "jvm"); printDoubleField("jvm.thread_count", vm.threadCount(), "jvm"); printDoubleField("jvm.uptime", vm.uptime(), "jvm"); printDoubleField("jvm.fd_usage", vm.fileDescriptorUsage(), "jvm"); for (Map.Entry<Thread.State, Double> entry : vm.threadStatePercentages().entrySet()) { printDoubleField("jvm.thread-states." + entry.getKey().toString().toLowerCase(), entry.getValue(), "jvm"); } for (Map.Entry<String, VirtualMachineMetrics.GarbageCollectorStats> entry : vm.garbageCollectors().entrySet()) { printLongField("jvm.gc." + entry.getKey() + ".time", entry.getValue().getTime(TimeUnit.MILLISECONDS), "jvm"); printLongField("jvm.gc." + entry.getKey() + ".runs", entry.getValue().getRuns(), "jvm"); } }
protected void printVmMetrics(long epoch) { sendFloat(epoch, "jvm.memory", "heap_usage", vm.heapUsage()); sendFloat(epoch, "jvm.memory", "non_heap_usage", vm.nonHeapUsage()); for (Entry<String, Double> pool : vm.memoryPoolUsage().entrySet()) { sendFloat(epoch, "jvm.memory.memory_pool_usages", sanitizeString(pool.getKey()), pool.getValue()); } sendInt(epoch, "jvm", "daemon_thread_count", vm.daemonThreadCount()); sendInt(epoch, "jvm", "thread_count", vm.threadCount()); sendInt(epoch, "jvm", "uptime", vm.uptime()); sendFloat(epoch, "jvm", "fd_usage", vm.fileDescriptorUsage()); for (Entry<State, Double> entry : vm.threadStatePercentages().entrySet()) { sendFloat(epoch, "jvm.thread-states", entry.getKey().toString().toLowerCase(), entry.getValue()); } for (Entry<String, VirtualMachineMetrics.GarbageCollectorStats> entry : vm.garbageCollectors().entrySet()) { final String name = "jvm.gc." + sanitizeString(entry.getKey()); sendInt(epoch, name, "time", entry.getValue().getTime(TimeUnit.MILLISECONDS)); sendInt(epoch, name, "runs", entry.getValue().getRuns()); } }
protected void pushVmMetrics(long epoch) { sendGauge("jvm.memory.heap_usage", vm.heapUsage(), epoch); sendGauge("jvm.memory.non_heap_usage", vm.nonHeapUsage(), epoch); for (Entry<String, Double> pool : vm.memoryPoolUsage().entrySet()) { String gaugeName = String.format("jvm.memory.memory_pool_usage[pool:%s]", pool.getKey()); sendGauge(gaugeName, pool.getValue(), epoch); } pushGauge("jvm.daemon_thread_count", vm.daemonThreadCount(), epoch); pushGauge("jvm.thread_count", vm.threadCount(), epoch); pushCounter("jvm.uptime", vm.uptime(), epoch); sendGauge("jvm.fd_usage", vm.fileDescriptorUsage(), epoch); for (Entry<Thread.State, Double> entry : vm.threadStatePercentages() .entrySet()) { String gaugeName = String.format("jvm.thread-states[state:%s]", entry.getKey()); sendGauge(gaugeName, entry.getValue(), epoch); } for (Entry<String, VirtualMachineMetrics.GarbageCollectorStats> entry : vm .garbageCollectors().entrySet()) { pushGauge("jvm.gc.time", entry.getValue().getTime(TimeUnit.MILLISECONDS), epoch); pushCounter("jvm.gc.runs", entry.getValue().getRuns(), epoch); } }