public JmxBufferPoolManager(MBeanServerConnection connection) throws IOException { List<BufferPoolMXBean> bufferPoolMXBeans = ManagementFactory.getPlatformMXBeans(connection, BufferPoolMXBean.class); if (bufferPoolMXBeans == null) { return; } for (BufferPoolMXBean bufferPool : bufferPoolMXBeans) { String name = bufferPool.getName().toLowerCase().trim(); if (name.contains(DIRECT)) { directBufferPool = bufferPool; } else if (name.contains(MAPPED)) { mappedBufferPool = bufferPool; } } }
public JmxGarbageCollectorManager(MBeanServerConnection connection) throws IOException { if (ygcMXBean != null || fgcMXBean != null) { return; } List<GarbageCollectorMXBean> gcMXBeans = ManagementFactory.getPlatformMXBeans(connection, GarbageCollectorMXBean.class); for (GarbageCollectorMXBean gcMXBean : gcMXBeans) { String gcName = gcMXBean.getName(); if ("Copy".equals(gcName) || "PS Scavenge".equals(gcName) || "ParNew".equals(gcName) || "G1 Young Generation".equals(gcName)) { ygcMXBean = gcMXBean; } else if ("MarkSweepCompact".equals(gcName) || "PS MarkSweep".equals(gcName) || "ConcurrentMarkSweep".equals(gcName) || "G1 Old Generation".equals(gcName)) { fgcMXBean = gcMXBean; } else { ygcMXBean = gcMXBean; } } }
@SuppressWarnings("restriction") public static long getJvmDirectMemoryUsed() { if (directMemoryUsage != null) { try { return ((AtomicLong) directMemoryUsage.get(null)).get(); } catch (Exception e) { if (log.isDebugEnabled()) { log.debug("Failed to get netty-direct-memory used count {}", e.getMessage()); } } } List<BufferPoolMXBean> pools = ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class); for (BufferPoolMXBean pool : pools) { if (pool.getName().equals("direct")) { return pool.getMemoryUsed(); } } // Couldnt get direct memory usage return -1; }
public static long totalMemoryUsedByDirectAndMappedBuffers() { long totalMemoryUsed = 0L; List<BufferPoolMXBean> pools = ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class); for (BufferPoolMXBean pool : pools) { totalMemoryUsed += pool.getMemoryUsed(); } return totalMemoryUsed; }
public SystemManager(){ memoryBean = ManagementFactory.getMemoryMXBean(); BufferPoolMXBean localBean = null; List<BufferPoolMXBean> pools = ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class); for(BufferPoolMXBean b : pools){ if(b.getName().equals("direct")){ localBean = b; } } directBean = localBean; }
private void processJVMBufferPoolMetrics(long processId, long startMillis, long stopMillis) { bufferPoolMetricsProcessor.beforeProcess(processId, startMillis, stopMillis); try { List<BufferPoolMXBean> pools = ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class); for (BufferPoolMXBean mxBean : pools) { bufferPoolMetricsProcessor.process(new JvmBufferPoolMetrics(mxBean), processId, startMillis, stopMillis); } } finally { bufferPoolMetricsProcessor.afterProcess(processId, startMillis, stopMillis); } }
List<BufferPoolMXBean> bufferPools = ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class); if (bufferPools != null) { for (BufferPoolMXBean pool : bufferPools) {
private void emitDirectMemMetrics(ServiceEmitter emitter) { for (BufferPoolMXBean pool : ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class)) { final ServiceMetricEvent.Builder builder = builder().setDimension("bufferpoolName", pool.getName()); MonitorUtils.addDimensionsToBuilder(builder, dimensions); emitter.emit(builder.build("jvm/bufferpool/capacity", pool.getTotalCapacity())); emitter.emit(builder.build("jvm/bufferpool/used", pool.getMemoryUsed())); emitter.emit(builder.build("jvm/bufferpool/count", pool.getCount())); } }
private void getJvmMetrics(final MetricsRecordBuilder rb) { List<BufferPoolMXBean> pools = ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class); long directBufferCount = 0; long directBufferTotalCapacity = 0;
List<BufferPool> bufferPoolsList = Collections.emptyList(); try { List<BufferPoolMXBean> bufferPools = ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class); bufferPoolsList = new ArrayList<>(bufferPools.size()); for (BufferPoolMXBean bufferPool : bufferPools) {
/** * @return Direct buffer JMX bean */ public static BufferPoolMXBean getDirectBean() { List<BufferPoolMXBean> pools = ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class); for (BufferPoolMXBean b : pools) { if (b.getName().equals("direct")) { return b; } } throw new IllegalStateException("Unable to find direct buffer bean. JVM must be too old."); }
protected BufferPoolMXBean directMemoryStatus() { return ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class) .stream() .filter(b -> b.getName().equals("direct")) .findAny() .orElseGet(() -> null); }
public static BufferPoolMXBean getMappedMemoryMXBean() { List<BufferPoolMXBean> pools = ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class); for (BufferPoolMXBean pool:pools) { if (pool.getName().equals("mapped")) { return pool; } } return null; }
/** * Add meters for the standard MXBeans provided by the jvm. This method will use * {@link java.lang.management.ManagementFactory#getPlatformMXBeans(Class)} to get the set of * mbeans from the local jvm. */ public static void registerStandardMXBeans(Registry registry) { for (MemoryPoolMXBean mbean : ManagementFactory.getPlatformMXBeans(MemoryPoolMXBean.class)) { registry.register(new MemoryPoolMeter(registry, mbean)); } for (BufferPoolMXBean mbean : ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class)) { registry.register(new BufferPoolMeter(registry, mbean)); } }
public SystemManager(){ memoryBean = ManagementFactory.getMemoryMXBean(); BufferPoolMXBean localBean = null; List<BufferPoolMXBean> pools = ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class); for(BufferPoolMXBean b : pools){ if(b.getName().equals("direct")){ localBean = b; } } directBean = localBean; }
public static long totalMemoryUsedByDirectAndMappedBuffers() { long totalMemoryUsed = 0L; List<BufferPoolMXBean> pools = ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class); for (BufferPoolMXBean pool : pools) { totalMemoryUsed += pool.getMemoryUsed(); } return totalMemoryUsed; }
private void emitDirectMemMetrics(ServiceEmitter emitter) { for (BufferPoolMXBean pool : ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class)) { final ServiceMetricEvent.Builder builder = builder().setDimension("bufferpoolName", pool.getName()); MonitorUtils.addDimensionsToBuilder(builder, dimensions); emitter.emit(builder.build("jvm/bufferpool/capacity", pool.getTotalCapacity())); emitter.emit(builder.build("jvm/bufferpool/used", pool.getMemoryUsed())); emitter.emit(builder.build("jvm/bufferpool/count", pool.getCount())); } }
private void emitDirectMemMetrics(ServiceEmitter emitter) { for (BufferPoolMXBean pool : ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class)) { final ServiceMetricEvent.Builder builder = builder().setDimension("bufferpoolName", pool.getName()); MonitorUtils.addDimensionsToBuilder(builder, dimensions); emitter.emit(builder.build("jvm/bufferpool/capacity", pool.getTotalCapacity())); emitter.emit(builder.build("jvm/bufferpool/used", pool.getMemoryUsed())); emitter.emit(builder.build("jvm/bufferpool/count", pool.getCount())); } }
private void emitDirectMemMetrics(ServiceEmitter emitter) { for (BufferPoolMXBean pool : ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class)) { final ServiceMetricEvent.Builder builder = builder().setDimension("bufferpoolName", pool.getName()); MonitorUtils.addDimensionsToBuilder(builder, dimensions); emitter.emit(builder.build("jvm/bufferpool/capacity", pool.getTotalCapacity())); emitter.emit(builder.build("jvm/bufferpool/used", pool.getMemoryUsed())); emitter.emit(builder.build("jvm/bufferpool/count", pool.getCount())); } }
private void emitDirectMemMetrics(ServiceEmitter emitter) { for (BufferPoolMXBean pool : ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class)) { final ServiceMetricEvent.Builder builder = builder().setDimension("bufferpoolName", pool.getName()); MonitorUtils.addDimensionsToBuilder(builder, dimensions); emitter.emit(builder.build("jvm/bufferpool/capacity", pool.getTotalCapacity())); emitter.emit(builder.build("jvm/bufferpool/used", pool.getMemoryUsed())); emitter.emit(builder.build("jvm/bufferpool/count", pool.getCount())); } }