summaryrefslogtreecommitdiff
path: root/libvmon/defs/proc_io.def
diff options
context:
space:
mode:
authorVito Caputo <vcaputo@gnugeneration.com>2014-09-14 10:30:13 -0700
committerVito Caputo <vcaputo@gnugeneration.com>2014-09-14 10:30:13 -0700
commit7bcde781975ddf4a5ce266a9214ba26f563ed063 (patch)
tree46d39444ab8c0e6137c50e5d4f87bad66ae3863d /libvmon/defs/proc_io.def
parentc9554e3a6a27802aea1206ec492727d616f23a0a (diff)
Import of vwm3 changes from published source tgz
Major changes from vwm2 include: - Introduction of integrated X client process and descendants monitoring in the form of per-window composited overlays. The rendering is done using the Composite, Damage, and Render extensions. When the monitors are visible, vwm3 is a compositing manager. When invisible, vwm3 continues to be an immediate-mode classic X11 minimalist window manager. Monitors are toggled via Mod1-;, Mod1-LeftArrow and Mod1-RightArrow may be used to decrease and increase the sampling frequency, respectively. Mod1-' clears the monitored tasks history for the focused window when monitoring is visible. This feature depends on the CONFIG_CHECKPOINT_RESTORE kernel configuration option for the discovery of descendant processes. Without this kernel option enabled, you'll only get a single process monitored per window; the X client process as indicated by the _NET_WM_PID atom of the window. A library called libvmon has been introduced for the abstraction of lightweight system and process statistics sampling. Since vwm2 received backported features unrelated to monitoring or compositing while vwm3 was developed, there isn't really much difference between the two outside the monitoring context. This isn't to say there isn't much activity in the code, the addition of compositing and monitoring requires a substantial amount of code relative to the scale of vwm[12].
Diffstat (limited to 'libvmon/defs/proc_io.def')
-rw-r--r--libvmon/defs/proc_io.def33
1 files changed, 33 insertions, 0 deletions
diff --git a/libvmon/defs/proc_io.def b/libvmon/defs/proc_io.def
new file mode 100644
index 0000000..0e1776d
--- /dev/null
+++ b/libvmon/defs/proc_io.def
@@ -0,0 +1,33 @@
+#include "_begin.def"
+
+ /* member name, symbolic constant, human label, human description (think UI/help) */
+ /* /proc/$pid/io */
+vmon_omit_literal("rchar: ", PROC_IO_RCHAR_LABEL)
+vmon_datum_ulonglong( rchars, PROC_IO_RCHAR, "CharsRead", "Characters read (all)")
+vmon_omit_literal("\n", PROC_IO_RCHAR_NL)
+
+vmon_omit_literal("wchar: ", PROC_IO_WCHAR_LABEL)
+vmon_datum_ulonglong( wchars, PROC_IO_WCHAR, "CharsWritten", "Characters written (all)")
+vmon_omit_literal("\n", PROC_IO_WCHAR_NL)
+
+vmon_omit_literal("syscr: ", PROC_IO_SYSCR_LABEL)
+vmon_datum_ulonglong( syscr, PROC_IO_SYSCR, "SysReads", "Read system calls")
+vmon_omit_literal("\n", PROC_IO_SYSCR_NL)
+
+vmon_omit_literal("syscw: ", PROC_IO_SYSCW_LABEL)
+vmon_datum_ulonglong( syscw, PROC_IO_SYSCW, "SysWrites", "Write system calls")
+vmon_omit_literal("\n", PROC_IO_SYSCW_NL)
+
+vmon_omit_literal("read_bytes: ", PROC_IO_READBYTES_LABEL)
+vmon_datum_ulonglong( read_bytes, PROC_IO_READBYTES, "BytesReadIO", "Bytes read from storage")
+vmon_omit_literal("\n", PROC_IO_READBYTES_NL)
+
+vmon_omit_literal("write_bytes: ", PROC_IO_WRITEBYTES_LABEL)
+vmon_datum_ulonglong( write_bytes, PROC_IO_WRITEBYTES, "BytesWrittenIO", "Bytes written to storage")
+vmon_omit_literal("\n", PROC_IO_WRITEBYTES_NL)
+
+vmon_omit_literal("cancelled_write_bytes: ", PROC_IO_CANCELLED_WRITEBYTES_LABEL)
+vmon_datum_ulonglong( cancelled_write_bytes, PROC_IO_CANCELLED_WRITEBYTES, "CancelledWriteBytes", "Bytes written but canceled before reaching storage (truncate)")
+vmon_omit_literal("\n", PROC_IO_CANCELLED_WRITEBYTES_NL)
+
+#include "_end.def"
© All Rights Reserved