summaryrefslogtreecommitdiff
path: root/src/pmchart/views
diff options
context:
space:
mode:
Diffstat (limited to 'src/pmchart/views')
-rw-r--r--src/pmchart/views/Apache8
-rw-r--r--src/pmchart/views/ApacheServer38
-rwxr-xr-xsrc/pmchart/views/BusyCPU164
-rw-r--r--src/pmchart/views/CPU11
-rw-r--r--src/pmchart/views/Cisco6
-rw-r--r--src/pmchart/views/Disk6
-rw-r--r--src/pmchart/views/Diskbytes6
-rw-r--r--src/pmchart/views/ElasticsearchServer29
-rw-r--r--src/pmchart/views/Filesystem5
-rw-r--r--src/pmchart/views/GNUmakefile21
-rw-r--r--src/pmchart/views/Loadavg7
-rw-r--r--src/pmchart/views/MemAvailable6
-rw-r--r--src/pmchart/views/Memory10
-rw-r--r--src/pmchart/views/NFS26
-rw-r--r--src/pmchart/views/NFS36
-rw-r--r--src/pmchart/views/Netbytes6
-rw-r--r--src/pmchart/views/Netpackets6
-rw-r--r--src/pmchart/views/Overview32
-rw-r--r--src/pmchart/views/PMCD14
-rw-r--r--src/pmchart/views/Paging6
-rw-r--r--src/pmchart/views/Schemes6
-rw-r--r--src/pmchart/views/Sendmail10
-rw-r--r--src/pmchart/views/ShpingCPU8
-rw-r--r--src/pmchart/views/ShpingElapsed5
-rw-r--r--src/pmchart/views/Sockets7
-rw-r--r--src/pmchart/views/Swap6
-rw-r--r--src/pmchart/views/Syscalls9
-rw-r--r--src/pmchart/views/vCPU12
28 files changed, 456 insertions, 0 deletions
diff --git a/src/pmchart/views/Apache b/src/pmchart/views/Apache
new file mode 100644
index 0000000..5df9062
--- /dev/null
+++ b/src/pmchart/views/Apache
@@ -0,0 +1,8 @@
+#kmchart
+version 1
+
+chart title "Apache Hit Rate [%h]" style plot legend off
+ plot metric apache.total_accesses
+
+chart title "Apache Data Rate [%h]" style plot legend off
+ plot metric apache.total_kbytes
diff --git a/src/pmchart/views/ApacheServer b/src/pmchart/views/ApacheServer
new file mode 100644
index 0000000..10b01b9
--- /dev/null
+++ b/src/pmchart/views/ApacheServer
@@ -0,0 +1,38 @@
+#kmchart
+version 1
+
+# CPU view
+chart title "CPU Utilization [%h]" style utilization
+ plot legend "User" color #2d2de2 metric kernel.all.cpu.user
+ plot legend "Sys" color #e71717 metric kernel.all.cpu.sys
+ optional-plot legend "Nice" color #c2f3c2 metric kernel.all.cpu.nice
+ optional-plot legend "Intr" color #cdcd00 metric kernel.all.cpu.intr
+ optional-plot legend "Wait" color #00cdcd metric kernel.all.cpu.wait.total
+ optional-plot legend "Steal" color #fba2f5 metric kernel.all.cpu.steal
+ plot legend "Idle" color #16d816 metric kernel.all.cpu.idle
+
+chart title "Average Load [%h]" style plot antialiasing off
+ plot legend "1 min" metric kernel.all.load instance "1 minute"
+ plot legend "# cpus" metric hinv.ncpu
+
+# Netbytes view
+chart title "Network Interface Bytes [%h]" style stacking
+ plot legend "in %i" metric network.interface.in.bytes not-matching "^lo|^sl|^ppp|^sit|^gif|^stf|^wlt|^vmnet|^MS TCP Loopback interface"
+ plot legend "out %i" metric network.interface.out.bytes not-matching "^lo|^sl|^ppp|^sit|^gif|^stf|^wlt|^vmnet|^MS TCP Loopback interface"
+
+chart title "Busy/Idle servers" style plot antialiasing off
+ plot legend "Busy" metric apache.busy_servers
+ plot legend "Idle" metric apache.idle_servers
+
+chart style stacking
+ plot legend "Closing" color #ffff00 metric apache.sb_closing
+ plot legend "DNS" color #0000ff metric apache.sb_dns_lookup
+ plot legend "Finishing" color #ff0000 metric apache.sb_finishing
+ plot legend "Cleanup" color #008000 metric apache.sb_idle_cleanup
+ plot legend "Keepalive" color #ee82ee metric apache.sb_keepalive
+ plot legend "Logging" color #aa5500 metric apache.sb_logging
+ plot legend "Open" color #666666 metric apache.sb_open_slot
+ plot legend "Reading" color #aaff00 metric apache.sb_reading
+ plot legend "Starting" color #aa00ff metric apache.sb_starting
+ plot legend "Waiting" color #aaaa7f metric apache.sb_waiting
+ plot legend "Writing" color #ffff00 metric apache.sb_writing_reply
diff --git a/src/pmchart/views/BusyCPU b/src/pmchart/views/BusyCPU
new file mode 100755
index 0000000..90903da
--- /dev/null
+++ b/src/pmchart/views/BusyCPU
@@ -0,0 +1,164 @@
+#!/bin/sh
+#
+# Dynamic kmchart view for the most busy current processes ... note
+# this is a snapshot at the time the view is instantiated and does
+# not track the busiest processes over time
+#
+# Busy here means CPU consumption
+#
+
+# a token attempt to make this general
+. /etc/pcp.env
+
+tmp=`mktemp -d /var/tmp/pcp.XXXXXXXXX` || exit 1
+trap "rm -rf $tmp; exit" 0 1 2 3 15
+
+# bad stuff ...
+#
+_err()
+{
+ echo "Failed to fetch user mode CPU cycles metrics" >$tmp/msg
+ echo >>$tmp/msg
+ for f in $tmp/err.*
+ do
+ cat $f >>$tmp/msg
+ done
+ echo >>$tmp/msg
+ echo "Sorry, there is nothing to display." >>$tmp/msg
+ pmconfirm >/dev/null \
+ -header "pmchart view construction failure" \
+ -file $tmp/msg \
+ -icon error \
+ -B "OK"
+ exit
+}
+
+# find top 10 consumers of user mode CPU cycles and generate a plot for each
+#
+# top(1) is ill-suited for use in a script, so we have to emulate this
+# using PCP tools as follows:
+# 1. get cummulative user mode CPU cycles for all processes
+# 2. sleep 5 seconds
+# 3. get cummulative user mode CPU cycles for all processes
+# 4. compute delta user mode CPU cycles from 1. and 2.
+# 5. sort and select top 10 processes
+#
+
+# use $tmp/sed to remove this shell and its children from
+# the list of busy processses
+#
+echo "/\[0*$$ /d" >$tmp/sed
+
+# progress notifier while we do our job
+#
+pmquery >/dev/null 2>&1 \
+ -timeout 5 \
+ -header "kmchart view construction" \
+ -t "Finding top CPU burners, please wait 5 seconds ..." &
+query=$!
+echo "/\[0*$query /d" >>$tmp/sed
+
+# deal with alternative metric names ...
+#
+i=0
+fail=true
+for metric in proc.psinfo.utime proc.psusage.utime
+do
+ nval=`pmprobe -if $* $metric 2>&1 \
+ | tee $tmp/err.$i \
+ | $PCP_AWK_PROG '{print $2}'`
+ if [ "$nval" -gt 0 ]
+ then
+ fail=false
+ break
+ fi
+ i=`expr $i + 1`
+done
+if $fail
+then
+ _err
+ #NOTREACHED
+fi
+
+# note arguments from pmchart are nothing or -h host or -a archive
+#
+if pminfo -F $* $metric >$tmp/1 2>$tmp/err.a
+then
+ sleep 5
+ if pminfo -F $* $metric >$tmp/2 2>$tmp/err.b
+ then
+ :
+ else
+ _err
+ #NOTREACHED
+ fi
+else
+ _err
+ #NOTREACHED
+fi
+
+# get pid and user mode CPU cycles usage from lines like
+# inst [8072 or "08072 rlogin gonzo.melbourne "] value 28
+# and turn them into this
+# $tmp/1.list
+# 8072 28
+# $tmp/2.list
+# 8072 28 08072 rlogin gonzo.melbourne
+#
+
+sed -f $tmp/sed $tmp/1 \
+| sed -n -e '/inst \[/{
+s/.*inst \[//
+s/ or .* \([0-9][0-9]*\)$/ \1/p
+}' \
+| sort >$tmp/1.list
+
+sed -n -e '/inst \[/{
+s/.*inst \[//
+s/or "\(.*\)".* \([0-9][0-9]*\)$/\2 \1/p
+}' $tmp/2 \
+| sort >$tmp/2.list
+
+#DEBUG# echo "First list ..." >/tmp/busy.debug
+#DEBUG# cat $tmp/1.list >>/tmp/busy.debug
+#DEBUG# echo "Second list ..." >>/tmp/busy.debug
+#DEBUG# cat $tmp/2.list >>/tmp/busy.debug
+
+join $tmp/1.list $tmp/2.list \
+| $PCP_AWK_PROG '
+$3 > $2 { # this process has consumed some user mode CPU cycles
+ printf "%d",$3-$2
+ for (i = 4; i <= NF; i++) printf " %s",$i
+ print""
+ }' >$tmp/found
+
+if [ ! -s $tmp/found ]
+then
+ # no processes qualify
+ #
+ pmconfirm >/dev/null \
+ -header "pmchart view construction failure" \
+ -t "No qualifying processes were found!" \
+ -icon warning \
+ -B "OK"
+ exit
+fi
+
+# chart preamble
+#
+cat <<End-of-File
+#pmchart
+Version 2.0 host dynamic
+
+Chart Title "Top user mode CPU burners at `date +'%a %b %e %R'`" Style stacking
+End-of-File
+
+# plot specifications, one per process
+#
+
+sort -nr +0 -1 $tmp/found \
+| sed 10q \
+| while read cpuburn inst
+do
+ echo " Plot Color #-cycle Host * Metric $metric Instance $inst"
+done
diff --git a/src/pmchart/views/CPU b/src/pmchart/views/CPU
new file mode 100644
index 0000000..8724505
--- /dev/null
+++ b/src/pmchart/views/CPU
@@ -0,0 +1,11 @@
+#kmchart
+version 1
+
+chart title "CPU Utilization [%h]" style utilization
+ plot legend "User" color #2d2de2 metric kernel.all.cpu.user
+ plot legend "Kernel" color #e71717 metric kernel.all.cpu.sys
+ optional-plot legend "Nice" color #c2f3c2 metric kernel.all.cpu.nice
+ optional-plot legend "Intr" color #cdcd00 metric kernel.all.cpu.intr
+ optional-plot legend "Wait" color #00cdcd metric kernel.all.cpu.wait.total
+ optional-plot legend "Steal" color #fba2f5 metric kernel.all.cpu.steal
+ plot legend "Idle" color #16d816 metric kernel.all.cpu.idle
diff --git a/src/pmchart/views/Cisco b/src/pmchart/views/Cisco
new file mode 100644
index 0000000..fae3416
--- /dev/null
+++ b/src/pmchart/views/Cisco
@@ -0,0 +1,6 @@
+#kmchart
+version 1
+
+chart title "Cisco Data Rate [%h]" style plot
+ plot legend "In %i" metric cisco.rate_in
+ plot legend "Out %i" metric cisco.rate_out
diff --git a/src/pmchart/views/Disk b/src/pmchart/views/Disk
new file mode 100644
index 0000000..a6da4d1
--- /dev/null
+++ b/src/pmchart/views/Disk
@@ -0,0 +1,6 @@
+#kmchart
+version 1
+
+chart title "IOPS over all Disks [%h]" style stacking
+ plot legend "Reads" color yellow metric disk.all.read
+ plot legend "Writes" color violet metric disk.all.write
diff --git a/src/pmchart/views/Diskbytes b/src/pmchart/views/Diskbytes
new file mode 100644
index 0000000..4dcadbe
--- /dev/null
+++ b/src/pmchart/views/Diskbytes
@@ -0,0 +1,6 @@
+#kmchart
+version 1
+
+chart title "Disk Throughput [%h]" style stacking
+ plot legend "Read rate" color yellow metric disk.all.read_bytes
+ plot legend "Write rate" color violet metric disk.all.write_bytes
diff --git a/src/pmchart/views/ElasticsearchServer b/src/pmchart/views/ElasticsearchServer
new file mode 100644
index 0000000..4372c8a
--- /dev/null
+++ b/src/pmchart/views/ElasticsearchServer
@@ -0,0 +1,29 @@
+#kmchart
+version 1
+
+# CPU view
+chart title "CPU Utilization [%h]" style utilization
+ plot legend "User" color #2d2de2 metric kernel.all.cpu.user
+ plot legend "Sys" color #e71717 metric kernel.all.cpu.sys
+ optional-plot legend "Nice" color #c2f3c2 metric kernel.all.cpu.nice
+ optional-plot legend "Intr" color #cdcd00 metric kernel.all.cpu.intr
+ optional-plot legend "Wait" color #00cdcd metric kernel.all.cpu.wait.total
+ optional-plot legend "Steal" color #fba2f5 metric kernel.all.cpu.steal
+ plot legend "Idle" color #16d816 metric kernel.all.cpu.idle
+
+chart title "Average Load [%h]" style plot antialiasing off
+ plot legend "1 min" metric kernel.all.load instance "1 minute"
+ plot legend "# cpus" metric hinv.ncpu
+
+# Query/Fetch per second
+chart title "Searches" style plot antialiasing off
+ plot legend "Query" metric elasticsearch.search.all.total.search.query_total
+ plot legend "Fetch" metric elasticsearch.search.all.total.search.fetch_total
+
+# CPU usage per node
+chart title "CPU %" style plot antialiasing off
+ plot legend "cpu %i" metric elasticsearch.nodes.process.cpu.percent
+
+# Doc count per node
+chart title "Document" style plot antialiasing off
+ plot legend "docs %i" metric elasticsearch.nodes.indices.docs.count \ No newline at end of file
diff --git a/src/pmchart/views/Filesystem b/src/pmchart/views/Filesystem
new file mode 100644
index 0000000..34c587c
--- /dev/null
+++ b/src/pmchart/views/Filesystem
@@ -0,0 +1,5 @@
+#kmchart
+version 1
+
+chart title "File System Fullness % [%h]" style plot
+ plot legend "%i" metric filesys.full not-matching "/dev/shm|/dev$"
diff --git a/src/pmchart/views/GNUmakefile b/src/pmchart/views/GNUmakefile
new file mode 100644
index 0000000..1d6f3f3
--- /dev/null
+++ b/src/pmchart/views/GNUmakefile
@@ -0,0 +1,21 @@
+TOPDIR = ../../..
+include $(TOPDIR)/src/include/builddefs
+
+VIEWDIR = $(PCP_VAR_DIR)/config/pmchart
+VIEWS = CPU Disk Diskbytes Loadavg NFS2 NFS3 Filesystem Memory Netbytes \
+ Netpackets PMCD Syscalls Paging Overview Schemes Sockets Swap \
+ ApacheServer ElasticsearchServer vCPU MemAvailable
+
+LSRCFILES = $(VIEWS)
+
+default build-me:
+
+include $(BUILDRULES)
+
+install: default
+ $(INSTALL) -m 755 -d $(VIEWDIR)
+ $(INSTALL) -m 0444 $(VIEWS) $(VIEWDIR)
+
+default_pcp: default
+
+install_pcp: install
diff --git a/src/pmchart/views/Loadavg b/src/pmchart/views/Loadavg
new file mode 100644
index 0000000..8655205
--- /dev/null
+++ b/src/pmchart/views/Loadavg
@@ -0,0 +1,7 @@
+#kmchart
+version 1
+
+chart title "Load Average [%h]" style plot antialiasing off
+ plot title "1 min" metric kernel.all.load instance "1 minute"
+ plot title "5 min" metric kernel.all.load instance "5 minute"
+ plot title "15 min"metric kernel.all.load instance "15 minute"
diff --git a/src/pmchart/views/MemAvailable b/src/pmchart/views/MemAvailable
new file mode 100644
index 0000000..718a95b
--- /dev/null
+++ b/src/pmchart/views/MemAvailable
@@ -0,0 +1,6 @@
+#kmchart
+version 1
+
+chart title "Memory Available [%h]" style area
+ optional-plot color #00ff00 metric mem.util.available
+ plot color #3549ff metric mem.physmem
diff --git a/src/pmchart/views/Memory b/src/pmchart/views/Memory
new file mode 100644
index 0000000..3c54ad6
--- /dev/null
+++ b/src/pmchart/views/Memory
@@ -0,0 +1,10 @@
+#kmchart
+version 1
+
+chart title "Real Memory Usage [%h]" style stacking
+ # Linux
+ optional-plot color #9cffab metric mem.util.cached
+ optional-plot color #fe68ad metric mem.util.bufmem
+ optional-plot color #ffae2c metric mem.util.other
+ # all
+ plot color #00ff00 metric mem.util.free
diff --git a/src/pmchart/views/NFS2 b/src/pmchart/views/NFS2
new file mode 100644
index 0000000..1d442a7
--- /dev/null
+++ b/src/pmchart/views/NFS2
@@ -0,0 +1,6 @@
+#kmchart
+version 1
+
+chart title "NFS2 Calls [%h]" style plot
+ plot legend "client" metric nfs.client.calls
+ plot legend "server" metric nfs.server.calls
diff --git a/src/pmchart/views/NFS3 b/src/pmchart/views/NFS3
new file mode 100644
index 0000000..807935e
--- /dev/null
+++ b/src/pmchart/views/NFS3
@@ -0,0 +1,6 @@
+#kmchart
+version 1
+
+chart title "NFS3 Calls [%h]" style plot
+ plot legend "client" metric nfs3.client.calls
+ plot legend "server" metric nfs3.server.calls
diff --git a/src/pmchart/views/Netbytes b/src/pmchart/views/Netbytes
new file mode 100644
index 0000000..451faea
--- /dev/null
+++ b/src/pmchart/views/Netbytes
@@ -0,0 +1,6 @@
+#kmchart
+version 1
+
+chart title "Network Interface Bytes [%h]" style stacking
+ plot legend "in %i" metric network.interface.in.bytes not-matching "^lo|^gif|^sl|^sit|^stf|^tun|^wlt|^virbr|^vnet|^vmnet|^MS TCP Loopback interface"
+ plot legend "out %i" metric network.interface.out.bytes not-matching "^lo|^gif|^sl|^sit|^stf|^tun|^wlt|^virbr|^vnet|^vmnet|^MS TCP Loopback interface"
diff --git a/src/pmchart/views/Netpackets b/src/pmchart/views/Netpackets
new file mode 100644
index 0000000..a492b55
--- /dev/null
+++ b/src/pmchart/views/Netpackets
@@ -0,0 +1,6 @@
+#kmchart
+version 1
+
+chart title "Network Interface Packets [%h]" style stacking
+ plot legend "in %i" metric network.interface.in.packets not-matching "^lo|^gif|^sl|^sit|^stf|^tun|^wlt|^virbr|^vnet|^vmnet|^MS TCP Loopback interface"
+ plot legend "out %i" metric network.interface.out.packets not-matching "^lo|^gif|^sl|^sit|^stf|^tun|^wlt|^virbr|^vnet|^vmnet|^MS TCP Loopback interface"
diff --git a/src/pmchart/views/Overview b/src/pmchart/views/Overview
new file mode 100644
index 0000000..a70ed40
--- /dev/null
+++ b/src/pmchart/views/Overview
@@ -0,0 +1,32 @@
+#kmchart
+version 1
+
+# CPU view
+chart title "CPU Utilization [%h]" style utilization
+ plot legend "User" color #2d2de2 metric kernel.all.cpu.user
+ plot legend "Sys" color #e71717 metric kernel.all.cpu.sys
+ optional-plot legend "Nice" color #c2f3c2 metric kernel.all.cpu.nice
+ optional-plot legend "Intr" color #cdcd00 metric kernel.all.cpu.intr
+ optional-plot legend "Wait" color #00cdcd metric kernel.all.cpu.wait.total
+ optional-plot legend "Steal" color #fba2f5 metric kernel.all.cpu.steal
+ plot legend "Idle" color #16d816 metric kernel.all.cpu.idle
+
+chart title "Average Load [%h]" style plot antialiasing off
+ plot legend "1 min" metric kernel.all.load instance "1 minute"
+ plot legend "# cpus" metric hinv.ncpu
+
+# Disk view
+chart title "IOPS over all Disks [%h]" style stacking
+ plot legend "Reads" color yellow metric disk.all.read
+ plot legend "Writes" color violet metric disk.all.write
+
+# Netbytes view
+chart title "Network Interface Bytes [%h]" style stacking
+ plot legend "in %i" metric network.interface.in.bytes not-matching "^lo|^sl|^ppp|^sit|^gif|^stf|^wlt|^vmnet|^MS TCP Loopback interface"
+ plot legend "out %i" metric network.interface.out.bytes not-matching "^lo|^sl|^ppp|^sit|^gif|^stf|^wlt|^vmnet|^MS TCP Loopback interface"
+
+chart title "Real Memory Usage [%h]" style stacking
+ optional-plot color #9cffab metric mem.util.cached
+ optional-plot color #fe68ad metric mem.util.bufmem
+ optional-plot color #ffae2c metric mem.util.other
+ plot color #00ff00 metric mem.util.free
diff --git a/src/pmchart/views/PMCD b/src/pmchart/views/PMCD
new file mode 100644
index 0000000..bd82c56
--- /dev/null
+++ b/src/pmchart/views/PMCD
@@ -0,0 +1,14 @@
+#kmchart
+version 1
+
+chart title "Packets for PMCD [%h]" style stacking
+ plot legend "In" metric pmcd.pdu_in.total
+ plot legend "Out" metric pmcd.pdu_out.total
+
+chart title "CPU Time for PMCD and DSO PMDAs [%h]" style stacking
+ optional-plot legend "User" color #2d2de2 metric proc.psinfo.utime matching "[\\/](pmcd |pmcd$)"
+ optional-plot legend "Sys" color #e71717 metric proc.psinfo.stime matching "[\\/](pmcd |pmcd$)"
+
+chart title "CPU Time for Other PMDAs [%h]" style stacking legend off
+ optional-plot color #2d2de2 metric proc.psinfo.utime matching "[\\/]pmda[a-z]"
+ optional-plot color #e71717 metric proc.psinfo.stime matching "[\\/]pmda[a-z]"
diff --git a/src/pmchart/views/Paging b/src/pmchart/views/Paging
new file mode 100644
index 0000000..39a397c
--- /dev/null
+++ b/src/pmchart/views/Paging
@@ -0,0 +1,6 @@
+#kmchart
+version 1
+
+chart title "VM Activity - Page Migrations [%h]" style plot
+ plot legend "Out" metric swap.pagesout
+ plot legend "In" metric swap.pagesin
diff --git a/src/pmchart/views/Schemes b/src/pmchart/views/Schemes
new file mode 100644
index 0000000..b4c98d3
--- /dev/null
+++ b/src/pmchart/views/Schemes
@@ -0,0 +1,6 @@
+#kmchart
+version 1
+scheme Fire #f2b600 #ede200 #d21005 #e4d904 #f35241
+scheme Nature #b4ff3a #d2954e #069806 #8b5f07 #08ed00
+scheme Neon #ff34f9 #fffb00 #1df0ff #12ff01 #ffc800
+scheme Ocean #f5dd85 #aaf5cb #4790f5 #bdcfcc #12cfa0
diff --git a/src/pmchart/views/Sendmail b/src/pmchart/views/Sendmail
new file mode 100644
index 0000000..faf1f59
--- /dev/null
+++ b/src/pmchart/views/Sendmail
@@ -0,0 +1,10 @@
+#kmchart
+version 1
+
+chart title "Sendmail Bytes [%h]" style plot
+ plot legend "Recv" color #137bfe metric sendmail.total.bytes_from
+ plot legend "Sent" color #fefa1a metric sendmail.total.bytes_to
+
+chart title "Sendmail Mail Items [%h]" style plot
+ plot legend "Recv" color #1e1cfe metric sendmail.total.msgs_from
+ plot legend "Sent" color #fe9913 metric sendmail.total.msgs_to
diff --git a/src/pmchart/views/ShpingCPU b/src/pmchart/views/ShpingCPU
new file mode 100644
index 0000000..a39e808
--- /dev/null
+++ b/src/pmchart/views/ShpingCPU
@@ -0,0 +1,8 @@
+#kmchart
+version 1
+
+chart title "User CPU Time for shping Commands [%h]" style plot
+ plot legend "%i" metric shping.time.cpu_usr
+
+chart title "System CPU Time for shping Commands [%h]" style plot
+ plot legend "%i" metric shping.time.cpu_sys
diff --git a/src/pmchart/views/ShpingElapsed b/src/pmchart/views/ShpingElapsed
new file mode 100644
index 0000000..b83d3c0
--- /dev/null
+++ b/src/pmchart/views/ShpingElapsed
@@ -0,0 +1,5 @@
+#kmchart
+version 1
+
+chart title "shping Response Time [%h]" style plot
+ plot legend "%i" metric shping.time.real
diff --git a/src/pmchart/views/Sockets b/src/pmchart/views/Sockets
new file mode 100644
index 0000000..177b3aa
--- /dev/null
+++ b/src/pmchart/views/Sockets
@@ -0,0 +1,7 @@
+#kmchart
+version 1
+
+chart title "Sockets in Use [%h]" style plot
+ optional-plot legend "TCP" metric network.sockstat.tcp.inuse
+ optional-plot legend "UDP" metric network.sockstat.udp.inuse
+ optional-plot legend "Raw" metric network.sockstat.raw.inuse
diff --git a/src/pmchart/views/Swap b/src/pmchart/views/Swap
new file mode 100644
index 0000000..542636c
--- /dev/null
+++ b/src/pmchart/views/Swap
@@ -0,0 +1,6 @@
+#kmchart
+version 1
+
+chart title "Logical Swap Allocation [%h]" style stacking
+ optional-plot legend "Free" color #16e116 metric swap.free
+ optional-plot legend "Used" color #e71717 metric swap.used
diff --git a/src/pmchart/views/Syscalls b/src/pmchart/views/Syscalls
new file mode 100644
index 0000000..bd260b3
--- /dev/null
+++ b/src/pmchart/views/Syscalls
@@ -0,0 +1,9 @@
+#kmchart
+version 1
+
+chart title "System Calls [%h]" style plot
+ optional-plot legend "All" metric kernel.all.syscall
+ optional-plot legend "exec" metric kernel.all.sysexec
+ optional-plot legend "fork" metric kernel.all.sysfork
+ optional-plot legend "read" metric kernel.all.sysread
+ optional-plot legend "write" metric kernel.all.syswrite
diff --git a/src/pmchart/views/vCPU b/src/pmchart/views/vCPU
new file mode 100644
index 0000000..a45680f
--- /dev/null
+++ b/src/pmchart/views/vCPU
@@ -0,0 +1,12 @@
+#kmchart
+version 1
+
+chart title "CPU and Guest CPU Utilization [%h]" style utilization
+ plot legend "User" color #2d2de2 metric kernel.all.cpu.vuser
+ plot legend "Kernel" color #e71717 metric kernel.all.cpu.sys
+ optional-plot legend "Guest" color #666666 metric kernel.all.cpu.guest
+ optional-plot legend "Nice" color #c2f3c2 metric kernel.all.cpu.nice
+ optional-plot legend "Intr" color #cdcd00 metric kernel.all.cpu.intr
+ optional-plot legend "Wait" color #00cdcd metric kernel.all.cpu.wait.total
+ optional-plot legend "Steal" color #fba2f5 metric kernel.all.cpu.steal
+ plot legend "Idle" color #16d816 metric kernel.all.cpu.idle