mpstat - Monitoring Extension


This extension works only with the standalone machine agent.


Use Case

Use for monitoring performance statistics for all logical processors in the system.

This extension executes the mpstat command to retrieve the metrics and is currently supported for Linux and Solaris systems and requires to be deployed on the machine you want to monitor.

Note : By default, the Machine agent and AppServer agent can only send a fixed number of metrics to the controller. To change this limit, please follow the instructions mentioned here.


  • Before the extension is installed, the prerequisites mentioned here need to be met. Please do not proceed with the extension installation if the specified prerequisites are not met.


    1. Download and unzip into <machine_agent_dir>/monitors/
    2. The metricPrefix of the extension has to be configured as specified here. Please make sure that the right metricPrefix is chosen based on your machine agent deployment, otherwise this could lead to metrics not being visible in the controller.
    3. Restart the Machine Agent.



    Metric path is typically: Application Infrastructure Performance|<Tier>|Custom Metrics|MPStat| followed by the individual metrics. The metric path can be changed by specifying in config.yml


    <CPU>|%usrCPU utilization that occurred while executing at the user level (application).
    <CPU>|%niceCPU utilization that occurred while executing at the user level with nice priority.
    <CPU>|%sysCPU utilization that occurred while executing at the system level (kernel)
    <CPU>|%iowaitTime that the CPU or CPUs were idle during which the system had an outstanding disk I/O request.
    <CPU>|%irqTime spent by the CPU or CPUs to service interrupts.
    <CPU>|%softTime spent by the CPU or CPUs to service softirqs.
    <CPU>|%idleTime that the CPU or CPUs were idle and the system did not have an outstanding disk I/O request.


    <CPU>|minfminor faults
    <CPU>|mjfmajor faults.
    <CPU>|xcalinter-processor cross-calls
    <CPU>|ithrinterrupts as threads (not counting clock interrupt).
    <CPU>|cswcontext switches.
    <CPU>|icswinvoluntary context switches.
    <CPU>|migrthread migrations (to another processor)
    <CPU>|smtxspins on mutexes (lock not acquired on first try).
    <CPU>|srwspins on readers/writer locks (lock not acquired on first try)
    <CPU>|sysclsystem calls.
    <CPU>|usrpercent user time.
    <CPU>|syspercent system time
    <CPU>|wtthe I/O wait time is no longer calculated as a percentage of CPU time, and this statistic will always return zero.
    <CPU>|idlpercent idle time.


    Platform Tested

    Ubuntu14.04 LTS


    Agent Compatibility




    Always feel free to fork and contribute any changes directly via GitHub



  • Please look at the troubleshooting document and make sure that everything is followed correctly.
  • For any questions or feature request, please contact AppDynamics Center of Excellence.