@OnScheduled public void setup(final ConfigurationContext context) throws IOException { final Map<String, ?> config = Collections.emptyMap(); factory = Json.createBuilderFactory(config); client = createClient(); virtualMachineMetrics = VirtualMachineMetrics.getInstance(); previousMetrics = null; }
public Map<String, Double> getJVMMetrics(VirtualMachineMetrics virtualMachineMetrics) { final Map<String, Double> metrics = new HashMap<>(); metrics.put(MetricNames.JVM_UPTIME, new Double(virtualMachineMetrics.uptime())); metrics.put(MetricNames.JVM_HEAP_USED, new Double(virtualMachineMetrics.heapUsed())); metrics.put(MetricNames.JVM_HEAP_USAGE, new Double(virtualMachineMetrics.heapUsage())); 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())); for (Map.Entry<Thread.State, Double> entry : virtualMachineMetrics.threadStatePercentages().entrySet()) { final int normalizedValue = (int) (100 * (entry.getValue() == null ? 0 : entry.getValue())); switch (entry.getKey()) { for (Map.Entry<String, VirtualMachineMetrics.GarbageCollectorStats> entry : virtualMachineMetrics.garbageCollectors().entrySet()) { final String gcName = entry.getKey().replace(" ", ""); final long runs = entry.getValue().getRuns();
private Map<String,Double> getDoubleMetrics(VirtualMachineMetrics virtualMachineMetrics) { final Map<String,Double> metrics = new HashMap<>(); metrics.put(MetricNames.JVM_HEAP_USED, virtualMachineMetrics.heapUsed()); metrics.put(MetricNames.JVM_HEAP_USAGE, virtualMachineMetrics.heapUsage()); metrics.put(MetricNames.JVM_NON_HEAP_USAGE, virtualMachineMetrics.nonHeapUsage()); metrics.put(MetricNames.JVM_FILE_DESCRIPTOR_USAGE, virtualMachineMetrics.fileDescriptorUsage()); return metrics; }
private Map<String,Long> getLongMetrics(VirtualMachineMetrics virtualMachineMetrics) { final Map<String,Long> metrics = new HashMap<>(); metrics.put(MetricNames.JVM_UPTIME, virtualMachineMetrics.uptime()); for (Map.Entry<String,VirtualMachineMetrics.GarbageCollectorStats> entry : virtualMachineMetrics.garbageCollectors().entrySet()) { final String gcName = entry.getKey().replace(" ", ""); final long runs = entry.getValue().getRuns(); final long timeMS = entry.getValue().getTime(TimeUnit.MILLISECONDS); metrics.put(MetricNames.JVM_GC_RUNS + "." + gcName, runs); metrics.put(MetricNames.JVM_GC_TIME + "." + gcName, timeMS); } return metrics; }
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; }
json.writeStringField("name", vm.name()); json.writeStringField("version", vm.version()); json.writeNumberField("totalInit", vm.totalInit()); json.writeNumberField("totalUsed", vm.totalUsed()); json.writeNumberField("totalMax", vm.totalMax()); json.writeNumberField("totalCommitted", vm.totalCommitted()); json.writeNumberField("heapInit", vm.heapInit()); json.writeNumberField("heapUsed", vm.heapUsed()); json.writeNumberField("heapMax", vm.heapMax()); json.writeNumberField("heapCommitted", vm.heapCommitted()); json.writeNumberField("heap_usage", vm.heapUsage()); json.writeNumberField("non_heap_usage", vm.nonHeapUsage()); json.writeFieldName("memory_pool_usages"); json.writeStartObject(); for (Map.Entry<String, Double> pool : vm.memoryPoolUsage().entrySet()) { json.writeNumberField(pool.getKey(), pool.getValue()); final Map<String, VirtualMachineMetrics.BufferPoolStats> bufferPoolStats = vm.getBufferPoolStats(); if (!bufferPoolStats.isEmpty()) { json.writeFieldName("buffers"); json.writeNumberField("daemon_thread_count", vm.daemonThreadCount()); json.writeNumberField("thread_count", vm.threadCount()); json.writeNumberField("current_time", clock.time()); json.writeNumberField("uptime", vm.uptime());
public static Map<String, Double> memoryMetrics(VirtualMachineMetrics vm) { return ImmutableMap.<String, Double>builder() .put("totalInit", vm.totalInit()) .put("totalUsed", vm.totalUsed()) .put("totalMax", vm.totalMax()) .put("totalCommitted", vm.totalCommitted()) .put("heapInit", vm.heapInit()) .put("heapUsed", vm.heapUsed()) .put("heapMax", vm.heapMax()) .put("heapCommitted", vm.heapCommitted()) .put("heap_usage", vm.heapUsage()) .put("non_heap_usage", vm.nonHeapUsage()) .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.writeStartObject(); json.writeStringField("name", vm.name()); json.writeStringField("version", vm.version()); final Map<String, VirtualMachineMetrics.BufferPoolStats> bufferPoolStats = vm.getBufferPoolStats(); if (!bufferPoolStats.isEmpty()) { json.writeFieldName("buffers"); // jvm.buffers json.writeStartObject(); for (Map.Entry<String, VirtualMachineMetrics.GarbageCollectorStats> entry : vm.garbageCollectors() .entrySet()) {
private void upsertJavaMetrics() { upsertGauges("jvm.memory", MetricsToTimeseries.memoryMetrics(vm)); upsertGauges("jvm.buffers.direct", MetricsToTimeseries.buffersMetrics(vm.getBufferPoolStats().get("direct"))); upsertGauges("jvm.buffers.mapped", MetricsToTimeseries.buffersMetrics(vm.getBufferPoolStats().get("mapped"))); upsertGauges("jvm.thread-states", MetricsToTimeseries.threadStateMetrics(vm)); upsertGauges("jvm", MetricsToTimeseries.vmMetrics(vm)); upsertGauges("current_time", (double) clock.time()); for (Map.Entry<String, VirtualMachineMetrics.GarbageCollectorStats> entry : vm.garbageCollectors().entrySet()) { upsertGauges("jvm.garbage-collectors." + entry.getKey(), MetricsToTimeseries.gcMetrics(entry.getValue())); } }
public static Map<String, Double> threadStateMetrics(VirtualMachineMetrics vm) { ImmutableMap.Builder<String, Double> builder = ImmutableMap.builder(); for (Map.Entry<Thread.State, Double> entry : vm.threadStatePercentages().entrySet()) { builder.put(entry.getKey().toString().toLowerCase(), entry.getValue()); } return builder.build(); }
json.writeStringField("name", vm.name()); json.writeStringField("version", vm.version()); json.writeNumberField("totalInit", vm.totalInit()); json.writeNumberField("totalUsed", vm.totalUsed()); json.writeNumberField("totalMax", vm.totalMax()); json.writeNumberField("totalCommitted", vm.totalCommitted()); json.writeNumberField("heapInit", vm.heapInit()); json.writeNumberField("heapUsed", vm.heapUsed()); json.writeNumberField("heapMax", vm.heapMax()); json.writeNumberField("heapCommitted", vm.heapCommitted()); json.writeNumberField("heap_usage", vm.heapUsage()); json.writeNumberField("non_heap_usage", vm.nonHeapUsage()); json.writeFieldName("memory_pool_usages"); json.writeStartObject(); for (Map.Entry<String, Double> pool : vm.memoryPoolUsage().entrySet()) { json.writeNumberField(pool.getKey(), pool.getValue()); final Map<String, VirtualMachineMetrics.BufferPoolStats> bufferPoolStats = vm.getBufferPoolStats(); if (!bufferPoolStats.isEmpty()) { json.writeFieldName("buffers"); json.writeNumberField("daemon_thread_count", vm.daemonThreadCount()); json.writeNumberField("thread_count", vm.threadCount()); json.writeNumberField("current_time", clock.time()); json.writeNumberField("uptime", vm.uptime());
public static Map<String, Double> memoryMetrics(VirtualMachineMetrics vm) { return ImmutableMap.<String, Double>builder() .put("totalInit", vm.totalInit()) .put("totalUsed", vm.totalUsed()) .put("totalMax", vm.totalMax()) .put("totalCommitted", vm.totalCommitted()) .put("heapInit", vm.heapInit()) .put("heapUsed", vm.heapUsed()) .put("heapMax", vm.heapMax()) .put("heapCommitted", vm.heapCommitted()) .put("heap_usage", vm.heapUsage()) .put("non_heap_usage", vm.nonHeapUsage()) .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.writeStartObject(); json.writeStringField("name", vm.name()); json.writeStringField("version", vm.version()); final Map<String, VirtualMachineMetrics.BufferPoolStats> bufferPoolStats = vm.getBufferPoolStats(); if (!bufferPoolStats.isEmpty()) { json.writeFieldName("buffers"); // jvm.buffers json.writeStartObject(); for (Map.Entry<String, VirtualMachineMetrics.GarbageCollectorStats> entry : vm.garbageCollectors() .entrySet()) {
public static Map<String, Double> threadStateMetrics(VirtualMachineMetrics vm) { ImmutableMap.Builder<String, Double> builder = ImmutableMap.builder(); for (Map.Entry<Thread.State, Double> entry : vm.threadStatePercentages().entrySet()) { builder.put(entry.getKey().toString().toLowerCase(), entry.getValue()); } return builder.build(); }
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()); } }
/** * Performs setup operations when the processor is scheduled to run. This includes evaluating the processor's * properties, as well as reloading the script (from file or the "Script Body" property) * * @param context the context in which to perform the setup operations */ @OnScheduled public void setup(final ConfigurationContext context) { scriptingComponentHelper.setupVariables(context); // Create a script engine for each possible task scriptingComponentHelper.setup(1, getLogger()); scriptToRun = scriptingComponentHelper.getScriptBody(); try { String scriptPath = scriptingComponentHelper.getScriptPath(); if (scriptToRun == null && scriptPath != null) { try (final FileInputStream scriptStream = new FileInputStream(scriptPath)) { scriptToRun = IOUtils.toString(scriptStream, Charset.defaultCharset()); } } } catch (IOException ioe) { throw new ProcessException(ioe); } vmMetrics = VirtualMachineMetrics.getInstance(); }
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"); } }
final VirtualMachineMetrics virtualMachineMetrics = VirtualMachineMetrics.getInstance(); final Map<String, ?> config = Collections.emptyMap(); final JsonBuilderFactory factory = Json.createBuilderFactory(config);