RFC 8911 | Registry for Performance Metrics | November 2021 |
Bagnulo, et al. | Standards Track | [Page] |
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.¶
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 (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.¶
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:¶
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:¶
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.¶
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.¶
This document is intended for two different audiences:¶
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.¶
In this section, we detail several motivations for the Performance Metrics Registry.¶
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):¶
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.¶
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.¶
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.¶
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:¶
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.¶
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.¶
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.¶
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.¶
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.¶
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.¶
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 "_":¶
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 |
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] |
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 |
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.¶
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 |
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 |
An example, as described in Section 4 of [RFC8912], is¶
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 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.¶
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 that was reviewed and agreed upon, if such an RFC or other specification exists.¶
This entry names the entity responsible for approving revisions to the Registry Entry and SHALL provide contact information (for an individual, where appropriate).¶
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).¶
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.¶
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.¶
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.¶
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.¶
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.¶
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:¶
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.¶
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:¶
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:¶
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].¶
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.¶
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.¶
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.¶
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.¶
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 [RFC2330] 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 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.¶
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.¶
This entry indicates the requester for the Registered Performance Metric. The requester MAY be a document (such as an RFC) or a person.¶
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.¶
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.¶
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.¶
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.¶
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].¶
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:¶
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.¶
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:¶
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').¶
Existing Registry Entries may become obsolete over time due to:¶
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').¶
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).¶
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.¶
With the background and processes described in earlier sections, IANA has taken the actions described below.¶
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>.¶
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 Registry | Performance Metrics Registry |
Registry Row | Performance Metrics Registry Entry | registration (also template) |
Registration Procedure: Specification Required¶
Reference: RFC 8911¶
Experts: Performance Metrics Experts¶
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.¶
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).¶
This document specifies the Performance Metrics Registry. The Registry contains the following columns in the Summary category:¶
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:¶
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).¶
This section provides a blank template to help IANA and Registry Entry writers.¶
This category includes multiple indexes to the Registry Entry: the element ID and Metric Name.¶
<insert a numeric Identifier, an integer, TBD>¶
<insert the Name, according to the metric naming convention>¶
URL: https://www.iana.org/performance-metrics/ ... <Name>¶
<provide a description>¶
<provide the RFC or other specification that contains the approved candidate Registry Entry>¶
<provide information regarding the entity responsible for approving revisions to the Registry Entry (including contact information for an individual, where appropriate)>¶
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".¶
<provide a full bibliographic reference to an immutable document>¶
<provide a specific section reference and additional clarifications, if needed>¶
<list and specify Fixed Parameters, input factors that must be determined and embedded in the measurement system for use when needed>¶
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.¶
<for the metric, insert relevant section references and supplemental info>¶
<provide a list of generation Parameters and section/spec references if needed>¶
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>¶
<insert time distribution details, or how this is different from the filter>¶
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>¶
<list the names of the different Roles from the Measurement Method>¶
This category specifies all details of the output of measurements using the metric.¶
<insert the name of the output type -- raw results or a selected summary statistic>¶
<describe the reference data format for each type of result>¶
<insert units for the measured results, and provide the reference specification>¶
<insert information on calibration>¶
This category provides administrative information.¶
<provide status: 'Current' or 'Deprecated'>¶
<provide a person's name, an RFC number, etc.>¶
<provide the revision number: starts at 0>¶
<provide the date, in YYYY-MM-DD format>¶
<list any additional (informational) details for this entry>¶
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.¶