Release notes & Roll version after i-release 1.1.0 -> 1.2.0
[nonrtric/plt/ranpm.git] / pmproducer / docs / overview.rst
index 524f3e4..7852177 100644 (file)
@@ -3,8 +3,8 @@
 .. Copyright (C) 2023 Nordix
 
 
-PM Producer
-~~~~~~~~~~~~~
+Non-RT RIC PM Producer
+~~~~~~~~~~~~~~~~~~~~~~
 
 ************
 Introduction
@@ -39,6 +39,7 @@ After filtering, the data will be delivered to the output topic.
 
 The format of the delivered PM measurement is the same as the input format (which in turn is a Json mapping done from
 3GPP TS 32.432/3GPP TS 32.435).
+The data can be delivered in gzipped format or in cleartext (indicated by an element in the Kafka header).
 
 The result of the PM filtering preserves the structure of a 3GPP PM report.
 Here follows an example of a resulting delivered PM report.
@@ -67,12 +68,9 @@ Here follows an example of a resulting delivered PM report.
                "measInfoList":[
                   {
                      "measInfoId":{
-                        "sMeasInfoId":""
+                        "sMeasInfoId":"PM=1,PmGroup=NRCellDU_GNBDU"
                      },
                      "measTypes":{
-                        "map":{
-                           "succImmediateAssignProcs":1
-                        },
                         "sMeasTypesList":[
                            "succImmediateAssignProcs"
                         ]
@@ -120,18 +118,24 @@ Here follows an example of a resulting delivered PM report.
 Sent Kafka headers
 ==================
 
-For each filtered result sent to a Kafka topic, there will the following proerties in the Kafa header:
+For each filtered result sent to a Kafka topic, there will the following properties in the Kafka header:
+
+* type-id, this property is used to indicate the ID of the information type. The value is a string.
+* gzip, if this property exists the object is gzip'ed (otherwise not). The property has no value.
+* source-name, the name of the source RAN traffic-handling element from which the measurements originate.
+
 
-* type-id, this propery is used to indicate the ID of the information type. The value is a string.
-* gzip, if this property exists the object is gzipped (otherwise not). The property has no value.
-* source-name, the name of the source traffical element for the measurements.
+*************
+Configuration
+*************
 
+The component is configured by a configuration file and by the normal spring boot configuration file (application.yaml).
 
-******************
-Configuration File
-******************
+==================
+Configuration file
+==================
 
-The configuration file defines Kafka topics that should be listened to and registered as subscribeable information types.
+The configuration file defines Kafka topics that should be listened to and registered as information types which can be subscribed to.
 There is an example configuration file in config/application_configuration.json
 
 Each entry will be registered as a subscribe information type in ICS. The following attributes can be used in each entry:
@@ -170,6 +174,16 @@ Below follows an example of a configuration file.
    ]
  }
 
+
+
+================
+application.yaml
+================
+As any springboot application, this is component configured via an application.yaml file.
+
+An example application.yaml configuration file: ":download:`link <../config/application.yaml>`"
+
+
 **************************
 Information Job Parameters
 **************************
@@ -275,8 +289,8 @@ The following properties are defined:
 
 * filter, the value of the filter expression. This selects which data to subscribe for. All fields are optional and excluding a field means that everything is selected.
 
-   * sourceNames, section of the names of the reporting traffical nodes
-   * measObjInstIds, selection of the measured resources. This is the Relative Distingusished Name of the MO that
+   * sourceNames, section of the names of the reporting RAN traffic-handling nodes
+   * measObjInstIds, selection of the measured resources. This is the Relative Distinguished Name (RDN) of the MO that
      has the counter.
      If a given value is contained in the filter definition, it will match (partial matching).
      For instance a value like "NRCellCU" will match "ManagedElement=seliitdus00487,GNBCUCPFunction=1,NRCellCU=32".
@@ -286,12 +300,15 @@ The following properties are defined:
       * measTypes, the name of the measurement type (counter). The measurement type name is only
         unique in the scope of an MO class (measured resource).
 
-   * measuredEntityDns, selection of DNs for the traffical elements.
+   * measuredEntityDns, selection of DNs for the RAN traffic-handling elements.
 
    * pmRopStartTime, if this parameter is specified already collected PM measurements files will be scanned to retrieve historical data.
-     The start file is the time from when the information shall be returned.
+     This is the time from when the information shall be returned.
      In this case, the query is only done for files from the given "sourceNames".
-     If this parameter is excluded, only "new" reports will be delivered as they are collected from the traffical nodes.
+     If this parameter is excluded, only "new" reports will be delivered as they are collected from the RAN traffic-handling nodes.
+     How old information that can be retrieved depends on the retention time for the storage (if minio it used, it is a S3 bucket).
+     A best effort is done, so that the stored files that are in time range are scanned even if the
+     specified time is too long back in time.
 
    * pmRopEndTime, for querying already collected PM measurements. Only relevant if pmRopStartTime.
      If this parameters is given, no reports will be sent as new files are collected.
@@ -327,7 +344,7 @@ Below follows examples of some filters.
    }
 
 Here follows an example of a filter that will
-match two counters from all cells in two traffical nodes.
+match two counters from all cells in two RAN traffic-handling nodes.
 
 .. code-block:: javascript
 
@@ -361,6 +378,10 @@ and the result is sent to the Kafka topic specified by the Job (by the data cons
 .. image:: ./dedicatedTopics.png
    :width: 500pt
 
+=========================================
+Several Jobs sharing the same Kafka topic
+=========================================
+
 If several jobs publish to the same Kafka topic (shared topic), the resulting filtered output will be an aggregate of all matching filters.
 So, each consumer will then get more data than requested.