gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r14536 - in gauger: . css


From: gnunet
Subject: [GNUnet-SVN] r14536 - in gauger: . css
Date: Thu, 24 Feb 2011 21:51:15 +0100

Author: bartpolot
Date: 2011-02-24 21:51:15 +0100 (Thu, 24 Feb 2011)
New Revision: 14536

Modified:
   gauger/README
   gauger/css/style.css
   gauger/explore.php
   gauger/gauger-cli.py
   gauger/gauger.h
Log:
Changed data storage to allow categories of metrics


Modified: gauger/README
===================================================================
--- gauger/README       2011-02-24 18:23:29 UTC (rev 14535)
+++ gauger/README       2011-02-24 20:51:15 UTC (rev 14536)
@@ -86,26 +86,32 @@
 
  * Client
    * Command line
-    invoke with ./gauger-cli.py -n COUNTER_NAME -d COUNTER_VALUE -u unit [-i 
ID]
-    Run ./gauger-cli.py -h for full help
+    invoke with ./gauger-cli.py -c CATEGORY -n COUNTER_NAME -d COUNTER_VALUE 
-u UNIT
+    Run ./gauger-cli.py -h for full help and additional options
    * C program
      * Include "gauger.h"
-     * Call the macro GAUGER("COUNTER_NAME", COUNTER_VALUE, "COUNTER_UNIT")
+     * Call the macro GAUGER("CATEGORY", "COUNTER_NAME", COUNTER_VALUE, 
"COUNTER_UNIT")
        to obtain the ID for the data from the svn repository
       or
-     * Call the macro GAUGER_ID("COUNTER_NAME", COUNTER_VALUE, "COUNTER_UNIT", 
"ID")
+     * Call the macro GAUGER_ID("CATEGORY", "COUNTER_NAME", COUNTER_VALUE, 
"COUNTER_UNIT", "ID")
        to explicitly specify the ID for the data
      * Example:
 
         #include <gauger.h>
 
         int main(int argc, char *argv[]) {
-            GAUGER("counter1", 100, "kb/s")
-            GAUGER_ID("temperature", 50, "C", "365")
+            GAUGER("", "counter1", 100, "")
+            GAUGER("performance", "network bandwidth", 100, "kb/s")
+            GAUGER_ID("meteo", "temperature", 50, "C", "365")
             return 0;
         }
 
+   * Limitations:
+    Since the data is stored on plaintext files, category and unit are encoded 
in the name
+    of the files themselves. Therefore, using ':::' or '___' in the name, 
category or unit
+    fields can cause problems visualizing the data in the web interface.
 
+
 Dependencies
 ============
  

Modified: gauger/css/style.css
===================================================================
--- gauger/css/style.css        2011-02-24 18:23:29 UTC (rev 14535)
+++ gauger/css/style.css        2011-02-24 20:51:15 UTC (rev 14536)
@@ -126,6 +126,7 @@
     float:              left;
     padding:            5px;
     width:              135px;
+    margin-right:       5px;
 }
 
 .menu ul {

Modified: gauger/explore.php
===================================================================
--- gauger/explore.php  2011-02-24 18:23:29 UTC (rev 14535)
+++ gauger/explore.php  2011-02-24 20:51:15 UTC (rev 14536)
@@ -24,17 +24,31 @@
 
 function get_counter_name($s) {
     $s = str_replace('-SLASH-', '/', $s);
-    return preg_replace('/([^_]+).*/', '\1', $s);
+    if(($b = strpos($s, ':::')) !== FALSE)
+        $b += 3;
+    else
+        $b = 0;
+    if(($e = strpos($s, '___')) === FALSE)
+        return substr($s, $b);
+    return substr($s, $b, $e-$b);
 }
 
 function get_counter_unit($s) {
     $s = str_replace('-SLASH-', '/', $s);
-    if(strpos($s, '_') !== FALSE)
-        return preg_replace('/.+_([^_]+)/', '\1', $s);
+    if(($b = strpos($s, '___')) !== FALSE)
+        return substr($s, $b+3);
     else
         return "";
 }
 
+function get_counter_category($s) {
+    $s = str_replace('-SLASH-', '/', $s);
+    if(($b = strpos($s, ':::')) !== FALSE)
+        return substr($s, 0, $b);
+    else
+        return "";
+}
+
 function get_range_global() {
     global $DATADIR;
     $f = fopen($DATADIR.'global_range.dat', 'r');
@@ -90,6 +104,7 @@
         }
     }
 }
+asort(&$metrics);
 $d->close();
 // echo '<pre>';
 // print_r(parse_ini_file("gauger.conf"));

Modified: gauger/gauger-cli.py
===================================================================
--- gauger/gauger-cli.py        2011-02-24 18:23:29 UTC (rev 14535)
+++ gauger/gauger-cli.py        2011-02-24 20:51:15 UTC (rev 14536)
@@ -49,6 +49,8 @@
         help="identifier of the data, default: svn revision")
     parser.add_argument('-n', '--name', required=True,
         help="name of the counter")
+    parser.add_argument('-c', '--category', required=True,
+        help="category under which the counter will appear")
     parser.add_argument('-d', '--data', required=True,
         help="value of the data itself")
     parser.add_argument('-u', '--unit',
@@ -84,7 +86,10 @@
   exit(1)
 
 if(args.unit):
-    args.name = args.name + "_" + args.unit
+    args.name = args.name + "___" + args.unit
+    
+if(args.category):
+    args.name = args.category + ":::" + args.name
 
 port = 10111
 if (remotehost.count(':') == 1):

Modified: gauger/gauger.h
===================================================================
--- gauger/gauger.h     2011-02-24 18:23:29 UTC (rev 14535)
+++ gauger/gauger.h     2011-02-24 20:51:15 UTC (rev 14536)
@@ -15,8 +15,8 @@
 #include <stdio.h>
 #include <sys/wait.h>
 
-#define GAUGER(counter, value, unit) {char* __gauger_v[8];char 
__gauger_s[32];pid_t __gauger_p; 
if(!(__gauger_p=fork())){if(!fork()){sprintf(__gauger_s,"%llu", (unsigned long 
long) (value));__gauger_v[0] = "gauger-cli.py";__gauger_v[1] = 
"-n";__gauger_v[2] = counter;__gauger_v[3] = "-d";__gauger_v[4] = 
__gauger_s;__gauger_v[5] = "-u";__gauger_v[6] = unit;__gauger_v[7] = (char 
*)NULL;execvp("gauger-cli.py",__gauger_v);perror("gauger");_exit(1);}else{_exit(0);}}else{waitpid(__gauger_p,NULL,0);}}
+#define GAUGER(category, counter, value, unit) {char* __gauger_v[10];char 
__gauger_s[32];pid_t __gauger_p; 
if(!(__gauger_p=fork())){if(!fork()){sprintf(__gauger_s,"%llu", (unsigned long 
long) (value));__gauger_v[0] = "gauger-cli.py";__gauger_v[1] = 
"-n";__gauger_v[2] = counter;__gauger_v[3] = "-d";__gauger_v[4] = 
__gauger_s;__gauger_v[5] = "-u";__gauger_v[6] = unit;__gauger_v[7] = 
"-c";__gauger_v[8] = category;__gauger_v[9] = (char 
*)NULL;execvp("gauger-cli.py",__gauger_v);perror("gauger");_exit(1);}else{_exit(0);}}else{waitpid(__gauger_p,NULL,0);}}
 
-#define GAUGER_ID(counter, value, unit, id) {char* __gauger_v[10];char 
__gauger_s[32];pid_t __gauger_p; 
if(!(__gauger_p=fork())){if(!fork()){sprintf(__gauger_s,"%llu", (unsigned long 
long) (value));__gauger_v[0] = "gauger-cli.py";__gauger_v[1] = 
"-n";__gauger_v[2] = counter;__gauger_v[3] = "-d";__gauger_v[4] = 
__gauger_s;__gauger_v[5] = "-u";__gauger_v[6] = unit;__gauger_v[7] = 
"-i";__gauger_v[8] = id;__gauger_v[9] = (char 
*)NULL;execvp("gauger-cli.py",__gauger_v);perror("gauger");_exit(1);}else{_exit(0);}}else{waitpid(__gauger_p,NULL,0);}}
+#define GAUGER_ID(category, counter, value, unit, id) {char* 
__gauger_v[12];char __gauger_s[32];pid_t __gauger_p; 
if(!(__gauger_p=fork())){if(!fork()){sprintf(__gauger_s,"%llu", (unsigned long 
long) (value));__gauger_v[0] = "gauger-cli.py";__gauger_v[1] = 
"-n";__gauger_v[2] = counter;__gauger_v[3] = "-d";__gauger_v[4] = 
__gauger_s;__gauger_v[5] = "-u";__gauger_v[6] = unit;__gauger_v[7] = 
"-i";__gauger_v[8] = id;__gauger_v[9] = "-c";__gauger_v[10] = 
category;__gauger_v[11] = (char 
*)NULL;execvp("gauger-cli.py",__gauger_v);perror("gauger");_exit(1);}else{_exit(0);}}else{waitpid(__gauger_p,NULL,0);}}
 
 #endif




reply via email to

[Prev in Thread] Current Thread [Next in Thread]