Re: [Ganglia-developers] add "extras" parsing to json graph-definitions
What Alex said. - Logarithmic is universal so that shouldn't be controversial Lower-limit and upper-limits are already implemented. Rigid is something very rrdtool specific so I want to punt on it at this time. Vladimir On Thu, 19 Jul 2012, Alex Dean wrote: > > On Jul 19, 2012, at 9:12 AM, Jeff Buchbinder wrote: > >> On Thu, Jul 19, 2012 at 8:54 AM, Jochen Hein wrote: >>> Vladimir Vuksan writes: >>> I would define a scaling factor or some other variable. I do want to steer away from having tool specific options unless absolutely necessary. >>> >>> I agree that would be a useful goal, I just have no idea what I options >>> I may need for my special problem [see my mail to ganglia-general]. >>> >>> I've had a look at the other PHP-reports. A couple of them pass the >>> option '--rigid' to rddtool. Other used options are --logarithmic and >>> --lower-limit. I've no idea how that could be mapped into json and keep >>> the syntax and the parsing simple. >> >> I'd suggest something like: >> >> "options": { >> "logarithmic": true, >> "rigid": false, >> "lower-limit": 0 >> } >> >> with sensible defaults. If it's ignored by another graphing toolkit, >> that's fine. > > Silently ignoring unsupported options seems like a bad choice to me, because > it makes graph authoring & troubleshooting more difficult. If someone uses an > unsupported option, we should blow up with an informative error message ASAP. > Think about when you've misspelled a configuration option (in any system, not > just gweb), and wasted a lot of time hunting for the cause of the odd results > you see - totally frustrating, and totally preventable. > > More generally: The JSON format should be focused on making the simple & > common cases easy. The format should be small, simple, & easy to use. > Allowing lots of platform-specific options dilutes this value. The PHP route > is still available for the non-trivial cases. If you need RRD-specific > features, then I think PHP is the way to go. > > Presenting platform-specific options in a seemingly platform-agnostic way is > worse. If we are going to support JSON options which are really RRD-specific, > we need to make this clear. > > One suggestion on how to do this (which I don't like as well, but I'll > mention it anyway): Put RRD-specific options into something like > {"rrd-options":"--color --rigid --whatever"}. This at least gives someone > else a clue that the JSON graph is intended only for use with RRD, rather > than leaving it up to gweb to determine how to interpret "logarithmic" or > "rigid" for any graphing platform we want to try supporting. > > alex > -- > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > ___ > Ganglia-developers mailing list > Ganglia-developers@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/ganglia-developers > -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ Ganglia-developers mailing list Ganglia-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ganglia-developers
Re: [Ganglia-developers] add "extras" parsing to json graph-definitions
On Jul 19, 2012, at 9:12 AM, Jeff Buchbinder wrote: > On Thu, Jul 19, 2012 at 8:54 AM, Jochen Hein wrote: >> Vladimir Vuksan writes: >> >>> I would define a scaling factor or some other variable. I do want to >>> steer away from having tool specific options unless absolutely >>> necessary. >> >> I agree that would be a useful goal, I just have no idea what I options >> I may need for my special problem [see my mail to ganglia-general]. >> >> I've had a look at the other PHP-reports. A couple of them pass the >> option '--rigid' to rddtool. Other used options are --logarithmic and >> --lower-limit. I've no idea how that could be mapped into json and keep >> the syntax and the parsing simple. > > I'd suggest something like: > > "options": { > "logarithmic": true, > "rigid": false, > "lower-limit": 0 > } > > with sensible defaults. If it's ignored by another graphing toolkit, > that's fine. Silently ignoring unsupported options seems like a bad choice to me, because it makes graph authoring & troubleshooting more difficult. If someone uses an unsupported option, we should blow up with an informative error message ASAP. Think about when you've misspelled a configuration option (in any system, not just gweb), and wasted a lot of time hunting for the cause of the odd results you see - totally frustrating, and totally preventable. More generally: The JSON format should be focused on making the simple & common cases easy. The format should be small, simple, & easy to use. Allowing lots of platform-specific options dilutes this value. The PHP route is still available for the non-trivial cases. If you need RRD-specific features, then I think PHP is the way to go. Presenting platform-specific options in a seemingly platform-agnostic way is worse. If we are going to support JSON options which are really RRD-specific, we need to make this clear. One suggestion on how to do this (which I don't like as well, but I'll mention it anyway): Put RRD-specific options into something like {"rrd-options":"--color --rigid --whatever"}. This at least gives someone else a clue that the JSON graph is intended only for use with RRD, rather than leaving it up to gweb to determine how to interpret "logarithmic" or "rigid" for any graphing platform we want to try supporting. alex -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ Ganglia-developers mailing list Ganglia-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ganglia-developers
Re: [Ganglia-developers] add "extras" parsing to json graph-definitions
On Thu, Jul 19, 2012 at 8:54 AM, Jochen Hein wrote: > Vladimir Vuksan writes: > >> I would define a scaling factor or some other variable. I do want to >> steer away from having tool specific options unless absolutely >> necessary. > > I agree that would be a useful goal, I just have no idea what I options > I may need for my special problem [see my mail to ganglia-general]. > > I've had a look at the other PHP-reports. A couple of them pass the > option '--rigid' to rddtool. Other used options are --logarithmic and > --lower-limit. I've no idea how that could be mapped into json and keep > the syntax and the parsing simple. I'd suggest something like: "options": { "logarithmic": true, "rigid": false, "lower-limit": 0 } with sensible defaults. If it's ignored by another graphing toolkit, that's fine. Jeff -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ Ganglia-developers mailing list Ganglia-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ganglia-developers
Re: [Ganglia-developers] add "extras" parsing to json graph-definitions
On Thu, Jul 19, 2012 at 8:54 AM, Jochen Hein wrote: > Vladimir Vuksan writes: > >> I would define a scaling factor or some other variable. I do want to >> steer away from having tool specific options unless absolutely >> necessary. > > I agree that would be a useful goal, I just have no idea what I options > I may need for my special problem [see my mail to ganglia-general]. > > I've had a look at the other PHP-reports. A couple of them pass the > option '--rigid' to rddtool. Other used options are --logarithmic and > --lower-limit. I've no idea how that could be mapped into json and keep > the syntax and the parsing simple. Speaking as the one who wrote[1] a good chunk of the original "modular report" code, the idea for for the 'extras' variable is to allow the report writer to make whatever changes to make the graph look the way they want. This includes overriding the default settings. The various options cited, such as --rigid and --logarithmic, are perfect examples. Quoting from graph.php: /* The $extras variable is used for other arguemnts that may not * fit nicely for other reasons. Complicated requests for --color, or adding --ridgid, for example. * It is simply a way for the graph writer to add an arbitrary options when calling rrdtool, and to * forcibly override other settings, since rrdtool will use the last version of an option passed. */ Note that this *predates* JSON support, and when I wrote the code, there had been zero mention of any other backends other than rrdtool. It's worth nothing that a lot, perhaps even "most", of the graphing code is rrdtool specific. However, I don't see any particular reason why the JSON code in graph.php should not make use of the 'extras' graph variable. Short of re-writing the "graphing API" (so to speak), this seems a reasonable solution in the short term. I agree with Vladimir that something generic is preferable, but I expect that something "sufficiently generic" won't be much use. We'll have a data structure that includes a handful of values for "title", "x/y label", and a massive string or array of "all_the_other_options_for_this_graph_type". [1] Or "screwed up horribly," take your pick. -- Jesse Becker -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ Ganglia-developers mailing list Ganglia-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ganglia-developers
Re: [Ganglia-developers] add "extras" parsing to json graph-definitions
I would define a scaling factor or some other variable. I do want to steer away from having tool specific options unless absolutely necessary. Vladimir On Wed, 18 Jul 2012, Jeff Buchbinder wrote: > On Wed, Jul 18, 2012 at 9:55 AM, Vladimir Vuksan wrote: >> I don't like it. It's rrdtool specific. I want something a little bit more >> generic that gets translated to rrdtool commands. > > Eventual suggestion: we define a function to convert between whatever > extras format we're using and target rendering tools. It's probably a > good idea to have it be an array rather than just plain text. -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ Ganglia-developers mailing list Ganglia-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ganglia-developers
Re: [Ganglia-developers] add "extras" parsing to json graph-definitions
On Wed, Jul 18, 2012 at 9:55 AM, Vladimir Vuksan wrote: > I don't like it. It's rrdtool specific. I want something a little bit more > generic that gets translated to rrdtool commands. Eventual suggestion: we define a function to convert between whatever extras format we're using and target rendering tools. It's probably a good idea to have it be an array rather than just plain text. Jeff -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ Ganglia-developers mailing list Ganglia-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ganglia-developers
Re: [Ganglia-developers] add "extras" parsing to json graph-definitions
I don't like it. It's rrdtool specific. I want something a little bit more generic that gets translated to rrdtool commands. Vladimir On Wed, 18 Jul 2012, Jeff Buchbinder wrote: > On Wed, Jul 18, 2012 at 5:06 AM, Jochen Hein wrote: >> Hi, >> >> I'm working on getting ganglia to display correct units for one >> custom graph. One of the first tries was to give some extra option >> to rrdtools. >> >> When using php-graphs, this is done via $rrdtool_graph[ 'extras' ], >> but there is nothing for json graphs. >> >> That simple patch (against 3.4.2) should fix that: >> >> --- ganglia/graph.php.orig 2012-07-17 16:25:37.0 +0200 >> +++ ganglia/graph.php 2012-07-18 10:44:45.0 +0200 >> @@ -28,6 +28,7 @@ >> sanitize( $graph_config[ 'vertical_label' ] ); >> } >> >> + $rrdtool_graph[ 'extras' ] = $graph_config[ 'extras' ]; >> $rrdtool_graph['lower-limit'] = '0'; >> >> if( isset($graph_config['height_adjustment']) ) { >> >> Jochen > > I'll apply that patch to the tree. > > Thanks! > Jeff > > -- > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > ___ > Ganglia-developers mailing list > Ganglia-developers@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/ganglia-developers > -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ Ganglia-developers mailing list Ganglia-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ganglia-developers
Re: [Ganglia-developers] add "extras" parsing to json graph-definitions
On Wed, Jul 18, 2012 at 5:06 AM, Jochen Hein wrote: > Hi, > > I'm working on getting ganglia to display correct units for one > custom graph. One of the first tries was to give some extra option > to rrdtools. > > When using php-graphs, this is done via $rrdtool_graph[ 'extras' ], > but there is nothing for json graphs. > > That simple patch (against 3.4.2) should fix that: > > --- ganglia/graph.php.orig 2012-07-17 16:25:37.0 +0200 > +++ ganglia/graph.php 2012-07-18 10:44:45.0 +0200 > @@ -28,6 +28,7 @@ > sanitize( $graph_config[ 'vertical_label' ] ); > } > > + $rrdtool_graph[ 'extras' ] = $graph_config[ 'extras' ]; > $rrdtool_graph['lower-limit'] = '0'; > > if( isset($graph_config['height_adjustment']) ) { > > Jochen I'll apply that patch to the tree. Thanks! Jeff -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ Ganglia-developers mailing list Ganglia-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ganglia-developers
[Ganglia-developers] add "extras" parsing to json graph-definitions
Hi, I'm working on getting ganglia to display correct units for one custom graph. One of the first tries was to give some extra option to rrdtools. When using php-graphs, this is done via $rrdtool_graph[ 'extras' ], but there is nothing for json graphs. That simple patch (against 3.4.2) should fix that: --- ganglia/graph.php.orig 2012-07-17 16:25:37.0 +0200 +++ ganglia/graph.php 2012-07-18 10:44:45.0 +0200 @@ -28,6 +28,7 @@ sanitize( $graph_config[ 'vertical_label' ] ); } + $rrdtool_graph[ 'extras' ] = $graph_config[ 'extras' ]; $rrdtool_graph['lower-limit'] = '0'; if( isset($graph_config['height_adjustment']) ) { Jochen -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ Ganglia-developers mailing list Ganglia-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ganglia-developers