I've been making various tweaks to the user interface on my machine so that I will like the look and feel better. These tweaks might be of general interest:

1) In the the Cluster View, cluster_view.php does not set the vertical label argument. I copied code from host_view.php which sets this label:

$graphargs .= "z=small&c=$cluster_url&h=$host_url" ."&l=$load_color&v=$val[VAL]&x=$max&n=$min"
                      ."&r=$range&st=$cluster[LOCALTIME]";
+                 if ($val['UNITS']) {
+                    $encodeUnits = rawurlencode($val['UNITS']);
+                    $graphargs .= "&vl=$encodeUnits";
+                 }
+
                }
          }

2) The hostname on my machine is rather long (dhcp-4op13-4op14-west-130-35-182-230.us.oracle.com). Putting this on a graph tends to clutter the graph. In many cases it is obvious from the context what the hostname is. (For example, on the host view page, the host name is displayed on the page.) Thus, I deleted the hostname from various locations in the .php files. I also removed cluster and grid names since that is also available from context.

graph.php:
***************
*** 228,234 ****
           if ($size == "small")
               $prefix = $metricname;
           else
!               $prefix = $hostname;

           $value = $value>1000 ? number_format($value) : number_format($va
lue, 2);

--- 246,252 ----
           if ($size == "small")
               $prefix = $metricname;
           else
!               $prefix = "";

           $value = $value>1000 ? number_format($value) : number_format($va
lue, 2);
***************
*** 265,279 ****
 # Set the graph title.
 if($context == "meta")
    {
!      $title = "$self $meta_designator $style last $range";
    }
 else if ($context == "grid")
   {
!      $title = "$grid $meta_designator $style last $range";
   }
 else if ($context == "cluster")
    {
!       $title = "$clustername $style last $range";
    }
 else
    {
--- 283,297 ----
 # Set the graph title.
 if($context == "meta")
    {
!      $title = "$style last $range";
    }
 else if ($context == "grid")
   {
!      $title = "$style last $range";
   }
 else if ($context == "cluster")
    {
!       $title = "$style last $range";
    }
 else
    {
***************
*** 286,292 ****
         $title = $hostname;
       }
     else if ($style)
!        $title = "$hostname $style last $range";
     else
        $title = $metricname;
    }
--- 304,310 ----
         $title = $hostname;
       }
     else if ($style)
!        $title = "$style last $range";
     else
        $title = $metricname;
    }

3) I hacked the code (and won't show my hacks here) to reorganize the host_view page. I wanted to improve the following:

a) The extra page of "custom" graphs is pretty much too much information. The scale of these graphs varies a lot since there is no upper-limit defined. The information on most of these graphs already exists on the hand-coded custom graphs. If this information is desirable, the way to display this information might be to allow the user to click on a composite graph, and have that pop-up a page on the details for that composite.

b) The graphs are not well organized. I reorganized the graphs into 5 sections: CPU (includes composite cpu graph); load (includes composite load graph and proc_total graph); memory (includes composite memory and swap_free graph), network (includes composite byte and packet graphs); and disk (includes new composite disk space free and total graph and part_max_used graph). [I also have some custom graphs that go into these areas. Roughly, they are memory faulting rates; disk queue length; and network ping latency. As part of this, I provided min/max arguments for some of the graphs (proc_total, swap_free, part_max_used) to make the graphs more intuitive.

Things I didn't tweak:

4) The composite graphs and the custom graphs aren't consistently labeled. The title for the composite graphs is, for example "Memory last hour". The title for a custom graph looks like "swap_free", with the legend saying "last hour (now ...)". If would be nice if the words "last hour" appeared in the same location on both kinds of graph. It would be nice if both kinds of graphs did (or didn't) display current values for the metrics.

5) It would be nice if the gmetric interface were a bit easier to use. I wanted a subroutine library for my daemon and didn't want to spawn a process each time I submitted stats. It was relatively easy to create the necessary construct/destruct/send routines. The link line was slightly more difficult to generate than one would like. The gmetric documentation is out of date. I don't understand the purpose of the tmax and dmax arguments -- the documentation doesn't explain the real purpose of these arguments.

Cheers, Chuck

Reply via email to