On Tue, Nov 29, 2016 at 08:12:28AM +0100, Willy Tarreau wrote:
> So here are a few comments about typos I noticed (irrelevant parts trimmed).
> 
> > diff --git a/doc/management.txt b/doc/management.txt
> > index 4934c575a543..0592fc2da287 100644
> > --- a/doc/management.txt
> > +++ b/doc/management.txt
> > @@ -2220,6 +2234,21 @@ show tls-keys [id|*]
> >    specified as parameter, it will dump the tickets, using * it will dump 
> > every
> >    keys from every references.
> >  
> > +show schema json
> > +  Dump the schema used for the output of "show info json" and "show stat 
> > json".
> > +
> > +  The contains no extra whitespace in order to reduce the volume of output.
> > +  For human consumption passing the output through a pretty printer may be
> > +  helpful. Example :
> > +
> > +  $ echo "show schema json" | socat /var/run/haproxy.sock stdio | \
> > +    python -m json.tool
> > +
> > +  The schema follows "JSON Svhema" (json-schema.org) and accordingly
> 
> s/Svhema/Schema/
> 
> > diff --git a/src/stats.c b/src/stats.c
> > index 8c0e3d688cc8..808ac96da2d9 100644
> > --- a/src/stats.c
> > +++ b/src/stats.c
> > @@ -3262,6 +3262,218 @@ static int stats_dump_info_to_buffer(struct 
> > stream_interface *si)
> (...)
> 
> > +                     "\"tags\":{"
> > +                      "\"type\":\"object\","
> > +                      "\"origin\":{"
> > +                       "\"type\":\"string\","
> > +                       "\"enum\":[\"Metric\",\"Satus\",\"Key\",\"Config\","
> 
> s/Satus/Status/
> 
> > +                                   "\"Product\",""\"Unknown\"]"
> > +                      "},"
> > +                      "\"nature\":{"
> > +                       "\"type\":\"string\","
> > +                       "\"enum\":[\"Gague\",\"Limit\",\"Min\",\"Max\","
> 
> s/Gague/Gauge/

Thanks, I'll fix the typos you highlighted above.

> (...)
> > +                         "\"value\":{"
> > +                          "\"type\":\"integer\","
> > +                          "\"minimum\":0,"
> > +                          "\"maximum\":18446744073709551615"
> 
> That reminds me and old discussion going back to the websocket design
> discussions. Someone said that in java and javascript ints are necessarily
> signed and the largest positive number that can be represented is 2^63-1.
> It might be worth checking if the value above is properly parsed by
> utilities written in such languages or if we'd rather cap it to half of
> its range (anyway we're not expecting to reach 2^63 bytes more often than
> 2^64), it requires 23 years of traffic at 100 Gbps to have that high a
> byte count instead of 46 years, so we have some margin.

I agree this could be a sticky point. I believe the limits are left up
to the implementation. But I'll do a bit of research and see if I can find
a better number.

> > +static int cli_parse_show_schema(char **args, struct appctx *appctx, void 
> > *private)
> > +{
> > +   if (strcmp(args[2], "json") == 0) {
> > +           appctx->ctx.stats.flags |= STAT_FMT_JSON;
> > +   } else  {
> > +           appctx->ctx.cli.msg = "json parameter missing.\n";
> > +           appctx->st0 = CLI_ST_PRINT;
> > +           return 1;
> > +   }
> > +
> > +   return 0;
> > +}
> 
> You can even simplify this one by registering "show", "schema", "json" at
> once as I don't think we'll have any other schema for a while. But it's
> just a matter of taste, I personally have no preference.

Your suggestion sounds more like what I was after. I'll see if I can make
it so.

-- 
Simon Horman                      si...@horms.nl
Horms Solutions BV                  www.horms.nl
Parnassusweg 819, 1082 LZ Amsterdam, Netherlands
Tel: +31 (0)20 800 6155            Skype: horms7

Reply via email to