usr.sbin/gstat: add microsecond precision for disk latency
This patch makes gstat to show latency in microseconds if actual latency
is less than 1ms. It affects only "ms/r" and "ms/w" columns.
Before patch:
L(q) ops/s r/s kBps ms/r w/s kBps ms/w %busy Name
0 922 0 0 0.0 922 35809 0.0 2.8| nda0
0 928 2 34 0.1 926 35809 0.0 3.1| nda1
After patch:
L(q) ops/s r/s kBps ms/r w/s kBps ms/w %busy Name
0 496 1 31 0.156 495 16020 0.040 1.5| nda0
0 492 0 0 0.000 492 16020 0.042 1.5| nda1
Reviewed by: imp
MFC after: 3 days
Sponsored by: Postgres Professional
Differential Revision: https://reviews.freebsd.org/D41999
This commit is contained in:
+28
-8
@@ -406,16 +406,20 @@ main(int argc, char **argv)
|
|||||||
PRINTMSG(",%.0f", (double)ld[2] * 1024);
|
PRINTMSG(",%.0f", (double)ld[2] * 1024);
|
||||||
if (ld[3] > 1e3)
|
if (ld[3] > 1e3)
|
||||||
PRINTMSG(",%.0f", (double)ld[3]);
|
PRINTMSG(",%.0f", (double)ld[3]);
|
||||||
else
|
else if (ld[3] > 1e0)
|
||||||
PRINTMSG(",%.1f", (double)ld[3]);
|
PRINTMSG(",%.1f", (double)ld[3]);
|
||||||
|
else
|
||||||
|
PRINTMSG(",%.3f", (double)ld[3]);
|
||||||
PRINTMSG(",%.0f", (double)ld[4]);
|
PRINTMSG(",%.0f", (double)ld[4]);
|
||||||
if (flag_s)
|
if (flag_s)
|
||||||
PRINTMSG(",%.0f", (double)ld[14]);
|
PRINTMSG(",%.0f", (double)ld[14]);
|
||||||
PRINTMSG(",%.0f", (double)ld[5] * 1024);
|
PRINTMSG(",%.0f", (double)ld[5] * 1024);
|
||||||
if (ld[6] > 1e3)
|
if (ld[6] > 1e3)
|
||||||
PRINTMSG(",%.0f", (double)ld[6]);
|
PRINTMSG(",%.0f", (double)ld[6]);
|
||||||
else
|
else if (ld[6] > 1e0)
|
||||||
PRINTMSG(",%.1f", (double)ld[6]);
|
PRINTMSG(",%.1f", (double)ld[6]);
|
||||||
|
else
|
||||||
|
PRINTMSG(",%.3f", (double)ld[6]);
|
||||||
|
|
||||||
if (flag_d) {
|
if (flag_d) {
|
||||||
PRINTMSG(",%.0f", (double)ld[8]);
|
PRINTMSG(",%.0f", (double)ld[8]);
|
||||||
@@ -426,9 +430,12 @@ main(int argc, char **argv)
|
|||||||
if (ld[10] > 1e3)
|
if (ld[10] > 1e3)
|
||||||
PRINTMSG(",%.0f",
|
PRINTMSG(",%.0f",
|
||||||
(double)ld[10]);
|
(double)ld[10]);
|
||||||
else
|
else if (ld[10] > 1e0)
|
||||||
PRINTMSG(",%.1f",
|
PRINTMSG(",%.1f",
|
||||||
(double)ld[10]);
|
(double)ld[10]);
|
||||||
|
else
|
||||||
|
PRINTMSG(",%.3f",
|
||||||
|
(double)ld[10]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flag_o) {
|
if (flag_o) {
|
||||||
@@ -436,9 +443,12 @@ main(int argc, char **argv)
|
|||||||
if (ld[12] > 1e3)
|
if (ld[12] > 1e3)
|
||||||
PRINTMSG(",%.0f",
|
PRINTMSG(",%.0f",
|
||||||
(double)ld[12]);
|
(double)ld[12]);
|
||||||
else
|
else if (ld[12] > 1e0)
|
||||||
PRINTMSG(",%.1f",
|
PRINTMSG(",%.1f",
|
||||||
(double)ld[12]);
|
(double)ld[12]);
|
||||||
|
else
|
||||||
|
PRINTMSG(",%.3f",
|
||||||
|
(double)ld[12]);
|
||||||
}
|
}
|
||||||
PRINTMSG(",%.1lf", (double)ld[7]);
|
PRINTMSG(",%.1lf", (double)ld[7]);
|
||||||
} else {
|
} else {
|
||||||
@@ -450,16 +460,20 @@ main(int argc, char **argv)
|
|||||||
PRINTMSG(" %6.0f", (double)ld[2] * 1024);
|
PRINTMSG(" %6.0f", (double)ld[2] * 1024);
|
||||||
if (ld[3] > 1e3)
|
if (ld[3] > 1e3)
|
||||||
PRINTMSG(" %6.0f", (double)ld[3]);
|
PRINTMSG(" %6.0f", (double)ld[3]);
|
||||||
else
|
else if (ld[3] > 1e0)
|
||||||
PRINTMSG(" %6.1f", (double)ld[3]);
|
PRINTMSG(" %6.1f", (double)ld[3]);
|
||||||
|
else
|
||||||
|
PRINTMSG(" %6.3f", (double)ld[3]);
|
||||||
PRINTMSG(" %6.0f", (double)ld[4]);
|
PRINTMSG(" %6.0f", (double)ld[4]);
|
||||||
if (flag_s)
|
if (flag_s)
|
||||||
PRINTMSG(" %6.0f", (double)ld[14]);
|
PRINTMSG(" %6.0f", (double)ld[14]);
|
||||||
PRINTMSG(" %6.0f", (double)ld[5] * 1024);
|
PRINTMSG(" %6.0f", (double)ld[5] * 1024);
|
||||||
if (ld[6] > 1e3)
|
if (ld[6] > 1e3)
|
||||||
PRINTMSG(" %6.0f", (double)ld[6]);
|
PRINTMSG(" %6.0f", (double)ld[6]);
|
||||||
else
|
else if (ld[6] > 1e0)
|
||||||
PRINTMSG(" %6.1f", (double)ld[6]);
|
PRINTMSG(" %6.1f", (double)ld[6]);
|
||||||
|
else
|
||||||
|
PRINTMSG(" %6.3f", (double)ld[6]);
|
||||||
|
|
||||||
if (flag_d) {
|
if (flag_d) {
|
||||||
PRINTMSG(" %6.0f", (double)ld[8]);
|
PRINTMSG(" %6.0f", (double)ld[8]);
|
||||||
@@ -471,9 +485,12 @@ main(int argc, char **argv)
|
|||||||
if (ld[10] > 1e3)
|
if (ld[10] > 1e3)
|
||||||
PRINTMSG(" %6.0f",
|
PRINTMSG(" %6.0f",
|
||||||
(double)ld[10]);
|
(double)ld[10]);
|
||||||
else
|
else if (ld[10] > 1e0)
|
||||||
PRINTMSG(" %6.1f",
|
PRINTMSG(" %6.1f",
|
||||||
(double)ld[10]);
|
(double)ld[10]);
|
||||||
|
else
|
||||||
|
PRINTMSG(" %6.3f",
|
||||||
|
(double)ld[10]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flag_o) {
|
if (flag_o) {
|
||||||
@@ -481,9 +498,12 @@ main(int argc, char **argv)
|
|||||||
if (ld[12] > 1e3)
|
if (ld[12] > 1e3)
|
||||||
PRINTMSG(" %6.0f",
|
PRINTMSG(" %6.0f",
|
||||||
(double)ld[12]);
|
(double)ld[12]);
|
||||||
else
|
else if (ld[12] > 1e0)
|
||||||
PRINTMSG(" %6.1f",
|
PRINTMSG(" %6.1f",
|
||||||
(double)ld[12]);
|
(double)ld[12]);
|
||||||
|
else
|
||||||
|
PRINTMSG(" %6.3f",
|
||||||
|
(double)ld[12]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ld[7] > HIGH_PCT_BUSY_THRESH)
|
if (ld[7] > HIGH_PCT_BUSY_THRESH)
|
||||||
|
|||||||
Reference in New Issue
Block a user