On Nov 19, 2014, at 12:17 PM, Joshua M. Clulow <j...@sysmgr.org> wrote:

> On 19 November 2014 11:56, Richard Elling
> <richard.ell...@richardelling.com> wrote:
>> On Nov 19, 2014, at 11:42 AM, Yacine Kheddache <yacine.khedda...@alyseo.com>
>> wrote:
>>> I really do not understand why you guys would like to change this (I mean
>>> between standard output and json output) ?
>>> Cause today everybody is parsing standard output which mean you are already
>>> using "-p" arg to display used info in bytes... correct ?
> 
> The combination of the "-H" and "-p" flags is currently the most
> reliable way to get something parseable out of zfs(1M).  But these are
> basically bolt-on flags, added to bend the human-readable output of
> operator tools into something slightly more useful for programmatic
> consumption.
> 
> Adding JSON support to the tooling is a great idea, precisely because
> it allows us to specify (and commit to supporting) a well-defined
> output format where programmatic consumption is the primary goal.
> This format should consist of the best machine-readable representation
> of the data that we can provide.
> 
> We should be able to publish a specification document that precisely
> describes the parts of the format that we are committing to, so that
> engineers can reliably consume this output in their own code.  For
> example, here is a basic specification for an unrelated JSON-based
> format:
> 
>  http://eng.joyent.com/usage/format_hf4.html
> 
> Note that it precisely describes the physical structure of the data
> (Line-delimited JSON), the names of the keys that we are committing to
> provide and the data type and structure of each value.
> 
> Going one step further, we could also provide a JSON Schema[1], akin
> to an XML Document Type Definition.  The output of zfs(1M) could then
> be validated mechanically against this schema in test suites, to
> ensure that we don't break the committed output format.
> 
> [1] http://tools.ietf.org/html/draft-zyp-json-schema-03

I find orderly to be much easier to use and can automatically generate JSON 
schema.
http://orderly-json.org/


> 
>>> So why you can not simply use "-p" with "-J" instead of creating (which is
>>> my main point here in fact) a diff between standard output
>>> and json output ? In addition is also mean with your suggestion that when
>>> using "-J" no one can use the human readable output anymore if they want...
>> Correct, the JSON is consumed by automation, not humans
> 
> Right.  The JSON output format should be rigidly defined, as much as
> possible.  The combination of flags used to produce the JSON data
> should not have to be a consideration when consuming it.  This enables
> engineers to consume it reliably in software that needs to run across
> all of the platforms that support OpenZFS, well into the future.

+1
 -- richard

> 
> 
> Cheers.
> 
> -- 
> Joshua M. Clulow
> UNIX Admin/Developer
> http://blog.sysmgr.org

_______________________________________________
developer mailing list
developer@open-zfs.org
http://lists.open-zfs.org/mailman/listinfo/developer

Reply via email to