[collectd] [PATCH] df plugin also collects inode count now.

Patrik Weiskircher weiskircher at inqnet.at
Thu Oct 1 13:57:10 CEST 2009


---
 src/df.c     |   11 +++++++++--
 src/types.db |    1 +
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/df.c b/src/df.c
index 194c257..739b04a 100644
--- 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);
diff --git a/src/types.db b/src/types.db
index 106de85..1028b9c 100644
--- a/src/types.db
+++ b/src/types.db
@@ -25,6 +25,7 @@ current			value:GAUGE:U:U
 delay			seconds:GAUGE:-1000000:1000000
 derive			value:DERIVE:0:U
 df			used:GAUGE:0:1125899906842623, free:GAUGE:0:1125899906842623
+df_inodes               used:GAUGE:0:1125899906842623, free:GAUGE:0:1125899906842623
 disk_merged		read:COUNTER:0:4294967295, write:COUNTER:0:4294967295
 disk_octets		read:COUNTER:0:17179869183, write:COUNTER:0:17179869183
 disk_ops		read:COUNTER:0:4294967295, write:COUNTER:0:4294967295
-- 
1.5.6.5




More information about the collectd mailing list