Code

df plugin also collects inode count now.
authorPatrik Weiskircher <weiskircher@inqnet.at>
Thu, 1 Oct 2009 11:57:10 +0000 (13:57 +0200)
committerFlorian Forster <octo@huhu.verplant.org>
Fri, 2 Oct 2009 06:16:42 +0000 (08:16 +0200)
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
src/df.c
src/types.db

index 194c25730107f43149d6ea9f273ef24f74a19d45..54f70ef996a3bc93298eebbd1de5d7a91b593349 100644 (file)
--- a/src/df.c
+++ b/src/df.c
@@ -122,6 +122,7 @@ static int df_config (const char *key, const char *value)
 }
 
 static void df_submit (char *df_name,
+               const char *type,
                gauge_t df_used,
                gauge_t df_free)
 {
@@ -136,7 +137,7 @@ static void df_submit (char *df_name,
        sstrncpy (vl.host, hostname_g, sizeof (vl.host));
        sstrncpy (vl.plugin, "df", sizeof (vl.plugin));
        sstrncpy (vl.plugin_instance, "", sizeof (vl.plugin_instance));
-       sstrncpy (vl.type, "df", sizeof (vl.host));
+       sstrncpy (vl.type, type, sizeof (vl.host));
        sstrncpy (vl.type_instance, df_name, sizeof (vl.type_instance));
 
        plugin_dispatch_values (&vl);
@@ -156,6 +157,8 @@ static int df_read (void)
        unsigned long long blocksize;
        gauge_t df_free;
        gauge_t df_used;
+       gauge_t df_inodes_free;
+       gauge_t df_inodes_used;
        char disk_name[256];
 
        mnt_list = NULL;
@@ -190,6 +193,9 @@ static int df_read (void)
                df_free = statbuf.f_bfree * blocksize;
                df_used = (statbuf.f_blocks - statbuf.f_bfree) * blocksize;
 
+               df_inodes_used = statbuf.f_files - statbuf.f_ffree;
+               df_inodes_free = statbuf.f_ffree;
+
                if (by_device) 
                {
                        /* eg, /dev/hda1  -- strip off the "/dev/" */
@@ -223,7 +229,8 @@ static int df_read (void)
                        }
                }
 
-               df_submit (disk_name, df_used, df_free);
+               df_submit (disk_name, "df", df_used, df_free);
+               df_submit (disk_name, "df_inodes", df_inodes_used, df_inodes_free);
        }
 
        cu_mount_freelist (mnt_list);
index 960674c00c68a3f0a5c41bca8ea2774329dc5244..10e15974b630f5487d040a853bbbc2526090b86b 100644 (file)
@@ -27,6 +27,7 @@ delay                 seconds:GAUGE:-1000000:1000000
 derive                 value:DERIVE:0:U
 df                     used:GAUGE:0:1125899906842623, free:GAUGE:0:1125899906842623
 df_complex             value:GAUGE:0:U
+df_inodes              used:GAUGE:0:1125899906842623, free:GAUGE:0:1125899906842623
 disk_latency           read:GAUGE:0:U, write:GAUGE:0:U
 disk_merged            read:COUNTER:0:4294967295, write:COUNTER:0:4294967295
 disk_octets            read:COUNTER:0:17179869183, write:COUNTER:0:17179869183