Re: [Last-Call] Artart last call review of draft-ietf-alto-performance-metrics-17

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Christian,

We made two changes to address your comments. Please see below.

> > * Allowing decimals into the cost metric identifier introduces a dot which
> >   is reserved as per RFC7285 Section 10.6.
>
> Yes. Correct. From the grammar above, we made sure that we would not
> introduce a dot. We can add a sentence to point out that when choosing the
> base, we should follow this. Should we do this?

I think it'd be easiest (with the grammar or without) to to introduce
the number as a nonnegative integer. (That'd allow dropping mentions of
the minus and exp components).

The idea of making the number following p as a non-negative integer 0..100 is quite interesting.
If we limit the precision to only 2 digits, we are all set. One issue is that we may need higher
precision such as 99.9%. One possibility then is to consider delay-rt:p<y> as the 0.<y>
quantile. For example, delay-rt:p999 is the 99.9%, delay-rt:p01 is the 0.1%. One issue of
this design, however, is that we cannot represent 100% precisely.

As a result, this is the current version to address your comments:

NEW:

percentile, with letter 'p' followed by a number:

      gives the percentile specified by the number following the letter
      'p'.  The number MUST be a non-negative JSON integer in the range
      [0, 100] (i.e., greater than or equal to 0 and less than or equal
      to 100), followed by an optional decimal part, if a higher precision
      is needed.  The decimal part should start with the '.' separator
      (U+002E), and followed by a sequence of one or more ASCII numbers
      between '0' and '9'.  The total length of the cost metric string
      MUST not exceed 32, as required by [RFC7285].  Assume this number
      is y and consider the samples coming from a random variable X.
      Then the metric returns x, such that the probability of X is less
      than or equal to x, i.e., Prob(X <= x), = y/100.  For example,
      delay-ow:p99 gives the 99% percentile of observed one-way delay;
      delay-ow:p99.9 gives the 99.9% percentile.  Note that some systems
      use quantile, which is in the range [0, 1].  When there is a more
      common form for a given percentile, it is RECOMMENDED that the
      common form being used; that is, instead of p0, use min; instead
      of p50, use median; instead of p100, use max.
 
> >   A few words on which statistic can be used with which metric could
> >   also help with bw-maxres. (What does bw-maxres-p50 mean, is it
> >   meaningful at all?)
>
> Mathematically, any percentile of a set of a single value is the value
> itself. But it is indeed a good idea to clarify it. We will add a sentence
> at the end of 2.2
>
> => Note that although one can use generic statistics (i.e., any percentile
> in [0, 100]) and multiple specifications may give the same value, it helps
> to choose the more intuitive and robust definition. For example, when the
> set is expected to be a single value. The max operator is more robust and
> hence recommended.

That sounds more confusing to me (the max operator ... so I should use
bw-maxres-max?); maybe (if correct) something like

| Note that unlike the other metrics, maxres is a single value and not
| sampled over time. Thus, it MUST NOT be specialized with a stat
| indicator, but is to be used in the base form.


After some thinking, we think the best way to address your comments is to introduce
a new statistical operator, and this is a nice fix. Specifically, here is the proposal:

NEW:

2.2.  Performance Metric Statistics

   The measurement of a performance metric often yields a set of samples
   from an observation distribution ([Prometheus]), instead of a single
   value.  A statistical operator is applied to the samples to obtain a
   value to be reported to the client.  Multiple statistical operators
   (e.g., min, median, max) are being used.

   Hence, this document extends the general US-ASCII alphanumeric cost
   metric strings, formally specified as the CostMetric type (defined in
   Section 10.6 of [RFC7285]; see above in the CostType definition), as
   follows:

      A cost metric string consists of a base metric identifier (or base
      identifier for short) string, followed by an optional statistical
      operator string, connected by the ASCII character colon (':',
      U+003A), if the statistical operator string exists.

   Examples of cost metric strings then include "delay-ow", "delay-
   ow:min", "delay-ow:p99", where "delay-ow" is the base metric
   identifier string; "min" and "p99" are example statistical operator
   strings.

   The statistical operator string MUST be one of the following:

   cur:

      the instantaneous observation value of the metric from the most
      recent sample (i.e., the current value).

   percentile, with letter 'p' followed by a number:

   ...

  If a cost metric string does not have the optional statical operator
   string, the statistical operator SHOULD be interpreted as the default
   statical operator in the definition of the base metric.  If the
   definition of the base metric does not provide a definition for the
   default statistical operator, the metric MUST be considered as the
   median value.
"

Then, for the bw-maxres, we have the following:
"4.3.3.  Intended Semantics and Use

   Intended Semantics: To specify spatial and temporal maximum
   reservable bandwidth from the specified source to the specified
   destination.  The value corresponds to the maximum bandwidth that can
   be reserved (motivated from [RFC3630] Section 2.5.7).  The spatial
   aggregation unit is specified in the query context (e.g., PID to PID,
   or endpoint to endpoint).

   The default statical operator for maximum reservable bandwidth is the
   current instantaneous sample; that is, the default is assumed to be
   "cur".

Is the above better?

Thank you so much!
Richard
-- 
last-call mailing list
last-call@xxxxxxxx
https://www.ietf.org/mailman/listinfo/last-call

[Index of Archives]     [IETF Annoucements]     [IETF]     [IP Storage]     [Yosemite News]     [Linux SCTP]     [Linux Newbies]     [Mhonarc]     [Fedora Users]

  Powered by Linux