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