.. This work is licensed under a Creative Commons Attribution 4.0
   International License. http://creativecommons.org/licenses/by/4.0
   
.. _docs_realtime_pm:

5G - Real Time PM and High Stream Data Collection
-------------------------------------------------

Source files
~~~~~~~~~~~~

- Optional in case you want to use the xNF simulator: https://git.onap.org/integration/tree/test/mocks/hvvessimulator/hvves_sim.yaml

Description
~~~~~~~~~~~

The Real-Time Performance measurements support allows for a PNF to send streaming performance measurements to ONAP. It develops the capability for the PNF/VNF to send a subset of the typical performance measurement data to ONAP. The data can be sent to ONAP more rapidly than for bulk PM, on the order of seconds. This is valuable to the service provider and operators to debug problems and assess the impact of configuration changes. It uses an VES event driven system for high volume data delivery from xNF to ONAP/DCAE.  A new VES-HV (High Volume) Collector supports GPB over TLS/TCP. The xNF generates hvMeas events containing real time PM data.  These events will be GPB encoded and transmitted over TLS/TCP. Collected events are published to DMaaP and sent directly to the Kafka Cluster (bypassing the DMaaP-MR).

Component and API descriptions can be found under:

- `High Volume VNF Event Streaming (HV-VES) Collector <https://onap.readthedocs.io/en/latest/submodules/dcaegen2.git/docs/sections/services/ves-hv/index.html>`_
- `HV-VES (High Volume VES) <https://onap.readthedocs.io/en/latest/submodules/dcaegen2.git/docs/sections/apis/ves-hv/index.html#hv-ves-high-volume-ves>`_

How to verif
~~~~~~~~~~~~~

Follow instructions in the links below to send data to HV-VES collector and verify messages published on Kafka topic:

- `HV-VES xNF simulator integration to ONAP <https://wiki.onap.org/display/DW/HV-VES+simulator#HV-VESsimulator-HV-VESxNFsimulatorintegrationtoONAP>`_
- `HV-VES xNF message simulation from shell <https://wiki.onap.org/display/DW/HV-VES+simulator#HV-VESsimulator-HV-VESxNFmessagesimulationfromshell>`_

Useful links
~~~~~~~~~~~~

- `5G - Real Time PM and High Volume Stream Data Collection <https://wiki.onap.org/display/DW/5G+-+Real+Time+PM+and+High+Volume+Stream+Data+Collection>`_
- `5G - Real Time PM and High Volume Stream Data Collection - Integration Test Cases <https://wiki.onap.org/display/DW/5G+-+Real+Time+PM+and+High+Volume+Stream+Data+Collection+-+Integration+Test+Cases>`_
