PMDADM(1)                  General Commands Manual                 PMDADM(1)

NAME         top

       pmdadm - Device Mapper PMDA

DESCRIPTION         top

       pmdadm is a Performance Metrics Domain Agent (PMDA) which exports
       metric values for Device Mapper on the local system.

       This PMDA collects its data through the dmsetup(8) utility, dmstats
       API and requires that the program is installed in order to function.

       In addition, at least a statistics region must be created to use
       dmstats(8) in order to get the basic counter value.

       Further details on device mapper can be found at

INSTALLATION         top

       Install the DM PMDA by using the Install script as root:

             # cd $PCP_PMDAS_DIR/dm
             # ./Install

       To uninstall, do the following as root:

             # cd $PCP_PMDAS_DIR/dm
             # ./Remove

       pmdadm is launched by pmcd(1) and should never be executed directly.
       The Install and Remove scripts notify pmcd when the agent is
       installed or removed.

FILES         top

           default help text file for the dm metrics

           installation script for the pmdadm agent

           undo installation script for the pmdadm agent

           default log file for error messages from pmdadm

dmstats metric         top

       This PMDA use the dmstats API (the userspace device-mapper support
       library) to allow dmstats performance data.
       Using this PMDA, users need the userspace device-mapper support
       library (libdevmapper) and the userspace command line tool (dmstats).
       Before getting the statistics metric, statistics regions have to be
       created.  When creating the statistics regions of all device-mapper
       device under /dev/mapper as below:

            # dmstats create --alldevices

       When creating the statistics regions with specified histogram
       boundaries as below:

            # dmstats create --alldevices --bounds histogram_boundaries

       Specify the boundaries of a latency histogram to be tracked for the
       region as a comma separated list of latency values. Latency values
       are given in nanoseconds. An optional unit suffix of ns, us, ms, or s
       may be given after each value to specify units of nanoseconds,
       microseconds, miliseconds or seconds respectively.
       Further Detail on dmstats(8) can be found at man page.

       Basic Counters
           Basic counters provide access to the raw counter data from the
           kernel, allowing further processing to be carried out by another
           The Kernel provides thirteen separate counters for each
           statistics area.  The first eleven of these match the counters
           provided in /proc/diskstats or /sys/block/*/*/stat. The final
           pair provide separate counters for read and write time.

               Count of reads completed this interval per device-mapper

               Count of reads merged this interval per device-mapper device.

               Count of kbytes read this interval per device-mapper device.

               Accumulated duration of all read requests per device-mapper

               Count of writes completed this interval per device-mapper

               Count of writes completed this interval per device-mapper

               Count of kbytes write this interval per device-mapper device.

               Accumulated duration of all write requests per device-mapper

               Count of requests currently in progress per device-mapper

               Nanoseconds spent servicing request per device-mapper device.

               This field is incremented at each I/O start, I/O completion,
               I/O merge, or read of these stats by the number of I/Os in
               progress multiplied by the number of nanoseconds spent doing
               I/O since the last update of this field. This can provide an
               easy measure of both I/O completion time and the backlog that
               may be accumulating.

               Nanoseconds spent servicing reads per device-mapper device.

               Nanoseconds spent servicing writes per device-mapper device.

       Histogram fields
           Histograms measure the frequency distribution of user specified
           I/O latency intervals.  Histogram bin boundaries are specified
           when a region is created.
           Instance name represents devicename, region id and bin

               A list of the histogram counts for the current statistics
               area in order of ascending latency value. Each value
               represents the number of I/Os with latency times falling into
               that bin's time range during the sample period.

               The number of latency histogram bins configured for the area.

Examples %%%SH%%%
            # dmstats create looptest0 --bounds 10us,30us,50us
            looptest0: Created new region with 1 area(s) as region ID 0

            # pminfo -f dmstats.histogram.hist_count
                inst [0 or "looptest0"] value 4099

                inst [0 or "looptest0:0:0s"] value 1
                inst [1 or "looptest0:0:10us"] value 3752
                inst [2 or "looptest0:0:30us"] value 250
                inst [3 or "looptest0:0:50us"] value 96


       Environment variables with the prefix PCP_ are used to parameterize
       the file and directory names used by PCP. On each installation, the
       file /etc/pcp.conf contains the local values for these variables.
       The $PCP_CONF variable may be used to specify an alternative
       configuration file, as described in pcp.conf(5).

SEE ALSO         top

       pmcd(1), pmstore(1), dmsetup(8), and dmstats(8).

COLOPHON         top

       This page is part of the PCP (Performance Co-Pilot) project.
       Information about the project can be found at ⟨⟩.
       If you have a bug report for this manual page, send it to  This page was obtained from the project's upstream
       Git repository ⟨⟩ on
       2018-10-29.  (At that time, the date of the most recent commit that
       was found in the repository was 2018-10-28.)  If you discover any
       rendering problems in this HTML version of the page, or you believe
       there is a better or more up-to-date source for the page, or you have
       corrections or improvements to the information in this COLOPHON
       (which is not part of the original manual page), send a mail to

Performance Co-Pilot                 PCP                           PMDADM(1)

Pages that refer to this page: pcp-dmcache(1)