summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVijay Venkatesh Kumar <vv770d@att.com>2022-01-10 21:55:59 +0000
committerGerrit Code Review <gerrit@onap.org>2022-01-10 21:55:59 +0000
commit53eb6e657adf157d0536b4cf972c14a2344e6508 (patch)
treee4ceb75ecac89f154309408923a08315b99a58cf
parent67df4303f5064b9d15581970857c20f3c818d23b (diff)
parent0e08abbbf9ac8b7bcb84e8f98439822a1cfd99fb (diff)
Merge "[DCAEGEN2] Enhance (KPI-MS) KpiComputation for SUM-RATIO operation."
-rw-r--r--components/kpi-computation-ms/Changelog.md4
-rw-r--r--components/kpi-computation-ms/src/main/java/org/onap/dcaegen2/kpi/computation/SumRatioKpiComputation.java83
-rw-r--r--components/kpi-computation-ms/src/main/java/org/onap/dcaegen2/kpi/config/Operation.java5
-rw-r--r--components/kpi-computation-ms/src/test/java/org/onap/dcaegen2/kpi/computation/KpiComputationTest.java52
-rw-r--r--components/kpi-computation-ms/src/test/java/org/onap/dcaegen2/kpi/computation/KpiTest.java10
-rw-r--r--components/kpi-computation-ms/src/test/resources/kpi/cbs_config3.json38
-rw-r--r--components/kpi-computation-ms/src/test/resources/kpi/kpi_config_sumratio.json34
-rw-r--r--components/kpi-computation-ms/src/test/resources/kpi/ves_message_empty.json84
-rw-r--r--components/kpi-computation-ms/src/test/resources/kpi/ves_message_eventname.json84
-rw-r--r--components/kpi-computation-ms/src/test/resources/kpi/ves_message_null.json80
10 files changed, 470 insertions, 4 deletions
diff --git a/components/kpi-computation-ms/Changelog.md b/components/kpi-computation-ms/Changelog.md
index a5dfd969..a1530641 100644
--- a/components/kpi-computation-ms/Changelog.md
+++ b/components/kpi-computation-ms/Changelog.md
@@ -5,6 +5,10 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/).
+## [1.0.3]
+### Changed
+* Add KpiComputation for SUMRATIO operation (DCAEGEN2-2989)
+
## [1.0.2]
### Changed
* [DCAEGEN2-2972]
diff --git a/components/kpi-computation-ms/src/main/java/org/onap/dcaegen2/kpi/computation/SumRatioKpiComputation.java b/components/kpi-computation-ms/src/main/java/org/onap/dcaegen2/kpi/computation/SumRatioKpiComputation.java
new file mode 100644
index 00000000..a031abde
--- /dev/null
+++ b/components/kpi-computation-ms/src/main/java/org/onap/dcaegen2/kpi/computation/SumRatioKpiComputation.java
@@ -0,0 +1,83 @@
+/*-
+* ============LICENSE_START=======================================================
+* Copyright (C) 2022 Deutsche Telekom AG. All rights reserved.
+* ================================================================================
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+* SPDX-License-Identifier: Apache-2.0
+* ============LICENSE_END=========================================================
+*/
+
+package org.onap.dcaegen2.kpi.computation;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.LinkedList;
+import java.util.ListIterator;
+import java.util.Map;
+
+import org.onap.dcaegen2.kpi.config.ControlLoopSchemaType;
+import org.onap.dcaegen2.kpi.models.CommonEventHeader;
+import org.onap.dcaegen2.kpi.models.KpiOperand;
+import org.onap.dcaegen2.kpi.models.MeasDataCollection;
+import org.onap.dcaegen2.kpi.models.MeasInfo;
+import org.onap.dcaegen2.kpi.models.MeasInfoId;
+import org.onap.dcaegen2.kpi.models.MeasResult;
+import org.onap.dcaegen2.kpi.models.MeasTypes;
+import org.onap.dcaegen2.kpi.models.MeasValues;
+import org.onap.dcaegen2.kpi.models.Perf3gppFields;
+import org.onap.dcaegen2.kpi.models.PerformanceEvent;
+import org.onap.dcaegen2.kpi.models.VesEvent;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+* SumRatioKpiComputation.
+*
+* @author Tarun Agrawal
+*/
+public class SumRatioKpiComputation extends BaseKpiComputation {
+
+ private static Logger logger = LoggerFactory.getLogger(SumRatioKpiComputation.class);
+
+ @Override
+ public List<VesEvent> handle(PerformanceEvent pmEvent, ControlLoopSchemaType schemaType,
+ Map<String, List<KpiOperand>> measInfoMap, String measType, List<String> operands) {
+
+ BigDecimal sumK1;
+ BigDecimal sumK2;
+ final List<VesEvent> vesEvents = new LinkedList<>();
+
+ if (operands.size() == 2) {
+ List<KpiOperand> k1 = measInfoMap.get(operands.get(0));
+ List<KpiOperand> k2 = measInfoMap.get(operands.get(1));
+
+ if (k1.size() != k2.size()) {
+ return null;
+ }
+
+ sumK1 = k1.stream().map(KpiOperand::getValue).reduce(BigDecimal.ZERO, BigDecimal::add);
+ sumK2 = k2.stream().map(KpiOperand::getValue).reduce(BigDecimal.ZERO, BigDecimal::add);
+
+ if (sumK2.compareTo(BigDecimal.ZERO) == 0) {
+ return null;
+ }
+
+ BigDecimal result = sumK1.multiply(new BigDecimal("100")).divide(sumK2, 0, RoundingMode.HALF_UP);
+ vesEvents.add(generateVesEvent(pmEvent, schemaType.toString(), result, measType));
+ }
+ return vesEvents;
+ }
+}
diff --git a/components/kpi-computation-ms/src/main/java/org/onap/dcaegen2/kpi/config/Operation.java b/components/kpi-computation-ms/src/main/java/org/onap/dcaegen2/kpi/config/Operation.java
index 248c3817..82f65ca8 100644
--- a/components/kpi-computation-ms/src/main/java/org/onap/dcaegen2/kpi/config/Operation.java
+++ b/components/kpi-computation-ms/src/main/java/org/onap/dcaegen2/kpi/config/Operation.java
@@ -1,7 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2021 China Mobile.
- * Copyright (C) 2021 Deutsche Telekom AG. All rights reserved.
+ * Copyright (C) 2022 Deutsche Telekom AG. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -25,7 +25,8 @@ public enum Operation {
SUM("org.onap.dcaegen2.kpi.computation.SumKpiComputation"),
RATIO("org.onap.dcaegen2.kpi.computation.RatioKpiComputation"),
- MEAN("org.onap.dcaegen2.kpi.computation.MEAN");
+ MEAN("org.onap.dcaegen2.kpi.computation.MEAN"),
+ SUMRATIO("org.onap.dcaegen2.kpi.computation.SumRatioKpiComputation");
public final String value;
diff --git a/components/kpi-computation-ms/src/test/java/org/onap/dcaegen2/kpi/computation/KpiComputationTest.java b/components/kpi-computation-ms/src/test/java/org/onap/dcaegen2/kpi/computation/KpiComputationTest.java
index 69494ab5..1ed65572 100644
--- a/components/kpi-computation-ms/src/test/java/org/onap/dcaegen2/kpi/computation/KpiComputationTest.java
+++ b/components/kpi-computation-ms/src/test/java/org/onap/dcaegen2/kpi/computation/KpiComputationTest.java
@@ -1,7 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2021 China Mobile.
- * Copyright (C) 2021 Deutsche Telekom AG. All rights reserved.
+ * Copyright (C) 2022 Deutsche Telekom AG. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -40,6 +40,10 @@ public class KpiComputationTest {
private static final String KPI_CONFIG_FILE = "kpi/kpi_config.json";
private static final String VES_MESSAGE_FILE = "kpi/ves_message.json";
private static final String KPI_CONFIG_RATIO_FILE = "kpi/kpi_config_ratio.json";
+ private static final String KPI_CONFIG_SUMRATIO_FILE = "kpi/kpi_config_sumratio.json";
+ private static final String VES_MESSAGE_EMPTY_FILE = "kpi/ves_message_empty.json";
+ private static final String VES_MESSAGE_NULL_FILE = "kpi/ves_message_null.json";
+ private static final String VES_MESSAGE_EVENTNAME_FILE = "kpi/ves_message_eventname.json";
@Test
public void testKpiComputation() {
@@ -70,4 +74,50 @@ public class KpiComputationTest {
.getMeasValuesList().get(0).getMeasResults().get(0).getSvalue(), "50");
}
+ @Test
+ public void testKpiComputationSumRatio() {
+
+ String strKpiConfigSumRatio = FileUtils.getFileContents(KPI_CONFIG_SUMRATIO_FILE);
+ String vesMessage = FileUtils.getFileContents(VES_MESSAGE_FILE);
+ Configuration config = mock(Configuration.class);
+ when(config.getKpiConfig()).thenReturn(strKpiConfigSumRatio);
+ List<VesEvent> vesList = new KpiComputation().checkAndDoComputation(vesMessage, config);
+ VesEvent vesEvent = vesList.get(0);
+ assertEquals(vesEvent.getEvent().getPerf3gppFields().getMeasDataCollection().getMeasInfoList().get(0)
+ .getMeasValuesList().get(0).getMeasResults().get(0).getSvalue(), "67");
+ }
+
+ @Test
+ public void testKpiComputationSumRatioEmptyCheck() {
+ String strKpiConfigSumRatio = FileUtils.getFileContents(KPI_CONFIG_SUMRATIO_FILE);
+
+ String vesMessage = FileUtils.getFileContents(VES_MESSAGE_EMPTY_FILE);
+ Configuration config = mock(Configuration.class);
+ when(config.getKpiConfig()).thenReturn(strKpiConfigSumRatio);
+ List<VesEvent> vesList = new KpiComputation().checkAndDoComputation(vesMessage, config);
+ assertEquals(0, vesList.size());
+ }
+
+ @Test
+ public void testKpiComputationSumRatioOperandsCheck() {
+ String strKpiConfigSumRatio = FileUtils.getFileContents(KPI_CONFIG_SUMRATIO_FILE);
+
+ String vesMessage = FileUtils.getFileContents(VES_MESSAGE_NULL_FILE);
+ Configuration config = mock(Configuration.class);
+ when(config.getKpiConfig()).thenReturn(strKpiConfigSumRatio);
+ List<VesEvent> vesList = new KpiComputation().checkAndDoComputation(vesMessage, config);
+ assertEquals(0, vesList.size());
+ }
+
+ @Test
+ public void testKpiComputationSumRatioEventNameCheck() {
+ String strKpiConfigSumRatio = FileUtils.getFileContents(KPI_CONFIG_SUMRATIO_FILE);
+
+ String vesMessage = FileUtils.getFileContents(VES_MESSAGE_EVENTNAME_FILE);
+ Configuration config = mock(Configuration.class);
+ when(config.getKpiConfig()).thenReturn(strKpiConfigSumRatio);
+ List<VesEvent> vesList = new KpiComputation().checkAndDoComputation(vesMessage, config);
+ assertEquals(null, vesList);
+ }
+
}
diff --git a/components/kpi-computation-ms/src/test/java/org/onap/dcaegen2/kpi/computation/KpiTest.java b/components/kpi-computation-ms/src/test/java/org/onap/dcaegen2/kpi/computation/KpiTest.java
index 236a15c4..5a552c51 100644
--- a/components/kpi-computation-ms/src/test/java/org/onap/dcaegen2/kpi/computation/KpiTest.java
+++ b/components/kpi-computation-ms/src/test/java/org/onap/dcaegen2/kpi/computation/KpiTest.java
@@ -1,7 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2021 China Mobile.
- * Copyright (C) 2021 Deutsche Telekom AG. All rights reserved.
+ * Copyright (C) 2022 Deutsche Telekom AG. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -34,6 +34,7 @@ public class KpiTest {
private static final String KPI_CONFIG_FILE = "kpi/kpi_config.json";
private static final String VES_MESSAGE_FILE = "kpi/ves_message.json";
private static final String KPI_CONFIG_RATIO_FILE = "kpi/kpi_config_ratio.json";
+ private static final String KPI_CONFIG_SUMRATIO_FILE = "kpi/kpi_config_sumratio.json";
@Test
public void testKpiConfigValidate() {
@@ -60,4 +61,11 @@ public class KpiTest {
assertEquals(kpiConfig.getDomain(), "measurementsForKpi");
}
+ @Test
+ public void testKpiConfigSumRatioValidate() {
+ String strKpiConfig = FileUtils.getFileContents(KPI_CONFIG_SUMRATIO_FILE);
+ KpiConfig kpiConfig = KpiJsonConversion.convertKpiConfig(strKpiConfig);
+ assertEquals(kpiConfig.getDomain(), "measurementsForKpi");
+ }
+
}
diff --git a/components/kpi-computation-ms/src/test/resources/kpi/cbs_config3.json b/components/kpi-computation-ms/src/test/resources/kpi/cbs_config3.json
new file mode 100644
index 00000000..33ae3111
--- /dev/null
+++ b/components/kpi-computation-ms/src/test/resources/kpi/cbs_config3.json
@@ -0,0 +1,38 @@
+{
+ "config": {
+ "pollingInterval": 20,
+ "aafUsername": "dcae@dcae.onap.org",
+ "cbsPollingInterval": 60,
+ "mongo.host": "192.168.225.61",
+ "cid": "kpi-cid",
+ "trust_store_pass_path": "/opt/app/kpims/etc/cert/trust.pass",
+ "cg": "kpi-cg",
+ "mongo.port": 27017,
+ "mongo.databasename": "datalake",
+ "streams_subscribes": {
+ "performance_management_topic": {
+ "aaf_password": "demo123456!",
+ "type": "message-router",
+ "dmaap_info": {
+ "topic_url": "https://message-router.onap.svc.cluster.local:3905/events/org.onap.dmaap.mr.PERFORMANCE_MEASUREMENTS"
+ },
+ "aaf_username": "dcae@dcae.onap.org"
+ }
+ },
+ "trust_store_path": "/opt/app/kpims/etc/cert/trust.jks",
+ "pollingTimeout": 60,
+ "streams_publishes": {
+ "kpi_topic": {
+ "aaf_password": "demo123456!",
+ "type": "message-router",
+ "dmaap_info": {
+ "topic_url": "https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.DCAE_KPI_OUTPUT"
+ },
+ "aaf_username": "dcae@dcae.onap.org"
+ }
+ },
+ "aafPassword": "demo123456!",
+ "kpi.policy": "{\"domain\":\"measurementsForKpi\",\"methodForKpi\":[{\"eventName\":\"perf3gpp_CORE-AMF_pmMeasResult\",\"controlLoopSchemaType\":\"SLICE\",\"policyScope\":\"resource=networkSlice;type=configuration\",\"policyName\":\"configuration.dcae.microservice.pm-mapper.xml\",\"policyVersion\":\"v0.0.1\",\"kpis\":[{\"measType\":\"AMFRegNbr\",\"operation\":\"SUM\",\"operands\":[\"RM.RegisteredSubNbrMean\"]}]},{\"eventName\":\"perf3gpp_AcmeNode-Acme_pmMeasResult\",\"controlLoopSchemaType\":\"SLICE\",\"policyScope\":\"resource=networkSlice;type=configuration\",\"policyName\":\"configuration.dcae.microservice.pm-mapper.xml\",\"policyVersion\":\"v0.0.1\",\"kpis\":[{\"measType\":\"UpstreamThr\",\"operation\":\"SUMRATIO\",\"operands\":[\"GTP.InDataOctN3UPF\",\"GTP.OutDataOctN3UPF\"]},{\"measType\":\"DownstreamThr\",\"operation\":\"SUMRATIO\",\"operands\":[\"GTP.InDataOctN3UPF\",\"GTP.OutDataOctN3UPF\"]}]}]}",
+ "dmaap.server": ["message-router"]
+ }
+}
diff --git a/components/kpi-computation-ms/src/test/resources/kpi/kpi_config_sumratio.json b/components/kpi-computation-ms/src/test/resources/kpi/kpi_config_sumratio.json
new file mode 100644
index 00000000..1c6f79b9
--- /dev/null
+++ b/components/kpi-computation-ms/src/test/resources/kpi/kpi_config_sumratio.json
@@ -0,0 +1,34 @@
+{
+ "domain": "measurementsForKpi",
+ "methodForKpi": [{
+ "eventName": "perf3gpp_CORE_AMF_pmMeasResult",
+ "controlLoopSchemaType": "SLICE",
+ "policyScope": "resource=networkSlice;type=configuration",
+ "policyName": "configuration.dcae.microservice.pm-mapper.xml",
+ "policyVersion": "v0.0.1",
+ "kpis": [{
+ "measType": "AMFRegNbr",
+ "operation": "SUM",
+ "operands": ["RM.RegisteredSubNbrMean"]
+ }]
+ },
+ {
+ "eventName": "perf3gpp_AcmeNode-Acme_pmMeasResult",
+ "controlLoopSchemaType": "SLICE",
+ "policyScope": "resource=networkSlice;type=configuration",
+ "policyName": "configuration.dcae.microservice.pm-mapper.xml",
+ "policyVersion": "v0.0.1",
+ "kpis": [{
+ "measType": "UpstreamThr",
+ "operation": "SUMRATIO",
+ "operands": ["GTP.InDataOctN3UPF","GTP.OutDataOctN3UPF"]
+ },
+ {
+ "measType": "DownstreamThr",
+ "operation": "SUMRATIO",
+ "operands": ["GTP.InDataOctN3UPF","GTP.OutDataOctN3UPF"]
+ }
+ ]
+ }
+ ]
+}
diff --git a/components/kpi-computation-ms/src/test/resources/kpi/ves_message_empty.json b/components/kpi-computation-ms/src/test/resources/kpi/ves_message_empty.json
new file mode 100644
index 00000000..b2988a33
--- /dev/null
+++ b/components/kpi-computation-ms/src/test/resources/kpi/ves_message_empty.json
@@ -0,0 +1,84 @@
+{
+ "event": {
+ "commonEventHeader": {
+ "domain": "perf3gpp",
+ "eventId": "14618daf-c0ce-4ccc-9169-9e1ac79971f2",
+ "sequence": 0,
+ "eventName": "perf3gpp_AcmeNode-Acme_pmMeasResult",
+ "sourceName": "oteNB5309",
+ "reportingEntityName": "",
+ "priority": "Normal",
+ "startEpochMicrosec": 1591099200000,
+ "lastEpochMicrosec": 1591100100000,
+ "version": "4.0",
+ "vesEventListenerVersion": "7.1",
+ "timeZoneOffset": "UTC+05:00"
+ },
+ "perf3gppFields": {
+ "perf3gppFieldsVersion": "1.0",
+ "measDataCollection": {
+ "granularityPeriod": 1591100100000,
+ "measuredEntityUserName": "",
+ "measuredEntityDn": "UPFMeasurement",
+ "measuredEntitySoftwareVersion": "r0.1",
+ "measInfoList": [
+ {
+ "measInfoId": {
+ "sMeasInfoId": "UPFFunction0"
+ },
+ "measTypes": {
+ "sMeasTypesList": [
+ "RRC.RrcConnectionSuccess.08_010101",
+ "RRC.RrcConnectionTotal.08_010101"
+ ]
+ },
+ "measValuesList": [
+ {
+ "measObjInstId": "some measObjLdn",
+ "suspectFlag": "false",
+ "measResults": [
+ {
+ "p": 1,
+ "sValue": "10"
+ },
+ {
+ "p": 2,
+ "sValue": "0"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "measInfoId": {
+ "sMeasInfoId": "UPFFunction1"
+ },
+ "measTypes": {
+ "sMeasTypesList": [
+ "RRC.RrcConnectionSuccess.08_010101",
+ "RRC.RrcConnectionTotal.08_010101"
+ ]
+ },
+ "measValuesList": [
+ {
+ "measObjInstId": "some measObjLdn",
+ "suspectFlag": "false",
+ "measResults": [
+ {
+ "p": 1,
+ "sValue": "30"
+ },
+ {
+ "p": 2,
+ "sValue": "0"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
+
diff --git a/components/kpi-computation-ms/src/test/resources/kpi/ves_message_eventname.json b/components/kpi-computation-ms/src/test/resources/kpi/ves_message_eventname.json
new file mode 100644
index 00000000..be7225e0
--- /dev/null
+++ b/components/kpi-computation-ms/src/test/resources/kpi/ves_message_eventname.json
@@ -0,0 +1,84 @@
+{
+ "event": {
+ "commonEventHeader": {
+ "domain": "perf3gpp",
+ "eventId": "14618daf-c0ce-4ccc-9169-9e1ac79971f2",
+ "sequence": 0,
+ "eventName": "perf3gpp_AcmeNode-Acme",
+ "sourceName": "oteNB5309",
+ "reportingEntityName": "",
+ "priority": "Normal",
+ "startEpochMicrosec": 1591099200000,
+ "lastEpochMicrosec": 1591100100000,
+ "version": "4.0",
+ "vesEventListenerVersion": "7.1",
+ "timeZoneOffset": "UTC+05:00"
+ },
+ "perf3gppFields": {
+ "perf3gppFieldsVersion": "1.0",
+ "measDataCollection": {
+ "granularityPeriod": 1591100100000,
+ "measuredEntityUserName": "",
+ "measuredEntityDn": "UPFMeasurement",
+ "measuredEntitySoftwareVersion": "r0.1",
+ "measInfoList": [
+ {
+ "measInfoId": {
+ "sMeasInfoId": "UPFFunction0"
+ },
+ "measTypes": {
+ "sMeasTypesList": [
+ "RRC.RrcConnectionSuccess.08_010101",
+ "RRC.RrcConnectionTotal.08_010101"
+ ]
+ },
+ "measValuesList": [
+ {
+ "measObjInstId": "some measObjLdn",
+ "suspectFlag": "false",
+ "measResults": [
+ {
+ "p": 1,
+ "sValue": "10"
+ },
+ {
+ "p": 2,
+ "sValue": "20"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "measInfoId": {
+ "sMeasInfoId": "UPFFunction1"
+ },
+ "measTypes": {
+ "sMeasTypesList": [
+ "RRC.RrcConnectionSuccess.08_010101",
+ "RRC.RrcConnectionTotal.08_010101"
+ ]
+ },
+ "measValuesList": [
+ {
+ "measObjInstId": "some measObjLdn",
+ "suspectFlag": "false",
+ "measResults": [
+ {
+ "p": 1,
+ "sValue": "30"
+ },
+ {
+ "p": 2,
+ "sValue": "40"
+ }
+
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/components/kpi-computation-ms/src/test/resources/kpi/ves_message_null.json b/components/kpi-computation-ms/src/test/resources/kpi/ves_message_null.json
new file mode 100644
index 00000000..98656859
--- /dev/null
+++ b/components/kpi-computation-ms/src/test/resources/kpi/ves_message_null.json
@@ -0,0 +1,80 @@
+{
+ "event": {
+ "commonEventHeader": {
+ "domain": "perf3gpp",
+ "eventId": "14618daf-c0ce-4ccc-9169-9e1ac79971f2",
+ "sequence": 0,
+ "eventName": "perf3gpp_AcmeNode-Acme_pmMeasResult",
+ "sourceName": "oteNB5309",
+ "reportingEntityName": "",
+ "priority": "Normal",
+ "startEpochMicrosec": 1591099200000,
+ "lastEpochMicrosec": 1591100100000,
+ "version": "4.0",
+ "vesEventListenerVersion": "7.1",
+ "timeZoneOffset": "UTC+05:00"
+ },
+ "perf3gppFields": {
+ "perf3gppFieldsVersion": "1.0",
+ "measDataCollection": {
+ "granularityPeriod": 1591100100000,
+ "measuredEntityUserName": "",
+ "measuredEntityDn": "UPFMeasurement",
+ "measuredEntitySoftwareVersion": "r0.1",
+ "measInfoList": [
+ {
+ "measInfoId": {
+ "sMeasInfoId": "UPFFunction0"
+ },
+ "measTypes": {
+ "sMeasTypesList": [
+ "RRC.RrcConnectionSuccess.08_010101",
+ "RRC.RrcConnectionTotal.08_010101"
+ ]
+ },
+ "measValuesList": [
+ {
+ "measObjInstId": "some measObjLdn",
+ "suspectFlag": "false",
+ "measResults": [
+ {
+ "p": 1,
+ "sValue": "10"
+ },
+ {
+ "p": 2,
+ "sValue": "20"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "measInfoId": {
+ "sMeasInfoId": "UPFFunction1"
+ },
+ "measTypes": {
+ "sMeasTypesList": [
+ "RRC.RrcConnectionSuccess.08_010101",
+ "RRC.RrcConnectionTotal.08_010101"
+ ]
+ },
+ "measValuesList": [
+ {
+ "measObjInstId": "some measObjLdn",
+ "suspectFlag": "false",
+ "measResults": [
+ {
+ "p": 1,
+ "sValue": "30"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
+