1 module yes-performance-monitoring {
3 namespace "urn:opnfv:params:xml:ns:yang:yes-performance-monitoring";
6 import yang-based-event-stream {
9 "wiki.opnfv.org/display/ves/VES+goes+YES";
14 "wiki.opnfv.org/display/ves/VES+goes+YES";
16 import ietf-yang-types {
19 "RFC 6991: Common YANG Data Types.";
23 "Open Platform for NFV (OPNFV) - Virtual Event Streaming (VES) project";
25 "wiki.opnfv.org/display/ves";
27 "This module is inspired by VES 7.1.1 but uses YANG concepts and types to
28 describe the exchanged data format.
30 Copyright 2020 highstreet technologies GmbH and others.
32 Licensed under the Apache License, Version 2.0 (the 'License');
33 you may not use this file except in compliance with the License.
34 You may obtain a copy of the License at
36 http://www.apache.org/licenses/LICENSE-2.0
38 Unless required by applicable law or agreed to in writing, software
39 distributed under the License is distributed on an 'AS IS' BASIS,
40 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
41 See the License for the specific language governing permissions and
42 limitations under the License.";
48 "ONAP SDN-R: wiki.onap.org/display/DW/SDN-R
49 VES: wiki.opnfv.org/display/ves/VES+Home
50 docs.onap.org/en/frankfurt/submodules/dcaegen2.git/docs/sections/services/ves-http
51 YES: wiki.opnfv.org/display/ves/VES+goes+YES";
57 identity performance-monitoring {
60 "Indicates, that the event body contains performance-monitoring
61 related asynchronous message context.";
64 identity granularity-period-id {
66 "Base identity for the granularity period. A unique identification of
67 the granularity period. The description of the granularity period
68 value MUST indicate if the granularity period is abstract or not.
70 This identity is abstract and MUST NOT be used for granularity
75 base granularity-period-id;
77 "Indicates a period length of 900s. The display value is '15min'.";
81 base granularity-period-id;
83 "Indicates a period length of maximal 86400s. The display value is
90 typedef granularity-period-type {
92 base granularity-period-id;
95 "The enumeration with the options for granularity period of the
96 performance measurement data.";
102 grouping pm-measurement-grp {
104 type yt:performance-measurement-type-id;
106 "The local identifier of a pm-measurement object.";
109 type yt:pm-value-type;
112 "The performance measurement value, measured in a certain interval.";
115 type yt:performance-measurement-unit-id;
117 "A representing of the unit og the pm-value.";
120 "An abstract object class representing a key-value pair for
124 grouping performance-monitoring-grp {
125 leaf granularity-period {
126 type granularity-period-type;
129 "Time period between reset of the underlying counter.";
131 leaf suspect-interval-flag {
135 "This attribute indicates that the data collected during the interval is suspect.";
137 leaf period-end-time {
138 type yang:date-and-time;
141 "Time when the counter values have been recorded and the counter reset.";
145 uses pm-measurement-grp;
147 "A set of measurement data for this interval.";
150 "An object class containing all performance-monitoring specific parameters.";
154 * Augmentation of YES
156 augment "/yes:event-history/yes:event" {
157 when "derived-from-or-self(/yes:event-history/yes:event/yes:header/yes:domain, 'ypm:performance-monitoring')" {
159 "The event header must indicate 'performance-monitoring'.";
161 if-feature yes:event-history;
162 list performance-monitoring {
163 uses performance-monitoring-grp;
165 "A list for performance-monitoring objects.";
168 "Adds to YES the specifics of performance-monitoring notifications.";
171 augment "/yes:yang-based-event-stream/yes:event" {
172 when "derived-from-or-self(/yes:yang-based-event-stream/yes:event/yes:header/yes:domain, 'ypm:performance-monitoring')" {
174 "The event header must indicate 'performance-monitoring'.";
176 list performance-monitoring {
177 uses performance-monitoring-grp;
179 "A list for performance-monitoring objects.";
182 "Adds to YES the specifics of performance-monitoring notifications.";