Does the Java agent JMX extension have feature to report per CPU metrics as well as overall CPU metrics?

book

Article ID: 240791

calendar_today

Updated On:

Products

CA Application Performance Management SaaS

Issue/Introduction

Given deprecation of Platform Monitors and inclusion of remote JX extension into Java agent, is there a way to capture per CPU metrics using JMX in addition to overall ones?  The Infrastructure agent doc CPU Metrics - Linux (broadcom.com) lists under Core some per CPU metrics- but of course those are reported by SysEdge and overall metrics not specific to the instrumented process.  The JMX metrics give both process and system - but only at top level and so not per CPU (that said the Platform Monitor only reported aggregate metrics per CPU.

Environment

Release : SAAS

Component :

Resolution

The JMX CPU monitor  only supports the aggregate CPU as it is dependent on the data available from the JMX Operating System Bean as described here

Which just supports these methods

longgetCommittedVirtualMemorySize()
Returns the amount of virtual memory that is guaranteed to be available to the running process in bytes, or -1 if this operation is not supported.
longgetFreePhysicalMemorySize()
Returns the amount of free physical memory in bytes.
longgetFreeSwapSpaceSize()
Returns the amount of free swap space in bytes.
doublegetProcessCpuLoad()
Returns the "recent cpu usage" for the Java Virtual Machine process.
longgetProcessCpuTime()
Returns the CPU time used by the process on which the Java virtual machine is running in nanoseconds.
doublegetSystemCpuLoad()
Returns the "recent cpu usage" for the whole system.
longgetTotalPhysicalMemorySize()
Returns the total amount of physical memory in bytes.
longgetTotalSwapSpaceSize()
Returns the total amount of swap space in bytes.