# Chapter 7 Performance Management
###### tags: `WG4`
This chapter provides the description of scenarios related to performance management. It consists of 2 functions.
- measurement activation
- collection of measurement results.
# 7.1 Measurement Activation and De-activation
The measurement activation at the start-up installation is also allowed as described in chapter 3.
This sub-section provides information about how to activate and de-activate the performance measurement via NETCONF to O-RU
### Pre-condition:
M-Plane is operational.
### Post-condition:
Measurement is activated or deactivated as per NETCONF client’s request.
---
This sub-section provides information about how to activate and de-activate the performance measurement via NETCONF to O-RU
### YANG module
The performance measurement is defined as o-ran-performance-management
In case of multiple NETCONF clients, only one NETCONF client shall activate/deactivate the measurements in the O-RU

## parameter(o-ran-performance-management.yang )
### group of the measurement results
- transceiver-measurement-objects,
- rx-window-measurement-objects,
- tx measurement-objects
- epe-measurement-objects.
- defined in Annex B


### measurement-object:
- target metric to measure the performance
- e.g.,**RX_POWER**, **TX_POWER**, defined as key parameter.
- defined in Annex B
### measurement-interval:
- measurement interval for the measurement-objects to measure the performance periodically
- e.g., 300, 600, 900 seconds.
- It is defined per the group of the measurement result.
- The measurement-interval of measurement-object may be set to common or different values per group of the measurement result
### start-time and end-time:
to report the time of measurement start and end for the **measurement-object** at each measurement-interval.
### active:
- enable/disable the performance measurement per **measurement-object**.
- This value is Boolean.
- Default is FALSE.
### object-unit:
- unit to measure the performance per object,
- e.g., O-RU, **physical port number,** **antenna**, **carrier**.
- The **object unit** may be configurable Identifier object-unit-id means e.g., physical port number when **object unit** set to physical port number
### report-info:
- the reporting info to the **measurement-object,**
- e.g., MAXIMUM, MINIMUM, FIRST, LATEST, FREQUENCY_TABLE and COUNT.
- Multiple info can be considered for one object if necessary.
- some additional information to report info,
- e.g., date-and-time.
- e.g., count, shall be started from 0 at the boundary of every measurement-interval.No accumulation is applied between the measurement-intervals
### Optional configurable parameter(s) for report-info:
- some configurable parameters to report,
- function, bin-count, upper-bound, lower-bound.

- For the bin-count configuration, it shall be less than the parameter max-bin-count that is the capability information of NETCONF server for the maximum configurable value for bin-count.
### synchronized zero o’clock
When different parameter measurements have intervals with a common factor, the O-RU shall synchronize the boundary of these measurements aligned with this factor, irrespective of when the different measurements are activated.
all of start points of the measurement-intervals shall be synchronized to zero o’clock mid-night by using an equation {full seconds (hour, minute and second) modulo ‘measurement-interval’ = 0},

# 7.2 Collection and Reporting of Measurement Result
This sub-section provides the description of scenarios used to collect measurement results.
### There are three options.
1. **NETCONF process: (mandatory)**
1. Create-subscription from NETCONF client and NETCONF notification from NETCONF server are used
2. **File Management process:(mandatory)**
1. File upload mechanism is used for the measurement file from O-RU to configured file server(s) that O-RU can reach to.
3. **Configured subscription process: (optional NON-PERSISTENT-MPLANE feature)**
1. Create configured subscription from O-RU as Event-Producer to Event-Collector.
The method(s) to be used is the matter of NETCONF client
- the O-RU shall report the same notification-based measurement results to all subscribed NETCONF clients/Event-Collectors,
- the O-RU shall upload file-based results to all configured fileservers.
## 7.2.1 NETCONF process
**NETCONF client**
- send subscribes to one or more measurement group(s) and/or measurement-object(s)
- collect the measurement result
- NETCONF `<subscribe-notification>`
- In this message, **startTime** and **stopTime** for the notification may be configurable.
- configure the **notification-interval** in the performance-measurement YANG module.
- **terminate the subscription**
- send `<close-session>` or `<kill-session>` operation
**NETCONF server**
- sends NETCONF notification messages periodically to the client as configured by the notification-interval.
- The **notification-interval** doesn’t need to be same as the **measurement-interval**.


### Notification-interval and measurement-interval
**notification-interval = 60min**
**measurement-interval for measurement-object#A= 30min**
- 2 measurement results for measurement-object#A with consecutive start-time and end-time
**measurement-interval for measurement-object#B = 15min**
- 4 measurement results for measurement-object#B with consecutive start-time and end-time.
---
**notification-interval = 15min**
**measurement-interval for measurement-object#A= 30min**
- need to wait for next notification transmission
**measurement-interval for measurement-object#B = 15min**
- one notification contains one measurement results for measurement-object#B
## 7.2.2 File Management process
In addition, the performance measurement YANG module defines **file-upload-interval**, **remote-SFTP-upload-path**, **credentials information** of the file server and enable-random-file-upload as configurable parameters
**NETCONF client configure parameter**
- enable-SFTP-upload=true, default is false
- send NETCONF <edit-config>.
- enable-random-file-upload = TRUE
- O-RU shall randomize the timing to upload SFTP file
- The randomized timing is an O-RU implementation matter and shall not be later than next file-upload-interval.
**Following types of authentications are supported for performance file upload:**
- Password for RU authentication and list of public keys (DSA/RSA) for sFTP server authentication
- Certificate for both RU and sFTP server authentication
**O-RU shall store the performance measurement files in the generic folder in O-RU**
- i.e., O-RAN/PM/.
The O-RU shall ensure that the **start-time** and the **end-time** within the name of the performance measurement file are synchronized with the same manner as measurement-interval by using file-upload-interval.
### The file name of the performance measurement is:
**C<start-time>*<end-time>*<name>.csv**
1. Local time format is YYYYMMDDHHMM+HHMM, indicating, year, month, day, hour, minute, timezone “+” or “-“, hour and minute for the time zone
2. UTC format is YYYYMMDDHHMMZ, indicating, year, month, day, hour, minute and with a special UTC designator ("Z")
Time zone offset is provided by **timezone-utc-offset** in o-ran-operation.yang.

- <name> in ietf-hardware is used
**Example of measurement file is:**
> C201805181300+0900_201805181330+0900_ABC0123456.csv
### The file format of the performance measurement has following rule:
1. Each line starts with the measurement-object identifier, which measurement can be switched to TRUE or FALSE by active parameter. The identifier of each measurement-object is defined in Annex B.
2. After **the measurement-object identifier**, the **name of measurement-object**, **start-time**, **end-time** are followed.
3. Since the report-info results of any measurement-object are measured per object-unit, object-unit-id and set of report24 info are repeated in one line.
4. When multiple report-info parameters exist per object-unit, all of the report-info are consecutively listed until the next object-unit-id. The order of parameters, such as object-unit-id, report-info and additional information for the report-info, shall be same as the order of those listed in NETCONF notification defined in o-ran-performance-management YANG module.
### Example of measurement result in one line is:
1, RX_ON_TIME, 2018-05-18T13:00:00+09:00, 2018-05-18T13:30:00+09:00, 0, 123, AAAA, 1, 123, BBBB, 2, 123, CCCC, 3, 123, DDDD
- **Measurement-object-identifier:** 1
- **Name of measurement-object:** RX_ON_TIME
- **start-time:** 2018-05-18T13:00:00+09:00
- **end-time:** 2018-05-18T13:30:00+09:00
- **EAXC_ID**: 0
- **Count for EAXC_ID#0 :** 123
- **name of transport-flow information:** AAAA
- **EAXC_ID**: 3
- **Count for EAXC_ID#3 :** 123
- **name of transport-flow information:** DDDD
### example
**file-upload-interval = 60min,**
**measurement-interval for measurement-object#A= 30min,**
**measurement-interval for measurement-object#B = 15min**
- 1, RX_POWER, 2018-05-18T13:00:00+09:00, 2018-05-18T13:15:00+09:00, 0, 123
- 1, RX_POWER, 2018-05-18T13:15:00+09:00, 2018-05-18T13:30:00+09:00, 0, 123
- **1, RX_ON_TIME, 2018-05-18T13:00:00+09:00, 2018-05-18T13:30:00+09:00, 0, 123, AAAA, 1, 123, BBBB, 2, 123, CCCC, 3, 123, DDDD**
- 1, RX_POWER, 2018-05-18T13:30:00+09:00, 2018-05-18T13:45:00+09:00, 0, 123
- 1, RX_POWER, 2018-05-18T13:45:00+09:00, 2018-05-18T14:00:00+09:00, 0, 123
- **1, RX_ON_TIME, 2018-05-18T13:30:00+09:00, 2018-05-18T14:00:00+09:00, 0, 123, AAAA, 1, 123, BBBB, 2, 123, CCCC, 3, 123, DDDD**
### example
**file-upload-interval = 15min,**
**measurement-interval for measurement-object#A= 30min**
**measurement-interval for measurement-object#B = 15min**
- C201805181300Z+0900_201805181315+0900_ABC0123456.csv.
- 1, RX_POWER, 2018-05-18T13:00:00+09:00, 2018-05-18T13:15:00+09:00, 0, 123
C201805181315Z+0900_201805181330+0900_ABC0123456.csv.
- 1, RX_POWER, 2018-05-18T13:15:00+09:00, 2018-05-18T13:30:00+09:00, 0, 123
- **1, RX_ON_TIME, 2018-05-18T13:00:00+09:00, 2018-05-18T13:30:00+09:00, 0, 123, AAAA, 1, 123, BBBB, 2, 123, CCCC, 3, 123, DDDD**