A measurement interval is a window of time that compartmentalizes the gathered measurements for an individual test that have occurred during that time. Allocation of measurement intervals, which equates to system memory, is based on the metrics being collected. This means that when both delay and loss metrics are being collected, they allocate their own set of measurement intervals. If the operator is executing multiple delay and loss tests under a single session, then multiple measurement intervals will be allocated, with one interval allocated per criteria per test.
Measurement intervals can be 15 minutes (15-min), one hour (1-hour) and 1 day (1-day) in duration. The boundary-type defines the start of the measurement interval and can be aligned to the local time of day clock, with or without an optional offset. The boundary-type can be aligned using the test-aligned option, which means that the start of the measurement interval coincides with the activation of the test. By default the start boundary is clock-aligned without an offset. When this configuration is deployed, the measurement interval will start at zero, in relation to the length. When a boundary is clock-aligned and an offset is configured, the specified amount of time will be applied to the measurement interval. Offsets are configured on a per-measurement interval basis and only applicable to clock-aligned measurement intervals. Only offsets less than the measurement interval duration are allowed. The following table describes some examples of the start times of each measurement interval.
Offset | 15-min | 1-hour | 1-day |
---|---|---|---|
0 (default) |
00, 15, 30, 45 |
00 (top of the hour) |
midnight |
10 minutes |
10, 25, 40, 55 |
10 min after the hour |
10 min after midnight |
30 minutes |
rejected |
30 min after the hour |
30 min after midnight |
60 minutes |
rejected |
rejected |
01:00 AM |
Although test-aligned approaches may seem beneficial for simplicity, there are some drawbacks that need to be considered. The goal of the time-based and well defined collection windows allows for the comparison of measurements across common windows of time throughout the network and for relating different tests or sessions. It is suggested that proactive sessions use the default clock-aligned boundary type. On-demand sessions may make use of test-aligned boundaries. On-demand tests are typically used for troubleshooting or short term monitoring that does not require alignment or comparison to other PM data.
The statistical data collected and the computed results from each measurement interval are maintained in volatile system memory by default. The number of intervals stored is configurable per measurement interval. Different measurement intervals will have different defaults and ranges. The interval-stored parameter defines the number of completed individual test runs to store in volatile memory. There is an additional allocation to account for the active measurement interval. To look at the statistical information for the individual tests and a specific measurement interval stored in volatile memory, the show oam-pm statistics … interval-number command can be used. If there is an active test, it can be viewed by using the interval number 1. In this case, the first completed record would be interval number 2, and previously completed records would increment up to the maximum intervals stored value plus one.
As new tests for the measurement interval are completed, the older entries are renumbered to maintain their relative position to the current test. If the retained test data for a measurement interval consumes the final entry, any subsequent entries cause the removal of the oldest data.
There are drawbacks to this storage model. Any high availability function that causes an active CPM switch will flush the results that are in volatile memory. Another consideration is the large amount of system memory consumed using this type of model. With the risks and resource consumption this model incurs, an alternate method of storage is supported.
An accounting policy can be applied to each measurement interval to write the completed data in system memory to non-volatile flash memory in an XML format. The amount of system memory consumed by historically completed test data must be balanced with an appropriate accounting policy. Nokia recommends that only necessary data be stored in non-volatile memory to avoid unacceptable risk and unnecessary resource consumption. It is further suggested that a large overlap between the data written to flash memory and stored in volatile memory is unnecessary.
The statistical information in system memory is also available through SNMP. If this method is chosen, a balance must be struck between the intervals retained and the times at which the SNMP queries collect the data. Determining the collection times through SNMP must be done with caution. If a file is completed while another file is being retrieved through SNMP, then the indexing will change to maintain the relative position to the current run. Correct spacing of the collection is key to ensuring data integrity.
The OAM-PM XML file contains the keywords and MIB references described in the following table.
XML file keyword | Description | TIMETRA-OAM-PM-MIB object |
---|---|---|
oampm |
— |
None - header only |
Keywords shared by all OAM-PM protocols |
||
sna |
OAM-PM session name |
tmnxOamPmCfgSessName |
mi |
Measurement interval record |
None - header only |
dur |
Measurement interval duration (minutes) |
tmnxOamPmCfgMeasIntvlDuration (enumerated) |
ivl |
Measurement interval number |
tmnxOamPmStsIntvlNum |
sta |
Start timestamp |
tmnxOamPmStsBaseStartTime |
ela |
Elapsed time (seconds) |
tmnxOamPmStsBaseElapsedTime |
ftx |
Frames sent |
tmnxOamPmStsBaseTestFramesTx |
frx |
Frames received |
tmnxOamPmStsBaseTestFramesRx |
sus |
Suspect flag |
tmnxOamPmStsBaseSuspect |
dmm |
Delay record |
None - header only |
mdr |
Minimum frame delay, round-trip |
tmnxOamPmStsDelayDmm2wyMin |
xdr |
Maximum frame delay, round-trip |
tmnxOamPmStsDelayDmm2wyMax |
adr |
Average frame delay, round-trip |
tmnxOamPmStsDelayDmm2wyAvg |
mdf |
Minimum frame delay, forward |
tmnxOamPmStsDelayDmmFwdMin |
xdf |
Maximum frame delay, forward |
tmnxOamPmStsDelayDmmFwdMax |
adf |
Average frame delay, forward |
tmnxOamPmStsDelayDmmFwdAvg |
mdb |
Minimum frame delay, backward |
tmnxOamPmStsDelayDmmBwdMin |
xdb |
Maximum frame delay, backward |
tmnxOamPmStsDelayDmmBwdMax |
adb |
Average frame delay, backward |
tmnxOamPmStsDelayDmmBwdAvg |
mvr |
Minimum inter-frame delay variation, round-trip |
tmnxOamPmStsDelayDmm2wyMin |
xvr |
Maximum inter-frame delay variation, round-trip |
tmnxOamPmStsDelayDmm2wyMax |
avr |
Average inter-frame delay variation, round-trip |
tmnxOamPmStsDelayDmm2wyAvg |
mvf |
Minimum inter-frame delay variation, forward |
tmnxOamPmStsDelayDmmFwdMin |
xvf |
Maximum inter-frame delay variation, forward |
tmnxOamPmStsDelayDmmFwdMax |
avf |
Average inter-frame delay variation, forward |
tmnxOamPmStsDelayDmmFwdAvg |
mvb |
Minimum inter-frame delay variation, backward |
tmnxOamPmStsDelayDmmBwdMin |
xvb |
Maximum inter-frame delay variation, backward |
tmnxOamPmStsDelayDmmBwdMax |
avb |
Average inter-frame delay variation, backward |
tmnxOamPmStsDelayDmmBwdAvg |
mrr |
Minimum frame delay range, round-trip |
tmnxOamPmStsDelayDmm2wyMin |
xrr |
Maximum frame delay range, round-trip |
tmnxOamPmStsDelayDmm2wyMax |
arr |
Average frame delay range, round-trip |
tmnxOamPmStsDelayDmm2wyAvg |
mrf |
Minimum frame delay range, forward |
tmnxOamPmStsDelayDmmFwdMin |
xrf |
Maximum frame delay range, forward |
tmnxOamPmStsDelayDmmFwdMax |
arf |
Average frame delay range, forward |
tmnxOamPmStsDelayDmmFwdAvg |
mrb |
Minimum frame delay range, backward |
tmnxOamPmStsDelayDmmBwdMin |
xrb |
Maximum frame delay range, backward |
tmnxOamPmStsDelayDmmBwdMax |
arb |
Average frame delay range, backward |
tmnxOamPmStsDelayDmmBwdAvg |
fdr |
Frame delay bin record, round-trip |
None - header only |
fdf |
Frame delay bin record, forward |
None - header only |
fdb |
Frame delay bin record, backward |
None - header only |
fvr |
Inter-frame delay variation bin record, round-trip |
None - header only |
fvf |
Inter-frame delay variation bin record, forward |
None - header only |
fvb |
Inter-frame delay variation bin record, backward |
None - header only |
frr |
Frame delay range bin record, round-trip |
None - header only |
frf |
Frame delay range bin record, forward |
None - header only |
frb |
Frame delay range bin record, backward |
None - header only |
lbo |
Configured lower bound of the bin |
tmnxOamPmCfgBinLowerBound |
cnt |
Number of measurements within the configured delay range 1 |
tmnxOamPmStsDelayDmmBinFwdCount tmnxOamPmStsDelayDmmBinBwdCount tmnxOamPmStsDelayDmmBin2wyCount |
slm |
Synthetic loss measurement record |
None - header only |
txf |
Transmitted frames in the forward direction |
tmnxOamPmStsLossSlmTxFwd |
rxf |
Received frames in the forward direction |
tmnxOamPmStsLossSlmRxFwd |
txb |
Transmitted frames in the backward direction |
tmnxOamPmStsLossSlmTxBwd |
rxb |
Received frames in the backward direction |
tmnxOamPmStsLossSlmRxBwd |
avf |
Available count in the forward direction |
tmnxOamPmStsLossSlmAvailIndFwd |
avb |
Available count in the forward direction |
tmnxOamPmStsLossSlmAvailIndBwd |
uvf |
Unavailable count in the forward direction |
tmnxOamPmStsLossSlmUnavlIndFwd |
uvb |
Unavailable count in the forward direction |
tmnxOamPmStsLossSlmUnavlIndBwd |
uaf |
Undetermined available count in the forward direction |
tmnxOamPmStsLossSlmUndtAvlFwd |
uab |
Undetermined available count in the backward direction |
tmnxOamPmStsLossSlmUndtAvlBwd |
uuf |
Undetermined unavailable count in the forward direction |
tmnxOamPmStsLossSlmUndtUnavlFwd |
uub |
Undetermined unavailable count in the backward direction |
tmnxOamPmStsLossSlmUndtUnavlBwd |
hlf |
Count of HLIs in the forward direction |
tmnxOamPmStsLossSlmHliFwd |
hlb |
Count of HLIs in the backward direction |
tmnxOamPmStsLossSlmHliBwd |
chf |
Count of CHLIs in the forward direction |
tmnxOamPmStsLossSlmChliFwd |
chb |
Count of CHLIs in the backward direction |
tmnxOamPmStsLossSlmChliBwd |
mff |
Minimum FLR in the forward direction |
tmnxOamPmStsLossSlmMinFlrFwd |
xff |
Maximum FLR in the forward direction |
tmnxOamPmStsLossSlmMaxFlrFwd |
aff |
Average FLR in the forward direction |
tmnxOamPmStsLossSlmAvgFlrFwd |
mfb |
Minimum FLR in the backward direction |
tmnxOamPmStsLossSlmMinFlrBwd |
xfb |
Maximum FLR in the backward direction |
tmnxOamPmStsLossSlmMaxFlrBwd |
afb |
Average FLR in the backward direction |
tmnxOamPmStsLossSlmAvgFlrBwd |
By default, the 15-min measurement interval stores 33 test runs (32+1) with a configurable range of 1 to 96, and the 1-hour measurement interval stores 9 test runs (8+1) with a configurable range of 1 to 24. The only storage for the 1-day measurement interval is 2 (1+1). This value for the 1-day measurement interval cannot be changed.
All three measurement intervals may be added to a single session if required. Each measurement interval that is included in a session is updated simultaneously for each test that is executing. If a measurement interval length is not required, it should not be configured. In addition to the three predetermined length measurement intervals, a fourth ‟always on” raw measurement interval is allocated at test creation. Data collection for the raw measurement interval commences immediately following the execution of a no shutdown command. It is a valuable tool for assisting in real-time troubleshooting as it maintains the same performance information and relates to the same bins as the fixed length collection windows. The operator may clear the contents of the raw measurement interval and flush stale statistical data to look at current conditions. This measurement interval has no configuration options, cannot be written to flash memory, and cannot be disabled; It is a single never-ending window.
Memory allocation for the measurement intervals is performed when the test is configured. Volatile memory is not flushed until the test is deleted from the configuration, a high availability event causes the backup CPM to become the newly active CPM, or some other event clears the active CPM system memory. Shutting down a test does not release the allocated memory for the test.
Measurement intervals also include a suspect flag. The suspect flag is used to indicate that data collected in the measurement interval may not be representative. The flag will be set to true only under the following conditions:
Time of day clock is adjusted by more than 10 seconds.
Test start does not align with the start boundary of the measurement interval. This would be common for the first execution for clock aligned tests.
Test stopped before the end of the measurement interval boundary
The suspect flag is not set when there are times of service disruption, maintenance windows, discontinuity, low packet counts, or other such events. Higher level systems would be required to interpret and correlate those types of event for measurement intervals which executed during the time that relate to the specific interruption or condition. Because each measurement interval contains a start and stop time, the information is readily available for higher level systems to discount the specific windows of time.