Advertisement
Guest User

Untitled

a guest
Feb 6th, 2012
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 2.77 KB | None | 0 0
  1. diff --git a/src/df.c b/src/df.c
  2. index 371a7fc..c3d08f8 100644
  3. --- a/src/df.c
  4. +++ b/src/df.c
  5. @@ -139,21 +139,26 @@ static int df_config (const char *key, const char *value)
  6.  __attribute__ ((nonnull(2)))
  7.  static void df_submit_one (char *plugin_instance,
  8.         const char *type, const char *type_instance,
  9. -       gauge_t value)
  10. +              gauge_t value, gauge_t percent)
  11.  {
  12. -   value_t values[1];
  13. +   value_t values[2];
  14.     value_list_t vl = VALUE_LIST_INIT;
  15.  
  16.     values[0].gauge = value;
  17. +   values[1].gauge = percent;
  18.  
  19.     vl.values = values;
  20. -   vl.values_len = 1;
  21. +   vl.values_len = STATIC_ARRAY_SIZE (values);
  22. +
  23.     sstrncpy (vl.host, hostname_g, sizeof (vl.host));
  24.     sstrncpy (vl.plugin, "df", sizeof (vl.plugin));
  25. +
  26.     if (plugin_instance != NULL)
  27.         sstrncpy (vl.plugin_instance, plugin_instance,
  28.                 sizeof (vl.plugin_instance));
  29. +
  30.     sstrncpy (vl.type, type, sizeof (vl.type));
  31. +
  32.     if (type_instance != NULL)
  33.         sstrncpy (vl.type_instance, type_instance,
  34.                 sizeof (vl.type_instance));
  35. @@ -271,11 +276,14 @@ static int df_read (void)
  36.         blk_used     = (uint64_t) (statbuf.f_blocks - statbuf.f_bfree);
  37.  
  38.         df_submit_one (disk_name, "df_complex", "free",
  39. -               (gauge_t) (blk_free * blocksize));
  40. +                  (gauge_t) (blk_free * blocksize), (gauge_t) ((double) blk_free / (double) statbuf.f_blocks * 100));
  41.         df_submit_one (disk_name, "df_complex", "reserved",
  42. -               (gauge_t) (blk_reserved * blocksize));
  43. +                  (gauge_t) (blk_reserved * blocksize), (gauge_t) 0);
  44.         df_submit_one (disk_name, "df_complex", "used",
  45. -               (gauge_t) (blk_used * blocksize));
  46. +                  (gauge_t) (blk_used * blocksize), (gauge_t) 0);
  47. +
  48. +
  49. +
  50.  
  51.         /* inode handling */
  52.         if (report_inodes)
  53. @@ -295,11 +303,11 @@ static int df_read (void)
  54.             inode_used = (uint64_t) (statbuf.f_files - statbuf.f_ffree);
  55.            
  56.             df_submit_one (disk_name, "df_inodes", "free",
  57. -                   (gauge_t) inode_free);
  58. +                      (gauge_t) inode_free, (gauge_t) 0);
  59.             df_submit_one (disk_name, "df_inodes", "reserved",
  60. -                   (gauge_t) inode_reserved);
  61. +                      (gauge_t) inode_reserved, (gauge_t) 0);
  62.             df_submit_one (disk_name, "df_inodes", "used",
  63. -                   (gauge_t) inode_used);
  64. +                      (gauge_t) inode_used, (gauge_t) 0);
  65.         }
  66.     }
  67.  
  68. diff --git a/src/types.db b/src/types.db
  69. index e6345ab..3e088d3 100644
  70. --- a/src/types.db
  71. +++ b/src/types.db
  72. @@ -26,8 +26,8 @@ current_sessions  value:GAUGE:0:U
  73.  current            value:GAUGE:U:U
  74.  delay          value:GAUGE:-1000000:1000000
  75.  derive         value:DERIVE:0:U
  76. -df_complex     value:GAUGE:0:U
  77. -df_inodes      value:GAUGE:0:U
  78. +df_complex     value:GAUGE:0:U, percent:GAUGE:0:100
  79. +df_inodes      value:GAUGE:0:U, percent:GAUGE:0:100
  80.  df         used:GAUGE:0:1125899906842623, free:GAUGE:0:1125899906842623
  81.  disk_latency       read:GAUGE:0:U, write:GAUGE:0:U
  82.  disk_merged        read:DERIVE:0:U, write:DERIVE:0:U
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement