1PMDADM(1) General Commands Manual PMDADM(1)
2
3
4
6 pmdadm - Device Mapper PMDA
7
9 pmdadm is a Performance Metrics Domain Agent (PMDA) which exports met‐
10 ric values for Device Mapper on the local system.
11
12 This PMDA collects its data through the dmsetup(8) utility, dmstats API
13 and requires that the program is installed in order to function.
14
15 In addition, at least a statistics region must be created to use
16 dmstats(8) in order to get the basic counter value.
17
18 Further details on device mapper can be found at http://redhat.com
19
21 Install the DM PMDA by using the Install script as root:
22
23 # cd $PCP_PMDAS_DIR/dm
24 # ./Install
25
26 To uninstall, do the following as root:
27
28 # cd $PCP_PMDAS_DIR/dm
29 # ./Remove
30
31 pmdadm is launched by pmcd(1) and should never be executed directly.
32 The Install and Remove scripts notify pmcd when the agent is installed
33 or removed.
34
36 $PCP_PMDAS_DIR/dm/help
37 default help text file for the dm metrics
38
39 $PCP_PMDAS_DIR/dm/Install
40 installation script for the pmdadm agent
41
42 $PCP_PMDAS_DIR/dm/Remove
43 undo installation script for the pmdadm agent
44
45 $PCP_LOG_DIR/pmcd/dm.log
46 default log file for error messages from pmdadm
47
49 This PMDA use the dmstats API (the userspace device-mapper support
50 library) to allow dmstats performance data.
51 Using this PMDA, users need the userspace device-mapper support library
52 (libdevmapper) and the userspace command line tool (dmstats). Before
53 getting the statistics metric, statistics regions have to be created.
54 When creating the statistics regions of all device-mapper device under
55 /dev/mapper as below:
56
57 # dmstats create --alldevices
58
59 When creating the statistics regions with specified histogram bound‐
60 aries as below:
61
62 # dmstats create --alldevices --bounds histogram_boundaries
63
64 Specify the boundaries of a latency histogram to be tracked for the
65 region as a comma separated list of latency values. Latency values are
66 given in nanoseconds. An optional unit suffix of ns, us, ms, or s may
67 be given after each value to specify units of nanoseconds, microsec‐
68 onds, miliseconds or seconds respectively.
69 Further Detail on dmstats(8) can be found at man page.
70
71 Basic Counters
72 Basic counters provide access to the raw counter data from the ker‐
73 nel, allowing further processing to be carried out by another pro‐
74 gram.
75 The Kernel provides thirteen separate counters for each statistics
76 area. The first eleven of these match the counters provided in
77 /proc/diskstats or /sys/block/*/*/stat. The final pair provide sep‐
78 arate counters for read and write time.
79
80 dmstats.read
81 Count of reads completed this interval per device-mapper
82 device.
83
84 dmstats.reads_merged
85 Count of reads merged this interval per device-mapper device.
86
87 dmstats.read_bytes
88 Count of kbytes read this interval per device-mapper device.
89
90 dmstats.reads_time
91 Accumulated duration of all read requests per device-mapper
92 device.
93
94 dmstats.write
95 Count of writes completed this interval per device-mapper
96 device.
97
98 dmstats.writes_merged
99 Count of writes completed this interval per device-mapper
100 device.
101
102 dmstats.write_bytes
103 Count of kbytes write this interval per device-mapper device.
104
105 dmstats.writes_time
106 Accumulated duration of all write requests per device-mapper
107 device.
108
109 dmstats.in_progress
110 Count of requests currently in progress per device-mapper
111 device.
112
113 dmstats.io_ticks
114 Nanoseconds spent servicing request per device-mapper device.
115
116 dmstats.queue_ticks
117 This field is incremented at each I/O start, I/O completion,
118 I/O merge, or read of these stats by the number of I/Os in
119 progress multiplied by the number of nanoseconds spent doing
120 I/O since the last update of this field. This can provide an
121 easy measure of both I/O completion time and the backlog that
122 may be accumulating.
123
124 dmstats.read_ticks
125 Nanoseconds spent servicing reads per device-mapper device.
126
127 dmstats.write_ticks
128 Nanoseconds spent servicing writes per device-mapper device.
129
130 Histogram fields
131 Histograms measure the frequency distribution of user specified I/O
132 latency intervals. Histogram bin boundaries are specified when a
133 region is created.
134 Instance name represents devicename, region id and bin boundaries.
135
136 dmstats.histogram.hist_count
137 A list of the histogram counts for the current statistics area
138 in order of ascending latency value. Each value represents the
139 number of I/Os with latency times falling into that bin's time
140 range during the sample period.
141
142 dmstats.histogram.hist.bins
143 The number of latency histogram bins configured for the area.
144
146 # dmstats create looptest0 --bounds 10us,30us,50us
147 looptest0: Created new region with 1 area(s) as region ID 0
148
149 # pminfo -f dmstats.read dmstats.histogram.hist_count
150 dmstats.read
151 inst [0 or "looptest0"] value 4099
152
153 dmstats.histogram.hist_count
154 inst [0 or "looptest0:0:0s"] value 1
155 inst [1 or "looptest0:0:10us"] value 3752
156 inst [2 or "looptest0:0:30us"] value 250
157 inst [3 or "looptest0:0:50us"] value 96
158
160 Environment variables with the prefix PCP_ are used to parameterize the
161 file and directory names used by PCP. On each installation, the file
162 /etc/pcp.conf contains the local values for these variables. The
163 $PCP_CONF variable may be used to specify an alternative configuration
164 file, as described in pcp.conf(5).
165
167 pmcd(1), pmstore(1), dmsetup(8), and dmstats(8).
168
169
170
171Performance Co-Pilot PCP PMDADM(1)