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); } }