RFC 3705 PROPOSED STANDARD SNMP · MIB · PERFORMANCE

HC PerfHist TCs: High Capacity Textual Conventions for MIB Modules Using Performance History Based on 15 Minute Intervals

64-bit counter types for MIB modules that record performance history in 15-minute intervals.

On rfc-editor.org ↗
PUBLISHED
February 2004
AUTHORS
B. Ray, R. Abbi
STREAM
IETF
INTERVAL LENGTH
15 minutes
HISTORY KEPT
96 intervals of 15-minute performance data
COUNTER MAXIMUM
2^64-1 (18446744073709551615)
MIB-2 REGISTRATION
mib-2 107
SECONDS ELAPSED RANGE
0..899 for 15-minute intervals
ALARM THRESHOLD RANGE
0..900, where 0 disables the alarm
DOI
10.17487/RFC3705

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                             B. Ray
Request for Comments: 3705                        PESA Switching Systems
Category: Standards Track                                        R. Abbi
                                                                 Alcatel
                                                           February 2004


        High Capacity Textual Conventions for MIB Modules Using
            Performance History Based on 15 Minute Intervals

Status of this Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2004).  All Rights Reserved.

Abstract

   This document presents a set of High Capacity Textual Conventions for
   use in MIB modules which require performance history based upon 15
   minute intervals.  The Textual Conventions defined in this document
   extend the conventions presented in RFC 3593 to 64 bit resolution
   using the conventions presented in RFC 2856.

Table of Contents

   1.  The Internet-Standard Management Framework . . . . . . . . . .  2
   2.  Overview . . . . . . . . . . . . . . . . . . . . . . . . . . .  2
   3.  Definitions. . . . . . . . . . . . . . . . . . . . . . . . . .  3
   4.  Intellectual Property Statement. . . . . . . . . . . . . . . .  8
   5.  References . . . . . . . . . . . . . . . . . . . . . . . . . .  8
       5.1.  Normative References . . . . . . . . . . . . . . . . . .  8
       5.2.  Informative References . . . . . . . . . . . . . . . . .  9
   6.  Security Considerations. . . . . . . . . . . . . . . . . . . . 10
   7.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 10
   8.  Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 10
   9.  Full Copyright Statement . . . . . . . . . . . . . . . . . . . 11

1. The Internet-Standard Management Framework

   For a detailed overview of the documents that describe the current
   Internet-Standard Management Framework, please refer to section 7 of
   RFC 3410 [RFC3410].

   Managed objects are accessed via a virtual information store, termed
   the Management Information Base or MIB.  MIB objects are generally
   accessed through the Simple Network Management Protocol (SNMP).
   Objects in the MIB are defined using the mechanisms defined in the
   Structure of Management Information (SMI).  This memo specifies a MIB
   module that is compliant to the SMIv2, which is described in STD 58,
   RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580
   [RFC2580].

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].

2.  Overview

   In cases where a manager must obtain performance history data about
   the behavior of equipment it manages, several strategies can be
   followed in the design of a MIB module that represents the managed
   equipment, including:

   -  The agent counts events on a continuous basis and, whenever
      desired, the manager obtains the value of the event counter and
      adjusts its understanding of the history of events at the agent.

   -  The agent allocates events to 'buckets' where each bucket
      represents an interval of time.

   Telecommunications equipment often makes use of the latter strategy.
   For such equipment the standard practice is that history data is
   maintained by the agent in terms of 15-minute intervals [T1.231].

   MIB modules for collecting performance history based on 15-minute
   intervals have been defined for the DS1/E1 [RFC2495], DS3/E3
   [RFC2496], SONET/SDH [RFC3592], ADSL [RFC2662], HDLS2 and SHDSL
   [RFC3276] interface types.  These MIB modules use a common set of
   textual conventions defined in [RFC3593].

   A need has arisen to define 64-bit versions of the textual
   conventions in [RFC3593].  Ideally, these high-capacity textual
   conventions would be based on a Gauge64 or Unsigned64 data type, but
   unfortunately no such types exist in SMIv2.  The next best choice
   would be to base them on the CounterBasedGauge64 textual convention
   presented in [RFC2856], but that is not possible either since SMIv2
   allows only base types to be used in defining textual conventions.
   Therefore, the textual conventions presented in this memo are based
   directly on the Counter64 type, like those in [RFC2856].  They are
   subject to the following limitations:

   -  The MAX-ACCESS of objects defined using these textual conventions
      must be read-only, because the MAX-ACCESS of the underlying
      Counter64 type is read-only.

   -  No sub-range can be specified in object definitions using these
      textual conventions, because sub-ranges are not allowed on
      Counter64 objects.

   -  No DEFVAL clause can be specified in object definitions using
      these textual conventions, because DEFVALs are not allowed on
      Counter64 objects.

   -  Objects defined using these textual conventions cannot be used in
      an INDEX clause, because there is no INDEX clause mapping defined
      for objects of type Counter64.

   Use of the textual conventions presented in this memo assumes the
   following:

   -  The agent supports 15 minute based history counters.

   -  The agent is capable of keeping a history of 96 intervals of 15
      minute performance data.

   -  The agent may optionally support performance data aggregating the
      history intervals.

   -  The agent will keep separate tables for the current interval, the
      history intervals, and the total aggregates.

3.  Definitions

   HC-PerfHist-TC-MIB DEFINITIONS ::= BEGIN

   IMPORTS
       MODULE-IDENTITY,
       Counter64,
       Unsigned32,
       Integer32,
       mib-2                FROM SNMPv2-SMI
       TEXTUAL-CONVENTION   FROM SNMPv2-TC;

   hcPerfHistTCMIB MODULE-IDENTITY
      LAST-UPDATED "200402030000Z" -- February 3, 2004
      ORGANIZATION "ADSLMIB Working Group"
      CONTACT-INFO "WG-email:  adslmib@ietf.org
           Info:      https://www1.ietf.org/mailman/listinfo/adslmib

           Chair:     Mike Sneed
                      Sand Channel Systems
           Postal:    P.O.  Box 37324
                      Raleigh NC 27627-7324
                      USA
           Email:     sneedmike@hotmail.com
           Phone:     +1 206 600 7022

           Co-editor: Bob Ray
                      PESA Switching Systems, Inc.
           Postal:    330-A Wynn Drive
                      Huntsville, AL 35805
                      USA
           Email:     rray@pesa.com
           Phone:     +1 256 726 9200 ext.  142

           Co-editor: Rajesh Abbi
                      Alcatel USA
           Postal:    2301 Sugar Bush Road
                      Raleigh, NC 27612-3339
                      USA
           Email:     Rajesh.Abbi@alcatel.com
           Phone:     +1 919 850 6194
           "
       DESCRIPTION
           "This MIB Module provides Textual Conventions to be
            used by systems supporting 15 minute based performance
            history counts that require high-capacity counts.

            Copyright (C) The Internet Society (2004).  This version
            of this MIB module is part of RFC 3705: see the RFC
            itself for full legal notices."

           REVISION "200402030000Z" -- February 3, 2004
           DESCRIPTION "Initial version, published as RFC 3705."

           ::= { mib-2 107 }

   HCPerfValidIntervals ::= TEXTUAL-CONVENTION
       STATUS  current
       DESCRIPTION
          "The number of near end intervals for which data was
          collected.  The value of an object with an
          HCPerfValidIntervals syntax will be 96 unless the
          measurement was (re-)started within the last 1440 minutes,
          in which case the value will be the number of complete 15
          minute intervals for which the agent has at least some data.
          In certain cases (e.g., in the case where the agent is a
          proxy) it is possible that some intervals are unavailable.
          In this case, this interval is the maximum interval number
          for which data is available."
       SYNTAX   Integer32 (0..96)

   HCPerfInvalidIntervals ::= TEXTUAL-CONVENTION
       STATUS  current
       DESCRIPTION
          "The number of near end intervals for which no data is
          available.  The value of an object with an
          HCPerfInvalidIntervals syntax will typically be zero except
          in cases where the data for some intervals are not available
          (e.g., in proxy situations)."
       SYNTAX   Integer32 (0..96)

   HCPerfTimeElapsed ::= TEXTUAL-CONVENTION
       STATUS  current
       DESCRIPTION
          "The number of seconds that have elapsed since the beginning
          of the current measurement period.  If, for some reason,
          such as an adjustment in the system's time-of-day clock or
          the addition of a leap second, the duration of the current
          interval exceeds the maximum value, the agent will return
          the maximum value.

          For 15 minute intervals, the range is limited to (0..899).
          For 24 hour intervals, the range is limited to (0..86399)."
       SYNTAX   Integer32 (0..86399)

   HCPerfIntervalThreshold ::= TEXTUAL-CONVENTION
       STATUS   current
       DESCRIPTION
           "This convention defines a range of values that may be set
           in a fault threshold alarm control.  As the number of
           seconds in a 15-minute interval numbers at most 900,
           objects of this type may have a range of 0...900, where the
           value of 0 disables the alarm."
       SYNTAX   Unsigned32 (0..900)

   HCPerfCurrentCount ::= TEXTUAL-CONVENTION
       STATUS  current
       DESCRIPTION

           "A gauge associated with a performance measurement in a
            current 15 minute measurement interval.  The value of an
            object with an HCPerfCurrentCount syntax starts from zero
            and is increased when associated events occur, until the
            end of the 15 minute interval.  At that time the value of
            the gauge is stored in the first 15 minute history
            interval, and the gauge is restarted at zero.  In the case
            where the agent has no valid data available for the
            current interval, the corresponding object instance is not
            available and upon a retrieval request a corresponding
            error message shall be returned to indicate that this
            instance does not exist.

            This count represents a non-negative integer, which
            may increase or decrease, but shall never exceed 2^64-1
            (18446744073709551615 decimal), nor fall below 0.  The
            value of an object with HCPerfCurrentCount syntax
            assumes its maximum value whenever the underlying count
            exceeds 2^64-1.  If the underlying count subsequently
            decreases below 2^64-1 (due, e.g., to a retroactive
            adjustment as a result of entering or exiting unavailable
            time), then the object's value also decreases.

            Note that this TC is not strictly supported in SMIv2,
            because the 'always increasing' and 'counter wrap'
            semantics associated with the Counter64 base type are not
            preserved.  It is possible that management applications
            which rely solely upon the (Counter64) ASN.1 tag to
            determine object semantics will mistakenly operate upon
            objects of this type as they would for Counter64 objects.

            This textual convention represents a limited and short-
            term solution, and may be deprecated as a long term
            solution is defined and deployed to replace it."
       SYNTAX  Counter64

   HCPerfIntervalCount ::= TEXTUAL-CONVENTION
       STATUS  current
       DESCRIPTION
           "A gauge associated with a performance measurement in
            a previous 15 minute measurement interval.  In the case
            where the agent has no valid data available for a
            particular interval, the corresponding object instance is
            not available and upon a retrieval request a corresponding
            error message shall be returned to indicate that this
            instance does not exist.

            Let X be an object with HCPerfIntervalCount syntax.

            Let Y be an object with HCPerfCurrentCount syntax.
            Let Z be an object with HCPerfTotalCount syntax.
            Then, in a system supporting a history of n intervals with
            X(1) and X(n) the most and least recent intervals
            respectively, the following applies at the end of a 15
            minute interval:

               - discard the value of X(n)
               - the value of X(i) becomes that of X(i-1)
                 for n >= i > 1
               - the value of X(1) becomes that of Y.
               - the value of Z, if supported, is adjusted.

            This count represents a non-negative integer, which
            may increase or decrease, but shall never exceed 2^64-1
            (18446744073709551615 decimal), nor fall below 0.  The
            value of an object with HCPerfIntervalCount syntax
            assumes its maximum value whenever the underlying count
            exceeds 2^64-1.  If the underlying count subsequently
            decreases below 2^64-1 (due, e.g., to a retroactive
            adjustment as a result of entering or exiting unavailable
            time), then the value of the object also decreases.

            Note that this TC is not strictly supported in SMIv2,
            because the 'always increasing' and 'counter wrap'
            semantics associated with the Counter64 base type are not
            preserved.  It is possible that management applications
            which rely solely upon the (Counter64) ASN.1 tag to
            determine object semantics will mistakenly operate upon
            objects of this type as they would for Counter64 objects.

            This textual convention represents a limited and short-
            term solution, and may be deprecated as a long term
            solution is defined and deployed to replace it."
       SYNTAX  Counter64

   HCPerfTotalCount ::= TEXTUAL-CONVENTION
       STATUS  current
       DESCRIPTION
           "A gauge representing the aggregate of previous valid 15
            minute measurement intervals.  Intervals for which no
            valid data was available are not counted.

            This count represents a non-negative integer, which
            may increase or decrease, but shall never exceed 2^64-1
            (18446744073709551615 decimal), nor fall below 0.  The
            value of an object with HCPerfTotalCount syntax
            assumes its maximum value whenever the underlying count
            exceeds 2^64-1.  If the underlying count subsequently
            decreases below 2^64-1 (due, e.g., to a retroactive
            adjustment as a result of entering or exiting unavailable
            time), then the object's value also decreases.

            Note that this TC is not strictly supported in SMIv2,
            because the 'always increasing' and 'counter wrap'
            semantics associated with the Counter64 base type are not
            preserved.  It is possible that management applications
            which rely solely upon the (Counter64) ASN.1 tag to
            determine object semantics will mistakenly operate upon
            objects of this type as they would for Counter64 objects.

            This textual convention represents a limited and short-
            term solution, and may be deprecated as a long term
            solution is defined and deployed to replace it."
       SYNTAX  Counter64
   END

4. Intellectual Property Statement

   The IETF takes no position regarding the validity or scope of any
   intellectual property or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available;  neither does it represent that it
   has made any effort to identify any such rights.  Information on the
   IETF's procedures with respect to rights in standards-track and
   standards-related documentation can be found in BCP-11.  Copies of
   claims of rights made available for publication and any assurances of
   licenses to be made available, or the result of an attempt made to
   obtain a general license or permission for the use of such
   proprietary rights by implementors or users of this specification can
   be obtained from the IETF Secretariat.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights which may cover technology that may be required to practice
   this standard.  Please address the information to the IETF Executive
   Director.

5.  References

5.1.  Normative References

   [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
             Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC2578] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
             Rose, M. and S. Waldbusser, "Structure of Management
             Information Version 2 (SMIv2)", STD 58, RFC 2578, April
             1999.

   [RFC2579] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
             Rose, M. and S. Waldbusser, "Textual Conventions for
             SMIv2", STD 58, RFC 2579, April 1999.

   [RFC2580] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
             Rose, M. and S. Waldbusser, "Conformance Statements for
             SMIv2", STD 58, RFC 2580, April 1999.

5.2.  Informative References

   [RFC3410] Case, J., Mundy, R., Partain, D. and B. Stewart,
             "Introduction and Applicability Statements for Internet-
             Standard Management Framework", RFC 3410, December 2002.

   [T1.231]  American National Standard for Telecommunications - Digital
             Hierarchy - Layer 1 In-Service Digital Transmission
             Performance Monitoring, ANSI T1.231-1997, September 1997.

   [RFC2026] Bradner, S., "The Internet Standards Process -- Revision
             3", BCP 9, RFC 2026, October 1996.

   [RFC2495] Fowler, D., "Definitions of Managed Objects for the DS1,
             E1, DS2 and E2 Interface Types", RFC 2495, January 1999.

   [RFC2496] Fowler, D., "Definitions of Managed Objects for the DS3/E3
             Interface Type", RFC 2496, January 1999.

   [RFC3592] Tesink, K., "Definitions of Managed Objects for the
             Synchronous Optical Network/Synchronous Digital Hierarchy
             (SONET/SDH) Interface Type", RFC 3592, November 2003.

   [RFC2662] Bathrick, G. and F. Ly, "Definitions of Managed Objects for
             the ADSL Lines",  RFC 2662, August 1999.

   [RFC2856] Bierman, A., McCloghrie, K.  and R. Presuhn, "Textual
             Conventions for Additional High Capacity Data Types", RFC
             2856, June 2000.

   [RFC3276] Ray, B. and R. Abbi, "Definitions of Managed Objects for
             High Bit-rate DSL - 2nd Generation (HDSL2) and Single-Pair
             High-Speed Digital Subscriber Line (SHDSL) Lines", RFC
             3276, May 2002.

   [RFC3593] Tesink, K., "Textual Conventions for MIB Modules Using
             Performance History Based on 15 Minute Intervals", RFC
             3593,  November 2003.

6. Security Considerations

   This module does not define any management objects.  Instead, it
   defines a set of textual conventions which may be used by other MIB
   modules to define management objects.

   Meaningful security considerations can only be written in the MIB
   modules that define management objects.  This document has therefore
   no impact on the security of the Internet.

7. Acknowledgements

   This document borrows tremendously from [RFC3593] and [RFC2856].  As
   such, any credit for the text found within should be fully attributed
   to the authors of those documents.

8. Authors' Addresses

   Bob Ray
   PESA Switching Systems, Inc.
   330-A Wynn Drive
   Huntsville, AL 35805
   USA

   Phone: +1 256 726 9200 ext. 142
   Fax:   +1 256 726 9271
   EMail: rray@pesa.com


   Rajesh Abbi
   Alcatel USA
   2301 Sugar Bush Road
   Raleigh, NC 27612-3339
   USA

   Phone: +1 919 850 6194
   EMail: Rajesh.Abbi@alcatel.com

9.  Full Copyright Statement

   Copyright (C) The Internet Society (2004).  All Rights Reserved.

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works.  However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assignees.

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Acknowledgement

   Funding for the RFC Editor function is currently provided by the
   Internet Society.

ISO Plain Language

On this page
PROBLEMTelecommunications equipment keeps performance history in 15-minute intervals, and the 32-bit counters in RFC 3593 are too small for interfaces with high traffic.
MECHANISMThe RFC defines seven textual conventions, which are named data types other MIB modules can reuse: three small integer types for bookkeeping, one threshold type, and three 64-bit counters for the current interval, a past interval and an aggregate total.
THE CATCHThe RFC calls this a limited and short-term solution that may be deprecated once a long-term one is defined and deployed. SMIv2 does not fully support these types, so software that reads only the Counter64 tag may misread them.

§1The Internet-Standard Management Framework

Managed objects are reached through a virtual information store called the Management Information Base (MIB), and they are generally read through the Simple Network Management Protocol (SNMP). Objects in the MIB are defined using the mechanisms of the Structure of Management Information (SMI).

This memo specifies a MIB module that complies with SMIv2, described in RFC 2578, RFC 2579 and RFC 2580. The key words MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY and OPTIONAL are to be interpreted as described in RFC 2119.

A MIB is the list of values a device publishes so that management software can read them, and SNMP is the protocol used to read them. This RFC defines no values of its own. It defines named types that other MIB modules reuse.

§2Two Ways to Keep Performance History

When a manager needs performance history about the equipment it manages, a MIB module can be built in more than one way. The agent can count events on a continuous basis, and the manager reads the counter whenever it wants and works out the history itself. Or the agent can allocate events to buckets, where each bucket represents an interval of time.

Telecommunications equipment often uses the bucket strategy, and the standard practice is for the agent to maintain history in 15-minute intervals. MIB modules that collect history on this basis already exist for the DS1/E1, DS3/E3, SONET/SDH, ADSL, HDSL2 and SHDSL interface types, and they share a common set of textual conventions from RFC 3593.

A need has arisen for 64-bit versions of those conventions, which this memo supplies.

Performance history can be kept in two ways. One is a single counter that never resets, which the manager reads and turns into history itself. The other is a counter that is reset every 15 minutes, with each finished count kept in a history table. Telecommunications equipment uses the second method, and this RFC gives it 64-bit counters.

§2Why 64-Bit Counters and What SMIv2 Forbids

Ideally the high capacity conventions would be based on a Gauge64 or Unsigned64 data type, but no such types exist in SMIv2. The next best choice would be to base them on the CounterBasedGauge64 textual convention in RFC 2856, but that is not possible either, because SMIv2 allows only base types to be used when defining a textual convention.

The conventions in this memo are therefore based directly on the Counter64 type, which brings four limitations:

  • The MAX-ACCESS of objects defined with these conventions must be read-only, because the MAX-ACCESS of the underlying Counter64 type is read-only.
  • No sub-range can be specified in object definitions using these conventions, because sub-ranges are not allowed on Counter64 objects.
  • No DEFVAL clause can be specified, because DEFVALs are not allowed on Counter64 objects.
  • Objects defined with these conventions cannot be used in an INDEX clause, because no INDEX clause mapping is defined for objects of type Counter64.

Use of these conventions assumes that the agent supports 15-minute based history counters, that it can keep a history of 96 intervals of 15-minute performance data, that it may optionally support performance data that aggregates the history intervals, and that it keeps separate tables for the current interval, the history intervals and the total aggregates.

The rulebook for these modules, SMIv2, has no 64-bit plain number type, and it does not allow a named type to be built on another named type. So the authors used the 64-bit counter type and accepted four limits: the values can only be read, they cannot carry a range or a default value, and they cannot be used to label a table row. The agent must also keep 96 intervals of history in three separate tables.

THE FOUR LIMITS THAT COME WITH BUILDING ON COUNTER64
  • Read-onlyObjects defined with these conventions must have a read-only MAX-ACCESS.
  • No sub-rangeObject definitions using these conventions cannot specify a range of values.
  • No default valueA DEFVAL clause is not allowed on objects of this type.
  • No index useObjects of this type cannot be used in an INDEX clause to label a table row.

§3The Seven Textual Conventions

The module HC-PerfHist-TC-MIB is registered as mib-2 107 and defines seven conventions.

Three small integer conventions do the bookkeeping. HCPerfValidIntervals (Integer32, 0..96) is the number of intervals for which data was collected; its value is 96 unless the measurement was restarted within the last 1440 minutes, in which case it is the number of complete 15-minute intervals for which the agent has at least some data. HCPerfInvalidIntervals (Integer32, 0..96) is the number of intervals for which no data is available, typically zero except in cases such as proxies. HCPerfTimeElapsed (Integer32, 0..86399) is the number of seconds since the current measurement period began; for 15-minute intervals the range is limited to 0..899.

HCPerfIntervalThreshold (Unsigned32, 0..900) defines a range of values that may be set in a fault threshold alarm control. Because the number of seconds in a 15-minute interval is at most 900, objects of this type may have a range of 0...900, where the value of 0 disables the alarm.

Three Counter64 conventions hold the counts. HCPerfCurrentCount is the gauge for the current 15-minute interval, HCPerfIntervalCount is the gauge for a previous 15-minute interval, and HCPerfTotalCount is the aggregate of previous valid intervals, where intervals with no valid data are not counted.

The module defines seven named types. Three count small whole numbers: how many 15-minute intervals hold data, how many hold no data, and how many seconds have passed in the current interval. One is an alarm threshold from 0 to 900. The last three are 64-bit counters: one for the interval in progress, one for a past interval and one for the total.

THE SEVEN CONVENTIONS IN HC-PERFHIST-TC-MIB
  • Integer32HCPerfValidIntervals — Intervals for which data was collected, 0..96.
  • Integer32HCPerfInvalidIntervals — Intervals for which no data is available, 0..96.
  • Integer32HCPerfTimeElapsed — Seconds since the current period began, 0..86399.
  • Unsigned32HCPerfIntervalThreshold — Fault threshold alarm control, 0..900; 0 disables the alarm.
  • Counter64HCPerfCurrentCount — Gauge for the current 15-minute interval.
  • Counter64HCPerfIntervalCount — Gauge for a previous 15-minute interval.
  • Counter64HCPerfTotalCount — Aggregate of previous valid intervals.

§3How the Counts Roll Over

The value of an object with HCPerfCurrentCount syntax starts from zero and increases when the associated events occur, until the end of the 15-minute interval. At that time the value of the gauge is stored in the first 15-minute history interval and the gauge is restarted at zero. If the agent has no valid data for the current interval, the corresponding object instance is not available, and a retrieval request returns an error saying that the instance does not exist.

For the history intervals, let X be an object with HCPerfIntervalCount syntax, Y an object with HCPerfCurrentCount syntax and Z an object with HCPerfTotalCount syntax. In a system supporting a history of n intervals, with X(1) the most recent and X(n) the least recent, the following applies at the end of a 15-minute interval:

  • discard the value of X(n);
  • the value of X(i) becomes that of X(i-1), for n >= i > 1;
  • the value of X(1) becomes that of Y;
  • the value of Z, if supported, is adjusted.

All three counts are non-negative, may increase or decrease, and never exceed 2^64-1 (18446744073709551615 decimal) nor fall below 0. An object assumes its maximum value whenever the underlying count exceeds 2^64-1. If the underlying count later falls back below 2^64-1, for example after a retroactive adjustment caused by entering or exiting unavailable time, the value of the object falls too.

Each count convention carries a note. The convention is not strictly supported in SMIv2, because the always-increasing and counter-wrap semantics of the Counter64 base type are not preserved. Management applications that rely solely on the Counter64 ASN.1 tag to determine object semantics may mistakenly operate on these objects as they would for Counter64 objects.

When a 15-minute interval ends, its count moves into the most recent history slot, every older count moves one slot back, and the oldest one is dropped. The total, if the agent keeps one, is adjusted. A counter stops at its largest value instead of wrapping round to zero, and it can go down again if the agent corrects earlier data.

§6Security Considerations

This module does not define any management objects. It defines a set of textual conventions that other MIB modules may use to define management objects. Meaningful security considerations can only be written in the MIB modules that define management objects, so the RFC states that this document has no impact on the security of the Internet.

The text also repeats, for each of the three counter conventions, that it represents a limited and short-term solution and may be deprecated as a long-term solution is defined and deployed to replace it.

The module defines no managed values of its own, so the RFC says it does not affect the security of the Internet. The risk sits with the software that reads these values: it must not assume they behave like ordinary 64-bit counters, because they do not.

§7References