



Internet Engineering Task Force (IETF)                        M. Bagnulo
Request for Comments: 8911                                          UC3M
Category: Standards Track                                      B. Claise
ISSN: 2070-1721                                                   Huawei
                                                              P. Eardley
                                                                      BT
                                                               A. Morton
                                                               AT&T Labs
                                                               A. Akhter
                                                              Consultant
                                                           November 2021


                    Registry for Performance Metrics

Abstract

   This document defines the format for the IANA Registry of Performance
   Metrics.  This document also gives a set of guidelines for Registered
   Performance Metric requesters and reviewers.

Status of This Memo

   This is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in Section 2 of RFC 7841.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   https://www.rfc-editor.org/info/rfc8911.

Copyright Notice

   Copyright (c) 2021 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Revised BSD License text as described in Section 4.e of the
   Trust Legal Provisions and are provided without warranty as described
   in the Revised BSD License.

Table of Contents

   1.  Introduction
   2.  Terminology
   3.  Scope
   4.  Motivations for the Performance Metrics Registry
     4.1.  Interoperability
     4.2.  Single Point of Reference for Performance Metrics
     4.3.  Side Benefits
   5.  Criteria for Performance Metrics Registration
   6.  Performance Metrics Registry: Prior Attempt
     6.1.  Why This Attempt Should Succeed
   7.  Definition of the Performance Metrics Registry
     7.1.  Summary Category
       7.1.1.  Identifier
       7.1.2.  Name
       7.1.3.  URI
       7.1.4.  Description
       7.1.5.  Reference
       7.1.6.  Change Controller
       7.1.7.  Version (of Registry Format)
     7.2.  Metric Definition Category
       7.2.1.  Reference Definition
       7.2.2.  Fixed Parameters
     7.3.  Method of Measurement Category
       7.3.1.  Reference Method
       7.3.2.  Packet Stream Generation
       7.3.3.  Traffic Filter
       7.3.4.  Sampling Distribution
       7.3.5.  Runtime Parameters
       7.3.6.  Role
     7.4.  Output Category
       7.4.1.  Type
       7.4.2.  Reference Definition
       7.4.3.  Metric Units
       7.4.4.  Calibration
     7.5.  Administrative Information
       7.5.1.  Status
       7.5.2.  Requester
       7.5.3.  Revision
       7.5.4.  Revision Date
     7.6.  Comments and Remarks
   8.  Processes for Managing the Performance Metrics Registry Group
     8.1.  Adding New Performance Metrics to the Performance Metrics
           Registry
     8.2.  Backward-Compatible Revision of Registered Performance
           Metrics
     8.3.  Non-Backward-Compatible Deprecation of Registered
           Performance Metrics
     8.4.  Obsolete Registry Entries
     8.5.  Registry Format Version and Future Changes/Extensions
   9.  Security Considerations
   10. IANA Considerations
     10.1.  Registry Group
     10.2.  Performance Metrics Name Elements
     10.3.  New Performance Metrics Registry
   11. Blank Registry Template
     11.1.  Summary
       11.1.1.  ID (Identifier)
       11.1.2.  Name
       11.1.3.  URI
       11.1.4.  Description
       11.1.5.  Reference
       11.1.6.  Change Controller
       11.1.7.  Version (of Registry Format)
     11.2.  Metric Definition
       11.2.1.  Reference Definition
       11.2.2.  Fixed Parameters
     11.3.  Method of Measurement
       11.3.1.  Reference Method
       11.3.2.  Packet Stream Generation
       11.3.3.  Traffic Filtering (Observation) Details
       11.3.4.  Sampling Distribution
       11.3.5.  Runtime Parameters and Data Format
       11.3.6.  Roles
     11.4.  Output
       11.4.1.  Type
       11.4.2.  Reference Definition
       11.4.3.  Metric Units
       11.4.4.  Calibration
     11.5.  Administrative Items
       11.5.1.  Status
       11.5.2.  Requester
       11.5.3.  Revision
       11.5.4.  Revision Date
     11.6.  Comments and Remarks
   12. References
     12.1.  Normative References
     12.2.  Informative References
   Acknowledgments
   Authors' Addresses

1.  Introduction

   The IETF specifies and uses Performance Metrics of protocols and
   applications transported over its protocols.  Performance Metrics are
   an important part of network operations using IETF protocols, and
   [RFC6390] specifies guidelines for their development.

   The definition and use of Performance Metrics in the IETF have been
   fostered in various working groups (WGs).  Most notably:

   *  The "IP Performance Metrics" (IPPM) WG is the WG primarily
      focusing on Performance Metrics definition at the IETF.

   *  The "Benchmarking Methodology" WG (BMWG) defines many Performance
      Metrics for use in laboratory benchmarking of internetworking
      technologies.

   *  The "Metric Blocks for use with RTCP's Extended Report Framework"
      (XRBLOCK) WG (concluded) specified many Performance Metrics
      related to "RTP Control Protocol Extended Reports (RTCP XR)"
      [RFC3611], 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"
      [RFC3550].

   *  The "IP Flow Information eXport" (IPFIX) WG (concluded) specified
      an Internet Assigned Numbers Authority (IANA) process for new
      Information Elements.  Some Information Elements related to
      Performance Metrics are proposed on a regular basis.

   *  The "Performance Metrics for Other Layers" (PMOL) WG (concluded)
      defined some Performance Metrics related to Session Initiation
      Protocol (SIP) voice quality [RFC6035].

   It is expected that more Performance Metrics will be defined in the
   future -- not only IP-based metrics but also metrics that are
   protocol specific and application specific.

   Despite the importance of Performance Metrics, there are two related
   problems for the industry:

   *  First, ensuring that when one party requests that another party
      measure (or report or in some way act on) a particular Performance
      Metric, both parties have exactly the same understanding of what
      Performance Metric is being referred to.

   *  Second, discovering which Performance Metrics have been specified,
      to avoid developing a new Performance Metric that is very similar
      but not quite interoperable.

   These problems can be addressed by creating a Registry for
   Performance Metrics with the Internet Assigned Numbers Authority
   (IANA).  As such, this document defines the new IANA Registry for
   Performance Metrics.

   Per this document, IANA has created and now maintains the Performance
   Metrics Registry, according to the maintenance procedures and the
   format defined in the sections below.  The resulting Performance
   Metrics Registry is for use by the IETF and others.  Although the
   Registry formatting specifications herein are primarily for Registry
   creation by IANA, any other organization that wishes to create a
   Performance Metrics Registry may use the same formatting
   specifications for their purposes.  The authors make no guarantee of
   the Registry format's applicability to any possible set of
   Performance Metrics envisaged by other organizations, but we
   encourage others to apply it.  In the remainder of this document,
   unless we explicitly say otherwise, we will refer to the IANA-
   maintained Performance Metrics Registry as simply the Performance
   Metrics Registry.

2.  Terminology

   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
   BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

   Performance Metric:  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(es), a
      database logging time, etc.  This definition is consistent with
      the definition of a metric in [RFC2330] and broader than the
      definition of a Performance Metric in [RFC6390].

   Registered Performance Metric:  A Performance Metric expressed as an
      entry in the Performance Metrics Registry, administered by IANA.
      Such a Performance Metric has met all of the Registry review
      criteria defined in this document in order to be included in the
      Registry.

   Performance Metrics Registry:  The IANA Registry containing
      Registered Performance Metrics.

   Proprietary Registry:  A set of metrics that are registered in a
      proprietary Registry, as opposed to the Performance Metrics
      Registry.

   Performance Metrics Experts:  A group of designated experts [RFC8126]
      selected by the IESG to validate the Performance Metrics before
      updating the Performance Metrics Registry.  The Performance
      Metrics Experts work closely with IANA.

   Parameter:  An input factor defined as a variable in the definition
      of a Performance Metric.  A Parameter is 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 in order to make a measurement using a metric and interpret
      the results.  There are two types of Parameters: Fixed and
      Runtime.  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 Runtime 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 Runtime 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 Runtime 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 ratio as the complimentary
      |  probability of delivery ratio where the Runtime 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
      |  Runtime Parameters (at least), to the extreme where we are
      |  actually using loss ratio to infer its complimentary
      |  probability: delivery ratio.

   Active Measurement Methods:  Methods of Measurement conducted on
      traffic that 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 [RFC7799].  Examples of Active
      Measurement Methods are the Measurement Methods for the one-way
      delay metric defined in [RFC7679] and the round-trip delay metric
      defined in [RFC2681].

   Passive Measurement Methods:  Methods of Measurement conducted on
      network traffic, generated by either (1) the end users or
      (2) network elements that would exist regardless of whether the
      measurement was being conducted or not.  The complete definition
      of Passive Methods is specified in Section 3.6 of [RFC7799].  One
      characteristic of Passive Measurement Methods is that sensitive
      information may be observed and, as a consequence, stored in the
      measurement system.

   Hybrid Measurement Methods:  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 [RFC7799].

3.  Scope

   This document is intended for two different audiences:

   1.  For those preparing a candidate Performance Metric, it provides
       criteria that the proposal SHOULD meet (see Section 5).  It also
       provides instructions for writing the text for each column of the
       candidate Performance Metric and the references required for the
       new Performance Metrics Registry Entry (up to and including the
       publication of one or more immutable documents such as an RFC)
       (see Section 7).

   2.  For the appointed Performance Metrics Experts and for IANA
       personnel administering the new IANA Performance Metrics
       Registry, it defines a set of acceptance criteria against which a
       candidate Registered Performance Metric should be evaluated, and
       requirements for the composition of a candidate Performance
       Metric Registry Entry.

   Other organizations that standardize performance metrics are
   encouraged to use the process defined in this memo to propose a
   candidate Registered Performance Metric.  In addition, this document
   may be useful for other organizations who are defining a Performance
   Metrics Registry of their own and may reuse the features of the
   Performance Metrics Registry defined in this document.

   This Performance Metrics Registry is applicable to Performance
   Metrics derived 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 a
   prior attempt to set up a Performance Metrics Registry and the
   reasons why this design was inadequate [RFC6248].

   [RFC8912] populates the new Registry with the initial set of entries.

4.  Motivations for the Performance Metrics Registry

   In this section, we detail several motivations for the Performance
   Metrics Registry.

4.1.  Interoperability

   As with any IETF Registry, the primary intention is to manage the
   registration of Identifiers for use within one or more protocols.  In
   the particular case of the Performance Metrics 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 protocol is used to allow one entity
      to request that another entity perform a measurement using a
      specific metric defined by the Performance Metrics Registry.  One
      particular example is the Large-scale Measurement of Broadband
      Performance (LMAP) framework [RFC7594].  Using the LMAP
      terminology, the Performance Metrics Registry is used in the LMAP
      Control Protocol to allow a Controller to schedule a Measurement
      Task for one or more Measurement Agents.  In order to enable this
      use case, the entries in the Performance Metrics Registry must be
      sufficiently 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
      types of entries that are acceptable for the Performance Metrics
      Registry.

   Report Protocol:  This type of protocol is used to allow an entity to
      report Measurement Results to another entity.  By referencing to a
      specific Registered Performance Metric, it is possible to properly
      characterize the Measurement Result data being reported.  Using
      the LMAP terminology, the Performance Metrics Registry is used in
      the LMAP 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, i.e., either
   (1) registries defined by other organizations or (2) private
   registries.  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 to programmatically
   use information found in those other registries' entries.

4.2.  Single Point of Reference for Performance Metrics

   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 working groups that
   define Performance Metrics in the IETF, and it is hard to keep track
   of all of 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 the IETF community and others 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.

4.3.  Side Benefits

   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 should be comparable
   even if they are performed by different implementations and in
   different networks, as the Performance Metric is properly defined.
   BCP 176 [RFC6576] examines whether the results produced by
   independent implementations are equivalent in the context of
   evaluating the completeness and clarity of metric specifications.
   [RFC6576] is a BCP [RFC2026] that 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.  If a Registered Performance Metric has
   undergone such testing, this SHOULD be noted in "Comments and
   Remarks" (see Section 7.6), with a reference to the test results.

5.  Criteria for Performance Metrics Registration

   It is neither possible nor desirable to populate the Performance
   Metrics Registry with all combinations of Parameters of all
   Performance Metrics.  A Registered Performance Metric SHOULD be:

   1.  Interpretable by the human user.

   2.  Implementable by the software or hardware designer.

   3.  Deployable by network operators.

   4.  Accurate in terms of producing equivalent results, and for
       interoperability and deployment across vendors.

   5.  Operationally useful, so that it has significant industry
       interest and/or has seen deployment.

   6.  Sufficiently tightly defined, so that different values for the
       Runtime Parameters do not change the fundamental nature of the
       measurement or change the practicality of its implementation.

   In essence, there needs to be evidence that (1) a candidate
   Registered Performance Metric has significant industry interest or
   has seen deployment and (2) there is agreement that the candidate
   Registered Performance Metric serves its intended purpose.

6.  Performance Metrics Registry: Prior Attempt

   There was a previous attempt to define a Metrics Registry [RFC4148].
   However, it was obsoleted by [RFC6248] 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 IPPM Metrics Registry defined in [RFC4148]
   having "very few users, if any."

   Three interesting additional quotes from [RFC6248] might help to
   understand the issues related to that registry.

   1.  "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."

   2.  "The current registry structure has been found to be
       insufficiently detailed to uniquely identify IPPM metrics."

   3.  "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 (Runtime)
   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 that require input (Runtime) 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 questionable
   usefulness.

6.1.  Why This Attempt Should Succeed

   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 5) 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 that a
   Measurement Agent perform a measurement using a given metric by
   embedding the Performance Metrics Registry Identifier in the
   protocol.  Such a metric and method are properly specified if they
   are defined well enough so that it is possible (and practical) to
   implement them in the Measurement Agent.  This was the failure of the
   previous attempt: a Registry Entry with an undefined Type-P
   (Section 13 of [RFC2330]) allows measurement results to vary
   significantly.

7.  Definition of the Performance Metrics Registry

   This Performance Metrics Registry is applicable to Performance
   Metrics used for Active Measurement, Passive Measurement, and any
   other form of Performance Measurement.  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 "N/A" value (Not Applicable).  However,
   the "N/A" 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 general guidelines for populating the new
   column(s) for existing entries.

   The columns of the Performance Metrics Registry are defined below.
   The columns are grouped into "Categories" to facilitate the use of
   the Registry.  Categories are described at the "Section 7.x" heading
   level, and columns are described at the "Section 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 checklist item and helps to avoid omissions
   during registration and Expert Review [RFC8126].

   Registry Categories and Columns are shown below in this format:

       Category
       ------------------...
       Column |  Column |...

   Summary
   ----------------------------------------------------------------
   Identifier | Name | URI | Desc. | Reference | Change     | Ver |
              |      |     |       |           | Controller |

   Metric Definition
   -----------------------------------------
   Reference Definition | Fixed Parameters |

   Method of Measurement
   ---------------------------------------------------------------------
   Reference | Packet     | Traffic | Sampling     | Runtime    | Role |
   Method    | Stream     | Filter  | Distribution | Parameters |      |
             | Generation |
   Output
   -----------------------------------------
   Type | Reference  | Units | Calibration |
        | Definition |       |             |

   Administrative Information
   -------------------------------------
   Status |Requester | Rev | Rev. Date |

   Comments and Remarks
   --------------------

   There is a blank template of the Registry template provided in
   Section 11 of this memo.

7.1.  Summary Category

7.1.1.  Identifier

   This column provides a numeric Identifier for the Registered
   Performance Metric.  The Identifier of each Registered Performance
   Metric MUST be unique.  Note that revising a Metric according to the
   process in Section 8.2 creates a new entry in the Performance Metrics
   Registry with the same identifier.

   The Registered Performance Metric unique Identifier is an unbounded
   integer (range 0 to infinity).

   The Identifier 0 should be Reserved.  The Identifier values from
   64512 to 65535 are reserved for private or experimental use, and the
   user may encounter overlapping uses.

   When adding new Registered Performance Metrics to the Performance
   Metrics Registry, IANA SHOULD assign the lowest available Identifier
   to the new Registered Performance Metric.

   If a Performance Metrics Expert providing review determines that
   there is a reason to assign a specific numeric Identifier, possibly
   leaving a temporary gap in the numbering, then the Performance
   Metrics Expert SHALL inform IANA of this decision.

7.1.2.  Name

   As the Name of a Registered Performance Metric is the first thing a
   potential human implementer will use when determining whether it is
   suitable for their measurement study, it is important to be as
   precise and descriptive as possible.  In the 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_Output

   MetricType:  A combination of the directional properties and the
      metric measured, such as and not limited to:

           +-----------+--------------------------------------+
           | RTDelay   | Round-Trip Delay                     |
           +-----------+--------------------------------------+
           | RTDNS     | Response Time Domain Name Service    |
           +-----------+--------------------------------------+
           | RLDNS     | Response Loss 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                  |
           +-----------+--------------------------------------+

                                 Table 1

   Method:  One of the methods defined in [RFC7799], such as and not
      limited to:

      +-------------+----------------------------------------------+
      | Active      | depends on a dedicated measurement packet    |
      |             | stream and observations of the stream as     |
      |             | described in [RFC7799]                       |
      +-------------+----------------------------------------------+
      | Passive     | depends *solely* on observation of one or    |
      |             | more existing packet streams as described in |
      |             | [RFC7799]                                    |
      +-------------+----------------------------------------------+
      | HybridType1 | Hybrid Type I observations on one stream     |
      |             | that combine both Active Methods and Passive |
      |             | Methods as described in [RFC7799]            |
      +-------------+----------------------------------------------+
      | HybridType2 | Hybrid Type II observations on two or more   |
      |             | streams that combine both Active Methods and |
      |             | Passive Methods as described in [RFC7799]    |
      +-------------+----------------------------------------------+
      | Spatial     | spatial metric as described in [RFC5644]     |
      +-------------+----------------------------------------------+

                                 Table 2

   SubTypeMethod:  One or more subtypes to further describe the features
      of the entry, such as and not limited to:

    +----------------+------------------------------------------------+
    | 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                     |
    +----------------+------------------------------------------------+
    | QUIC           | QUIC transport protocol                        |
    +----------------+------------------------------------------------+
    | HS             | Hand-Shake, such as TCP's 3-way HS             |
    +----------------+------------------------------------------------+
    | Poisson        | packet generation using Poisson distribution   |
    +----------------+------------------------------------------------+
    | Periodic       | periodic packet generation                     |
    +----------------+------------------------------------------------+
    | SendOnRcv      | sender keeps one packet in transit by sending  |
    |                | when previous packet arrives                   |
    +----------------+------------------------------------------------+
    | PayloadxxxxB   | where xxxx is replaced by an integer, the      |
    |                | number of octets or 8-bit Bytes in the Payload |
    +----------------+------------------------------------------------+
    | SustainedBurst | capacity test, worst case                      |
    +----------------+------------------------------------------------+
    | StandingQueue  | test of bottleneck queue behavior              |
    +----------------+------------------------------------------------+

                                  Table 3

      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:  An immutable document Identifier combined with a document
      section Identifier.  For RFCs, this consists of the RFC number and
      major section number that specifies this Registry Entry in the
      form "RFCXXXXsecY", e.g., RFC7799sec3.  Note: The RFC number is
      not the primary reference specification for the metric definition
      (e.g., [RFC7679] as the primary reference specification for one-
      way delay metrics); 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.  Anticipating the "RFC10K" problem, the number
      of the RFC continues to replace "RFCXXXX", regardless of the
      number of digits in the RFC number.  Anticipating Registry Entries
      from other standards bodies, the form of this Name Element MUST be
      proposed and reviewed for consistency and uniqueness by the Expert
      Reviewer.

   Units:  The units of measurement for the output, such as and not
      limited to:

                +------------+----------------------------+
                | Seconds    |                            |
                +------------+----------------------------+
                | Ratio      | unitless                   |
                +------------+----------------------------+
                | Percent    | value multiplied by 100%   |
                +------------+----------------------------+
                | Logical    | 1 or 0                     |
                +------------+----------------------------+
                | Packets    |                            |
                +------------+----------------------------+
                | BPS        | bits per second            |
                +------------+----------------------------+
                | PPS        | packets per second         |
                +------------+----------------------------+
                | EventTotal | for unitless counts        |
                +------------+----------------------------+
                | Multiple   | more than one type of unit |
                +------------+----------------------------+
                | Enumerated | a list of outcomes         |
                +------------+----------------------------+
                | Unitless   |                            |
                +------------+----------------------------+

                                  Table 4

   Output:  The type of output resulting from measurement, such as and
      not limited to:

           +--------------+------------------------------------+
           | Singleton    |                                    |
           +--------------+------------------------------------+
           | Raw          | multiple singletons                |
           +--------------+------------------------------------+
           | Count        |                                    |
           +--------------+------------------------------------+
           | Minimum      |                                    |
           +--------------+------------------------------------+
           | Maximum      |                                    |
           +--------------+------------------------------------+
           | Median       |                                    |
           +--------------+------------------------------------+
           | Mean         |                                    |
           +--------------+------------------------------------+
           | 95Percentile | 95th percentile                    |
           +--------------+------------------------------------+
           | 99Percentile | 99th percentile                    |
           +--------------+------------------------------------+
           | StdDev       | standard deviation                 |
           +--------------+------------------------------------+
           | Variance     |                                    |
           +--------------+------------------------------------+
           | PFI          | pass, fail, inconclusive           |
           +--------------+------------------------------------+
           | FlowRecords  | descriptions of flows observed     |
           +--------------+------------------------------------+
           | LossRatio    | lost packets to total packets, <=1 |
           +--------------+------------------------------------+

                                  Table 5

   An example, as described in Section 4 of [RFC8912], is

      RTDelay_Active_IP-UDP-Periodic_RFC8912sec4_Seconds_95Percentile

   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.

7.1.3.  URI

   The URI column MUST contain a URL [RFC3986] that uniquely identifies
   and locates the Metric Entry so it is accessible through the
   Internet.  The URL points to a file containing all of the human-
   readable information for one Registry Entry.  The URL SHALL reference
   a target file that is preferably HTML-formatted and contains URLs to
   referenced sections of HTMLized RFCs, or other reference
   specifications.  These target files for different entries can be more
   easily edited and reused when preparing new entries.  The exact form
   of the URL for each target file, and the target file itself, will be
   determined by IANA and reside on <https://www.iana.org/>.  Section 4
   of [RFC8912], as well as subsequent major sections of that document,
   provide an example of a target file in HTML form.

7.1.4.  Description

   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.

7.1.5.  Reference

   This entry gives the specification containing the candidate Registry
   Entry that was reviewed and agreed upon, if such an RFC or other
   specification exists.

7.1.6.  Change Controller

   This entry names the entity responsible for approving revisions to
   the Registry Entry and SHALL provide contact information (for an
   individual, where appropriate).

7.1.7.  Version (of Registry Format)

   This column gives the version number for the Registry format used, at
   the time the Performance Metric is registered.  The format complying
   with this memo MUST use 1.0.  A new RFC that changes the Registry
   format will designate a new version number corresponding to that
   format.  The version number of Registry Entries SHALL NOT change
   unless the Registry Entry is updated to reflect the Registry format
   (following the procedures in Section 8).

7.2.  Metric Definition Category

   This category includes columns to prompt all necessary details
   related to the metric definition, including the immutable document
   reference and values of input factors, called "Fixed Parameters",
   which are left open in the immutable document but have a particular
   value defined by the Performance Metric.

7.2.1.  Reference Definition

   This entry provides a reference (or references) to the relevant
   sections of the document or documents that define the metric, as well
   as any supplemental information needed to ensure an unambiguous
   definition for implementations.  A given 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.

7.2.2.  Fixed Parameters

   Fixed Parameters are Parameters whose values 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 subset 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 [RFC2330], such as transport
   protocol, payload length, TTL, etc.  An example for Passive Metrics
   is for an RTP packet loss calculation that relies on the validation
   of a packet as RTP, which is a multi-packet validation controlled by
   the MIN_SEQUENTIAL variable as defined by [RFC3550].  Varying
   MIN_SEQUENTIAL values can alter the loss report, and this variable
   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 the Runtime Parameters column).

   Parameters MUST have a well-specified data format.

   A Parameter that is a Fixed Parameter for one Performance Metrics
   Registry Entry may be designated as a Runtime Parameter for another
   Performance Metrics Registry Entry.

7.3.  Method of Measurement Category

   This category includes columns for references to relevant sections of
   the immutable document(s) and any supplemental information needed to
   ensure an unambiguous method for implementations.

7.3.1.  Reference Method

   This entry provides references to relevant sections of immutable
   documents, such as RFC(s) (for other standards bodies, it is likely
   to be necessary to reference a specific, dated version of a
   specification) describing the Method of Measurement, as well as any
   supplemental information needed to ensure unambiguous interpretation
   for implementations referring to the immutable document text.

   Specifically, this section should include pointers to pseudocode or
   actual code that could be used for an unambiguous implementation.

7.3.2.  Packet Stream Generation

   This column applies to Performance Metrics that generate traffic as
   part of their Measurement Method, including, but not necessarily
   limited to, Active Metrics.  The generated traffic is referred to as
   a "stream", and this column describes its characteristics.

   Each entry for this column contains the following information:

   Value:  The name of the packet stream scheduling discipline

   Reference:  The specification where the Parameters of the stream are
      defined

   The packet generation stream may require Parameters such as the
   average packet rate and distribution truncation value for streams
   with Poisson-distributed inter-packet sending times.  If such
   Parameters are needed, they should be included in either the Fixed
   Parameters column or the Runtime Parameters column, depending on
   whether they will be fixed or will be an input for the metric.

   The simplest example of stream specification is singleton scheduling
   (see [RFC2330]), 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 web page).  Other streams support a series of atomic
   measurements using pairs of packets, where the packet stream follows
   a schedule defining the timing between transmitted packets, and an
   atomic measurement assesses the reception time between successive
   packets (e.g., a measurement of Inter-Packet Delay Variation).  More
   complex streams and measurement relationships are possible.
   Principally, two different streams are used in IPPM Metrics:
   (1) Poisson, distributed as described in [RFC2330] and (2) periodic,
   as described in [RFC3432].  Both Poisson and periodic have their own
   unique Parameters, and the relevant set of Parameter names and values
   should be included in either the Fixed Parameters column or the
   Runtime Parameters column.

7.3.3.  Traffic Filter

   This column applies to Performance Metrics that observe packets
   flowing through (the device with) the Measurement Agent, i.e.,
   packets that are 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 the needs of the metric itself
   and a balance of an operator's measurement needs and a user's need
   for privacy.  Mechanics for conveying the filter criteria might be
   the BPF (Berkeley Packet Filter) or PSAMP (Packet Sampling) [RFC5475]
   Property Match Filtering, which reuses IPFIX [RFC7012].  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 may 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 reference

   Value:  The actual set of rules expressed

7.3.4.  Sampling Distribution

   The sampling distribution defines, out of all of the packets that
   match the Traffic Filter, which one or more of those packets 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 distribution

   Reference definition:  Pointer to the specification where the
      sampling distribution is properly defined

   The sampling distribution may require Parameters.  If such Parameters
   are needed, they should be included in either the Fixed Parameters
   column or the Runtime Parameters column, depending on whether they
   will be fixed or will be an input for the metric.

   PSAMP is documented in "Sampling and Filtering Techniques for IP
   Packet Selection" [RFC5475], while "A Framework for Packet Selection
   and Reporting" [RFC5474] provides more background information.  The
   sampling distribution Parameters might be expressed in terms of the
   model described in "Information Model for Packet Sampling Exports"
   [RFC5477] and the process provided in "Flow Selection Techniques"
   [RFC7014].

7.3.5.  Runtime Parameters

   In contrast to the Fixed Parameters, Runtime Parameters are
   Parameters that do not change the fundamental nature of the
   measurement and their values are not specified in the Performance
   Metrics Registry.  They are left as variables in the Registry, as an
   aid to the measurement system implementer or user.  Their values are
   supplied on execution, configured into the measurement system, and
   reported with the Measurement Results (so that the context is
   complete).

   Where metrics supply a list of Parameters as part of their
   descriptive template, a subset of the Parameters will be designated
   as Runtime 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 Runtime 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., a binary base64-encoded value) or
   "ip-address" as defined in [RFC6991].  The actual encoding(s) used
   must be explicitly defined for each Runtime Parameter.  IPv6
   addresses and options MUST be accommodated, allowing Registered
   Performance Metrics to be used in that address family.  Other address
   families are permissible.

   Examples of Runtime Parameters include IP addresses, measurement
   point designations, start times and end times for measurement, and
   other information essential to the Method of Measurement.

7.3.6.  Role

   In some Methods of Measurement, there may be several Roles defined,
   e.g., for a one-way packet delay Active Measurement, there is one
   Measurement Agent that generates the packets and another Agent that
   receives the packets.  This column contains the name of the Role(s)
   for this particular entry.  In the one-way delay example above, there
   should be two entries in the Registry's Role column, one for each
   Role (Source and Destination).  When a Measurement Agent is
   instructed to perform the "Source" Role for the one-way delay metric,
   the Agent knows that it is required to generate packets.  The values
   for this field are defined in the Reference Method of Measurement
   (and this frequently results in abbreviated Role names such as
   "Src").

   When the Role column of a Registry Entry defines more than one Role,
   the Role SHALL be treated as a Runtime Parameter and supplied for
   execution.  It should be noted that the LMAP framework [RFC7594]
   distinguishes the Role from other Runtime Parameters.

7.4.  Output Category

   For entries that 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.

7.4.1.  Type

   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 Section 7.1.2 above for a list of
   output types.

7.4.2.  Reference Definition

   This column contains a pointer to the specification(s) where the
   output type and format are defined.

7.4.3.  Metric Units

   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 [RFC2330] for
   definitions of these terms) is collected, this entry will specify the
   units for each measured value.

7.4.4.  Calibration

   Some specifications for Methods of Measurement include the ability to
   perform an error calibration.  Section 3.7.3 of [RFC7679] 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 result of a calibration
   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 in 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 that is the result of system
   noise and is thus inaccurate.

7.5.  Administrative Information

7.5.1.  Status

   This entry indicates the status of the specification of this
   Registered Performance Metric.  Allowed values are 'Current',
   'Deprecated', and 'Obsolete'.  All newly defined Registered
   Performance Metrics have 'Current' Status.

7.5.2.  Requester

   This entry indicates the requester for the Registered Performance
   Metric.  The requester MAY be a document (such as an RFC) or a
   person.

7.5.3.  Revision

   This entry indicates the revision number of a Registered Performance
   Metric, starting at 0 for Registered Performance Metrics at the time
   of definition and incremented by one for each revision.  However, in
   the case of a non-backward-compatible revision, see Section 8.3.

7.5.4.  Revision Date

   This entry indicates the date of acceptance of the most recent
   revision for the Registered Performance Metric.  The date SHALL be
   determined by IANA and the reviewing Performance Metrics Expert.

7.6.  Comments and Remarks

   Besides providing additional details that do not appear in other
   categories, this open category (single column) allows unforeseen
   issues to be addressed by simply updating this informational entry.

8.  Processes for Managing the Performance Metrics Registry Group

   Once a Performance Metric or set of Performance Metrics has been
   identified for a given application, candidate Performance Metrics
   Registry Entry specifications prepared in accordance with Section 7
   should be submitted to IANA to follow the process for review by the
   Performance Metrics Experts, as defined below.  This process is also
   used for other changes to a Performance Metrics Registry Entry, such
   as deprecation or revision, as described later in this section.

   It is 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 working group mailing list.

8.1.  Adding New Performance Metrics to the Performance Metrics Registry

   Requests to add Registered Performance Metrics in the Performance
   Metrics Registry SHALL be submitted to IANA, which forwards the
   request to a designated group of experts (Performance Metrics
   Experts) appointed by the IESG; these are the reviewers called for by
   the Specification Required policy [RFC8126] defined for the
   Performance Metrics Registry.  The Performance Metrics Experts review
   the request for such things as compliance with this document,
   compliance with other applicable Performance Metrics-related RFCs,
   and consistency with the currently defined set of Registered
   Performance Metrics.  The most efficient path for submission begins
   with preparation of an Internet-Draft containing the proposed
   Performance Metrics Registry Entry using the template in Section 11,
   so that the submission formatting will benefit from the normal IETF
   Internet-Draft submission processing (including HTMLization).

   Submission to IANA may be during IESG review (leading to IETF
   Standards Action), where an Internet-Draft proposes one or more
   Registered Performance Metrics to be added to the Performance Metrics
   Registry, including the text of the proposed Registered Performance
   Metric(s).

   If an RFC-to-be includes a Performance Metric and a proposed
   Performance Metrics Registry Entry but the Performance Metrics
   Expert's review determines that one or more of the criteria listed in
   Section 5 have not been met, then the proposed Performance Metrics
   Registry Entry MUST be removed from the text.  Once evidence exists
   that the Performance Metric meets the criteria in Section 5, the
   proposed Performance Metrics Registry Entry SHOULD be submitted to
   IANA to be evaluated in consultation with the Performance Metrics
   Experts for registration at that time.

   Authors of proposed Registered Performance Metrics SHOULD review
   compliance with the specifications in this document to check their
   submissions before sending them to IANA.

   At least one Performance Metrics Expert should endeavor to complete
   referred reviews in a timely manner.  If the request is acceptable,
   the Performance Metrics Experts signify their approval to IANA, and
   IANA updates the Performance Metrics Registry.  If the request is not
   acceptable, the Performance Metrics Experts MAY coordinate with the
   requester to change the request so that it is compliant; otherwise,
   IANA SHALL coordinate resolution of issues on behalf of the expert.
   The Performance Metrics Experts MAY choose to reject clearly
   frivolous or inappropriate change requests outright, but such
   exceptional circumstances should be rare.

   If the proposed Metric is unique in a significant way, in order to
   properly describe the Metric, it may be necessary to propose a new
   Name Element Registry, or (more likely) a new Entry in an existing
   Name Element Registry.  This proposal is part of the request for the
   new Metric, so that it undergoes the same IANA review and approval
   process.

   Decisions by the Performance Metrics Experts may be appealed per
   Section 10 of [RFC8126].

8.2.  Backward-Compatible Revision of Registered Performance Metrics

   A request for revision is only permitted when the requested changes
   maintain backward compatibility with implementations of the prior
   Performance Metrics Registry Entry describing a Registered
   Performance Metric (entries with lower revision numbers but having
   the same Identifier and Name).

   The purpose of the Status field in the Performance Metrics Registry
   is to indicate whether the entry for a Registered Performance Metric
   is 'Current', 'Deprecated', or 'Obsolete'.  The term 'deprecated' is
   used when an entry is replaced, either with a backwards-compatible
   revision (this sub-section) or with a non-backwards-compatible
   revision (in Section 8.3).

   In addition, no policy is defined for revising the Performance Metric
   Entries in the IANA Registry or addressing errors therein.  To be
   clear, changes and deprecations within the Performance Metrics
   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, per Section 8.1, identifying the existing
   Performance Metrics Registry Entry, and explaining how and why the
   existing entry should be revised.

   The primary requirement in the definition of procedures for managing
   changes to existing Registered Performance Metrics is avoidance of
   measurement interoperability problems; the Performance Metrics
   Experts must work to maintain interoperability above all else.
   Changes to Registered Performance Metrics may only be done in an
   interoperable way; necessary changes that cannot be done in a way
   that allows interoperability with unchanged implementations MUST
   result in the creation of a new Registered Performance Metric (with a
   new Name, replacing the RFCXXXXsecY portion of the Name) and possibly
   the deprecation of the earlier metric.

   A change to a Registered Performance Metric SHALL be determined to be
   backward compatible when:

   1.  it involves the correction of an error that is obviously only
       editorial, or

   2.  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

   3.  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

   4.  it harmonizes with an external reference that was itself
       corrected, or

   5.  if the current Registry format has been revised by adding a new
       column that is not relevant to an existing Registered Performance
       Metric (i.e., the new column can be safely filled in with "Not
       Applicable").

   If a Performance Metric revision is deemed permissible and backward
   compatible by the Performance Metrics Experts, according to the rules
   in this document, IANA SHOULD execute the change(s) in the
   Performance Metrics Registry.  The requester of the change is
   appended to the original requester in the Performance Metrics
   Registry.  The Name of the revised Registered Performance Metric,
   including the RFCXXXXsecY portion of the Name, SHALL remain unchanged
   even when the change is the result of IETF Standards Action.  The
   revised Registry Entry SHOULD reference the new 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,
   in an appropriate category and column.

   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 Metrics 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 in the Comments or Remarks column should include the
   date, but such additions may not constitute a revision according to
   this process.

   Older versions of the updated Metric Entries are kept in the Registry
   for archival purposes.  The older entries are kept with all fields
   unmodified (including Revision Date) except for the Status field,
   which SHALL be changed to 'Deprecated'.

   This process should not in any way be construed as allowing the
   Performance Metrics Experts to overrule IETF consensus.
   Specifically, any Registered Performance Metrics that were added to
   the Performance Metrics Registry with IETF consensus require IETF
   consensus for revision or deprecation.

8.3.  Non-Backward-Compatible Deprecation of Registered Performance
      Metrics

   This section describes how to make a non-backward-compatible update
   to a Registered Performance Metric.  A Registered Performance Metric
   MAY be deprecated and replaced when:

   1.  the Registered Performance Metric definition has an error or
       shortcoming that cannot be permissibly changed per Section 8.2
       ("Revising Registered Performance Metrics"), or

   2.  the deprecation harmonizes with an external reference that was
       itself deprecated through that reference's accepted deprecation
       method.

   A request for deprecation is sent to IANA, which passes it to the
   Performance Metrics Experts for review.  When deprecating a
   Performance Metric, the Performance Metric Description in the
   Performance Metrics Registry MUST be updated to explain the
   deprecation, as well as to refer to the new Performance Metric
   created to replace the deprecated Performance Metric.

   When a new, non-backward-compatible Performance Metric replaces a
   (now) deprecated metric, the revision number of the new Registered
   Performance Metric is incremented over the value in the deprecated
   version, and the current date is entered as the Revision Date of the
   new Registered Performance Metric.

   The intentional use of deprecated Registered Performance Metrics
   should result in a log entry or human-readable warning by the
   respective application.

   Names and Metric IDs of deprecated Registered Performance Metrics
   must not be reused.

   The deprecated entries are kept with all Administrative columns
   unmodified, except the Status field (which is changed to
   'Deprecated').

8.4.  Obsolete Registry Entries

   Existing Registry Entries may become obsolete over time due to:

   1.  the Registered Performance Metric is found to contain
       considerable errors (and no one sees the value in the effort to
       fix it), or

   2.  one or more critical References (or sections thereof) have been
       designated obsolete by the SDO, or

   3.  other reasons brought to the attention of IANA and the Registry
       Experts.

   When a Performance Metric Registry Entry is declared obsolete, the
   Performance Metric Description in the Performance Metrics Registry is
   updated to explain the reasons the Entry is now obsolete and has not
   been replaced (Deprecation always involves replacement).

   Obsolete entries are kept with all Administrative columns unmodified,
   except the Status field (which is changed to 'Obsolete').

8.5.  Registry Format Version and Future Changes/Extensions

   The Registry Format Version defined in this memo is 1.0, and
   candidate Registry Entries complying with this memo MUST use 1.0.

   The Registry Format can only be updated by publishing a new RFC with
   the new format (Standards Action).

   When a Registered Performance Metric is created or revised, then it
   uses the most recent Registry Format Version.

   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 (in either the unit or the tenths digit, depending on
   the degree of extension).

9.  Security Considerations

   This document defines a Registry structure and does not itself
   introduce any new security considerations for the Internet.  The
   definition of Performance Metrics for this Registry may introduce
   some security concerns, but the mandatory references should have
   their own considerations for security, and such definitions should be
   reviewed with security in mind if the security considerations are not
   covered by one or more reference standards.

   The aggregated results of the Performance Metrics described in this
   Registry might reveal network topology information that may be
   considered sensitive.  If such cases are found, then access control
   mechanisms should be applied.

10.  IANA Considerations

   With the background and processes described in earlier sections, IANA
   has taken the actions described below.

10.1.  Registry Group

   The new Registry group is named Performance Metrics.  This document
   refers to it as the "Performance Metrics Group" or "Registry Group",
   meaning all registrations appearing on
   <https://www.iana.org/assignments/performance-metrics>
   (https://www.iana.org/assignments/performance-metrics).

   For clarity, note that this document and [RFC8912] use the following
   conventions to refer to the various IANA registries related to
   Performance Metrics.

    +===============+===========================+=====================+
    |               | RFC 8911 and RFC 8912     | IANA Web page       |
    +===============+===========================+=====================+
    | Page Title    | Performance Metrics Group | Performance Metrics |
    +---------------+---------------------------+---------------------+
    | Main Registry | Performance Metrics       | Performance Metrics |
    |               | Registry                  | Registry            |
    +---------------+---------------------------+---------------------+
    | Registry Row  | Performance Metrics       | registration (also  |
    |               | Registry Entry            | template)           |
    +---------------+---------------------------+---------------------+

                                  Table 6

   Registration Procedure: Specification Required

   Reference: RFC 8911

   Experts: Performance Metrics Experts

10.2.  Performance Metrics Name Elements

   This memo specifies and populates the Registries for the Performance
   Metric Name Elements.  The Name assigned to a Performance Metric
   Registry Entry consists of multiple Elements separated by an "_"
   (underscore), in the order defined in Section 7.1.2.  IANA has
   created the following registries, which contain the current set of
   possibilities for each Element in the Performance Metric Name.

      MetricType

      Method

      SubTypeMethod

      Spec

      Units

      Output

   At creation, IANA has populated the Registered Performance Metrics
   Name Elements using 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 proposes a set of values for its Name
   Elements.  These are reviewed by IANA and an Expert Reviewer.  It is
   possible that a candidate Metric Entry proposes a new value for a
   Name Element (that is, one that is not in the existing list of
   possibilities), or even that it proposes a new Name Element.  Such
   new assignments are administered by IANA through the Specification
   Required policy [RFC8126], which includes Expert Review (i.e., review
   by one of a group of Performance Metrics Experts, who are appointed
   by the IESG upon recommendation of the Transport Area Directors).

10.3.  New Performance Metrics Registry

   This document specifies the Performance Metrics Registry.  The
   Registry contains the following columns in the Summary category:

      Identifier

      Name

      URI

      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 7.

   The Identifier 0 should be Reserved.  The Registered Performance
   Metric unique Identifier is an unbounded integer (range 0 to
   infinity).  The Identifier values from 64512 to 65535 are reserved
   for private or experimental use, and the user may encounter
   overlapping uses.  When adding new Registered Performance Metrics to
   the Performance Metrics Registry, IANA SHOULD assign the lowest
   available Identifier to the new Registered Performance Metric.  If a
   Performance Metrics Expert providing review determines that there is
   a reason to assign a specific numeric Identifier, possibly leaving a
   temporary gap in the numbering, then the Performance Metrics Expert
   SHALL inform IANA of this decision.

   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 7.

   The URI column will have a URL to each completed Registry Entry.  The
   Registry Entry text SHALL be HTMLized to aid the reader (similar to
   the way that Internet-Drafts are HTMLized, the same tool can perform
   the function), with links to referenced section(s) of an RFC or
   another immutable document.

   The Reference column will include an RFC number, an approved
   specification designator from another standards body, or some other
   immutable document.

   New assignments for the Performance Metrics Registry will be
   administered by IANA through the Specification Required policy
   [RFC8126] (which includes Expert Review, i.e., review by one of a
   group of experts -- in the case of this document, the Performance
   Metrics Experts, who are appointed by the IESG upon recommendation of
   the Transport Area Directors) or by Standards Action.  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 to the Performance Metrics 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 (in either the unit or the tenths digit, depending on
   the degree of extension).

11.  Blank Registry Template

   This section provides a blank template to help IANA and Registry
   Entry writers.

11.1.  Summary

   This category includes multiple indexes to the Registry Entry: the
   element ID and Metric Name.

11.1.1.  ID (Identifier)

   <insert a numeric Identifier, an integer, TBD>

11.1.2.  Name

   <insert the Name, according to the metric naming convention>

11.1.3.  URI

   URL: https://www.iana.org/assignments/performance-metrics/ ... <Name>

11.1.4.  Description

   <provide a description>

11.1.5.  Reference

   <provide the RFC or other specification that contains the approved
   candidate Registry Entry>

11.1.6.  Change Controller

   <provide information regarding the entity responsible for approving
   revisions to the Registry Entry (including contact information for an
   individual, where appropriate)>

11.1.7.  Version (of Registry Format)

11.2.  Metric Definition

   This category includes columns to prompt the entry of all necessary
   details related to the metric definition, including the immutable
   document reference and values of input factors, called "Fixed
   Parameters".

11.2.1.  Reference Definition

   <provide a full bibliographic reference to an immutable document>

   <provide a specific section reference and additional clarifications,
   if needed>

11.2.2.  Fixed Parameters

   <list and specify Fixed Parameters, input factors that must be
   determined and embedded in the measurement system for use when
   needed>

11.3.  Method of Measurement

   This category includes columns for references to relevant sections of
   the immutable document(s) and any supplemental information needed to
   ensure an unambiguous method for implementations.

11.3.1.  Reference Method

   <for the metric, insert relevant section references and supplemental
   info>

11.3.2.  Packet Stream Generation

   <provide a list of generation Parameters and section/spec references
   if needed>

11.3.3.  Traffic Filtering (Observation) Details

   This category provides the filter details (when present), which
   qualify the set of packets that contribute to the measured results
   from among all packets observed.

   <provide a section reference>

11.3.4.  Sampling Distribution

   <insert time distribution details, or how this is different from the
   filter>

11.3.5.  Runtime Parameters and Data Format

   Runtime Parameters are input factors that must be determined,
   configured into the measurement system, and reported with the results
   for the context to be complete.

   <provide a list of Runtime Parameters and their data formats>

11.3.6.  Roles

   <list the names of the different Roles from the Measurement Method>

11.4.  Output

   This category specifies all details of the output of measurements
   using the metric.

11.4.1.  Type

   <insert the name of the output type -- raw results or a selected
   summary statistic>

11.4.2.  Reference Definition

   <describe the reference data format for each type of result>

11.4.3.  Metric Units

   <insert units for the measured results, and provide the reference
   specification>

11.4.4.  Calibration

   <insert information on calibration>

11.5.  Administrative Items

   This category provides administrative information.

11.5.1.  Status

   <provide status: 'Current' or 'Deprecated'>

11.5.2.  Requester

   <provide a person's name, an RFC number, etc.>

11.5.3.  Revision

   <provide the revision number: starts at 0>

11.5.4.  Revision Date

   <provide the date, in YYYY-MM-DD format>

11.6.  Comments and Remarks

   <list any additional (informational) details for this entry>

12.  References

12.1.  Normative References

   [RFC2026]  Bradner, S., "The Internet Standards Process -- Revision
              3", BCP 9, RFC 2026, DOI 10.17487/RFC2026, October 1996,
              <https://www.rfc-editor.org/info/rfc2026>.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC2330]  Paxson, V., Almes, G., Mahdavi, J., and M. Mathis,
              "Framework for IP Performance Metrics", RFC 2330,
              DOI 10.17487/RFC2330, May 1998,
              <https://www.rfc-editor.org/info/rfc2330>.

   [RFC3986]  Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
              Resource Identifier (URI): Generic Syntax", STD 66,
              RFC 3986, DOI 10.17487/RFC3986, January 2005,
              <https://www.rfc-editor.org/info/rfc3986>.

   [RFC5644]  Stephan, E., Liang, L., and A. Morton, "IP Performance
              Metrics (IPPM): Spatial and Multicast", RFC 5644,
              DOI 10.17487/RFC5644, October 2009,
              <https://www.rfc-editor.org/info/rfc5644>.

   [RFC6390]  Clark, A. and B. Claise, "Guidelines for Considering New
              Performance Metric Development", BCP 170, RFC 6390,
              DOI 10.17487/RFC6390, October 2011,
              <https://www.rfc-editor.org/info/rfc6390>.

   [RFC6576]  Geib, R., Ed., Morton, A., Fardid, R., and A. Steinmitz,
              "IP Performance Metrics (IPPM) Standard Advancement
              Testing", BCP 176, RFC 6576, DOI 10.17487/RFC6576, March
              2012, <https://www.rfc-editor.org/info/rfc6576>.

   [RFC7799]  Morton, A., "Active and Passive Metrics and Methods (with
              Hybrid Types In-Between)", RFC 7799, DOI 10.17487/RFC7799,
              May 2016, <https://www.rfc-editor.org/info/rfc7799>.

   [RFC8126]  Cotton, M., Leiba, B., and T. Narten, "Guidelines for
              Writing an IANA Considerations Section in RFCs", BCP 26,
              RFC 8126, DOI 10.17487/RFC8126, June 2017,
              <https://www.rfc-editor.org/info/rfc8126>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

12.2.  Informative References

   [RFC2681]  Almes, G., Kalidindi, S., and M. Zekauskas, "A Round-trip
              Delay Metric for IPPM", RFC 2681, DOI 10.17487/RFC2681,
              September 1999, <https://www.rfc-editor.org/info/rfc2681>.

   [RFC3432]  Raisanen, V., Grotefeld, G., and A. Morton, "Network
              performance measurement with periodic streams", RFC 3432,
              DOI 10.17487/RFC3432, November 2002,
              <https://www.rfc-editor.org/info/rfc3432>.

   [RFC3550]  Schulzrinne, H., Casner, S., Frederick, R., and V.
              Jacobson, "RTP: A Transport Protocol for Real-Time
              Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550,
              July 2003, <https://www.rfc-editor.org/info/rfc3550>.

   [RFC3611]  Friedman, T., Ed., Caceres, R., Ed., and A. Clark, Ed.,
              "RTP Control Protocol Extended Reports (RTCP XR)",
              RFC 3611, DOI 10.17487/RFC3611, November 2003,
              <https://www.rfc-editor.org/info/rfc3611>.

   [RFC4148]  Stephan, E., "IP Performance Metrics (IPPM) Metrics
              Registry", BCP 108, RFC 4148, DOI 10.17487/RFC4148, August
              2005, <https://www.rfc-editor.org/info/rfc4148>.

   [RFC5474]  Duffield, N., Ed., Chiou, D., Claise, B., Greenberg, A.,
              Grossglauser, M., and J. Rexford, "A Framework for Packet
              Selection and Reporting", RFC 5474, DOI 10.17487/RFC5474,
              March 2009, <https://www.rfc-editor.org/info/rfc5474>.

   [RFC5475]  Zseby, T., Molina, M., Duffield, N., Niccolini, S., and F.
              Raspall, "Sampling and Filtering Techniques for IP Packet
              Selection", RFC 5475, DOI 10.17487/RFC5475, March 2009,
              <https://www.rfc-editor.org/info/rfc5475>.

   [RFC5477]  Dietz, T., Claise, B., Aitken, P., Dressler, F., and G.
              Carle, "Information Model for Packet Sampling Exports",
              RFC 5477, DOI 10.17487/RFC5477, March 2009,
              <https://www.rfc-editor.org/info/rfc5477>.

   [RFC6035]  Pendleton, A., Clark, A., Johnston, A., and H. Sinnreich,
              "Session Initiation Protocol Event Package for Voice
              Quality Reporting", RFC 6035, DOI 10.17487/RFC6035,
              November 2010, <https://www.rfc-editor.org/info/rfc6035>.

   [RFC6248]  Morton, A., "RFC 4148 and the IP Performance Metrics
              (IPPM) Registry of Metrics Are Obsolete", RFC 6248,
              DOI 10.17487/RFC6248, April 2011,
              <https://www.rfc-editor.org/info/rfc6248>.

   [RFC6991]  Schoenwaelder, J., Ed., "Common YANG Data Types",
              RFC 6991, DOI 10.17487/RFC6991, July 2013,
              <https://www.rfc-editor.org/info/rfc6991>.

   [RFC7012]  Claise, B., Ed. and B. Trammell, Ed., "Information Model
              for IP Flow Information Export (IPFIX)", RFC 7012,
              DOI 10.17487/RFC7012, September 2013,
              <https://www.rfc-editor.org/info/rfc7012>.

   [RFC7014]  D'Antonio, S., Zseby, T., Henke, C., and L. Peluso, "Flow
              Selection Techniques", RFC 7014, DOI 10.17487/RFC7014,
              September 2013, <https://www.rfc-editor.org/info/rfc7014>.

   [RFC7594]  Eardley, P., Morton, A., Bagnulo, M., Burbridge, T.,
              Aitken, P., and A. Akhter, "A Framework for Large-Scale
              Measurement of Broadband Performance (LMAP)", RFC 7594,
              DOI 10.17487/RFC7594, September 2015,
              <https://www.rfc-editor.org/info/rfc7594>.

   [RFC7679]  Almes, G., Kalidindi, S., Zekauskas, M., and A. Morton,
              Ed., "A One-Way Delay Metric for IP Performance Metrics
              (IPPM)", STD 81, RFC 7679, DOI 10.17487/RFC7679, January
              2016, <https://www.rfc-editor.org/info/rfc7679>.

   [RFC8912]  Morton, A., Bagnulo, M., Eardley, P., and K. D'Souza,
              "Initial Performance Metrics Registry Entries", RFC 8912,
              DOI 10.17487/RFC8912, November 2021,
              <https://www.rfc-editor.org/info/rfc8912>.

Acknowledgments

   Thanks to Brian Trammell and Bill Cerveny, IPPM co-chairs during the
   development of this memo, for leading several 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 Baber for answering questions
   related to the presentation of the Registry and accessibility of the
   complete template via URL.  Thanks to Roni Even for his review and
   suggestions to generalize the procedures.  Thanks to all of the Area
   Directors for their reviews.

Authors' Addresses

   Marcelo Bagnulo
   Universidad Carlos III de Madrid
   Av. Universidad 30
   28911 Leganes Madrid
   Spain

   Phone: 34 91 6249500
   Email: marcelo@it.uc3m.es
   URI:   http://www.it.uc3m.es


   Benoit Claise
   Huawei

   Email: benoit.claise@huawei.com


   Philip Eardley
   BT
   Adastral Park, Martlesham Heath
   Ipswich
   United Kingdom

   Email: philip.eardley@bt.com


   Al Morton
   AT&T Labs
   200 Laurel Avenue South
   Middletown, NJ 07748
   United States of America

   Email: acmorton@att.com


   Aamer Akhter
   Consultant
   118 Timber Hitch
   Cary, NC
   United States of America

   Email: aakhter@gmail.com
