Hi, Marko -
> [...]
> My initial findings based few quick tests were:
Thanks for giving it a go!
> [...]
> - PCP+Graphite worked ok but there was a usability issue: if you want to
> graph a period which is scattered in several archives then clicking
> through all of them (especially if adding several metrics) quickly get
> tedious. I'm not very familiar with Graphite so I don't know whether
> there would be a way to avoid this there.
To some extent, this is fallout from the pcp tradition of dividing up
archives into fixed 24-hour slices. (There was controversy back when
pmmgr defaulted to maintaining much longer ones.) This fallout will
be solved before too long by teaching libpcp to virtually glue
together peer archives automagically, so a directory name will be used
to refer to the whole archived timeframe. pmwebd will easily inherit
the improvement.
Before all that, we can take advantage of the graphite wildcarding
facilities. Metric names can contain *, which refers to the union of
matching metrics. So e.g. in graphlot or the graphite browser
subwindow ("Graph Data") where you edit metric names, type
*SUBSTRING*.FOO.BAR
to get all the archives containing SUBSTRING rendered together.
Natural candidates for SUBSTRING would include partial host names
or timestamp MMDD substrings.
> - PCP+Grafana looked nice (requires cookies to be enabled) but few
> times I saw my Firefox 24 ESR to become completely unresponsive for
> a period of time, both firefox and pmwebd were using 100% CPU at
> that time. [...]
Using the javascript-side rendering can indeed be cpu-hungry, when
many graphs are being pulled in. The default.json configuration
includes two broad-archive-wildcard panels, so if your pmmgr -A
parameter referred to a large directory tree, then many many time
series will be sent to javascript for rendering.
A possible change to the grafana default would be to use server-side
PNG rendering. All that takes is editing
jsdemos/grafana/app/dashboards/default.json
to add
"renderer":"png",
into each object in the "panels":[ { ... } ] array. This can also be
done from the web gui (edit graph; "Display Styles";
"Rendering"="Graphite PNG"). The downside is that pmwebd's PNG
rendering is not as pretty, and grafana loses that super-easy
drag-to-zoom interaction over the image.
Another possible change would be to have a less impressive
default.json dashboard in other ways, maybe cutting down from two
graphs to one, or restricting it to a smaller timeframe, or something
like that.
- FChE
|