Registry for Performance
MetricsUniversidad Carlos III de
MadridAv. Universidad 30LeganesMadrid28911SPAIN34 91 6249500marcelo@it.uc3m.eshttp://www.it.uc3m.esCisco Systems,
Inc.De Kleetlaan 6a b11831 DiegemBelgiumbclaise@cisco.comBTAdastral Park, Martlesham HeathIpswichENGLANDphilip.eardley@bt.comAT&T Labs200 Laurel Avenue SouthMiddletown, NJUSAacmorton@att.comConsultant118 Timber HitchCaryNCUSAaakhter@gmail.comThis document defines the format for the Performance Metrics registry
and defines the IANA Registry for Performance Metrics. This document
also gives a set of guidelines for Registered Performance Metric
requesters and reviewers.The IETF specifies and uses Performance Metrics of protocols and
applications transported over its protocols. Performance metrics are
such an important part of the operations of IETF protocols that specifies guidelines for their development.The definition and use of Performance Metrics in the IETF happens in
various working groups (WG), most notably: The "IP Performance Metrics" (IPPM) WG is the WG primarily
focusing on Performance Metrics definition at the IETF.The "Metric Blocks for use with RTCP's Extended Report Framework"
(XRBLOCK) WG recently specified many Performance Metrics related to
"RTP Control Protocol Extended Reports (RTCP XR)" , which establishes a framework to allow new
information to be conveyed in RTCP, supplementing the original
report blocks defined in "RTP: A Transport Protocol for Real-Time
Applications", .The "Benchmarking Methodology" WG (BMWG) defined many Performance
Metrics for use in laboratory benchmarking of inter-networking
technologies.The "IP Flow Information eXport" (IPFIX) concluded WG specified
an IANA process for new Information Elements. Some Performance
Metrics related Information Elements are proposed on regular
basis.The "Performance Metrics for Other Layers" (PMOL) concluded WG,
defined some Performance Metrics related to Session Initiation
Protocol (SIP) voice quality .It is expected that more Performance Metrics will be defined in the
future, not only IP-based metrics, but also metrics which are
protocol-specific and application-specific.However, despite the importance of Performance Metrics, there are two
related problems for the industry. First, how to ensure that when one
party requests another party to measure (or report or in some way act
on) a particular Performance Metric, then both parties have exactly the
same understanding of what Performance Metric is being referred to.
Second, how to discover which Performance Metrics have been specified,
so as to avoid developing new Performance Metric that is very similar,
but not quite inter-operable. The problems can be addressed by creating
a registry of performance metrics. The usual way in which IETF organizes
namespaces is with Internet Assigned Numbers Authority (IANA)
registries, and there is currently no Performance Metrics Registry
maintained by the IANA.This document therefore requests that IANA create and maintain a
Performance Metrics Registry, according to the maintenance procedures
and the Performance Metrics Registry format defined in this memo.
Although the Registry format is primarily for use by IANA, any other
organization that wishes to create a Performance Metrics Registry MAY
use the same format for their purposes. The authors make no guarantee of
the format's applicability to any possible set of Performance Metrics
envisaged by other organizations, but encourage others to apply it. In
the remainder of this document, unless we explicitly say so, we will
refer to the IANA-maintained Performance Metrics Registry as simply the
Performance Metrics Registry.The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in .A Performance Metric is a
quantitative measure of performance, targeted to an IETF-specified
protocol or targeted to an application transported over an
IETF-specified protocol. Examples of Performance Metrics are the FTP
response time for a complete file download, the DNS response time to
resolve the IP address, a database logging time, etc. This
definition is consistent with the definition of metric in and broader than the definition of performance
metric in .A Registered
Performance Metric is a Performance Metric expressed as an entry in
the Performance Metric Registry, administered by IANA. Such a
performance metric has met all the registry review criteria defined
in this document in order to included in the registry.The IANA registry
containing Registered Performance Metrics.A set of metrics that are
registered in a proprietary registry, as opposed to Performance
Metrics Registry.The Performance Metrics
Experts is a group of designated experts
selected by the IESG to validate the Performance Metrics before
updating the Performance Metrics Registry. The Performance Metrics
Experts work closely with IANA.An input factor defined as a variable in
the definition of a Performance Metric. A numerical or other
specified factor forming one of a set that defines a metric or sets
the conditions of its operation. All Parameters must be known to
measure using a metric and interpret the results. There are two
types of Parameters, Fixed and Run-time parameters. For the Fixed
Parameters, the value of the variable is specified in the
Performance Metrics Registry entry and different Fixed Parameter
values results in different Registered Performance Metrics. For the
Run-time Parameters, the value of the variable is defined when the
metric measurement method is executed and a given Registered
Performance Metric supports multiple values for the parameter.
Although Run-time Parameters do not change the fundamental nature of
the Performance Metric's definition, some have substantial influence
on the network property being assessed and interpretation of the
results. Note: Consider the case of packet loss in the following two
Active Measurement Method cases. The first case is packet loss
as background loss where the Run-time Parameter set includes a
very sparse Poisson stream, and only characterizes the times
when packets were lost. Actual user streams likely see much
higher loss at these times, due to tail drop or radio errors.
The second case is packet loss as inverse of throughput where
the Run-time Parameter set includes a very dense, bursty stream,
and characterizes the loss experienced by a stream that
approximates a user stream. These are both "loss metrics", but
the difference in interpretation of the results is highly
dependent on the Run-time Parameters (at least), to the extreme
where we are actually using loss to infer its compliment:
delivered throughput.Methods of Measurement
conducted on traffic which serves only the purpose of measurement
and is generated for that reason alone, and whose traffic
characteristics are known a priori. The complete definition of
Active Methods is specified in section 3.4 of. Examples of Active Measurement Methods are the
measurement methods for the One way delay metric defined in and the one for round trip delay defined in .Methods of Measurement
conducted on network traffic, generated either from the end users or
from network elements that would exist regardless whether the
measurement was being conducted or not. The complete definition of
Passive Methods is specified in section 3.6 of . One characteristic of Passive Measurement
Methods is that sensitive information may be observed, and as a
consequence, stored in the measurement system.Hybrid Methods are Methods
of Measurement that use a combination of Active Methods and Passive
Methods, to assess Active Metrics, Passive Metrics, or new metrics
derived from the a priori knowledge and observations of the stream
of interest. The complete definition of Hybrid Methods is specified
in section 3.8 of .This document is meant mainly for two different audiences. For those
defining new Registered Performance Metrics, it provides specifications
and best practices to be used in deciding which Registered Performance
Metrics are useful for a measurement study, instructions for writing the
text for each column of the Registered Performance Metrics, and
information on the supporting documentation required for the new
Performance Metrics Registry entry (up to and including the publication
of one or more RFCs or I-Ds describing it). For the appointed
Performance Metrics Experts and for IANA personnel administering the new
IANA Performance Metric Registry, it defines a set of acceptance
criteria against which these proposed Registered Performance Metrics
should be evaluated. In addition, this document may be useful for other
organization who are defining a Performance Metric registry of its own,
who can rely on the Performance Metric registry defined in this
document.This Performance Metric Registry is applicable to Performance Metrics
issued from Active Measurement, Passive Measurement, and any other form
of Performance Metric. This registry is designed to encompass
Performance Metrics developed throughout the IETF and especially for the
technologies specified in the following working groups: IPPM, XRBLOCK,
IPFIX, and BMWG. This document analyzes an prior attempt to set up a
Performance Metric Registry, and the reasons why this design was
inadequate . Finally, this document gives a set
of guidelines for requesters and expert reviewers of candidate
Registered Performance Metrics.This document makes no attempt to populate the Performance Metrics
Registry with initial entries. It does provides a few examples that are
merely illustrations and should not be included in the registry at this
point in time.Based on Section 4.3, this document is
processed as Best Current Practice (BCP) .In this section, we detail several motivations for the Performance
Metric Registry.As any IETF registry, the primary use for a registry is to manage a
namespace for its use within one or more protocols. In the particular
case of the Performance Metric Registry, there are two types of
protocols that will use the Performance Metrics in the Performance
Metrics Registry during their operation (by referring to the Index
values): Control protocol: this type of protocols is used to allow one
entity to request another entity to perform a measurement using a
specific metric defined by the Performance Metrics Registry. One
particular example is the LMAP framework .
Using the LMAP terminology, the Performance Metrics Registry is
used in the LMAP Control protocol to allow a Controller to request
a measurement task to one or more Measurement Agents. In order to
enable this use case, the entries of the Performance Metric
Registry must be well enough defined to allow a Measurement Agent
implementation to trigger a specific measurement task upon the
reception of a control protocol message. This requirement heavily
constrains the type of entries that are acceptable for the
Performance Metric Registry. Report protocol: This type of protocols is used to allow an
entity to report measurement results to another entity. By
referencing to a specific Performance Metric Registry, it is
possible to properly characterize the measurement result data
being reported. Using the LMAP terminology, the Performance
Metrics Registry is used in the Report protocol to allow a
Measurement Agent to report measurement results to a
Collector. It should be noted that the LMAP framework explicitly allows
for using not only the IANA-maintained Performance Metrics Registry
but also other registries containing Performance Metrics, either
defined by other organizations or private ones. However, others who
are creating Registries to be used in the context of an LMAP framework
are encouraged to use the Registry format defined in this document,
because this makes it easier for developers of LMAP Measurement Agents
(MAs) to programmatically use information found in those other
Registries' entries.A Performance Metrics Registry serves as a single point of
reference for Performance Metrics defined in different working groups
in the IETF. As we mentioned earlier, there are several WGs that
define Performance Metrics in the IETF and it is hard to keep track of
all them. This results in multiple definitions of similar Performance
Metrics that attempt to measure the same phenomena but in slightly
different (and incompatible) ways. Having a registry would allow both
the IETF community and external people to have a single list of
relevant Performance Metrics defined by the IETF (and others, where
appropriate). The single list is also an essential aspect of
communication about Performance Metrics, where different entities that
request measurements, execute measurements, and report the results can
benefit from a common understanding of the referenced Performance
Metric.There are a couple of side benefits of having such a registry.
First, the Performance Metrics Registry could serve as an inventory of
useful and used Performance Metrics, that are normally supported by
different implementations of measurement agents. Second, the results
of measurements using the Performance Metrics would be comparable even
if they are performed by different implementations and in different
networks, as the Performance Metric is properly defined. BCP 176 examines whether the results produced by
independent implementations are equivalent in the context of
evaluating the completeness and clarity of metric specifications. This
BCP defines the standards track advancement testing for (active) IPPM
metrics, and the same process will likely suffice to determine whether
Registered Performance Metrics are sufficiently well specified to
result in comparable (or equivalent) results. Registered Performance
Metrics which have undergone such testing SHOULD be noted, with a
reference to the test results.It is neither possible nor desirable to populate the Performance
Metrics Registry with all combinations of Parameters of all Performance
Metrics. The Registered Performance Metrics should be: interpretable by the user.implementable by the software designer,deployable by network operators,accurate, for interoperability and deployment across vendors,Operationally useful, so that it has significant industry
interest and/or has seen deployment,Sufficiently tightly defined, so that different values for the
Run-time Parameters does not change the fundamental nature of the
measurement, nor change the practicality of its implementation.In essence, there needs to be evidence that a candidate
Registered Performance Metric has significant industry interest, or has
seen deployment, and there is agreement that the candidate Registered
Performance Metric serves its intended purpose.There was a previous attempt to define a metric registry RFC 4148. However, it was obsoleted by RFC 6248 because it was "found to be
insufficiently detailed to uniquely identify IPPM metrics... [there was
too much] variability possible when characterizing a metric exactly"
which led to the RFC4148 registry having "very few users, if any".A couple of interesting additional quotes from RFC 6248 might help
understand the issues related to that registry. "It is not believed to be feasible or even useful to register
every possible combination of Type P, metric parameters, and Stream
parameters using the current structure of the IPPM Metrics
Registry.""The registry structure has been found to be insufficiently
detailed to uniquely identify IPPM metrics.""Despite apparent efforts to find current or even future users,
no one responded to the call for interest in the RFC 4148 registry
during the second half of 2010."The current approach learns from this by tightly defining each
Registered Performance Metric with only a few variable (Run-time)
Parameters to be specified by the measurement designer, if any. The idea
is that entries in the Performance Metrics Registry stem from different
measurement methods which require input (Run-time) parameters to set
factors like source and destination addresses (which do not change the
fundamental nature of the measurement). The downside of this approach is
that it could result in a large number of entries in the Performance
Metrics Registry. There is agreement that less is more in this context -
it is better to have a reduced set of useful metrics rather than a large
set of metrics, some with with questionable usefulness.As mentioned in the previous section, one of the main issues with
the previous registry was that the metrics contained in the registry
were too generic to be useful. This document specifies stricter
criteria for performance metric registration (see section 6), and
imposes a group of Performance Metrics Experts that will provide
guidelines to assess if a Performance Metric is properly
specified.Another key difference between this attempt and the previous one is
that in this case there is at least one clear user for the Performance
Metrics Registry: the LMAP framework and protocol. Because the LMAP
protocol will use the Performance Metrics Registry values in its
operation, this actually helps to determine if a metric is properly
defined. In particular, since we expect that the LMAP control protocol
will enable a controller to request a measurement agent to perform a
measurement using a given metric by embedding the Performance Metric
Registry value in the protocol, a metric is properly specified if it
is defined well-enough so that it is possible (and practical) to
implement the metric in the measurement agent. This was the failure of
the previous attempt: a registry entry with an undefined Type-P
(section 13 of RFC 2330) allows
implementation to be ambiguous.This Performance Metric Registry is applicable to Performance Metrics
used for Active Measurement, Passive Measurement, and any other form of
Performance Metric. Each category of measurement has unique properties,
so some of the columns defined below are not applicable for a given
metric category. In this case, the column(s) SHOULD be populated with
the "NA" value (Non Applicable). However, the "NA" value MUST NOT be
used by any metric in the following columns: Identifier, Name, URI,
Status, Requester, Revision, Revision Date, Description. In the future,
a new category of metrics could require additional columns, and adding
new columns is a recognized form of registry extension. The
specification defining the new column(s) MUST give guidelines to
populate the new column(s) for existing entries (in general).The columns of the Performance Metric Registry are defined below. The
columns are grouped into "Categories" to facilitate the use of the
registry. Categories are described at the 7.x heading level, and columns
are at the 7.x.y heading level. The Figure below illustrates this
organization. An entry (row) therefore gives a complete description of a
Registered Performance Metric.Each column serves as a check-list item and helps to avoid omissions
during registration and expert review. A numeric identifier for the Registered Performance Metric. This
identifier MUST be unique within the Performance Metric
Registry.The Registered Performance Metric unique identifier is a 16-bit
integer (range 0 to 65535).The Identifier 0 should be Reserved. The Identifier values from
64512 to 65536 are reserved for private use.When adding newly Registered Performance Metrics to the
Performance Metric Registry, IANA should assign the lowest available
identifier to the next Registered Performance Metric.As the name of a Registered Performance Metric is the first thing
a potential human implementor will use when determining whether it
is suitable for their measurement study, it is important to be as
precise and descriptive as possible. In future, users will review
the names to determine if the metric they want to measure has
already been registered, or if a similar entry is available as a
basis for creating a new entry.Names are composed of the following elements, separated by an
underscore character "_":MetricType_Method_SubTypeMethod_... Spec_Units_OutputMetricType: a combination of the directional properties and
the metric measured, such as:RTDelay (Round Trip Delay)RTDNS (Response Time Domain Name Service)OWDelay (One Way Delay)RTLoss (Round Trip Loss)OWLoss (One Way Loss)OWPDV (One Way Packet Delay Variation)OWIPDV (One Way Inter-Packet Delay Variation)OWReorder (One Way Packet Reordering)OWDuplic (One Way Packet Duplication)OWBTC (One Way Bulk Transport Capacity)OWMBM (One Way Model Based Metric)SPMonitor (Single Point Monitor)MPMonitor (Multi-Point Monitor)Method: One of the methods defined in , such as:Active (depends on a dedicated measurement packet stream
and observations of the stream)Passive (depends *solely* on observation of one or more
existing packet streams)HybridType1 (obervations on one stream that combine both
active and passive methods)HybridType2 (obervations on two or more streams that
combine both active and passive methods)Spatial (Spatial Metric of RFC5644)SubTypeMethod: One or more sub-types to further describe the
features of the entry, such as:ICMP (Internet Control Message Protocol)IP (Internet Protocol)DSCPxx (where xx is replaced by a Diffserv code
point)UDP (User Datagram Protocol)TCP (Transport Control Protocol)Poisson (Packet generation using Poisson
distribution)Periodic (Periodic packet generation)PayloadxxxxB (where xxxx is replaced by an integer, the
number of octets in the Payload))SustainedBurst (Capacity test, worst case)StandingQueue (test of bottleneck queue behavior)@@@@<add others from MBM draft?>SubTypeMethod values are separated by a hyphen "-"
character, which indicates that they belong to this element, and
that their order is unimportant when considering name
uniqueness.Spec: RFC that specifies this entry in the form RFCXXXXsecY,
such as RFC7799sec3. Note: this is not the Primary Reference
specification for the metric definition; it will contain the
placeholder "RFCXXXXsecY" until the RFC number is assigned to
the specifying document, and would remain blank in private
registry entries without a corresponding RFC.Units: The units of measurement for the output, such as:SecondsRatioPercent (value multiplied by 100)BPS (Bits per Second)EventTotal (for unit-less counts)Multiple (more than one type of unit)Enumerated (a list of outcomes)UnitlessOutput: The type of output resulting from measurement, such
as:Singleton (sometimes called raw data)MinimumMaximumMedianMean95Percentile (95th Percentile)99Percentile (99th Percentile)StdDev (Standard Deviation)VariancePFI (Pass, Fail, Inconclusive)FlowRecords (descriptions of flows observed)An example is:RTDelay_Active_IP-UDP-Poisson_RFCXXXXsecY_Seconds_95percentileas described in section 4 of .Note that private registries following the format described here
SHOULD use the prefix "Priv_" on any name to avoid unintended
conflicts (further considerations are described in section 10).
Private registry entries usually have no specifying RFC, thus the
Spec: element has no clear interpretation.The URIs column MUST contain a URI that
uniquely identifies the metric. This URI is a URN . The URI is automatically generated by prepending
the prefixurn:ietf:metrics:perf:to the metric name. The resulting URI is globally unique.The URIs column MUST contain a second URI which is a URL and uniquely identifies and locates the metric
entry so it is accessible through the Internet. The URL points to a
file containing the human-readable information of exactly one
registry entry. Ideally, the file will be HTML-formated and contain
URLs to referenced sections of HTML-ized RFCs. The separate files
for different entries can be more easily edited and re-used when
preparing new entries. The exact composition of each metric URL will
be determined by IANA and reside on "iana.org", but there will be
some overlap with the URN described above. The major sections of
provide an example
in HTML form (sections 4 and higher).A Registered Performance Metric description is a written
representation of a particular Performance Metrics Registry entry.
It supplements the Registered Performance Metric name to help
Performance Metrics Registry users select relevant Registered
Performance Metrics.This entry gives the specification containing the candidate
registry entry which was reviewed and agreed, if such an RFC or
other specification exists.This entry names the entity responsible for approving revsions to
the regsitry entry, and provides contact information.This entry gives the version number for the registry format used.
Formats complying with this memo MUST use 1.0.This category includes columns to prompt all necessary details
related to the metric definition, including the RFC reference and
values of input factors, called fixed parameters, which are left open
in the RFC but have a particular value defined by the performance
metric.This entry provides a reference (or references) to the relevant
section(s) of the document(s) that define the metric, as well as any
supplemental information needed to ensure an unambiguous definition
for implementations. The reference needs to be an immutable
document, such as an RFC; for other standards bodies, it is likely
to be necessary to reference a specific, dated version of a
specification.Fixed Parameters are Parameters whose value must be specified in
the Performance Metrics Registry. The measurement system uses these
values.Where referenced metrics supply a list of Parameters as part of
their descriptive template, a sub-set of the Parameters will be
designated as Fixed Parameters. As an example for active metrics,
Fixed Parameters determine most or all of the IPPM Framework
convention "packets of Type-P" as described in , such as transport protocol, payload length, TTL,
etc. An example for passive metrics is for RTP packet loss
calculation that relies on the validation of a packet as RTP which
is a multi-packet validation controlled by MIN_SEQUENTIAL as defined
by . Varying MIN_SEQUENTIAL values can alter
the loss report and this value could be set as a Fixed
Parameter.Parameters MUST have well-defined names. For human readers, the
hanging indent style is preferred, and any Parameter names and
definitions that do not appear in the Reference Method Specification
MUST appear in this column (or Run-time Parameters column).Parameters MUST have a well-specified data format.A Parameter which is a Fixed Parameter for one Performance
Metrics Registry entry may be designated as a Run-time Parameter for
another Performance Metrics Registry entry.This category includes columns for references to relevant sections
of the RFC(s) and any supplemental information needed to ensure an
unambiguous method for implementations.This entry provides references to relevant sections of the RFC(s)
describing the method of measurement, as well as any supplemental
information needed to ensure unambiguous interpretation for
implementations referring to the RFC text.Specifically, this section should include pointers to pseudocode
or actual code that could be used for an unambigious
implementation.This column applies to Performance Metrics that generate traffic
for a part of their Measurement Method purposes including but not
necessarily limited to Active metrics. The generated traffic is
referred as stream and this columns describe its
characteristics.Each entry for this column contains the following information:
Value: The name of the packet stream scheduling
disciplineReference: the specification where the stream is definedThe packet generation stream may require parameters such as the
the average packet rate and distribution truncation value for
streams with Poisson-distributed inter-packet sending times. In case
such parameters are needed, they should be included either in the
Fixed parameter column or in the run time parameter column,
depending on wether they will be fixed or will be an input for the
metric.The simplest example of stream specification is Singleton
scheduling (see ), where a single atomic
measurement is conducted. Each atomic measurement could consist of
sending a single packet (such as a DNS request) or sending several
packets (for example, to request a webpage). Other streams support a
series of atomic measurements in a "sample", with a schedule
defining the timing between each transmitted packet and subsequent
measurement. Principally, two different streams are used in IPPM
metrics, Poisson distributed as described in and Periodic as described in . Both Poisson and Periodic have their own unique
parameters, and the relevant set of parameters names and values
should be included either in the Fixed Parameters column or in the
Run-time parameter column.This column applies to Performance Metrics that observe packets
flowing through (the device with) the measurement agent i.e. that is
not necessarily addressed to the measurement agent. This includes
but is not limited to Passive Metrics. The filter specifies the
traffic that is measured. This includes protocol field
values/ranges, such as address ranges, and flow or session
identifiers.The traffic filter itself depends on needs of the metric itself
and a balance of operators measurement needs and user's need for
privacy. Mechanics for conveying the filter criteria might be the
BPF (Berkley Packet Filter) or PSAMP
Property Match Filtering which reuses IPFIX . An example BPF string for matching TCP/80
traffic to remote destination net 192.0.2.0/24 would be "dst net
192.0.2.0/24 and tcp dst port 80". More complex filter engines might
be supported by the implementation that might allow for matching
using Deep Packet Inspection (DPI) technology.The traffic filter includes the following information: Type: the type of traffic filter used, e.g. BPF, PSAMP,
OpenFlow rule, etc. as defined by a normative referenceValue: the actual set of rules expressedThe sampling distribution defines out of all the packets that
match the traffic filter, which one of those are actually used for
the measurement. One possibility is "all" which implies that all
packets matching the Traffic filter are considered, but there may be
other sampling strategies. It includes the following information:
Value: the name of the sampling distributionReference definition: pointer to the specification where the
sampling distribution is properly defined.The sampling distribution may require parameters. In case such
parameters are needed, they should be included either in the Fixed
parameter column or in the run time parameter column, depending on
wether they will be fixed or will be an input for the metric.Sampling and Filtering Techniques for IP Packet Selection are
documented in the PSAMP (Packet Sampling) ,
while the Framework for Packet Selection and Reporting, provides more background information. The
sampling distribution parameters might be expressed in terms of the
Information Model for Packet Sampling Exports, , and the Flow Selection Techniques, .Run-Time Parameters are Parameters that must be determined,
configured into the measurement system, and reported with the
results for the context to be complete. However, the values of these
parameters is not specified in the Performance Metrics Registry
(like the Fixed Parameters), rather these parameters are listed as
an aid to the measurement system implementer or user (they must be
left as variables, and supplied on execution).Where metrics supply a list of Parameters as part of their
descriptive template, a sub-set of the Parameters will be designated
as Run-Time Parameters.Parameters MUST have well defined names. For human readers, the
hanging indent style is preferred, and the names and definitions
that do not appear in the Reference Method Specification MUST appear
in this column.A Data Format for each Run-time Parameter MUST be specified in
this column, to simplify the control and implementation of
measurement devices. For example, parameters that include an IPv4
address can be encoded as a 32 bit integer (i.e. binary base64
encoded value) or ip-address as defined in .
The actual encoding(s) used must be explicitly defined for each
Run-time parameter. IPv6 addresses and options MUST be accomodated,
allowing Registered Metrics to be used in either address family.Examples of Run-time Parameters include IP addresses, measurement
point designations, start times and end times for measurement, and
other information essential to the method of measurement.In some method of measurements, there may be several roles
defined e.g. on a one-way packet delay active measurement, there is
one measurement agent that generates the packets and the other one
that receives the packets. This column contains the name of the role
for this particular entry. In the previous example, there should be
two entries in the registry, one for each role, so that when a
measurement agent is instructed to perform the one way delay source
metric know that it is supposed to generate packets. The values for
this field are defined in the reference method of measurement.For entries which involve a stream and many singleton measurements,
a statistic may be specified in this column to summarize the results
to a single value. If the complete set of measured singletons is
output, this will be specified here.Some metrics embed one specific statistic in the reference metric
definition, while others allow several output types or statistics.This column contains the name of the output type. The output type
defines a single type of result that the metric produces. It can be
the raw results (packet send times and singleton metrics), or it can
be a summary statistic. The specification of the output type MUST
define the format of the output. In some systems, format
specifications will simplify both measurement implementation and
collection/storage tasks. Note that if two different statistics are
required from a single measurement (for example, both "Xth
percentile mean" and "Raw"), then a new output type must be defined
("Xth percentile mean AND Raw"). See the Naming section above for a
list of Output Types.This column contains a pointer to the specification(s) where the
output type and format are defined.The measured results must be expressed using some standard
dimension or units of measure. This column provides the units.When a sample of singletons (see Section 11 of for definitions of these terms) is collected,
this entry will specify the units for each measured value.Some specifications for Methods of Measurement include the
possibility to perform an error calibration. Section 3.7.3 of is one example. In the registry entry, this field
will identify a method of calibration for the metric, and when
available, the measurement system SHOULD perform the calibration
when requested and produce the output with an indication that it is
the restult of a calbration method. In-situ calibration could be
enabled with an internal loopback that includes as much of the
measurement system as possible, performs address manipulation as
needed, and provides some form of isolation (e.g., deterministic
delay) to avoid send-receive interface contention. Some portion of
the random and systematic error can be characterized this way.For one-way delay measurements, the error calibration must
include an assessment of the internal clock synchronization with its
external reference (this internal clock is supplying timestamps for
measurement). In practice, the time offsets of clocks at both the
source and destination are needed to estimate the systematic error
due to imperfect clock synchronization (the time offsets are
smoothed, thus the random variation is not usually represented in
the results).Both internal loopback calibration and clock synchronization can
be used to estimate the *available accuracy* of the Output Metric
Units. For example, repeated loopback delay measurements will reveal
the portion of the Output result resolution which is the result of
system noise, and thus inaccurate.The status of the specification of this Registered Performance
Metric. Allowed values are 'current' and 'deprecated'. All newly
defined Information Elements have 'current' status.The requester for the Registered Performance Metric. The
requester MAY be a document, such as RFC, or person.The revision number of a Registered Performance Metric, starting
at 0 for Registered Performance Metrics at time of definition and
incremented by one for each revision.The date of acceptance or the most recent revision for the
Registered Performance Metric.Besides providing additional details which do not appear in other
categories, this open Category (single column) allows for unforeseen
issues to be addressed by simply updating this informational
entry.Once a Performance Metric or set of Performance Metrics has been
identified for a given application, candidate Performance Metrics
Registry entry specifications in accordance with are submitted to IANA to follow the process for
review by the Performance Metric Experts, as defined below. This process
is also used for other changes to the Performance Metric Registry, such
as deprecation or revision, as described later in this section.It is also desirable that the author(s) of a candidate Performance
Metrics Registry entry seek review in the relevant IETF working group,
or offer the opportunity for review on the WG mailing list.Requests to change Registered Performance Metrics in the
Performance Metric Registry are submitted to IANA, which forwards the
request to a designated group of experts (Performance Metric Experts)
appointed by the IESG; these are the reviewers called for by the
Expert Review RFC5226 policy defined for the Performance Metric
Registry. The Performance Metric Experts review the request for such
things as compliance with this document, compliance with other
applicable Performance Metric-related RFCs, and consistency with the
currently defined set of Registered Performance Metrics.Authors are expected to review compliance with the specifications
in this document to check their submissions before sending them to
IANA.The Performance Metric Experts should endeavor to complete referred
reviews in a timely manner. If the request is acceptable, the
Performance Metric Experts signify their approval to IANA, which
updates the Performance Metric Registry. If the request is not
acceptable, the Performance Metric Experts can coordinate with the
requester to change the request to be compliant. The Performance
Metric Experts may also choose in exceptional circumstances to reject
clearly frivolous or inappropriate change requests outright.This process should not in any way be construed as allowing the
Performance Metric Experts to overrule IETF consensus. Specifically,
any Registered Performance Metrics that were added with IETF consensus
require IETF consensus for revision or deprecation.Decisions by the Performance Metric Experts may be appealed as in
Section 7 of RFC5226.A request for Revision is only permissible when the changes
maintain backward-compatibility with implementations of the prior
Performance Metrics Registry entry describing a Registered Performance
Metric (entries with lower revision numbers, but the same Identifier
and Name).The purpose of the Status field in the Performance Metric Registry
is to indicate whether the entry for a Registered Performance Metric
is 'current' or 'deprecated'.In addition, no policy is defined for revising the Performance
Metric entries in the IANA Regsirty or addressing errors therein. To
be certain, changes and deprecations within the Performance Metric
Registry are not encouraged, and should be avoided to the extent
possible. However, in recognition that change is inevitable, the
provisions of this section address the need for revisions.Revisions are initiated by sending a candidate Registered
Performance Metric definition to IANA, as in Section 8, identifying
the existing Performance Metrics Registry entry.The primary requirement in the definition of a policy for managing
changes to existing Registered Performance Metrics is avoidance of
interoperability problems; Performance Metric Experts must work to
maintain interoperability above all else. Changes to Registered
Performance Metrics may only be done in an inter-operable way;
necessary changes that cannot be done in a way to allow
interoperability with unchanged implementations must result in the
creation of a new Registered Performance Metric and possibly the
deprecation of the earlier metric.A change to a Registered Performance Metric is held to be
backward-compatible only when: "it involves the correction of an error that is obviously only
editorial; or""it corrects an ambiguity in the Registered Performance
Metric's definition, which itself leads to issues severe enough to
prevent the Registered Performance Metric's usage as originally
defined; or""it corrects missing information in the metric definition
without changing its meaning (e.g., the explicit definition of
'quantity' semantics for numeric fields without a Data Type
Semantics value); or""it harmonizes with an external reference that was itself
corrected."If an Performance Metric revision is deemed permissible by the
Performance Metric Experts, according to the rules in this document,
IANA makes the change in the Performance Metric Registry. The
requester of the change is appended to the requester in the
Performance Metrics Registry.Each Registered Performance Metric in the Performance Metrics
Registry has a revision number, starting at zero. Each change to a
Registered Performance Metric following this process increments the
revision number by one.When a revised Registered Performance Metric is accepted into the
Performance Metric Registry, the date of acceptance of the most recent
revision is placed into the revision Date column of the registry for
that Registered Performance Metric.Where applicable, additions to Registered Performance Metrics in
the form of text Comments or Remarks should include the date, but such
additions may not constitute a revision according to this process.Older version(s) of the updated metric entries are kept in the
registry for archival purposes. The older entries are kept with all
fields unmodified (version, revision date) except for the status field
that is changed to "Deprecated".Changes that are not permissible by the above criteria for
Registered Performance Metric's revision may only be handled by
deprecation. A Registered Performance Metric MAY be deprecated and
replaced when: "the Registered Performance Metric definition has an error or
shortcoming that cannot be permissibly changed as in Section
Revising Registered Performance Metrics; or""the deprecation harmonizes with an external reference that was
itself deprecated through that reference's accepted deprecation
method; or"A request for deprecation is sent to IANA, which passes it to the
Performance Metric Expert for review. When deprecating an Performance
Metric, the Performance Metric description in the Performance Metric
Registry must be updated to explain the deprecation, as well as to
refer to any new Performance Metrics created to replace the deprecated
Performance Metric.The revision number of a Registered Performance Metric is
incremented upon deprecation, and the revision Date updated, as with
any revision.The use of deprecated Registered Performance Metrics should result
in a log entry or human-readable warning by the respective
application.Names and Metric ID of deprecated Registered Performance Metrics
must not be reused.The deprecated entries are kept with all fields unmodified, except
the version, revision date, and the status field (changed to
"Deprecated").This draft doesn't introduce any new security considerations for the
Internet. However, the definition of Performance Metrics may introduce
some security concerns, and should be reviewed with security in
mind.This document requests the following IANA Actions.This document requests the allocation of the URI prefix
urn:ietf:metrics for the purpose of generating URIs for metrics in
general. The registration procedure for the new "metrics" URN
sub-namespace is IETF Review.This document requests the allocation of the URI prefix
urn:ietf:metrics:perf for the purpose of generating URIs for
Registered Performance Metrics. The registration procedures for the
new "perf" URN sub-namespace are Expert Review or IETF Standards
Action, and coordinated with the entries added to the New Performance
Metrics Registry (see below).This document specifies the procedure for Performance Metrics Name
Element Registry setup. IANA is requested to create a new set of
registries for Performance Metric Name Elements called "IETF URN
Sub-namespace for Registered Performance Metric Name Elements"
(urn:ietf:metrics:perf). Each Registry, whose names are listed
below:MetricType:Method:SubTypeMethod:Spec:Units:Output:will contain the current set of possibilities for Performance
Metric Registry Entry Names.To populate the IETF URN Sub-namespace for Registered Performance
Metric Name Elements at creation, the IANA is asked to use the lists
of values for each name element listed in Section 7.1.2. The Name
Elements in each registry are case-sensitive.When preparing a Metric entry for Registration, the developer
SHOULD choose Name elements from among the registered elements.
However, if the proposed metric is unique in a significant way, it may
be necessary to propose a new Name element to properly describe the
metric, as described below.A candidate Metric Entry RFC or document for Expert Review would
propose one or more new element values required to describe the unique
entry, and the new name element(s) would be reviewed along with the
metric entry. New assignments for IETF URN Sub-namespace for
Registered Performance Metric Name Elements will be administered by
IANA through Expert Review , i.e., review by
one of a group of experts, the Performance Metric Experts, who are
appointed by the IESG upon recommendation of the Transport Area
Directors.This document specifies the procedure for Performance Metrics
Registry setup. IANA is requested to create a new registry for
Performance Metrics called "Registered Performance Metrics". This
Registry will contain the following Summary columns:Identifier:Name:URIs:Description:Reference:Change Controller:Version:Descriptions of these columns and additional information
found in the template for registry entries (categories and columns)
are further defined in section .The "Identifier" 0 should be Reserved. "The Identifier" values from
64512 to 65536 are reserved for private use.Names starting with the prefix Priv_ are reserved for private use,
and are not considered for registration. The "Name" column entries are
further defined in section .The "URIs" column will have a URL to the full template of each
registry entry, and the linked text may be the URN itself. The
template shall be HTML-ized to aid the reader, with links to reference
RFCs (similar to the way that Internet Drafts are HTML-ized, the same
tool can perform the function).The “Reference” column will include an RFC, an approved
specification from another standards body, or the contact person.New assignments for Performance Metric Registry will be
administered by IANA through Expert Review ,
i.e., review by one of a group of experts, the Performance Metric
Experts, who are appointed by the IESG upon recommendation of the
Transport Area Directors. The experts can be initially drawn from the
Working Group Chairs, document editors, and members of the Performance
Metrics Directorate, among other sources of experts.Extensions of the Performance Metric Registry require IETF
Standards Action. Only one form of registry extension is
envisaged:Adding columns, or both categories and columns, to accommodate
unanticipated aspects of new measurements and metric
categories.If the Performance Metrics Registry is extended in this way,
the Version number of future entries complying with the extension
SHALL be incremented (either in the unit or tenths digit, depending on
the degree of extension.Thanks to Brian Trammell and Bill Cerveny, IPPM chairs, for leading
some brainstorming sessions on this topic. Thanks to Barbara Stark and
Juergen Schoenwaelder for the detailed feedback and suggestions. Thanks
to Andrew McGregor for suggestions on metric naming. Thanks to Michelle
Cotton for her early IANA review, and to Amanda Barber for answering
questions related to the presentation of the registry and accessibility
of the complete template via URL.