]> arthur.barton.de Git - netdata.git/blobdiff - charts.d/mem_apps.chart.sh
dns_query_time plugin: replace "." with "_" in dimensions
[netdata.git] / charts.d / mem_apps.chart.sh
old mode 100755 (executable)
new mode 100644 (file)
index cd04672..3bc65fe
@@ -1,11 +1,19 @@
-#!/bin/sh
+# no need for shebang - this file is loaded from charts.d.plugin
 
-mem_apps_apps="netdata asterisk squid apache2 mysqld dovecot cupsd sshd named clamd smbd"
+# netdata
+# real-time performance and health monitoring, done right!
+# (C) 2016 Costa Tsaousis <costa@tsaousis.gr>
+# GPL v3+
+#
+
+mem_apps_apps=
 
 # these are required for computing memory in bytes and cpu in seconds
 #mem_apps_pagesize="`getconf PAGESIZE`"
 #mem_apps_clockticks="`getconf CLK_TCK`"
 
+mem_apps_update_every=
+
 mem_apps_check() {
        # this should return:
        #  - 0 to enable the chart
@@ -13,7 +21,7 @@ mem_apps_check() {
 
        if [ -z "$mem_apps_apps" ]
        then
-               echo >&2 "mem_apps: Please set mem_apps_apps='command1 command2 ...' in $confd/mem_apps_apps.conf"
+               error "manual configuration required: please set mem_apps_apps='command1 command2 ...' in $confd/mem_apps_apps.conf"
                return 1
        fi
        return 0
@@ -23,17 +31,13 @@ mem_apps_bc_finalze=
 
 mem_apps_create() {
 
-       cat <<EOF1
-CHART system.apps '' "Apps Memory" "MB" "mem" "mem" stacked 20000 $update_every
-EOF1
+       echo "CHART chartsd_apps.mem '' 'Apps Memory' MB apps apps.mem stacked 20000 $mem_apps_update_every"
 
        local x=
        for x in $mem_apps_apps
        do
+               echo "DIMENSION $x $x absolute 1 1024"
 
-cat <<EOF1
-DIMENSION $x $x absolute 1 1024
-EOF1
                # this string is needed later in the update() function
                # to finalize the instructions for the bc command
                mem_apps_bc_finalze="$mem_apps_bc_finalze \"SET $x = \"; $x;"
@@ -41,15 +45,14 @@ EOF1
        return 0
 }
 
-mem_apps_egrep="(`echo "$mem_apps_apps" | sed -e "s/^ \+//g" -e "s/ \+$//g" -e "s/ /|/g"`)"
 mem_apps_update() {
        # do all the work to collect / calculate the values
        # for each dimension
        # remember: KEEP IT SIMPLE AND SHORT
 
-       echo "BEGIN system.apps"
-       ps -e -o comm,rss |\
-               egrep "^$mem_apps_egrep " |\
+       echo "BEGIN chartsd_apps.mem"
+       ps -o comm,rss -C "$mem_apps_apps" |\
+               grep -v "^COMMAND" |\
                (       sed -e "s/ \+/ /g" -e "s/ /+=/g";
                        echo "$mem_apps_bc_finalze"
                ) | bc
@@ -57,4 +60,3 @@ mem_apps_update() {
 
        return 0
 }
-