aboutsummaryrefslogtreecommitdiffstats
path: root/dcae-analytics-cdap-plugins
diff options
context:
space:
mode:
Diffstat (limited to 'dcae-analytics-cdap-plugins')
-rw-r--r--dcae-analytics-cdap-plugins/docs/DMaaPMRSink-batchsink.md13
-rw-r--r--dcae-analytics-cdap-plugins/docs/DMaaPMRSource-streamingsource.md13
-rw-r--r--dcae-analytics-cdap-plugins/docs/JsonPathFilter-transform.md42
-rw-r--r--dcae-analytics-cdap-plugins/docs/MockDMaaPMRSource-streamingsource.md13
-rw-r--r--dcae-analytics-cdap-plugins/docs/SimpleTCAPlugin-sparkcompute.md14
-rw-r--r--dcae-analytics-cdap-plugins/piplelines/SimpleTCAPipeline.json847
-rw-r--r--dcae-analytics-cdap-plugins/pom.xml316
-rw-r--r--dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMROutputFormat.java94
-rw-r--r--dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMROutputFormatProvider.java116
-rw-r--r--dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMRRecordWriter.java58
-rw-r--r--dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMRSink.java90
-rw-r--r--dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/common/PluginSchema.java37
-rw-r--r--dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/BaseDMaaPMRPluginConfig.java159
-rw-r--r--dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/DMaaPMRSinkPluginConfig.java101
-rw-r--r--dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/DMaaPMRSourcePluginConfig.java134
-rw-r--r--dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/filter/JsonPathFilterPluginConfig.java125
-rw-r--r--dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/tca/SimpleTCAPluginConfig.java154
-rw-r--r--dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/schema/dmaap/DMaaPSourceOutputSchema.java59
-rw-r--r--dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/sparkcompute/tca/SimpleTCAPlugin.java175
-rw-r--r--dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/DMaaPMRReceiver.java118
-rw-r--r--dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/DMaaPMRSource.java70
-rw-r--r--dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/MockDMaaPMRReceiver.java132
-rw-r--r--dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/MockDMaaPMRSource.java73
-rw-r--r--dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/transform/filter/JsonPathFilter.java134
-rw-r--r--dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/CDAPPluginUtils.java295
-rw-r--r--dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/DMaaPSinkConfigMapper.java112
-rw-r--r--dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/DMaaPSourceConfigMapper.java118
-rw-r--r--dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/BaseDMaaPMRPluginConfigValidator.java72
-rw-r--r--dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/DMaaPMRSinkPluginConfigValidator.java58
-rw-r--r--dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/DMaaPMRSourcePluginConfigValidator.java58
-rw-r--r--dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/JsonPathFilterPluginConfigValidator.java83
-rw-r--r--dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/SimpleTCAPluginConfigValidator.java91
-rw-r--r--dcae-analytics-cdap-plugins/src/main/resources/ves_mock_messages.json12952
-rw-r--r--dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/BaseAnalyticsCDAPPluginsUnitTest.java238
-rw-r--r--dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMROutputFormatProviderTest.java77
-rw-r--r--dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMROutputFormatTest.java75
-rw-r--r--dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMRRecordWriterTest.java62
-rw-r--r--dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMRSinkTest.java94
-rw-r--r--dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/DMaaPMRSinkPluginConfigTest.java80
-rw-r--r--dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/DMaaPMRSourcePluginConfigTest.java84
-rw-r--r--dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/TestDMaaPMRSinkPluginConfig.java76
-rw-r--r--dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/TestDMaaPMRSourcePluginConfig.java84
-rw-r--r--dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/filter/TestJsonPathFilterPluginConfig.java50
-rw-r--r--dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/tca/TestSimpleTCAPluginConfig.java56
-rw-r--r--dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/schema/dmaap/DMaaPSourceOutputSchemaTest.java63
-rw-r--r--dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/it/SimpleTCAPluginCDAPIT.java228
-rw-r--r--dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/sparkcompute/tca/SimpleTCAPluginTest.java119
-rw-r--r--dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/DMaaPMRReceiverTest.java75
-rw-r--r--dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/DMaaPMRSourceTest.java90
-rw-r--r--dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/MockDMaaPMRReceiverTest.java81
-rw-r--r--dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/MockDMaaPMRSourceTest.java73
-rw-r--r--dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/TestDMaaPMRReceiver.java58
-rw-r--r--dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/transform/filter/JsonPathFilterTest.java84
-rw-r--r--dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/CDAPPluginUtilsTest.java171
-rw-r--r--dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/DMaaPSinkConfigMapperTest.java57
-rw-r--r--dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/DMaaPSourceConfigMapperTest.java64
-rw-r--r--dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/DMaaPMRSinkPluginConfigValidatorTest.java86
-rw-r--r--dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/DMaaPMRSourcePluginConfigValidatorTest.java85
-rw-r--r--dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/JsonPathFilterPluginConfigValidatorTest.java107
-rw-r--r--dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/SimpleTCAPluginConfigValidatorTest.java157
-rw-r--r--dcae-analytics-cdap-plugins/src/test/resources/data/json/cef/cef_message.json37
-rw-r--r--dcae-analytics-cdap-plugins/src/test/resources/data/json/cef/non_compliant_cef_message.json37
-rw-r--r--dcae-analytics-cdap-plugins/src/test/resources/data/json/policy/tca_policy.json53
-rw-r--r--dcae-analytics-cdap-plugins/src/test/resources/logback-test.xml55
-rw-r--r--dcae-analytics-cdap-plugins/widgets/DMaaPMRSink-batchsink.json94
-rw-r--r--dcae-analytics-cdap-plugins/widgets/DMaaPMRSource-streamingsource.json106
-rw-r--r--dcae-analytics-cdap-plugins/widgets/JsonPathFilter-transform.json58
-rw-r--r--dcae-analytics-cdap-plugins/widgets/MockDMaaPMRSource-streamingsource.json106
-rw-r--r--dcae-analytics-cdap-plugins/widgets/SimpleTCAPlugin-sparkcompute.json54
69 files changed, 20100 insertions, 0 deletions
diff --git a/dcae-analytics-cdap-plugins/docs/DMaaPMRSink-batchsink.md b/dcae-analytics-cdap-plugins/docs/DMaaPMRSink-batchsink.md
new file mode 100644
index 0000000..c55ad60
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/docs/DMaaPMRSink-batchsink.md
@@ -0,0 +1,13 @@
+# DMaaP MR Streaming Sink
+
+Description
+-----------
+
+Publishes messages to DMaaP MR Topic using AAF Authentication.
+
+Use Case
+--------
+
+This plugin should be used to publish messages from DMaaP MR Topic using AAF Authentication
+
+
diff --git a/dcae-analytics-cdap-plugins/docs/DMaaPMRSource-streamingsource.md b/dcae-analytics-cdap-plugins/docs/DMaaPMRSource-streamingsource.md
new file mode 100644
index 0000000..fe96638
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/docs/DMaaPMRSource-streamingsource.md
@@ -0,0 +1,13 @@
+# DMaaP MR Streaming Source
+
+Description
+-----------
+
+Fetches messages from DMaaP MR Topic using AAF Authentication at regular intervals.
+
+Use Case
+--------
+
+This plugin should be used to fetch messages from DMaaP MR Topic using AAF Authentication
+
+
diff --git a/dcae-analytics-cdap-plugins/docs/JsonPathFilter-transform.md b/dcae-analytics-cdap-plugins/docs/JsonPathFilter-transform.md
new file mode 100644
index 0000000..ec9bb20
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/docs/JsonPathFilter-transform.md
@@ -0,0 +1,42 @@
+# JSON Path Filter
+
+## Description
+
+Filters incoming JSON based on given filter mappings.
+
+The mappings in the plugin will be:
+
+ +================================================+
+ | JSON Path Expression | Expected Values |
+ |---------------------------|--------------------|
+ |$.employee.name.first | rajiv;manjesh |
+ |$.employee.name.last | singla;gowda |
+ |$.employee.email | johndoe@xyz.com |
+ +================================================+
+
+The above filter mappings will inside json path $.employee.name.first and check if value matches rajiv or manjesh.
+Only if path does exist and matches any of the expected values rajiv or manjesh then first filter mapping will be true.
+
+If multiple mappings are provided all mapping must be true for result to be matched.
+
+If incoming json is null or empty then output result will be null as no matching is possible.
+
+### Expression
+
+The "root member object" for parsing any JSON is referred to as ```$```, regardless of
+whether it's an array or an object. It also uses either dot notation or bracket notation for
+defining the levels of parsing. For example: ```$.employee.name``` or ```$[employee][name]```.
+
+#### Supported Operators
+
+These operators are supported:
+
+ +========================================================================+
+ | Operator | Description |
+ |-------------------|----------------------------------------------------|
+ | $ | The root element of the query |
+ | * | Wildcard |
+ | .. | Deep scan |
+ | .<name> | Dot notation representing child |
+ | [?(<expression>)] | Filter expression, should be boolean result always |
+ +========================================================================+
diff --git a/dcae-analytics-cdap-plugins/docs/MockDMaaPMRSource-streamingsource.md b/dcae-analytics-cdap-plugins/docs/MockDMaaPMRSource-streamingsource.md
new file mode 100644
index 0000000..73906ae
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/docs/MockDMaaPMRSource-streamingsource.md
@@ -0,0 +1,13 @@
+# DMaaP MR Streaming Source
+
+Description
+-----------
+
+Mocks DMaaP MR Subscriber and send mock CEF Message used for testing without DMaaP MR
+
+Use Case
+--------
+
+This plugin should be used to fetch messages from DMaaP MR Topic using AAF Authentication
+
+
diff --git a/dcae-analytics-cdap-plugins/docs/SimpleTCAPlugin-sparkcompute.md b/dcae-analytics-cdap-plugins/docs/SimpleTCAPlugin-sparkcompute.md
new file mode 100644
index 0000000..d28f8ca
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/docs/SimpleTCAPlugin-sparkcompute.md
@@ -0,0 +1,14 @@
+# Simple TCA Spark Compute Plugin
+
+Description
+-----------
+Transforms and generates alert message for input CEF (Common Event Format) based on given TCA Policy
+
+Use Case
+--------
+
+Properties
+----------
+
+Example
+-------
diff --git a/dcae-analytics-cdap-plugins/piplelines/SimpleTCAPipeline.json b/dcae-analytics-cdap-plugins/piplelines/SimpleTCAPipeline.json
new file mode 100644
index 0000000..7f2ec72
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/piplelines/SimpleTCAPipeline.json
@@ -0,0 +1,847 @@
+{
+ "artifact": {
+ "name": "cdap-data-streams",
+ "version": "4.0.0",
+ "scope": "SYSTEM",
+ "label": "Data Pipeline - Realtime"
+ },
+ "__ui__": {
+ "nodes": [
+ {
+ "plugin": {
+ "label": "DMaaPMRSink",
+ "artifact": {
+ "name": "dcae-analytics-cdap-plugins",
+ "version": "3.0-SNAPSHOT",
+ "scope": "USER"
+ },
+ "name": "DMaaPMRSink",
+ "properties": {
+ "referenceName": "DMaaPMRSink",
+ "hostName": "zldcmtc1njmsrt00.homer.com",
+ "portNumber": "3905",
+ "topicName": "com.dcae.dmaap.FTL.DcaeTestVESPub",
+ "protocol": "https",
+ "userName": "USER",
+ "userPassword": "PASSWORD",
+ "contentType": "application/json",
+ "messageColumnName": "alert",
+ "maxBatchSize": "50"
+ }
+ },
+ "icon": "fa-plug",
+ "description": "A batch sink Plugin that publishes messages to DMaaP MR Topic.",
+ "type": "batchsink",
+ "warning": true,
+ "_uiPosition": {
+ "top": "230.9921875px",
+ "left": "1212px"
+ },
+ "name": "DMaaPMRSink",
+ "errorCount": 0,
+ "_backendProperties": {
+ "portNumber": {
+ "name": "portNumber",
+ "description": "DMaaP Message Router Host Port number. Defaults to Port 80",
+ "type": "int",
+ "required": false,
+ "macroSupported": true
+ },
+ "protocol": {
+ "name": "protocol",
+ "description": "DMaaP Message Router HTTP Protocol e.g. HTTP or HTTPS. Defaults to HTTPS",
+ "type": "string",
+ "required": false,
+ "macroSupported": true
+ },
+ "userPassword": {
+ "name": "userPassword",
+ "description": "DMaaP Message Router User Password used for AAF Authentication. Defaults to no authentication",
+ "type": "string",
+ "required": false,
+ "macroSupported": true
+ },
+ "userName": {
+ "name": "userName",
+ "description": "DMaaP Message Router User Name used for AAF Authentication. Defaults to no authentication",
+ "type": "string",
+ "required": false,
+ "macroSupported": true
+ },
+ "hostName": {
+ "name": "hostName",
+ "description": "DMaaP Message Router HostName",
+ "type": "string",
+ "required": true,
+ "macroSupported": true
+ },
+ "messageColumnName": {
+ "name": "messageColumnName",
+ "description": "Column name of input schema which contains the message that needs to be written to DMaaP MR Topic",
+ "type": "string",
+ "required": true,
+ "macroSupported": true
+ },
+ "contentType": {
+ "name": "contentType",
+ "description": "DMaaP Message Router Content Type. Defaults to 'application/json'",
+ "type": "string",
+ "required": false,
+ "macroSupported": true
+ },
+ "maxRecoveryQueueSize": {
+ "name": "maxRecoveryQueueSize",
+ "description": "DMaaP MR Publisher Recovery Queue Size. Default to 1000K messages which can be buffered in memory in case DMaaP MR Publisher is temporarily unavailable",
+ "type": "int",
+ "required": false,
+ "macroSupported": true
+ },
+ "referenceName": {
+ "name": "referenceName",
+ "description": "This will be used to uniquely identify this source/sink for lineage, annotating metadata, etc.",
+ "type": "string",
+ "required": true,
+ "macroSupported": true
+ },
+ "topicName": {
+ "name": "topicName",
+ "description": "DMaaP Message Router Topic Name",
+ "type": "string",
+ "required": true,
+ "macroSupported": true
+ },
+ "maxBatchSize": {
+ "name": "maxBatchSize",
+ "description": "DMaaP MR Publisher Max Batch Size. Defaults to no Batch",
+ "type": "int",
+ "required": false,
+ "macroSupported": true
+ }
+ },
+ "implicitSchema": null,
+ "outputSchemaProperty": null,
+ "selected": false,
+ "inputSchema": [
+ {
+ "name": "JavaScript2",
+ "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":\"string\"},{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}"
+ }
+ ],
+ "outputSchema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":\"string\"},{\"name\":\"tacMessageType\",\"type\":\"string\"}]}"
+ },
+ {
+ "plugin": {
+ "label": "DMaaPMRSource",
+ "artifact": {
+ "name": "dcae-analytics-cdap-plugins",
+ "version": "3.0-SNAPSHOT",
+ "scope": "USER"
+ },
+ "name": "DMaaPMRSource",
+ "properties": {
+ "referenceName": "DMaaPMRSource",
+ "hostName": "zldcmtc1njmsrt00.homer.com",
+ "portNumber": "3905",
+ "topicName": "com.dcae.dmaap.FTL.DcaeTestVESSub",
+ "pollingInterval": "20000",
+ "protocol": "https",
+ "userName": "USER",
+ "userPassword": "PASSWORD",
+ "contentType": "application/json",
+ "consumerId": "C1",
+ "consumerGroup": "OpenDCAE-G1"
+ }
+ },
+ "icon": "fa-plug",
+ "description": "Fetches DMaaP MR Messages at regular intervals",
+ "type": "streamingsource",
+ "warning": true,
+ "_uiPosition": {
+ "top": "230.9921875px",
+ "left": "318px"
+ },
+ "name": "DMaaPMRSource",
+ "errorCount": 0,
+ "_backendProperties": {
+ "portNumber": {
+ "name": "portNumber",
+ "description": "DMaaP Message Router Host Port number. Defaults to Port 80",
+ "type": "int",
+ "required": false,
+ "macroSupported": true
+ },
+ "protocol": {
+ "name": "protocol",
+ "description": "DMaaP Message Router HTTP Protocol e.g. HTTP or HTTPS. Defaults to HTTPS",
+ "type": "string",
+ "required": false,
+ "macroSupported": true
+ },
+ "timeoutMS": {
+ "name": "timeoutMS",
+ "description": "DMaaP Message Router Subscriber Timeout in MS. Defaults to no timeout",
+ "type": "int",
+ "required": false,
+ "macroSupported": true
+ },
+ "consumerGroup": {
+ "name": "consumerGroup",
+ "description": "DMaaP Message Router Subscriber Consumer Group. Defaults to some randomly created user Group",
+ "type": "string",
+ "required": false,
+ "macroSupported": true
+ },
+ "userPassword": {
+ "name": "userPassword",
+ "description": "DMaaP Message Router User Password used for AAF Authentication. Defaults to no authentication",
+ "type": "string",
+ "required": false,
+ "macroSupported": true
+ },
+ "userName": {
+ "name": "userName",
+ "description": "DMaaP Message Router User Name used for AAF Authentication. Defaults to no authentication",
+ "type": "string",
+ "required": false,
+ "macroSupported": true
+ },
+ "hostName": {
+ "name": "hostName",
+ "description": "DMaaP Message Router HostName",
+ "type": "string",
+ "required": true,
+ "macroSupported": true
+ },
+ "pollingInterval": {
+ "name": "pollingInterval",
+ "description": "DMaaP MR Polling Interval in MS",
+ "type": "int",
+ "required": true,
+ "macroSupported": true
+ },
+ "contentType": {
+ "name": "contentType",
+ "description": "DMaaP Message Router Content Type. Defaults to 'application/json'",
+ "type": "string",
+ "required": false,
+ "macroSupported": true
+ },
+ "referenceName": {
+ "name": "referenceName",
+ "description": "This will be used to uniquely identify this source/sink for lineage, annotating metadata, etc.",
+ "type": "string",
+ "required": true,
+ "macroSupported": true
+ },
+ "topicName": {
+ "name": "topicName",
+ "description": "DMaaP Message Router Topic Name",
+ "type": "string",
+ "required": true,
+ "macroSupported": true
+ },
+ "messageLimit": {
+ "name": "messageLimit",
+ "description": "DMaaP Message Router Subscriber Message Limit. Defaults to no message limit",
+ "type": "int",
+ "required": false,
+ "macroSupported": true
+ },
+ "consumerId": {
+ "name": "consumerId",
+ "description": "DMaaP Message Router Subscriber Consumer ID. Defaults to some randomly created userID",
+ "type": "string",
+ "required": false,
+ "macroSupported": true
+ }
+ },
+ "implicitSchema": {
+ "ts": "long",
+ "responseCode": "int",
+ "responseMessage": "string",
+ "message": "string"
+ },
+ "outputSchemaProperty": null,
+ "outputSchema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"}]}",
+ "selected": false
+ },
+ {
+ "plugin": {
+ "label": "JsonPathFilter",
+ "artifact": {
+ "name": "dcae-analytics-cdap-plugins",
+ "version": "3.0-SNAPSHOT",
+ "scope": "USER"
+ },
+ "name": "JsonPathFilter",
+ "properties": {
+ "referenceName": "JsonPathFilter",
+ "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"}]}",
+ "jsonFilterMappings": "$.event.commonEventHeader.domain:measurementsForVfScaling,$.event.commonEventHeader.functionalRole:vLoadBalancer;vFirewall",
+ "incomingJsonFieldName": "message",
+ "outputSchemaFieldName": "filterMatched"
+ }
+ },
+ "icon": "fa-plug",
+ "description": "Filters incoming schema field based of given json path expected values",
+ "type": "transform",
+ "warning": true,
+ "_uiPosition": {
+ "top": "230.9921875px",
+ "left": "474px"
+ },
+ "name": "JsonPathFilter",
+ "errorCount": 0,
+ "_backendProperties": {
+ "schema": {
+ "name": "schema",
+ "description": "Output Schema",
+ "type": "string",
+ "required": true,
+ "macroSupported": false
+ },
+ "incomingJsonFieldName": {
+ "name": "incomingJsonFieldName",
+ "description": "Input schema field name that contain JSON used for filtering",
+ "type": "string",
+ "required": true,
+ "macroSupported": false
+ },
+ "outputSchemaFieldName": {
+ "name": "outputSchemaFieldName",
+ "description": "Name of the nullable boolean schema field name that will contain result of the filter matching",
+ "type": "string",
+ "required": true,
+ "macroSupported": false
+ },
+ "jsonFilterMappings": {
+ "name": "jsonFilterMappings",
+ "description": "Filters incoming JSON based on given filter mappings - in terms of JSON path and expected values.Right hand side contains JSON path. Left hand side contains semicolon (';') separated expected values for that JSON Path. If all provided JSON Path mappings and corresponding values matches - output schema field will be marked as true",
+ "type": "string",
+ "required": true,
+ "macroSupported": false
+ },
+ "referenceName": {
+ "name": "referenceName",
+ "description": "This will be used to uniquely identify this source/sink for lineage, annotating metadata, etc.",
+ "type": "string",
+ "required": true,
+ "macroSupported": true
+ }
+ },
+ "implicitSchema": null,
+ "outputSchemaProperty": "schema",
+ "watchProperty": "format",
+ "outputSchema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"}]}",
+ "selected": false,
+ "inputSchema": [
+ {
+ "name": "DMaaPMRSource",
+ "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"}]}"
+ }
+ ]
+ },
+ {
+ "plugin": {
+ "label": "JavaScriptJsonPathFilter",
+ "artifact": {
+ "name": "core-plugins",
+ "version": "1.5.0",
+ "scope": "SYSTEM"
+ },
+ "name": "JavaScript",
+ "properties": {
+ "script": "function transform(input, emitter, context) {\n \n var filterMatched = input.filterMatched;\n var log = context.getLogger();\n var metrics = context.getMetrics();\n \n log.debug('Received filterMatched: ' + filterMatched);\n \n // if matched filter push message for TCA\n if(filterMatched) {\n \n log.debug('Json Filter matched - pushing to TCA');\n metrics.count('js.tca.pushed', 1);\n emitter.emit(input);\n \n \n // if matched unsuccessfull - no need to do TCA\n } else {\n \n log.debug('Json Filter unmatched - dropping message');\n metrics.count('js.tca.dropped', 1); \n\n }\n \n \n}",
+ "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"}]}"
+ }
+ },
+ "icon": "icon-javascript",
+ "description": "Executes user-provided JavaScript that transforms one record into zero or more records.",
+ "type": "transform",
+ "warning": true,
+ "_uiPosition": {
+ "top": "230.9921875px",
+ "left": "642px"
+ },
+ "name": "JavaScriptJsonPathFilter",
+ "errorCount": 0,
+ "_backendProperties": {
+ "schema": {
+ "name": "schema",
+ "description": "The schema of output objects. If no schema is given, it is assumed that the output schema is the same as the input schema.",
+ "type": "string",
+ "required": false,
+ "macroSupported": false
+ },
+ "script": {
+ "name": "script",
+ "description": "JavaScript defining how to transform input record into zero or more records. The script must implement a function called 'transform', which takes as input a JSON object (representing the input record) emitter object, which can be used to emit records and error messagesand a context object (which contains CDAP metrics, logger and lookup)For example:\n'function transform(input, emitter, context) {\n if(context.getLookup('blacklist').lookup(input.id) != null) {\n emitter.emitError({\"errorCode\":31, \"errorMsg\":\"blacklisted id\", \"invalidRecord\": input}); \n } else {\n if(input.count < 0) {\n context.getMetrics().count(\"negative.count\", 1);\n context.getLogger().debug(\"Received record with negative count\");\n }\n input.count = input.count * 1024;\n emitter.emit(input); } \n}'\nwill emit an error if the input id is present in blacklist table, else scale the 'count' field by 1024",
+ "type": "string",
+ "required": true,
+ "macroSupported": false
+ },
+ "lookup": {
+ "name": "lookup",
+ "description": "Lookup tables to use during transform. Currently supports KeyValueTable.",
+ "type": "string",
+ "required": false,
+ "macroSupported": false
+ }
+ },
+ "implicitSchema": null,
+ "outputSchemaProperty": "schema",
+ "outputSchema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"}]}",
+ "selected": false,
+ "inputSchema": [
+ {
+ "name": "JsonPathFilter",
+ "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"}]}"
+ }
+ ],
+ "errorDatasetName": ""
+ },
+ {
+ "plugin": {
+ "label": "SimpleTCAPlugin",
+ "artifact": {
+ "name": "dcae-analytics-cdap-plugins",
+ "version": "3.0-SNAPSHOT",
+ "scope": "USER"
+ },
+ "name": "SimpleTCAPlugin",
+ "properties": {
+ "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":[\"string\",\"null\"]},{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}",
+ "policyJson": "{\"domain\":\"measurementsForVfScaling\",\"metricsPerFunctionalRole\":[{\"functionalRole\":\"vFirewall\",\"policyScope\":\"resource=vFirewall;type=configuration\",\"policyName\":\"configuration.dcae.microservice.tca.xml\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"CL-FRWL-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicUsageArray[*].bytesIn\",\"thresholdValue\":4000,\"direction\":\"LESS_OR_EQUAL\",\"severity\":\"MAJOR\"},{\"closedLoopControlName\":\"CL-FRWL-HIGH-TRAFFIC-SIG-EA36FE84-9342-5E13-A656-EC5F21309A09\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicUsageArray[*].bytesIn\",\"thresholdValue\":20000,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\"}]},{\"functionalRole\":\"vLoadBalancer\",\"policyScope\":\"resource=vLoadBalancer;type=configuration\",\"policyName\":\"configuration.dcae.microservice.tca.xml\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"CL-LBAL-LOW-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241AB1A\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicUsageArray[*].packetsIn\",\"thresholdValue\":500,\"direction\":\"LESS_OR_EQUAL\",\"severity\":\"MAJOR\"},{\"closedLoopControlName\":\"CL-LBAL-LOW-TRAFFIC-SIG-0C5920A6-B564-8035-C878-0E814352BC2B\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicUsageArray[*].packetsIn\",\"thresholdValue\":5000,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\"}]}]}",
+ "vesMessageFieldName": "message",
+ "alertFieldName": "alert",
+ "messageTypeFieldName": "tcaMessageType",
+ "referenceName": "SimpleTCAPlugin",
+ "enableAlertCEFFormat": "false"
+ }
+ },
+ "icon": "fa-plug",
+ "description": "Used to create TCA (Threshold Crossing Alert) based on given Policy",
+ "type": "sparkcompute",
+ "warning": true,
+ "_uiPosition": {
+ "top": "230.9921875px",
+ "left": "824px"
+ },
+ "name": "SimpleTCAPlugin",
+ "errorCount": 0,
+ "_backendProperties": {
+ "schema": {
+ "name": "schema",
+ "description": "Specifies the output schema",
+ "type": "string",
+ "required": true,
+ "macroSupported": false
+ },
+ "policyJson": {
+ "name": "policyJson",
+ "description": "Policy JSON that need to be applied to VES Message",
+ "type": "string",
+ "required": true,
+ "macroSupported": true
+ },
+ "vesMessageFieldName": {
+ "name": "vesMessageFieldName",
+ "description": "Field name containing VES Message",
+ "type": "string",
+ "required": true,
+ "macroSupported": true
+ },
+ "referenceName": {
+ "name": "referenceName",
+ "description": "This will be used to uniquely identify this source/sink for lineage, annotating metadata, etc.",
+ "type": "string",
+ "required": true,
+ "macroSupported": true
+ },
+ "messageTypeFieldName": {
+ "name": "messageTypeFieldName",
+ "description": "Name of the output field that will contain message type: INAPPLICABLE, COMPLIANT, NON_COMPLIANT",
+ "type": "string",
+ "required": true,
+ "macroSupported": true
+ },
+ "alertFieldName": {
+ "name": "alertFieldName",
+ "description": "Name of the output field that will contain the alert",
+ "type": "string",
+ "required": true,
+ "macroSupported": true
+ },
+ "enableAlertCEFFormat": {
+ "name": "enableAlertCEFFormat",
+ "description": "Enable Alert Output Format in CEF format",
+ "type": "string",
+ "required": false,
+ "macroSupported": true
+ }
+ },
+ "implicitSchema": null,
+ "outputSchemaProperty": "schema",
+ "watchProperty": "format",
+ "outputSchema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":[\"string\",\"null\"]},{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}",
+ "selected": false,
+ "inputSchema": [
+ {
+ "name": "JavaScriptJsonPathFilter",
+ "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"}]}"
+ }
+ ]
+ },
+ {
+ "plugin": {
+ "label": "TCAMessageStatusTable",
+ "artifact": {
+ "name": "core-plugins",
+ "version": "1.5.0",
+ "scope": "SYSTEM"
+ },
+ "name": "Table",
+ "properties": {
+ "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":[\"string\",\"null\"]},{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}",
+ "name": "TCAMessageStatusTable",
+ "schema.row.field": "ts"
+ }
+ },
+ "icon": "icon-table",
+ "description": "Writes records to a Table with one record field mapping to the Table rowkey, and all other record fields mapping to Table columns.",
+ "type": "batchsink",
+ "warning": true,
+ "_uiPosition": {
+ "top": "416.9921875px",
+ "left": "956px"
+ },
+ "name": "TCAMessageStatusTable",
+ "errorCount": 0,
+ "_backendProperties": {
+ "schema": {
+ "name": "schema",
+ "description": "schema of the table as a JSON Object. If the table does not already exist, one will be created with this schema, which will allow the table to be explored through Hive. If no schema is given, the table created will not be explorable.",
+ "type": "string",
+ "required": false,
+ "macroSupported": false
+ },
+ "name": {
+ "name": "name",
+ "description": "Name of the dataset. If the dataset does not already exist, one will be created.",
+ "type": "string",
+ "required": true,
+ "macroSupported": true
+ },
+ "schema.row.field": {
+ "name": "schema.row.field",
+ "description": "The name of the record field that should be used as the row key when writing to the table.",
+ "type": "string",
+ "required": true,
+ "macroSupported": false
+ }
+ },
+ "implicitSchema": null,
+ "outputSchemaProperty": "schema",
+ "outputSchema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":[\"string\",\"null\"]},{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}",
+ "selected": false,
+ "inputSchema": [
+ {
+ "name": "SimpleTCAPlugin",
+ "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":[\"string\",\"null\"]},{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}"
+ }
+ ]
+ },
+ {
+ "plugin": {
+ "label": "JavaScript2",
+ "artifact": {
+ "name": "core-plugins",
+ "version": "1.5.0",
+ "scope": "SYSTEM"
+ },
+ "name": "JavaScript",
+ "properties": {
+ "script": "function transform(input, emitter, context) {\n \n var alert = input.alert;\n var log = context.getLogger();\n var metrics = context.getMetrics();\n \n log.debug('Received alert: ' + alert)\n \n \n // if alert is null then drop the message\n if(alert == null) {\n \n log.debug('No Alert Found - Dropping incoming record');\n metrics.count('js.alerts.dropped', 1);\n \n \n // if alert is not null push message to next plugin\n } else {\n \n log.debug('Found Alert - Pushing record to next Plugin');\n metrics.count('js.alerts.pushed', 1);\n \n emitter.emit(input);\n\n }\n \n}",
+ "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":\"string\"},{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}"
+ }
+ },
+ "icon": "icon-javascript",
+ "description": "Executes user-provided JavaScript that transforms one record into zero or more records.",
+ "type": "transform",
+ "warning": true,
+ "_uiPosition": {
+ "top": "230.9921875px",
+ "left": "1030px"
+ },
+ "name": "JavaScript2",
+ "errorCount": 0,
+ "_backendProperties": {
+ "schema": {
+ "name": "schema",
+ "description": "The schema of output objects. If no schema is given, it is assumed that the output schema is the same as the input schema.",
+ "type": "string",
+ "required": false,
+ "macroSupported": false
+ },
+ "script": {
+ "name": "script",
+ "description": "JavaScript defining how to transform input record into zero or more records. The script must implement a function called 'transform', which takes as input a JSON object (representing the input record) emitter object, which can be used to emit records and error messagesand a context object (which contains CDAP metrics, logger and lookup)For example:\n'function transform(input, emitter, context) {\n if(context.getLookup('blacklist').lookup(input.id) != null) {\n emitter.emitError({\"errorCode\":31, \"errorMsg\":\"blacklisted id\", \"invalidRecord\": input}); \n } else {\n if(input.count < 0) {\n context.getMetrics().count(\"negative.count\", 1);\n context.getLogger().debug(\"Received record with negative count\");\n }\n input.count = input.count * 1024;\n emitter.emit(input); } \n}'\nwill emit an error if the input id is present in blacklist table, else scale the 'count' field by 1024",
+ "type": "string",
+ "required": true,
+ "macroSupported": false
+ },
+ "lookup": {
+ "name": "lookup",
+ "description": "Lookup tables to use during transform. Currently supports KeyValueTable.",
+ "type": "string",
+ "required": false,
+ "macroSupported": false
+ }
+ },
+ "implicitSchema": null,
+ "outputSchemaProperty": "schema",
+ "outputSchema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":\"string\"},{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}",
+ "selected": false,
+ "inputSchema": [
+ {
+ "name": "SimpleTCAPlugin",
+ "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":[\"string\",\"null\"]},{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}"
+ }
+ ],
+ "errorDatasetName": ""
+ }
+ ],
+ "draftId": "26c03fab-253e-42f3-94e8-575dc1501036"
+ },
+ "description": "",
+ "name": "SimpleTCAPluginFullPipeLine",
+ "config": {
+ "resources": {
+ "memoryMB": 1024,
+ "virtualCores": 1
+ },
+ "driverResources": {
+ "memoryMB": 1024,
+ "virtualCores": 1
+ },
+ "connections": [
+ {
+ "from": "DMaaPMRSource",
+ "to": "JsonPathFilter"
+ },
+ {
+ "from": "JsonPathFilter",
+ "to": "JavaScriptJsonPathFilter"
+ },
+ {
+ "from": "JavaScriptJsonPathFilter",
+ "to": "SimpleTCAPlugin"
+ },
+ {
+ "from": "SimpleTCAPlugin",
+ "to": "TCAMessageStatusTable"
+ },
+ {
+ "from": "SimpleTCAPlugin",
+ "to": "JavaScript2"
+ },
+ {
+ "from": "JavaScript2",
+ "to": "DMaaPMRSink"
+ }
+ ],
+ "comments": [],
+ "postActions": [],
+ "stages": [
+ {
+ "name": "DMaaPMRSource",
+ "plugin": {
+ "name": "DMaaPMRSource",
+ "type": "streamingsource",
+ "label": "DMaaPMRSource",
+ "artifact": {
+ "name": "dcae-analytics-cdap-plugins",
+ "version": "3.0-SNAPSHOT",
+ "scope": "USER"
+ },
+ "properties": {
+ "referenceName": "DMaaPMRSource",
+ "hostName": "zldcmtc1njmsrt00.homer.com",
+ "portNumber": "3905",
+ "topicName": "com.dcae.dmaap.FTL.DcaeTestVESSub",
+ "pollingInterval": "20000",
+ "protocol": "https",
+ "userName": "USER",
+ "userPassword": "PASSWORD",
+ "contentType": "application/json",
+ "consumerId": "C1",
+ "consumerGroup": "OpenDCAE-G1"
+ }
+ },
+ "outputSchema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"}]}"
+ },
+ {
+ "name": "JsonPathFilter",
+ "plugin": {
+ "name": "JsonPathFilter",
+ "type": "transform",
+ "label": "JsonPathFilter",
+ "artifact": {
+ "name": "dcae-analytics-cdap-plugins",
+ "version": "3.0-SNAPSHOT",
+ "scope": "USER"
+ },
+ "properties": {
+ "referenceName": "JsonPathFilter",
+ "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"}]}",
+ "jsonFilterMappings": "$.event.commonEventHeader.domain:measurementsForVfScaling,$.event.commonEventHeader.functionalRole:vLoadBalancer;vFirewall",
+ "incomingJsonFieldName": "message",
+ "outputSchemaFieldName": "filterMatched"
+ }
+ },
+ "outputSchema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"}]}",
+ "inputSchema": [
+ {
+ "name": "DMaaPMRSource",
+ "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"}]}"
+ }
+ ]
+ },
+ {
+ "name": "JavaScriptJsonPathFilter",
+ "plugin": {
+ "name": "JavaScript",
+ "type": "transform",
+ "label": "JavaScriptJsonPathFilter",
+ "artifact": {
+ "name": "core-plugins",
+ "version": "1.5.0",
+ "scope": "SYSTEM"
+ },
+ "properties": {
+ "script": "function transform(input, emitter, context) {\n \n var filterMatched = input.filterMatched;\n var log = context.getLogger();\n var metrics = context.getMetrics();\n \n log.debug('Received filterMatched: ' + filterMatched);\n \n // if matched filter push message for TCA\n if(filterMatched) {\n \n log.debug('Json Filter matched - pushing to TCA');\n metrics.count('js.tca.pushed', 1);\n emitter.emit(input);\n \n \n // if matched unsuccessfull - no need to do TCA\n } else {\n \n log.debug('Json Filter unmatched - dropping message');\n metrics.count('js.tca.dropped', 1); \n\n }\n \n \n}",
+ "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"}]}"
+ }
+ },
+ "outputSchema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"}]}",
+ "inputSchema": [
+ {
+ "name": "JsonPathFilter",
+ "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"}]}"
+ }
+ ]
+ },
+ {
+ "name": "SimpleTCAPlugin",
+ "plugin": {
+ "name": "SimpleTCAPlugin",
+ "type": "sparkcompute",
+ "label": "SimpleTCAPlugin",
+ "artifact": {
+ "name": "dcae-analytics-cdap-plugins",
+ "version": "3.0-SNAPSHOT",
+ "scope": "USER"
+ },
+ "properties": {
+ "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":[\"string\",\"null\"]},{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}",
+ "policyJson": "{\"domain\":\"measurementsForVfScaling\",\"metricsPerFunctionalRole\":[{\"functionalRole\":\"vFirewall\",\"policyScope\":\"resource=vFirewall;type=configuration\",\"policyName\":\"configuration.dcae.microservice.tca.xml\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"CL-FRWL-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicUsageArray[*].bytesIn\",\"thresholdValue\":4000,\"direction\":\"LESS_OR_EQUAL\",\"severity\":\"MAJOR\"},{\"closedLoopControlName\":\"CL-FRWL-HIGH-TRAFFIC-SIG-EA36FE84-9342-5E13-A656-EC5F21309A09\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicUsageArray[*].bytesIn\",\"thresholdValue\":20000,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\"}]},{\"functionalRole\":\"vLoadBalancer\",\"policyScope\":\"resource=vLoadBalancer;type=configuration\",\"policyName\":\"configuration.dcae.microservice.tca.xml\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"CL-LBAL-LOW-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241AB1A\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicUsageArray[*].packetsIn\",\"thresholdValue\":500,\"direction\":\"LESS_OR_EQUAL\",\"severity\":\"MAJOR\"},{\"closedLoopControlName\":\"CL-LBAL-LOW-TRAFFIC-SIG-0C5920A6-B564-8035-C878-0E814352BC2B\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicUsageArray[*].packetsIn\",\"thresholdValue\":5000,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\"}]}]}",
+ "vesMessageFieldName": "message",
+ "alertFieldName": "alert",
+ "messageTypeFieldName": "tcaMessageType",
+ "referenceName": "SimpleTCAPlugin",
+ "enableAlertCEFFormat": "false"
+ }
+ },
+ "outputSchema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":[\"string\",\"null\"]},{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}",
+ "inputSchema": [
+ {
+ "name": "JavaScriptJsonPathFilter",
+ "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"}]}"
+ }
+ ]
+ },
+ {
+ "name": "TCAMessageStatusTable",
+ "plugin": {
+ "name": "Table",
+ "type": "batchsink",
+ "label": "TCAMessageStatusTable",
+ "artifact": {
+ "name": "core-plugins",
+ "version": "1.5.0",
+ "scope": "SYSTEM"
+ },
+ "properties": {
+ "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":[\"string\",\"null\"]},{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}",
+ "name": "TCAMessageStatusTable",
+ "schema.row.field": "ts"
+ }
+ },
+ "outputSchema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":[\"string\",\"null\"]},{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}",
+ "inputSchema": [
+ {
+ "name": "SimpleTCAPlugin",
+ "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":[\"string\",\"null\"]},{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}"
+ }
+ ]
+ },
+ {
+ "name": "JavaScript2",
+ "plugin": {
+ "name": "JavaScript",
+ "type": "transform",
+ "label": "JavaScript2",
+ "artifact": {
+ "name": "core-plugins",
+ "version": "1.5.0",
+ "scope": "SYSTEM"
+ },
+ "properties": {
+ "script": "function transform(input, emitter, context) {\n \n var alert = input.alert;\n var log = context.getLogger();\n var metrics = context.getMetrics();\n \n log.debug('Received alert: ' + alert)\n \n \n // if alert is null then drop the message\n if(alert == null) {\n \n log.debug('No Alert Found - Dropping incoming record');\n metrics.count('js.alerts.dropped', 1);\n \n \n // if alert is not null push message to next plugin\n } else {\n \n log.debug('Found Alert - Pushing record to next Plugin');\n metrics.count('js.alerts.pushed', 1);\n \n emitter.emit(input);\n\n }\n \n}",
+ "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":\"string\"},{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}"
+ }
+ },
+ "outputSchema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":\"string\"},{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}",
+ "inputSchema": [
+ {
+ "name": "SimpleTCAPlugin",
+ "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":[\"string\",\"null\"]},{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}"
+ }
+ ]
+ },
+ {
+ "name": "DMaaPMRSink",
+ "plugin": {
+ "name": "DMaaPMRSink",
+ "type": "batchsink",
+ "label": "DMaaPMRSink",
+ "artifact": {
+ "name": "dcae-analytics-cdap-plugins",
+ "version": "3.0-SNAPSHOT",
+ "scope": "USER"
+ },
+ "properties": {
+ "referenceName": "DMaaPMRSink",
+ "hostName": "zldcmtc1njmsrt00.homer.com",
+ "portNumber": "3905",
+ "topicName": "com.dcae.dmaap.FTL.DcaeTestVESPub",
+ "protocol": "https",
+ "userName": "USER",
+ "userPassword": "PASSWORD",
+ "contentType": "application/json",
+ "messageColumnName": "alert",
+ "maxBatchSize": "50"
+ }
+ },
+ "outputSchema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":\"string\"},{\"name\":\"tacMessageType\",\"type\":\"string\"}]}",
+ "inputSchema": [
+ {
+ "name": "JavaScript2",
+ "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":\"string\"},{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}"
+ }
+ ]
+ }
+ ],
+ "batchInterval": "60s"
+ }
+}
diff --git a/dcae-analytics-cdap-plugins/pom.xml b/dcae-analytics-cdap-plugins/pom.xml
new file mode 100644
index 0000000..49c11e5
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/pom.xml
@@ -0,0 +1,316 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ ===============================LICENSE_START======================================
+ ~ dcae-analytics
+ ~ ================================================================================
+ ~ Copyright © 2017 AT&T Intellectual Property. 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.
+ ~ ============================LICENSE_END===========================================
+ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <artifactId>dcae-analytics</artifactId>
+ <groupId>org.openecomp.dcae.apod.analytics</groupId>
+ <version>2.0.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>dcae-analytics-cdap-plugins</artifactId>
+ <packaging>jar</packaging>
+
+ <!-- THIS MODULE CONTAINS CDAP CODE FOR PLUGINS -->
+ <name>DCAE Analytics CDAP Plugins</name>
+ <description>DCAE Analytics CDAP Plugins to build CDAP Pipelines</description>
+
+ <properties>
+ <main.basedir>${project.parent.basedir}</main.basedir>
+ <main.basedir.plugins>${project.basedir}</main.basedir.plugins>
+ <widgets.dir>widgets</widgets.dir>
+ <docs.dir>docs</docs.dir>
+ <app.parents>
+ system:cdap-etl-batch[4.0.0,4.1.0-SNAPSHOT),system:cdap-etl-realtime[4.0.0,4.1.0-SNAPSHOT),system:cdap-data-pipeline[4.0.0,4.1.0-SNAPSHOT),system:cdap-data-streams[4.0.0,4.1.0-SNAPSHOT)
+ </app.parents>
+ </properties>
+
+ <dependencies>
+
+ <!-- DCAE DEPENDENCIES -->
+ <dependency>
+ <groupId>org.openecomp.dcae.apod.analytics</groupId>
+ <artifactId>dcae-analytics-cdap-common</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.openecomp.dcae.apod.analytics</groupId>
+ <artifactId>dcae-analytics-tca</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ </dependency>
+
+
+ <!-- CDAP -->
+ <dependency>
+ <groupId>co.cask.cdap</groupId>
+ <artifactId>cdap-api</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>co.cask.cdap</groupId>
+ <artifactId>cdap-etl-api</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>co.cask.cdap</groupId>
+ <artifactId>cdap-etl-api-spark</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>co.cask.cdap</groupId>
+ <artifactId>cdap-etl-realtime</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>co.cask.cdap</groupId>
+ <artifactId>cdap-data-pipeline</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>co.cask.cdap</groupId>
+ <artifactId>cdap-data-streams</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.spark</groupId>
+ <artifactId>spark-streaming_2.10</artifactId>
+ </dependency>
+
+ <!-- CASK -->
+ <dependency>
+ <groupId>co.cask.http</groupId>
+ <artifactId>netty-http</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>co.cask.common</groupId>
+ <artifactId>common-http</artifactId>
+ </dependency>
+
+ <!-- HADOOP -->
+ <dependency>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-mapreduce-client-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-common</artifactId>
+ </dependency>
+
+ <!-- SPARK -->
+ <dependency>
+ <groupId>org.apache.spark</groupId>
+ <artifactId>spark-core_2.10</artifactId>
+ </dependency>
+
+ <!-- LOGGING -->
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>ch.qos.logback</groupId>
+ <artifactId>logback-core</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>ch.qos.logback</groupId>
+ <artifactId>logback-classic</artifactId>
+ </dependency>
+
+ <!-- FIND BUGS -->
+ <dependency>
+ <groupId>com.google.code.findbugs</groupId>
+ <artifactId>jsr305</artifactId>
+ <version>${findbugs.jsr305.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>com.google.code.findbugs</groupId>
+ <artifactId>annotations</artifactId>
+ <version>${findbugs.annotations.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <!-- TEST DEPENDENCIES -->
+ <dependency>
+ <groupId>org.openecomp.dcae.apod.analytics</groupId>
+ <artifactId>dcae-analytics-test</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>co.cask.cdap</groupId>
+ <artifactId>hydrator-test</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>co.cask.cdap</groupId>
+ <artifactId>cdap-unit-test</artifactId>
+ <exclusions>
+ <exclusion>
+ <artifactId>org.apache.httpcomponents</artifactId>
+ <groupId>httpcore</groupId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ </dependencies>
+
+
+ <build>
+ <plugins>
+
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <configuration>
+ <instructions>
+ <!-- List of packages that are scanned for plugins -->
+ <_exportcontents>
+ org.openecomp.dcae.apod.analytics.dmaap.domain.response.*,
+ org.openecomp.dcae.apod.analytics.dmaap.domain.config.*;
+ org.openecomp.dcae.apod.analytics.dmaap.service.subscriber.*;
+ org.openecomp.dcae.apod.analytics.dmaap.service.*;
+ org.openecomp.dcae.apod.analytics.cdap.common.settings.*;
+ org.openecomp.dcae.apod.analytics.cdap.plugins.common.*;
+ org.openecomp.dcae.apod.analytics.cdap.plugins.batch.sink.dmaap.*;
+ org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.*;
+ org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.filter.*;
+ org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.tca.*;
+ org.openecomp.dcae.apod.analytics.cdap.plugins.sparkcompute.tca.*;
+ org.openecomp.dcae.apod.analytics.cdap.plugins.streaming.dmaap.*;
+ org.openecomp.dcae.apod.analytics.cdap.plugins.transform.filter.*;
+ com.google.common.base.*;
+ com.google.inject.*;
+ org.apache.http.*;
+ org.aopalliance.*;
+ javax.inject.*;
+ org.apache.commons.*
+ </_exportcontents>
+ </instructions>
+ </configuration>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+ <!-- Create the config file for artifact which can be used to deploy the artifact.
+ Sets the parents field to system:cdap-etl-batch and system:cdap-etl-realtime with whatever
+ version range is set in the app.parents property.
+ also sets a widget and doc property for each file contained in the widgets and docs directories. -->
+ <execution>
+ <id>create-artifact-config</id>
+ <phase>prepare-package</phase>
+ <configuration>
+ <target>
+ <script language="javascript"> <![CDATA[
+ // for some reason, project.basedir evaluates to null if we just get the property here.
+ // so we set main.basedir to project.basedir in the pom properties, then main.basedir is used here
+ // where it evaluates correctly for whatever reason
+ var baseDir = project.getProperty("main.basedir.plugins");
+ var targetDir = project.getProperty("project.build.directory");
+ var artifactId = project.getProperty("project.artifactId");
+ var version = project.getProperty("project.version");
+
+ var cfgFile = new java.io.File(targetDir, artifactId + "-" + version + ".json");
+ if (!cfgFile.exists()) {
+ cfgFile.createNewFile();
+ }
+
+ var parents = project.getProperty("app.parents").split(",");
+ var config = {
+ "parents": [ ],
+ "properties": {}
+ }
+ for (i = 0; i < parents.length; i+=2) {
+ // because name1[lo,hi],name2[lo,hi] gets split into "name1[lo", "hi]", "name2[lo", "hi]"
+ // so we have to combine them again
+ config.parents.push(parents[i] + "," + parents[i+1]);
+ }
+
+ // look in widgets directory for widget config for each plugin
+ var widgetsDir = new java.io.File(baseDir, project.getProperty("widgets.dir"));
+ if (widgetsDir.isDirectory()) {
+ var widgetsFiles = widgetsDir.listFiles();
+ for (i = 0; i < widgetsFiles.length; i++) {
+ var widgetsFile = widgetsFiles[i];
+ if (widgetsFile.isFile()) {
+ var propertyName = "widgets." + widgetsFile.getName();
+ // if the filename ends with .json
+ if (propertyName.indexOf(".json", propertyName.length - 5) !== -1) {
+ // strip the .json
+ propertyName = propertyName.slice(0, -5);
+ var contents = new java.lang.String(java.nio.file.Files.readAllBytes(widgetsFile.toPath()), java.nio.charset.StandardCharsets.UTF_8);
+ var contentsAsJson = JSON.parse(contents);
+ config.properties[propertyName] = JSON.stringify(contentsAsJson);
+ }
+ }
+ }
+ }
+
+ // look in the docs directory for docs for each plugin
+ var docsDir = new java.io.File(baseDir, project.getProperty("docs.dir"));
+ if (docsDir.isDirectory()) {
+ var docFiles = docsDir.listFiles();
+ for (i = 0; i < docFiles.length; i++) {
+ var docFile = docFiles[i];
+ if (docFile.isFile()) {
+ var propertyName = "doc." + docFile.getName();
+ // if the filename ends with .md
+ if (propertyName.indexOf(".md", propertyName.length - 3) !== -1) {
+ // strip the extension
+ propertyName = propertyName.slice(0, -3);
+ var contents = new java.lang.String(java.nio.file.Files.readAllBytes(docFile.toPath()), java.nio.charset.StandardCharsets.UTF_8);
+ config.properties[propertyName] = contents + "";
+ }
+ }
+ }
+ }
+
+ var fw = new java.io.BufferedWriter(new java.io.FileWriter(cfgFile.getAbsoluteFile()));
+ fw.write(JSON.stringify(config, null, 2));
+ fw.close();
+ ]]></script>
+ </target>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ </plugins>
+ </build>
+
+
+</project>
diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMROutputFormat.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMROutputFormat.java
new file mode 100644
index 0000000..c89f424
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMROutputFormat.java
@@ -0,0 +1,94 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.batch.sink.dmaap;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.io.NullWritable;
+import org.apache.hadoop.mapreduce.JobContext;
+import org.apache.hadoop.mapreduce.OutputCommitter;
+import org.apache.hadoop.mapreduce.OutputFormat;
+import org.apache.hadoop.mapreduce.RecordWriter;
+import org.apache.hadoop.mapreduce.TaskAttemptContext;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.utils.DMaaPSinkConfigMapper;
+import org.openecomp.dcae.apod.analytics.dmaap.DMaaPMRFactory;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRPublisherConfig;
+import org.openecomp.dcae.apod.analytics.dmaap.service.publisher.DMaaPMRPublisher;
+
+import java.io.IOException;
+
+/**
+ * DMaaP MR Output format used by DMaaP MR Sink Plugin to create a MR Publisher and pass to custom {@link
+ * DMaaPMRRecordWriter}
+ * <p>
+ * @author Rajiv Singla . Creation Date: 1/27/2017.
+ */
+public class DMaaPMROutputFormat extends OutputFormat<String, NullWritable> {
+
+ @Override
+ public RecordWriter<String, NullWritable> getRecordWriter(TaskAttemptContext context) throws IOException,
+ InterruptedException {
+ final Configuration configuration = context.getConfiguration();
+ final DMaaPMRPublisherConfig publisherConfig = DMaaPSinkConfigMapper.map(configuration);
+ final DMaaPMRPublisher publisher = DMaaPMRFactory.create().createPublisher(publisherConfig);
+ return new DMaaPMRRecordWriter(publisher);
+ }
+
+ @Override
+ public void checkOutputSpecs(JobContext context) throws IOException, InterruptedException {
+ // do nothing
+ }
+
+ @Override
+ public OutputCommitter getOutputCommitter(TaskAttemptContext context) throws IOException, InterruptedException {
+ return new NoOpOutputCommitter();
+ }
+
+ /**
+ * A dummy implementation for {@link OutputCommitter} that does nothing.
+ */
+ protected static class NoOpOutputCommitter extends OutputCommitter {
+
+ @Override
+ public void setupJob(JobContext jobContext) throws IOException {
+ // no op
+ }
+
+ @Override
+ public void setupTask(TaskAttemptContext taskContext) throws IOException {
+ // no op
+ }
+
+ @Override
+ public boolean needsTaskCommit(TaskAttemptContext taskContext) throws IOException {
+ return false;
+ }
+
+ @Override
+ public void commitTask(TaskAttemptContext taskContext) throws IOException {
+ // no op
+ }
+
+ @Override
+ public void abortTask(TaskAttemptContext taskContext) throws IOException {
+ // no op
+ }
+ }
+}
diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMROutputFormatProvider.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMROutputFormatProvider.java
new file mode 100644
index 0000000..a78d42f
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMROutputFormatProvider.java
@@ -0,0 +1,116 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.batch.sink.dmaap;
+
+import co.cask.cdap.api.data.batch.OutputFormatProvider;
+import org.openecomp.dcae.apod.analytics.cdap.common.CDAPPluginConstants.DMaaPMRSinkHadoopConfigFields;
+import org.openecomp.dcae.apod.analytics.cdap.common.utils.ValidationUtils;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.DMaaPMRSinkPluginConfig;
+import org.openecomp.dcae.apod.analytics.common.AnalyticsConstants;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+/**
+ * DMaaP MR Output Format Provider used to create Batch Sink Plugin
+ * <p>
+ * @author Rajiv Singla . Creation Date: 1/27/2017.
+ */
+public class DMaaPMROutputFormatProvider implements OutputFormatProvider {
+
+ private final Map<String, String> sinkConfig;
+
+
+ public DMaaPMROutputFormatProvider(DMaaPMRSinkPluginConfig sinkPluginConfig) {
+
+ // initialize Sink Config - with DMaaP MR Publisher config values
+ sinkConfig = new LinkedHashMap<>();
+
+ // Required fields for sink config
+ sinkConfig.put(DMaaPMRSinkHadoopConfigFields.HOST_NAME, sinkPluginConfig.getHostName());
+ sinkConfig.put(DMaaPMRSinkHadoopConfigFields.TOPIC_NAME, sinkPluginConfig.getTopicName());
+
+ final Integer configPortNumber = sinkPluginConfig.getPortNumber();
+ if (configPortNumber != null) {
+ sinkConfig.put(DMaaPMRSinkHadoopConfigFields.PORT_NUMBER, configPortNumber.toString());
+ } else {
+ sinkConfig.put(DMaaPMRSinkHadoopConfigFields.PORT_NUMBER,
+ AnalyticsConstants.DEFAULT_PORT_NUMBER.toString());
+ }
+
+ final String configProtocol = sinkPluginConfig.getProtocol();
+ if (ValidationUtils.isPresent(configProtocol)) {
+ sinkConfig.put(DMaaPMRSinkHadoopConfigFields.PROTOCOL, configProtocol);
+ } else {
+ sinkConfig.put(DMaaPMRSinkHadoopConfigFields.PROTOCOL, AnalyticsConstants.DEFAULT_PROTOCOL);
+ }
+
+
+ final String configUserName = sinkPluginConfig.getUserName();
+ if (ValidationUtils.isPresent(configUserName)) {
+ sinkConfig.put(DMaaPMRSinkHadoopConfigFields.USER_NAME, configUserName);
+ } else {
+ sinkConfig.put(DMaaPMRSinkHadoopConfigFields.USER_NAME, AnalyticsConstants.DEFAULT_USER_NAME);
+ }
+
+ final String configUserPass = sinkPluginConfig.getUserPassword();
+ if (ValidationUtils.isPresent(configUserPass)) {
+ sinkConfig.put(DMaaPMRSinkHadoopConfigFields.USER_PASS, configUserPass);
+ } else {
+ sinkConfig.put(DMaaPMRSinkHadoopConfigFields.USER_PASS, AnalyticsConstants.DEFAULT_USER_PASSWORD);
+ }
+
+ final String configContentType = sinkPluginConfig.getContentType();
+ if (ValidationUtils.isPresent(configContentType)) {
+ sinkConfig.put(DMaaPMRSinkHadoopConfigFields.CONTENT_TYPE, configContentType);
+ } else {
+ sinkConfig.put(DMaaPMRSinkHadoopConfigFields.CONTENT_TYPE, AnalyticsConstants.DEFAULT_CONTENT_TYPE);
+ }
+
+
+ final Integer configMaxBatchSize = sinkPluginConfig.getMaxBatchSize();
+ if (configMaxBatchSize != null) {
+ sinkConfig.put(DMaaPMRSinkHadoopConfigFields.MAX_BATCH_SIZE, configMaxBatchSize.toString());
+ } else {
+ sinkConfig.put(DMaaPMRSinkHadoopConfigFields.MAX_BATCH_SIZE,
+ String.valueOf(AnalyticsConstants.DEFAULT_PUBLISHER_MAX_BATCH_SIZE));
+ }
+
+ final Integer configMaxRecoveryQueueSize = sinkPluginConfig.getMaxRecoveryQueueSize();
+ if (configMaxRecoveryQueueSize != null) {
+ sinkConfig.put(DMaaPMRSinkHadoopConfigFields.MAX_RECOVER_QUEUE_SIZE, configMaxRecoveryQueueSize.toString());
+ } else {
+ sinkConfig.put(DMaaPMRSinkHadoopConfigFields.MAX_RECOVER_QUEUE_SIZE,
+ String.valueOf(AnalyticsConstants.DEFAULT_PUBLISHER_MAX_RECOVERY_QUEUE_SIZE));
+ }
+
+ }
+
+ @Override
+ public String getOutputFormatClassName() {
+ return DMaaPMROutputFormat.class.getName();
+ }
+
+ @Override
+ public Map<String, String> getOutputFormatConfiguration() {
+ return sinkConfig;
+ }
+}
diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMRRecordWriter.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMRRecordWriter.java
new file mode 100644
index 0000000..ec0aded
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMRRecordWriter.java
@@ -0,0 +1,58 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.batch.sink.dmaap;
+
+import org.apache.hadoop.io.NullWritable;
+import org.apache.hadoop.mapreduce.RecordWriter;
+import org.apache.hadoop.mapreduce.TaskAttemptContext;
+import org.openecomp.dcae.apod.analytics.dmaap.service.publisher.DMaaPMRPublisher;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.Arrays;
+
+/**
+ * A simple implementation of {@link RecordWriter} which writes messages to DMaaP MR topic
+ * <p>
+ * @author Rajiv Singla . Creation Date: 1/27/2017.
+ */
+public class DMaaPMRRecordWriter extends RecordWriter<String, NullWritable> {
+
+ private static final Logger LOG = LoggerFactory.getLogger(DMaaPMRRecordWriter.class);
+
+ private final DMaaPMRPublisher dMaaPMRPublisher;
+
+ public DMaaPMRRecordWriter(DMaaPMRPublisher dMaaPMRPublisher) {
+ this.dMaaPMRPublisher = dMaaPMRPublisher;
+ }
+
+ @Override
+ public void write(String message, NullWritable value) throws IOException, InterruptedException {
+ LOG.debug("Writing message to DMaaP MR Topic: {}", message);
+ dMaaPMRPublisher.publish(Arrays.asList(message));
+ }
+
+ @Override
+ public void close(TaskAttemptContext context) throws IOException, InterruptedException {
+ dMaaPMRPublisher.flush();
+ }
+}
diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMRSink.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMRSink.java
new file mode 100644
index 0000000..32ec251
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMRSink.java
@@ -0,0 +1,90 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.batch.sink.dmaap;
+
+import co.cask.cdap.api.annotation.Description;
+import co.cask.cdap.api.annotation.Name;
+import co.cask.cdap.api.annotation.Plugin;
+import co.cask.cdap.api.data.batch.Output;
+import co.cask.cdap.api.data.format.StructuredRecord;
+import co.cask.cdap.api.data.schema.Schema;
+import co.cask.cdap.api.dataset.lib.KeyValue;
+import co.cask.cdap.etl.api.Emitter;
+import co.cask.cdap.etl.api.PipelineConfigurer;
+import co.cask.cdap.etl.api.batch.BatchSink;
+import co.cask.cdap.etl.api.batch.BatchSinkContext;
+import org.apache.hadoop.io.NullWritable;
+import org.openecomp.dcae.apod.analytics.cdap.common.utils.ValidationUtils;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.DMaaPMRSinkPluginConfig;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.utils.CDAPPluginUtils;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.validator.DMaaPMRSinkPluginConfigValidator;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * @author Rajiv Singla . Creation Date: 1/26/2017.
+ */
+@Plugin(type = BatchSink.PLUGIN_TYPE)
+@Name("DMaaPMRSink")
+@Description("A batch sink Plugin that publishes messages to DMaaP MR Topic.")
+public class DMaaPMRSink extends BatchSink<StructuredRecord, String, NullWritable> {
+
+ private static final Logger LOG = LoggerFactory.getLogger(DMaaPMRSink.class);
+
+ private final DMaaPMRSinkPluginConfig pluginConfig;
+
+ public DMaaPMRSink(final DMaaPMRSinkPluginConfig pluginConfig) {
+ LOG.debug("Creating DMaaP MR Sink Plugin with plugin Config: {}", pluginConfig);
+ this.pluginConfig = pluginConfig;
+ }
+
+ @Override
+ public void configurePipeline(final PipelineConfigurer pipelineConfigurer) {
+ super.configurePipeline(pipelineConfigurer);
+ ValidationUtils.validateSettings(pluginConfig, new DMaaPMRSinkPluginConfigValidator());
+ // validates that input schema contains the field provided in Sink Message Column Name property
+ final Schema inputSchema = pipelineConfigurer.getStageConfigurer().getInputSchema();
+ CDAPPluginUtils.validateSchemaContainsFields(inputSchema, pluginConfig.getMessageColumnName());
+ }
+
+
+ @Override
+ public void prepareRun(BatchSinkContext context) throws Exception {
+ context.addOutput(Output.of(pluginConfig.getReferenceName(), new DMaaPMROutputFormatProvider(pluginConfig)));
+ }
+
+ @Override
+ public void transform(StructuredRecord structuredRecord,
+ Emitter<KeyValue<String, NullWritable>> emitter) throws Exception {
+ // get incoming message from structured record
+ final String incomingMessage = structuredRecord.get(pluginConfig.getMessageColumnName());
+
+ // if incoming messages does not have message column name log warning as it should not happen
+ if (incomingMessage == null) {
+ LOG.warn("Column Name: {}, contains no message.Skipped for DMaaP MR Publishing....",
+ pluginConfig.getMessageColumnName());
+ } else {
+
+ // emit the messages as key
+ emitter.emit(new KeyValue<String, NullWritable>(incomingMessage, null));
+ }
+ }
+}
diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/common/PluginSchema.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/common/PluginSchema.java
new file mode 100644
index 0000000..677b764
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/common/PluginSchema.java
@@ -0,0 +1,37 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.common;
+
+/**
+ * Contract interface for all DCAE Analytics Plugin Schemas
+ *
+ * @author Rajiv Singla . Creation Date: 1/25/2017.
+ */
+public interface PluginSchema {
+
+ /**
+ * Provides column name that will be used in Schema Definition
+ *
+ * @return Column name that will be used in Schema Definition
+ */
+ String getSchemaColumnName();
+
+}
diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/BaseDMaaPMRPluginConfig.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/BaseDMaaPMRPluginConfig.java
new file mode 100644
index 0000000..b85dc7d
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/BaseDMaaPMRPluginConfig.java
@@ -0,0 +1,159 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap;
+
+import co.cask.cdap.api.annotation.Description;
+import co.cask.cdap.api.annotation.Macro;
+import com.google.common.base.Objects;
+import org.openecomp.dcae.apod.analytics.cdap.common.settings.CDAPBasePluginConfig;
+
+import javax.annotation.Nullable;
+
+/**
+ * Base class for all DMaaP MR Configs
+ * <p>
+ * @author Rajiv Singla . Creation Date: 1/17/2017.
+ */
+public abstract class BaseDMaaPMRPluginConfig extends CDAPBasePluginConfig {
+
+ @Description("DMaaP Message Router HostName")
+ @Macro
+ protected String hostName;
+
+ @Description("DMaaP Message Router Host Port number. Defaults to Port 80")
+ @Nullable
+ @Macro
+ protected Integer portNumber;
+
+ @Description("DMaaP Message Router Topic Name")
+ @Macro
+ protected String topicName;
+
+ @Description("DMaaP Message Router HTTP Protocol e.g. HTTP or HTTPS. Defaults to HTTPS")
+ @Nullable
+ @Macro
+ protected String protocol;
+
+ @Description("DMaaP Message Router User Name used for AAF Authentication. Defaults to no authentication")
+ @Nullable
+ @Macro
+ protected String userName;
+
+ @Description("DMaaP Message Router User Password used for AAF Authentication. Defaults to no authentication")
+ @Nullable
+ @Macro
+ protected String userPassword;
+
+ @Description("DMaaP Message Router Content Type. Defaults to 'application/json'")
+ @Nullable
+ @Macro
+ protected String contentType;
+
+
+ public BaseDMaaPMRPluginConfig(final String referenceName, final String hostName, final String topicName) {
+ this.referenceName = referenceName;
+ this.hostName = hostName;
+ this.topicName = topicName;
+ }
+
+ /**
+ * Host Name for DMaaP MR Publisher or Subscriber
+ *
+ * @return host name
+ */
+ public String getHostName() {
+ return hostName;
+ }
+
+ /**
+ * Port Number for DMaaP MR Publisher or Subscriber
+ *
+ * @return port number
+ */
+ @Nullable
+ public Integer getPortNumber() {
+ return portNumber;
+ }
+
+ /**
+ * DMaaP MR Topic Name for Subscriber or Publisher
+ *
+ * @return topic name
+ */
+ public String getTopicName() {
+ return topicName;
+ }
+
+
+ /**
+ * DMaaP MR HTTP or HTTPS protocol
+ *
+ * @return http or https protocol
+ */
+ @Nullable
+ public String getProtocol() {
+ return protocol;
+ }
+
+ /**
+ * User name used for DMaaP MR AAF Authentication
+ *
+ * @return User name for DMaaP MR AAF Authentication
+ */
+ @Nullable
+ public String getUserName() {
+ return userName;
+ }
+
+ /**
+ * User password used for DMaaP MR AAF Authentication
+ *
+ * @return User password used for DMaaP MR AAF Authentication
+ */
+ @Nullable
+ public String getUserPassword() {
+ return userPassword;
+ }
+
+ /**
+ * Content type used for DMaaP MR Topic e.g. 'application/json'
+ *
+ * @return content type for DMaaP MR Topic
+ */
+ @Nullable
+ public String getContentType() {
+ return contentType;
+ }
+
+ @Override
+ public String toString() {
+ return Objects.toStringHelper(this)
+ .add("referenceName", referenceName)
+ .add("hostName", hostName)
+ .add("portNumber", portNumber)
+ .add("topicName", topicName)
+ .add("protocol", protocol)
+ .add("userName", userName)
+ .add("userPassword", "xxxx")
+ .add("contentType", contentType)
+ .toString();
+ }
+}
diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/DMaaPMRSinkPluginConfig.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/DMaaPMRSinkPluginConfig.java
new file mode 100644
index 0000000..7de7532
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/DMaaPMRSinkPluginConfig.java
@@ -0,0 +1,101 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap;
+
+import co.cask.cdap.api.annotation.Description;
+import co.cask.cdap.api.annotation.Macro;
+import com.google.common.base.Objects;
+
+import javax.annotation.Nullable;
+
+/**
+ * DMaaP MR Publisher Config
+ * <p>
+ * @author Rajiv Singla . Creation Date: 1/17/2017.
+ */
+public class DMaaPMRSinkPluginConfig extends BaseDMaaPMRPluginConfig {
+
+ private static final long serialVersionUID = 1L;
+
+ @Description("Column name of input schema which contains the message that needs to be written to DMaaP MR Topic")
+ @Macro
+ protected String messageColumnName;
+
+ @Description("DMaaP MR Publisher Max Batch Size. Defaults to no Batch")
+ @Nullable
+ @Macro
+ protected Integer maxBatchSize;
+
+ @Description("DMaaP MR Publisher Recovery Queue Size. Default to 1000K messages which can be buffered in memory " +
+ "in case DMaaP MR Publisher is temporarily unavailable")
+ @Nullable
+ @Macro
+ protected Integer maxRecoveryQueueSize;
+
+ // Required No Arg constructor
+ public DMaaPMRSinkPluginConfig() {
+ this(null, null, null, null);
+ }
+
+ public DMaaPMRSinkPluginConfig(String referenceName, String hostName, String topicName, String messageColumnName) {
+ super(referenceName, hostName, topicName);
+ this.messageColumnName = messageColumnName;
+ }
+
+ /**
+ * Column name of incoming Schema field that contains the message that needs to published to DMaaP MR Topic
+ *
+ * @return Column name of incoming schema which contains message that needs to published to DMaaP MR Topic
+ */
+ public String getMessageColumnName() {
+ return messageColumnName;
+ }
+
+ /**
+ * DMaaP MR Publisher Max Batch Size.
+ *
+ * @return DMaaP MR Publisher Max Batch Size
+ */
+ @Nullable
+ public Integer getMaxBatchSize() {
+ return maxBatchSize;
+ }
+
+ /**
+ * DMaaP MR Publisher Max Recovery Queue Size
+ *
+ * @return DMaaP MR Publisher Max Recovery Queue Size
+ */
+ @Nullable
+ public Integer getMaxRecoveryQueueSize() {
+ return maxRecoveryQueueSize;
+ }
+
+ @Override
+ public String toString() {
+ return Objects.toStringHelper(this)
+ .add("super", super.toString())
+ .add("messageColumnName", messageColumnName)
+ .add("maxBatchSize", maxBatchSize)
+ .add("maxRecoveryQueueSize", maxRecoveryQueueSize)
+ .toString();
+ }
+}
diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/DMaaPMRSourcePluginConfig.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/DMaaPMRSourcePluginConfig.java
new file mode 100644
index 0000000..a91da35
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/DMaaPMRSourcePluginConfig.java
@@ -0,0 +1,134 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap;
+
+import co.cask.cdap.api.annotation.Description;
+import co.cask.cdap.api.annotation.Macro;
+import com.google.common.base.Objects;
+
+import javax.annotation.Nullable;
+
+/**
+ * DMaaP MR Subscriber Config
+ * <p>
+ * @author Rajiv Singla . Creation Date: 1/17/2017.
+ */
+public class DMaaPMRSourcePluginConfig extends BaseDMaaPMRPluginConfig {
+
+ private static final long serialVersionUID = 1L;
+
+ @Description("DMaaP MR Polling Interval in MS")
+ @Macro
+ protected Integer pollingInterval;
+
+ @Description("DMaaP Message Router Subscriber Consumer ID. Defaults to some randomly created userID")
+ @Nullable
+ @Macro
+ protected String consumerId;
+
+ @Description("DMaaP Message Router Subscriber Consumer Group. Defaults to some randomly created user Group")
+ @Nullable
+ @Macro
+ protected String consumerGroup;
+
+ @Description("DMaaP Message Router Subscriber Timeout in MS. Defaults to no timeout")
+ @Nullable
+ @Macro
+ protected Integer timeoutMS;
+
+ @Description("DMaaP Message Router Subscriber Message Limit. Defaults to no message limit")
+ @Nullable
+ @Macro
+ protected Integer messageLimit;
+
+ // Required No Arg constructor
+ public DMaaPMRSourcePluginConfig() {
+ this(null, null, null, 0);
+ }
+
+ public DMaaPMRSourcePluginConfig(String referenceName, String hostName, String topicName, Integer pollingInterval) {
+ super(referenceName, hostName, topicName);
+ this.pollingInterval = pollingInterval;
+ }
+
+ /**
+ * DMaaP MR Subscriber Polling interval
+ *
+ * @return DMaaP MR Subscriber Polling interval
+ */
+ public Integer getPollingInterval() {
+ return pollingInterval;
+ }
+
+ /**
+ * DMaaP MR Subscriber Consumer ID
+ *
+ * @return DMaaP MR Subscriber Consumer ID
+ */
+ @Nullable
+ public String getConsumerId() {
+ return consumerId;
+ }
+
+ /**
+ * DMaaP MR Subscriber Consumer Group
+ *
+ * @return DMaaP MR Subscriber Consumer Group
+ */
+ @Nullable
+ public String getConsumerGroup() {
+ return consumerGroup;
+ }
+
+ /**
+ * DMaaP MR Subscriber Timeout in MS
+ *
+ * @return DMaaP MR Subscriber Timeout in MS
+ */
+ @Nullable
+ public Integer getTimeoutMS() {
+ return timeoutMS;
+ }
+
+ /**
+ * DMaaP MR Subscriber message limit
+ *
+ * @return DMaaP MR Subscriber Message limit
+ */
+ @Nullable
+ public Integer getMessageLimit() {
+ return messageLimit;
+ }
+
+
+ @Override
+ public String toString() {
+ return Objects.toStringHelper(this)
+ .add("super", super.toString())
+ .add("pollingInterval", pollingInterval)
+ .add("consumerId", consumerId)
+ .add("consumerGroup", consumerGroup)
+ .add("timeoutMS", timeoutMS)
+ .add("messageLimit", messageLimit)
+ .toString();
+ }
+
+}
diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/filter/JsonPathFilterPluginConfig.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/filter/JsonPathFilterPluginConfig.java
new file mode 100644
index 0000000..8bb768f
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/filter/JsonPathFilterPluginConfig.java
@@ -0,0 +1,125 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.filter;
+
+import co.cask.cdap.api.annotation.Description;
+import co.cask.cdap.api.annotation.Macro;
+import co.cask.cdap.api.annotation.Name;
+import com.google.common.base.Objects;
+import org.openecomp.dcae.apod.analytics.cdap.common.settings.CDAPBasePluginConfig;
+
+/**
+ * Configuration for Json Path Filter Plugin
+ *
+ * @author Rajiv Singla . Creation Date: 3/2/2017.
+ */
+public class JsonPathFilterPluginConfig extends CDAPBasePluginConfig {
+
+ private static final long serialVersionUID = 1L;
+
+ @Name("incomingJsonFieldName")
+ @Description("Input schema field name that contain JSON used for filtering")
+ @Macro
+ protected String incomingJsonFieldName;
+
+
+ @Name("outputSchemaFieldName")
+ @Description("Name of the nullable boolean schema field name that will contain result of the filter matching")
+ @Macro
+ protected String outputSchemaFieldName;
+
+
+ @Name("jsonFilterMappings")
+ @Macro
+ @Description("Filters incoming JSON based on given filter mappings - in terms of JSON path and expected values." +
+ "Right hand side contains JSON path. Left hand side contains semicolon (';') separated expected values " +
+ "for that JSON Path. If all provided JSON Path mappings and corresponding values matches - " +
+ "output schema field will be marked as true")
+ protected String jsonFilterMappings;
+
+
+ @Name("schema")
+ @Description("Output Schema")
+ protected String schema;
+
+
+ public JsonPathFilterPluginConfig(final String referenceName, final String incomingJsonFieldName,
+ final String outputSchemaFieldName, final String jsonFilterMappings,
+ final String schema) {
+ this.referenceName = referenceName;
+ this.incomingJsonFieldName = incomingJsonFieldName;
+ this.outputSchemaFieldName = outputSchemaFieldName;
+ this.jsonFilterMappings = jsonFilterMappings;
+ this.schema = schema;
+ }
+
+ /**
+ * Provides incoming plugin schema field name which contains json used to apply filter
+ *
+ * @return name of incoming schema field containing JSON to be filtered
+ */
+ public String getIncomingJsonFieldName() {
+ return incomingJsonFieldName;
+ }
+
+ /**
+ * Provides plugin output schema filed name that will contain result of filter application
+ * It must be nullable and boolean type
+ *
+ * @return name of outgoing schema filed name that will contain filtering result
+ */
+ public String getOutputSchemaFieldName() {
+ return outputSchemaFieldName;
+ }
+
+ /**
+ * Provides JSON filter mappings. LHS contains JSON path value and RHS contains expected
+ * values separated by semicolon
+ *
+ *
+ * @return String for JSON filter mappings
+ */
+ public String getJsonFilterMappings() {
+ return jsonFilterMappings;
+ }
+
+ /**
+ * Output Schema
+ *
+ * @return output schema string
+ */
+ public String getSchema() {
+ return schema;
+ }
+
+
+ @Override
+ public String toString() {
+ return Objects.toStringHelper(this)
+ .add("referenceName", referenceName)
+ .add("incomingJsonFieldName", incomingJsonFieldName)
+ .add("outputSchemaFieldName", outputSchemaFieldName)
+ .add("jsonFilterMappings", jsonFilterMappings)
+ .add("schema", schema)
+ .toString();
+ }
+
+}
diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/tca/SimpleTCAPluginConfig.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/tca/SimpleTCAPluginConfig.java
new file mode 100644
index 0000000..d9c2b7a
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/tca/SimpleTCAPluginConfig.java
@@ -0,0 +1,154 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.tca;
+
+import co.cask.cdap.api.annotation.Description;
+import co.cask.cdap.api.annotation.Macro;
+import com.google.common.base.Objects;
+import org.openecomp.dcae.apod.analytics.cdap.common.settings.CDAPBasePluginConfig;
+
+import javax.annotation.Nullable;
+
+/**
+ * Simple TCA Plugin Configuration
+ * <p>
+ * @author Rajiv Singla . Creation Date: 2/13/2017.
+ */
+public class SimpleTCAPluginConfig extends CDAPBasePluginConfig {
+
+ private static final long serialVersionUID = 1L;
+
+ @Description("Field name containing VES Message")
+ @Macro
+ protected String vesMessageFieldName;
+
+ @Description("Policy JSON that need to be applied to VES Message")
+ @Macro
+ protected String policyJson;
+
+ @Description("Name of the output field that will contain the alert")
+ @Macro
+ protected String alertFieldName;
+
+ @Description("Name of the output field that will contain message type: INAPPLICABLE, COMPLIANT, NON_COMPLIANT")
+ @Macro
+ protected String messageTypeFieldName;
+
+ @Description("Specifies the output schema")
+ protected String schema;
+
+ @Description("Enables")
+ @Nullable
+ @Macro
+ protected Boolean enableAlertCEFFormat;
+
+
+ /**
+ * Creates an instance of TCA Plugin Configs
+ *
+ * @param vesMessageFieldName Ves message field name from incoming plugin schema
+ * @param policyJson TCA Policy Json String
+ * @param alertFieldName Alert field name that will be added in TCA plugin output schema
+ * @param messageTypeFieldName Message type field name that will be added in TCA plugin output schema
+ * @param schema TCA Plugin output schema
+ * @param enableAlertCEFFormat enables alert message to be formatted in VES format
+ */
+ public SimpleTCAPluginConfig(final String vesMessageFieldName, final String policyJson,
+ final String alertFieldName, final String messageTypeFieldName,
+ final String schema, final Boolean enableAlertCEFFormat) {
+ this.vesMessageFieldName = vesMessageFieldName;
+ this.policyJson = policyJson;
+ this.alertFieldName = alertFieldName;
+ this.messageTypeFieldName = messageTypeFieldName;
+ this.schema = schema;
+ this.enableAlertCEFFormat = enableAlertCEFFormat;
+ }
+
+ /**
+ * Name of the field containing VES Message
+ *
+ * @return VES Message field name
+ */
+ public String getVesMessageFieldName() {
+ return vesMessageFieldName;
+ }
+
+ /**
+ * Policy Json String
+ *
+ * @return Policy Json String
+ */
+ public String getPolicyJson() {
+ return policyJson;
+ }
+
+
+ /**
+ * Alert Field name in outgoing schema
+ *
+ * @return alert field name in outgoing schema
+ */
+ public String getAlertFieldName() {
+ return alertFieldName;
+ }
+
+ /**
+ * Returns output schema string
+ *
+ * @return output schema string
+ */
+ public String getSchema() {
+ return schema;
+ }
+
+ /**
+ * Return TCA message type - INAPPLICABLE, COMPLIANT, NON_COMPLIANT
+ *
+ * @return tca message type
+ */
+ public String getMessageTypeFieldName() {
+ return messageTypeFieldName;
+ }
+
+
+ /**
+ * Returns if Alert output in Common Event format
+ *
+ * @return true if alert output is in common event format
+ */
+ @Nullable
+ public Boolean getEnableAlertCEFFormat() {
+ return enableAlertCEFFormat;
+ }
+
+ @Override
+ public String toString() {
+ return Objects.toStringHelper(this)
+ .add("referenceName", referenceName)
+ .add("vesMessageFieldName", vesMessageFieldName)
+ .add("policyJson", policyJson)
+ .add("alertFieldName", alertFieldName)
+ .add("messageTypeFieldName", messageTypeFieldName)
+ .add("schema", schema)
+ .add("enableAlertCEFFormat", true)
+ .toString();
+ }
+}
diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/schema/dmaap/DMaaPSourceOutputSchema.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/schema/dmaap/DMaaPSourceOutputSchema.java
new file mode 100644
index 0000000..5874d0a
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/schema/dmaap/DMaaPSourceOutputSchema.java
@@ -0,0 +1,59 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.domain.schema.dmaap;
+
+import co.cask.cdap.api.data.schema.Schema;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.common.PluginSchema;
+
+/**
+ * Output Schema for DMaaP MR Source Plugin
+ *
+ * @author Rajiv Singla . Creation Date: 1/25/2017.
+ */
+public enum DMaaPSourceOutputSchema implements PluginSchema {
+
+ TIMESTAMP("ts"),
+ RESPONSE_CODE("responseCode"),
+ RESPONSE_MESSAGE("responseMessage"),
+ FETCHED_MESSAGE("message");
+
+ private String schemaColumnName;
+
+ DMaaPSourceOutputSchema(String schemaColumnName) {
+ this.schemaColumnName = schemaColumnName;
+ }
+
+ @Override
+ public String getSchemaColumnName() {
+ return schemaColumnName;
+ }
+
+ public static Schema getSchema() {
+ return Schema.recordOf(
+ "DMaaPMRSourcePluginResponse",
+ Schema.Field.of(TIMESTAMP.getSchemaColumnName(), Schema.of(Schema.Type.LONG)),
+ Schema.Field.of(RESPONSE_CODE.getSchemaColumnName(), Schema.of(Schema.Type.INT)),
+ Schema.Field.of(RESPONSE_MESSAGE.getSchemaColumnName(), Schema.of(Schema.Type.STRING)),
+ Schema.Field.of(FETCHED_MESSAGE.getSchemaColumnName(), Schema.of(Schema.Type.STRING))
+ );
+ }
+
+}
diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/sparkcompute/tca/SimpleTCAPlugin.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/sparkcompute/tca/SimpleTCAPlugin.java
new file mode 100644
index 0000000..b915ade
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/sparkcompute/tca/SimpleTCAPlugin.java
@@ -0,0 +1,175 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.sparkcompute.tca;
+
+import co.cask.cdap.api.annotation.Description;
+import co.cask.cdap.api.annotation.Name;
+import co.cask.cdap.api.annotation.Plugin;
+import co.cask.cdap.api.data.format.StructuredRecord;
+import co.cask.cdap.api.data.format.StructuredRecord.Builder;
+import co.cask.cdap.api.data.schema.Schema;
+import co.cask.cdap.etl.api.PipelineConfigurer;
+import co.cask.cdap.etl.api.StageMetrics;
+import co.cask.cdap.etl.api.batch.SparkCompute;
+import co.cask.cdap.etl.api.batch.SparkExecutionPluginContext;
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
+import org.apache.spark.api.java.JavaRDD;
+import org.apache.spark.api.java.function.Function;
+import org.openecomp.dcae.apod.analytics.cdap.common.CDAPMetricsConstants;
+import org.openecomp.dcae.apod.analytics.cdap.common.persistance.tca.TCACalculatorMessageType;
+import org.openecomp.dcae.apod.analytics.cdap.common.utils.ValidationUtils;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.tca.SimpleTCAPluginConfig;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.utils.CDAPPluginUtils;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.validator.SimpleTCAPluginConfigValidator;
+import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.MetricsPerFunctionalRole;
+import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.TCAPolicy;
+import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.Threshold;
+import org.openecomp.dcae.apod.analytics.tca.processor.TCACEFJsonProcessor;
+import org.openecomp.dcae.apod.analytics.tca.processor.TCACEFProcessorContext;
+import org.openecomp.dcae.apod.analytics.tca.utils.TCAUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * @author Rajiv Singla . Creation Date: 2/13/2017.
+ */
+
+@Plugin(type = SparkCompute.PLUGIN_TYPE)
+@Name("SimpleTCAPlugin")
+@Description("Used to create TCA (Threshold Crossing Alert) based on given Policy")
+@SuppressFBWarnings("SE_INNER_CLASS")
+public class SimpleTCAPlugin extends SparkCompute<StructuredRecord, StructuredRecord> {
+
+ private static final Logger LOG = LoggerFactory.getLogger(SimpleTCAPlugin.class);
+ private static final long serialVersionUID = 1L;
+
+ private final SimpleTCAPluginConfig pluginConfig;
+
+ /**
+ * Create an instance of Simple TCA Plugin with give Simple TCA Plugin Config
+ *
+ * @param pluginConfig Simple TCA Plugin Config
+ */
+ public SimpleTCAPlugin(SimpleTCAPluginConfig pluginConfig) {
+ this.pluginConfig = pluginConfig;
+ LOG.info("Creating instance of Simple TCA Plugin with plugin config: {}", pluginConfig);
+ }
+
+ @Override
+ public void configurePipeline(PipelineConfigurer pipelineConfigurer) {
+ super.configurePipeline(pipelineConfigurer);
+ ValidationUtils.validateSettings(pluginConfig, new SimpleTCAPluginConfigValidator());
+ final Schema inputSchema = pipelineConfigurer.getStageConfigurer().getInputSchema();
+ CDAPPluginUtils.validateSchemaContainsFields(inputSchema, pluginConfig.getVesMessageFieldName());
+ CDAPPluginUtils.setOutputSchema(pipelineConfigurer, pluginConfig.getSchema());
+ }
+
+ @Override
+ public JavaRDD<StructuredRecord> transform(final SparkExecutionPluginContext context,
+ final JavaRDD<StructuredRecord> input) throws Exception {
+ final StageMetrics metrics = context.getMetrics();
+
+ LOG.debug("Invoking Spark Transform for Simple TCA Plugin");
+ return input.map(new Function<StructuredRecord, StructuredRecord>() {
+
+ @Override
+ public StructuredRecord call(StructuredRecord inputStructuredRecord) throws Exception {
+ TCACalculatorMessageType calculatorMessageType;
+ String alertMessage = null;
+
+ // Get input structured record
+ final String cefMessage = inputStructuredRecord.get(pluginConfig.getVesMessageFieldName());
+
+ // Get TCA Policy
+ final TCAPolicy tcaPolicy = CDAPPluginUtils.readValue(pluginConfig.getPolicyJson(), TCAPolicy.class);
+
+ // create initial processor context
+ final TCACEFProcessorContext initialProcessorContext =
+ new TCACEFProcessorContext(cefMessage, tcaPolicy);
+
+ final TCACEFJsonProcessor jsonProcessor = new TCACEFJsonProcessor();
+ final TCACEFProcessorContext jsonProcessorContext =
+ jsonProcessor.processMessage(initialProcessorContext);
+
+ if (jsonProcessorContext.getCEFEventListener() != null) {
+
+ LOG.debug("Json to CEF parsing successful. Parsed object {}",
+ jsonProcessorContext.getCEFEventListener());
+
+ // compute violations
+ final TCACEFProcessorContext processorContextWithViolations =
+ TCAUtils.computeThresholdViolations(jsonProcessorContext);
+
+ // if violation are found then create alert message
+ if (processorContextWithViolations.canProcessingContinue()) {
+
+ alertMessage = TCAUtils.createTCAAlertString(processorContextWithViolations,
+ pluginConfig.getReferenceName(), pluginConfig.getEnableAlertCEFFormat());
+ calculatorMessageType = TCACalculatorMessageType.NON_COMPLIANT;
+
+ LOG.debug("VES Threshold Violation Detected.An alert message is be generated: {}",
+ alertMessage);
+
+ final MetricsPerFunctionalRole metricsPerFunctionalRole =
+ processorContextWithViolations.getMetricsPerFunctionalRole();
+ if (metricsPerFunctionalRole != null
+ && metricsPerFunctionalRole.getThresholds() != null
+ && metricsPerFunctionalRole.getThresholds().get(0) != null) {
+ final Threshold violatedThreshold = metricsPerFunctionalRole.getThresholds().get(0);
+ LOG.debug("CEF Message: {}, Violated Threshold: {}", cefMessage, violatedThreshold);
+ }
+
+ metrics.count(CDAPMetricsConstants.TCA_VES_NON_COMPLIANT_MESSAGES_METRIC, 1);
+
+ } else {
+ LOG.debug("No Threshold Violation Detected. No alert will be generated.");
+ calculatorMessageType = TCACalculatorMessageType.COMPLIANT;
+ metrics.count(CDAPMetricsConstants.TCA_VES_COMPLIANT_MESSAGES_METRIC, 1);
+ }
+
+ } else {
+ LOG.info("Unable to parse provided json message to CEF format. Invalid message: {}", cefMessage);
+ calculatorMessageType = TCACalculatorMessageType.INAPPLICABLE;
+ }
+
+ LOG.debug("Calculator message type: {} for message: {}", calculatorMessageType, cefMessage);
+
+ final Schema outputSchema = Schema.parseJson(pluginConfig.getSchema());
+
+ // create new output record builder and copy any input record values to output record builder
+ final Builder outputRecordBuilder =
+ CDAPPluginUtils.createOutputStructuredRecordBuilder(outputSchema, inputStructuredRecord);
+
+ // add alert field
+ final Builder outputRecordBuilderWithAlertField =
+ CDAPPluginUtils.addFieldValueToStructuredRecordBuilder(outputRecordBuilder,
+ outputSchema, pluginConfig.getAlertFieldName(), alertMessage);
+
+ // add message field type
+ final Builder outRecordBuilderWithMessageTypeField =
+ CDAPPluginUtils.addFieldValueToStructuredRecordBuilder(outputRecordBuilderWithAlertField,
+ outputSchema, pluginConfig.getMessageTypeFieldName(), calculatorMessageType.toString());
+
+ return outRecordBuilderWithMessageTypeField.build();
+ }
+ });
+ }
+}
diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/DMaaPMRReceiver.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/DMaaPMRReceiver.java
new file mode 100644
index 0000000..aac7fa6
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/DMaaPMRReceiver.java
@@ -0,0 +1,118 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.streaming.dmaap;
+
+import co.cask.cdap.api.data.format.StructuredRecord;
+import co.cask.cdap.api.metrics.Metrics;
+import com.google.common.base.Optional;
+import org.apache.spark.storage.StorageLevel;
+import org.apache.spark.streaming.receiver.Receiver;
+import org.openecomp.dcae.apod.analytics.cdap.common.utils.DMaaPMRUtils;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.DMaaPMRSourcePluginConfig;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.utils.CDAPPluginUtils;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.utils.DMaaPSourceConfigMapper;
+import org.openecomp.dcae.apod.analytics.common.exception.DCAEAnalyticsRuntimeException;
+import org.openecomp.dcae.apod.analytics.dmaap.DMaaPMRFactory;
+import org.openecomp.dcae.apod.analytics.dmaap.service.subscriber.DMaaPMRSubscriber;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * DMaaP MR Receiver which calls DMaaP MR Topic and stores structured records
+ * <p>
+ * @author Rajiv Singla . Creation Date: 1/19/2017.
+ */
+public class DMaaPMRReceiver extends Receiver<StructuredRecord> {
+
+ private static final Logger LOG = LoggerFactory.getLogger(DMaaPMRReceiver.class);
+ private static final long serialVersionUID = 1L;
+
+ private final DMaaPMRSourcePluginConfig pluginConfig;
+ private final Metrics metrics;
+
+ public DMaaPMRReceiver(final StorageLevel storageLevel, final DMaaPMRSourcePluginConfig pluginConfig,
+ final Metrics metrics) {
+ super(storageLevel);
+ this.pluginConfig = pluginConfig;
+ this.metrics = metrics;
+ LOG.debug("Created DMaaP MR Receiver instance with plugin Config: {}", pluginConfig);
+ }
+
+ @Override
+ public void onStart() {
+
+ // create DMaaP MR Subscriber
+ final DMaaPMRSubscriber subscriber =
+ DMaaPMRFactory.create().createSubscriber(DMaaPSourceConfigMapper.map(pluginConfig));
+
+ // Start a new thread with indefinite loop until receiver is stopped
+ new Thread() {
+ @Override
+ public void run() {
+ while (!isStopped()) {
+ storeStructuredRecords(subscriber);
+ try {
+ final Integer pollingInterval = pluginConfig.getPollingInterval();
+ LOG.debug("DMaaP MR Receiver sleeping for polling interval: {}", pollingInterval);
+ TimeUnit.MILLISECONDS.sleep(pollingInterval);
+ } catch (InterruptedException e) {
+ final String errorMessage = String.format(
+ "Interrupted Exception while DMaaP MR Receiver sleeping polling interval: %s", e);
+ throw new DCAEAnalyticsRuntimeException(errorMessage, LOG, e);
+ }
+ }
+ }
+ }.start();
+
+ }
+
+ @Override
+ public void onStop() {
+ LOG.debug("Stopping DMaaP MR Receiver with plugin config: {}", pluginConfig);
+ }
+
+ /**
+ * Fetches records from DMaaP MR Subscriber and store them as structured records
+ *
+ * @param subscriber DMaaP MR Subscriber Instance
+ */
+ public void storeStructuredRecords(final DMaaPMRSubscriber subscriber) {
+
+ LOG.debug("DMaaP MR Receiver start fetching messages from DMaaP MR Topic");
+
+ // Fetch messages from DMaaP MR Topic
+ final Optional<List<String>> subscriberMessagesOptional =
+ DMaaPMRUtils.getSubscriberMessages(subscriber, metrics);
+
+ // store records
+ if (subscriberMessagesOptional.isPresent()) {
+ final List<String> messages = subscriberMessagesOptional.get();
+ for (final String message : messages) {
+ store(CDAPPluginUtils.createDMaaPMRResponseStructuredRecord(message));
+ }
+ LOG.debug("Stored DMaaP Subscriber messages as Structured Records. Message count {}", messages.size());
+ }
+ }
+
+}
diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/DMaaPMRSource.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/DMaaPMRSource.java
new file mode 100644
index 0000000..a9ecfea
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/DMaaPMRSource.java
@@ -0,0 +1,70 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.streaming.dmaap;
+
+import co.cask.cdap.api.annotation.Description;
+import co.cask.cdap.api.annotation.Name;
+import co.cask.cdap.api.annotation.Plugin;
+import co.cask.cdap.api.data.format.StructuredRecord;
+import co.cask.cdap.etl.api.PipelineConfigurer;
+import co.cask.cdap.etl.api.streaming.StreamingContext;
+import co.cask.cdap.etl.api.streaming.StreamingSource;
+import org.apache.spark.storage.StorageLevel;
+import org.apache.spark.streaming.api.java.JavaDStream;
+import org.openecomp.dcae.apod.analytics.cdap.common.utils.ValidationUtils;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.DMaaPMRSourcePluginConfig;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.schema.dmaap.DMaaPSourceOutputSchema;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.validator.DMaaPMRSourcePluginConfigValidator;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * DMaaP MR Source Plugin which polls DMaaP MR topic at frequent intervals
+ * <p>
+ * @author Rajiv Singla . Creation Date: 1/18/2017.
+ */
+@Plugin(type = StreamingSource.PLUGIN_TYPE)
+@Name("DMaaPMRSource")
+@Description("Fetches DMaaP MR Messages at regular intervals")
+public class DMaaPMRSource extends StreamingSource<StructuredRecord> {
+
+ private static final Logger LOG = LoggerFactory.getLogger(DMaaPMRSource.class);
+ private static final long serialVersionUID = 1L;
+
+ private final DMaaPMRSourcePluginConfig pluginConfig;
+
+ public DMaaPMRSource(final DMaaPMRSourcePluginConfig pluginConfig) {
+ LOG.debug("Creating DMaaP MR Source plugin with plugin Config: {}", pluginConfig);
+ this.pluginConfig = pluginConfig;
+ }
+
+ @Override
+ public void configurePipeline(PipelineConfigurer pipelineConfigurer) {
+ ValidationUtils.validateSettings(pluginConfig, new DMaaPMRSourcePluginConfigValidator());
+ pipelineConfigurer.getStageConfigurer().setOutputSchema(DMaaPSourceOutputSchema.getSchema());
+ }
+
+ @Override
+ public JavaDStream<StructuredRecord> getStream(final StreamingContext streamingContext) throws Exception {
+ return streamingContext.getSparkStreamingContext().receiverStream(
+ new DMaaPMRReceiver(StorageLevel.MEMORY_ONLY(), pluginConfig, streamingContext.getMetrics()));
+ }
+}
diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/MockDMaaPMRReceiver.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/MockDMaaPMRReceiver.java
new file mode 100644
index 0000000..a318406
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/MockDMaaPMRReceiver.java
@@ -0,0 +1,132 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.streaming.dmaap;
+
+import co.cask.cdap.api.data.format.StructuredRecord;
+import com.fasterxml.jackson.core.type.TypeReference;
+import org.apache.spark.storage.StorageLevel;
+import org.apache.spark.streaming.receiver.Receiver;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.DMaaPMRSourcePluginConfig;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.utils.CDAPPluginUtils;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.utils.DMaaPSourceConfigMapper;
+import org.openecomp.dcae.apod.analytics.common.exception.DCAEAnalyticsRuntimeException;
+import org.openecomp.dcae.apod.analytics.dmaap.DMaaPMRFactory;
+import org.openecomp.dcae.apod.analytics.dmaap.service.subscriber.DMaaPMRSubscriber;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.EventListener;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+
+import static org.openecomp.dcae.apod.analytics.model.util.AnalyticsModelJsonUtils.readValue;
+import static org.openecomp.dcae.apod.analytics.model.util.AnalyticsModelJsonUtils.writeValueAsString;
+
+/**
+ * DMaaP MR Receiver which calls DMaaP MR Topic and stores structured records
+ * <p>
+ * @author Rajiv Singla . Creation Date: 1/19/2017.
+ */
+public class MockDMaaPMRReceiver extends Receiver<StructuredRecord> {
+
+ private static final Logger LOG = LoggerFactory.getLogger(MockDMaaPMRReceiver.class);
+ private static final long serialVersionUID = 1L;
+
+ private static final String MOCK_MESSAGE_FILE_LOCATION = "ves_mock_messages.json";
+ private static final TypeReference<List<EventListener>> EVENT_LISTENER_TYPE_REFERENCE =
+ new TypeReference<List<EventListener>>() {
+ };
+
+ private final DMaaPMRSourcePluginConfig pluginConfig;
+
+ public MockDMaaPMRReceiver(final StorageLevel storageLevel, final DMaaPMRSourcePluginConfig pluginConfig) {
+ super(storageLevel);
+ this.pluginConfig = pluginConfig;
+ LOG.debug("Created DMaaP MR Receiver instance with plugin Config: {}", pluginConfig);
+ }
+
+ @Override
+ public void onStart() {
+
+ // create DMaaP MR Subscriber
+ final DMaaPMRSubscriber subscriber =
+ DMaaPMRFactory.create().createSubscriber(DMaaPSourceConfigMapper.map(pluginConfig));
+ storeStructuredRecords(subscriber);
+
+ }
+
+ @Override
+ public void onStop() {
+ LOG.debug("Stopping DMaaP MR Receiver with plugin config: {}", pluginConfig);
+ }
+
+ /**
+ * Fetches records from DMaaP MR Subscriber and store them as structured records
+ *
+ * @param subscriber DMaaP MR Subscriber Instance
+ */
+ public void storeStructuredRecords(final DMaaPMRSubscriber subscriber) {
+
+ LOG.debug("DMaaP MR Receiver start fetching messages from DMaaP MR Topic");
+
+ try (InputStream resourceAsStream =
+ Thread.currentThread().getContextClassLoader().getResourceAsStream(MOCK_MESSAGE_FILE_LOCATION)) {
+
+ if (resourceAsStream == null) {
+ LOG.error("Unable to find file at location: {}", MOCK_MESSAGE_FILE_LOCATION);
+ throw new DCAEAnalyticsRuntimeException("Unable to find file", LOG, new FileNotFoundException());
+ }
+
+ List<EventListener> eventListeners = readValue(resourceAsStream, EVENT_LISTENER_TYPE_REFERENCE);
+
+ final int totalMessageCount = eventListeners.size();
+ LOG.debug("Mock message count to be written to cdap stream: ()", totalMessageCount);
+
+ int i = 1;
+ for (EventListener eventListener : eventListeners) {
+ if (isStopped()) {
+ return;
+ }
+ final String eventListenerString = writeValueAsString(eventListener);
+ LOG.debug("=======>> Writing message to cdap stream no: {} of {}", i, totalMessageCount);
+ store(CDAPPluginUtils.createDMaaPMRResponseStructuredRecord(eventListenerString));
+ i++;
+ try {
+ TimeUnit.MILLISECONDS.sleep(pluginConfig.getPollingInterval());
+ } catch (InterruptedException e) {
+ LOG.error("Error while sleeping");
+ throw new DCAEAnalyticsRuntimeException("Error while sleeping", LOG, e);
+ }
+
+ }
+
+ LOG.debug("Finished writing mock messages to CDAP Stream");
+
+ } catch (IOException e) {
+ LOG.error("Error while parsing json file");
+ throw new DCAEAnalyticsRuntimeException("Error while parsing mock json file", LOG, e);
+ }
+ }
+
+}
diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/MockDMaaPMRSource.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/MockDMaaPMRSource.java
new file mode 100644
index 0000000..e0be12f
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/MockDMaaPMRSource.java
@@ -0,0 +1,73 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.streaming.dmaap;
+
+import co.cask.cdap.api.annotation.Description;
+import co.cask.cdap.api.annotation.Name;
+import co.cask.cdap.api.annotation.Plugin;
+import co.cask.cdap.api.data.format.StructuredRecord;
+import co.cask.cdap.etl.api.PipelineConfigurer;
+import co.cask.cdap.etl.api.streaming.StreamingContext;
+import co.cask.cdap.etl.api.streaming.StreamingSource;
+import org.apache.spark.storage.StorageLevel;
+import org.apache.spark.streaming.api.java.JavaDStream;
+import org.openecomp.dcae.apod.analytics.cdap.common.exception.CDAPSettingsException;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.DMaaPMRSourcePluginConfig;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * A mock implementation of DMaaP MR Receiver which sends mock ves messages
+ * <p>
+ * @author Rajiv Singla . Creation Date: 2/15/2017.
+ */
+@Plugin(type = StreamingSource.PLUGIN_TYPE)
+@Name("MockDMaaPMRSource")
+@Description("Fetches DMaaP MR Messages at regular intervals")
+public class MockDMaaPMRSource extends StreamingSource<StructuredRecord> {
+
+ private static final Logger LOG = LoggerFactory.getLogger(MockDMaaPMRSource.class);
+ private static final long serialVersionUID = 1L;
+
+ private final DMaaPMRSourcePluginConfig pluginConfig;
+
+ public MockDMaaPMRSource(final DMaaPMRSourcePluginConfig pluginConfig) {
+ LOG.debug("Creating DMaaP MR Source plugin with plugin Config: {}", pluginConfig);
+ this.pluginConfig = pluginConfig;
+ }
+
+ @Override
+ public void configurePipeline(PipelineConfigurer pipelineConfigurer) {
+ final Integer pollingInterval = pluginConfig.getPollingInterval();
+ if (pollingInterval == null) {
+ final String errorMessage = "Polling Interval field must be present";
+ throw new CDAPSettingsException(errorMessage, LOG, new IllegalArgumentException(errorMessage));
+ } else {
+ LOG.info("Mock Message will be send every ms: {}", pollingInterval);
+ }
+ }
+
+ @Override
+ public JavaDStream<StructuredRecord> getStream(final StreamingContext streamingContext) throws Exception {
+ return streamingContext.getSparkStreamingContext().receiverStream(
+ new MockDMaaPMRReceiver(StorageLevel.MEMORY_ONLY(), pluginConfig));
+ }
+}
diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/transform/filter/JsonPathFilter.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/transform/filter/JsonPathFilter.java
new file mode 100644
index 0000000..ae0d00a
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/transform/filter/JsonPathFilter.java
@@ -0,0 +1,134 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.transform.filter;
+
+import co.cask.cdap.api.annotation.Description;
+import co.cask.cdap.api.annotation.Name;
+import co.cask.cdap.api.annotation.Plugin;
+import co.cask.cdap.api.data.format.StructuredRecord;
+import co.cask.cdap.api.data.schema.Schema;
+import co.cask.cdap.etl.api.Emitter;
+import co.cask.cdap.etl.api.PipelineConfigurer;
+import co.cask.cdap.etl.api.Transform;
+import co.cask.cdap.etl.api.TransformContext;
+import com.google.common.base.Splitter;
+import com.google.common.collect.Maps;
+import com.google.common.collect.Sets;
+import org.openecomp.dcae.apod.analytics.cdap.common.utils.ValidationUtils;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.filter.JsonPathFilterPluginConfig;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.utils.CDAPPluginUtils;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.validator.JsonPathFilterPluginConfigValidator;
+import org.openecomp.dcae.apod.analytics.common.service.filter.JsonMessageFilterProcessorContext;
+import org.openecomp.dcae.apod.analytics.common.utils.MessageProcessorUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * Json Path filter Plugin filters incoming schema field based of given json path expected values
+ * <p>
+ * @author Rajiv Singla . Creation Date: 3/2/2017.
+ */
+
+@Plugin(type = Transform.PLUGIN_TYPE)
+@Name("JsonPathFilter")
+@Description("Filters incoming schema field based of given json path expected values")
+public class JsonPathFilter extends Transform<StructuredRecord, StructuredRecord> {
+
+ private static final Logger LOG = LoggerFactory.getLogger(JsonPathFilter.class);
+
+ private final JsonPathFilterPluginConfig pluginConfig;
+ private final Map<String, Set<String>> jsonFilterPathMappings;
+
+ public JsonPathFilter(final JsonPathFilterPluginConfig pluginConfig) {
+ this.pluginConfig = pluginConfig;
+ jsonFilterPathMappings = Maps.newHashMap();
+ LOG.info("Created instance of Json Path Filter Plugin with plugin config: {}", pluginConfig);
+ }
+
+
+ @Override
+ public void initialize(final TransformContext context) throws Exception {
+ super.initialize(context);
+ populateJsonFilterMapping();
+ }
+
+ @Override
+ public void configurePipeline(final PipelineConfigurer pipelineConfigurer) {
+ super.configurePipeline(pipelineConfigurer);
+ ValidationUtils.validateSettings(pluginConfig, new JsonPathFilterPluginConfigValidator());
+ final Schema inputSchema = pipelineConfigurer.getStageConfigurer().getInputSchema();
+ CDAPPluginUtils.validateSchemaContainsFields(inputSchema, pluginConfig.getIncomingJsonFieldName());
+ populateJsonFilterMapping();
+ CDAPPluginUtils.setOutputSchema(pipelineConfigurer, pluginConfig.getSchema());
+ }
+
+ @Override
+ public void transform(final StructuredRecord inputStructuredRecord, final Emitter<StructuredRecord> emitter)
+ throws Exception {
+
+ // get input json message
+ final String jsonMessage = inputStructuredRecord.get(pluginConfig.getIncomingJsonFieldName());
+
+ // process Json Filter Mappings
+ final JsonMessageFilterProcessorContext jsonMessageFilterProcessorContext =
+ MessageProcessorUtils.processJsonFilterMappings(jsonMessage, jsonFilterPathMappings);
+
+ // create new output record builder and copy any input Structured record values to output record builder
+ final Schema outputSchema = Schema.parseJson(pluginConfig.getSchema());
+ final StructuredRecord.Builder outputRecordBuilder =
+ CDAPPluginUtils.createOutputStructuredRecordBuilder(outputSchema, inputStructuredRecord);
+
+ // add json filter matched field
+ final StructuredRecord.Builder outputRecordBuilderWithMatchedField =
+ CDAPPluginUtils.addFieldValueToStructuredRecordBuilder(outputRecordBuilder,
+ outputSchema, pluginConfig.getOutputSchemaFieldName(),
+ jsonMessageFilterProcessorContext.getMatched());
+
+ // emit structured record with filtering matched field
+ final StructuredRecord outputStructuredRecord = outputRecordBuilderWithMatchedField.build();
+
+ LOG.debug("Incoming Json Message: {}.Json Path Filter Output Matched Field: {}", jsonMessage,
+ outputStructuredRecord.get(pluginConfig.getOutputSchemaFieldName()));
+
+ emitter.emit(outputStructuredRecord);
+
+ }
+
+ /**
+ * Populates Json Filter Mapping
+ */
+ private void populateJsonFilterMapping() {
+ final Map<String, String> fieldMappings =
+ CDAPPluginUtils.extractFieldMappings(pluginConfig.getJsonFilterMappings());
+ if (fieldMappings.isEmpty()) {
+ throw new IllegalArgumentException("No Field Mapping found. Invalid Filter mapping configuration");
+ }
+ final Splitter semiColonSplitter = Splitter.on(";");
+ for (Map.Entry<String, String> fieldMappingEntry : fieldMappings.entrySet()) {
+ jsonFilterPathMappings.put(fieldMappingEntry.getKey(),
+ Sets.newLinkedHashSet(semiColonSplitter.split(fieldMappingEntry.getValue())));
+ }
+ LOG.info("Input Json Filter Mappings: {}", jsonFilterPathMappings);
+ }
+}
diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/CDAPPluginUtils.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/CDAPPluginUtils.java
new file mode 100644
index 0000000..af191c5
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/CDAPPluginUtils.java
@@ -0,0 +1,295 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.utils;
+
+import co.cask.cdap.api.data.format.StructuredRecord;
+import co.cask.cdap.api.data.schema.Schema;
+import co.cask.cdap.etl.api.PipelineConfigurer;
+import com.google.common.base.Function;
+import com.google.common.base.Splitter;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import org.apache.commons.lang3.StringUtils;
+import org.openecomp.dcae.apod.analytics.cdap.common.exception.CDAPSettingsException;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.schema.dmaap.DMaaPSourceOutputSchema;
+import org.openecomp.dcae.apod.analytics.common.exception.DCAEAnalyticsRuntimeException;
+import org.openecomp.dcae.apod.analytics.model.util.AnalyticsModelJsonUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
+/**
+ * @author Rajiv Singla . Creation Date: 1/26/2017.
+ */
+public abstract class CDAPPluginUtils extends AnalyticsModelJsonUtils {
+
+ private static final Logger LOG = LoggerFactory.getLogger(CDAPPluginUtils.class);
+
+ public static final Function<Schema, Schema.Type> SCHEMA_TO_TYPE_FUNCTION = new Function<Schema, Schema.Type>() {
+ @Override
+ public Schema.Type apply(@Nonnull Schema schema) {
+ return schema.getType();
+ }
+ };
+
+
+
+ private CDAPPluginUtils() {
+ // private constructor
+ }
+
+ /**
+ * Validates if CDAP Schema contains expected fields
+ *
+ * @param schema schema that need to be validated
+ * @param expectedFields fields that are expected to be in the schema
+ */
+
+ public static void validateSchemaContainsFields(@Nullable final Schema schema, final String... expectedFields) {
+
+ LOG.debug("Validating schema:{} contains expected fields:{}", schema, Arrays.toString(expectedFields));
+
+ if (schema == null) {
+ // If input schema is null then no validation possible
+ LOG.warn("Input Schema is null. No validation possible");
+ } else {
+ // Check if expected fields are indeed present in the schema
+ for (String expectedField : expectedFields) {
+ final Schema.Field schemaField = schema.getField(expectedField);
+ if (schemaField == null) {
+ final String errorMessage = String.format(
+ "Unable to find expected field: %s, in schema: %s", expectedField, schema);
+ throw new CDAPSettingsException(errorMessage, LOG, new IllegalArgumentException(errorMessage));
+ }
+ }
+ LOG.debug("Successfully validated schema:{}, contains expected fields:{}", schema,
+ Arrays.toString(expectedFields));
+ }
+ }
+
+
+ /**
+ * Creates a new Structured Record containing DMaaP MR fetched message
+ *
+ * @param message DMaaP MR fetch message
+ *
+ * @return Structured record containing DMaaP MR Message
+ */
+ public static StructuredRecord createDMaaPMRResponseStructuredRecord(final String message) {
+ StructuredRecord.Builder recordBuilder = StructuredRecord.builder(DMaaPSourceOutputSchema.getSchema());
+ recordBuilder
+ .set(DMaaPSourceOutputSchema.TIMESTAMP.getSchemaColumnName(), System.nanoTime())
+ .set(DMaaPSourceOutputSchema.RESPONSE_CODE.getSchemaColumnName(), 200)
+ .set(DMaaPSourceOutputSchema.RESPONSE_MESSAGE.getSchemaColumnName(), "OK")
+ .set(DMaaPSourceOutputSchema.FETCHED_MESSAGE.getSchemaColumnName(), message);
+ return recordBuilder.build();
+ }
+
+
+ /**
+ * Creates output {@link StructuredRecord.Builder} which has copied values from input {@link StructuredRecord}
+ *
+ * @param outputSchema output Schema
+ * @param inputStructuredRecord input Structured Record
+ *
+ * @return output Structured Record builder with pre populated values from input structured record
+ */
+ public static StructuredRecord.Builder createOutputStructuredRecordBuilder(
+ @Nonnull final Schema outputSchema,
+ @Nonnull final StructuredRecord inputStructuredRecord) {
+
+ // Get input structured Record Schema
+ final Schema inputSchema = inputStructuredRecord.getSchema();
+ // Create new instance of output Structured Record Builder from output Schema
+ final StructuredRecord.Builder outputStructuredRecordBuilder = StructuredRecord.builder(outputSchema);
+
+ // iterate over input fields and if output schema has field with same name copy the value to out record builder
+ for (Schema.Field inputField : inputSchema.getFields()) {
+ final String inputFieldName = inputField.getName();
+ if (outputSchema.getField(inputFieldName) != null) {
+ outputStructuredRecordBuilder.set(inputFieldName, inputStructuredRecord.get(inputFieldName));
+ }
+ }
+
+ return outputStructuredRecordBuilder;
+ }
+
+
+ /**
+ * Adds Field value to {@link StructuredRecord.Builder} if schema contains that field Name
+ *
+ * @param structuredRecordBuilder structured record builder
+ * @param structuredRecordSchema schema for structured record builder
+ * @param fieldName field name
+ * @param fieldValue field value
+ *
+ * @return structured record builder with populated field name and value if schema contains field name
+ */
+ public static StructuredRecord.Builder addFieldValueToStructuredRecordBuilder(
+ @Nonnull final StructuredRecord.Builder structuredRecordBuilder,
+ @Nonnull final Schema structuredRecordSchema,
+ @Nonnull final String fieldName,
+ final Object fieldValue) {
+
+ // check if schema contains field Name
+ if (structuredRecordSchema.getField(fieldName) != null) {
+ structuredRecordBuilder.set(fieldName, fieldValue);
+ } else {
+ LOG.info("Unable to populate value for field Name: {} with field value: {}. " +
+ "Schema Fields: {} does not contain field name: {}",
+ fieldName, fieldValue, structuredRecordSchema.getFields(), fieldName);
+ }
+
+ return structuredRecordBuilder;
+ }
+
+
+ /**
+ * Validates that given schema String has fieldName of expected type. If field does not exist in given schema
+ * then validation will pass with warning. If field does exist in given schema then this validation will return
+ * true if field type is same as expected type else false
+ *
+ * @param schemaString CDAP Plugin output or input schema string
+ * @param fieldName field name
+ * @param expectedFieldType expected schema field type
+ *
+ * @return true if field type matches expected field type else false. If field does not exist in
+ * give schema validation will pass but will generate a warning message
+ */
+ public static boolean validateSchemaFieldType(@Nonnull final String schemaString,
+ @Nonnull final String fieldName,
+ @Nonnull final Schema.Type expectedFieldType) {
+
+ try {
+ // parse given schema String
+ final Schema outputSchema = Schema.parseJson(schemaString);
+ final Schema.Field schemaField = outputSchema.getField(fieldName);
+
+ // if given schema does contain field then validated fieldName type
+ if (schemaField != null) {
+
+ final List<Schema> schemas = new LinkedList<>();
+
+ // if it is a union type then grab all union schemas
+ if (outputSchema.getField(fieldName).getSchema().getType() == Schema.Type.UNION) {
+ final List<Schema> unionFieldSchemas =
+ outputSchema.getField(fieldName).getSchema().getUnionSchemas();
+ schemas.addAll(unionFieldSchemas);
+ } else {
+ // if not union type the just get the field schema
+ final Schema fieldSchema = outputSchema.getField(fieldName).getSchema();
+ schemas.add(fieldSchema);
+ }
+
+ // get all schema types
+ final List<Schema.Type> fieldTypes =
+ Lists.transform(schemas, CDAPPluginUtils.SCHEMA_TO_TYPE_FUNCTION);
+
+ // if all schema types does not contain expected field type then return false
+ if (!fieldTypes.contains(expectedFieldType)) {
+ LOG.error("Validation failed for fieldName: {} is NOT of expected Type: {} in schema: {}",
+ fieldName, expectedFieldType, outputSchema);
+ return false;
+ }
+
+ // field type validation passed
+ LOG.debug("Successfully validated fieldName: {} is of expected Type: {}",
+ fieldName, expectedFieldType);
+
+ return true;
+
+ } else {
+
+ // if field does not exist then the validation will pass but will generate warning message
+ LOG.warn("Validation of field type not possible. Field name: {} does not exist in schema: {}",
+ fieldName, outputSchema);
+ return true;
+ }
+
+ } catch (IOException e) {
+ final String errorMessage =
+ String.format("Unable to parse schema: %s for field type validation. " +
+ "Field Name: %s, Expected Field Type: %s Exception: %s",
+ schemaString, fieldName, expectedFieldType, e);
+ throw new DCAEAnalyticsRuntimeException(errorMessage, LOG, e);
+ }
+
+ }
+
+
+ /**
+ * Parses provided schema String as Schema object and set it as output Schema format
+ *
+ * @param pipelineConfigurer plugin pipeline configurer
+ * @param schemaString schema String to be set as output schema
+ */
+ public static void setOutputSchema(final PipelineConfigurer pipelineConfigurer, final String schemaString) {
+ try {
+ final Schema outputSchema = Schema.parseJson(schemaString);
+ pipelineConfigurer.getStageConfigurer().setOutputSchema(outputSchema);
+ } catch (IOException e) {
+ final String errorMessage = String.format(
+ "Schema specified is not a valid JSON. Schema String: %s, Exception: %s", schemaString, e);
+ throw new CDAPSettingsException(errorMessage, LOG, new IllegalArgumentException(errorMessage));
+ }
+ }
+
+
+ /**
+ * Parses incoming plugin config mapping to key value map. If any of the key value map is blank an Illegal Argument
+ * exception will be thrown
+ *
+ * @param mappingFieldString field Mapping String
+ *
+ * @return map containing mapping key values
+ */
+ public static Map<String, String> extractFieldMappings(final String mappingFieldString) {
+ final Map<String, String> fieldMappings = Maps.newHashMap();
+ if (StringUtils.isNotBlank(mappingFieldString)) {
+ final Splitter commaSplitter = Splitter.on(",");
+ for (String fieldMapping : commaSplitter.split(mappingFieldString)) {
+ final String[] keyValueMappings = fieldMapping.split(":");
+ if (keyValueMappings.length != 2 ||
+ StringUtils.isBlank(keyValueMappings[0]) ||
+ StringUtils.isBlank(keyValueMappings[1])) {
+ final String errorMessage = "Field Mapping key or value is Blank. All field mappings must " +
+ "be present in mappings: " + mappingFieldString;
+ throw new DCAEAnalyticsRuntimeException(
+ errorMessage, LOG, new IllegalArgumentException(errorMessage));
+ }
+ fieldMappings.put(keyValueMappings[0].trim(), keyValueMappings[1].trim());
+ }
+ }
+ return fieldMappings;
+ }
+
+
+
+
+}
diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/DMaaPSinkConfigMapper.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/DMaaPSinkConfigMapper.java
new file mode 100644
index 0000000..ebe7d49
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/DMaaPSinkConfigMapper.java
@@ -0,0 +1,112 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.utils;
+
+import com.google.common.base.Function;
+import org.apache.hadoop.conf.Configuration;
+import org.openecomp.dcae.apod.analytics.cdap.common.CDAPPluginConstants.DMaaPMRSinkHadoopConfigFields;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRPublisherConfig;
+
+import javax.annotation.Nonnull;
+
+import static org.openecomp.dcae.apod.analytics.cdap.common.utils.ValidationUtils.isEmpty;
+import static org.openecomp.dcae.apod.analytics.cdap.common.utils.ValidationUtils.isPresent;
+
+/**
+ * Function that converts {@link Configuration} to {@link DMaaPMRPublisherConfig}
+ * <p>
+ * @author Rajiv Singla . Creation Date: 1/26/2017.
+ */
+public class DMaaPSinkConfigMapper implements Function<Configuration, DMaaPMRPublisherConfig> {
+
+ /**
+ * Static method to map {@link Configuration} to {@link DMaaPMRPublisherConfig}
+ *
+ * @param sinkPluginConfig DMaaP Sink Plugin Config
+ *
+ * @return DMaaP MR Publisher Config
+ */
+ public static DMaaPMRPublisherConfig map(final Configuration sinkPluginConfig) {
+ return new DMaaPSinkConfigMapper().apply(sinkPluginConfig);
+ }
+
+ /**
+ * Converts {@link Configuration} to {@link DMaaPMRPublisherConfig}
+ *
+ * @param configuration Hadoop Configuration containing DMaaP MR Sink field values
+ *
+ * @return DMaaP MR Publisher Config
+ */
+ @Nonnull
+ @Override
+ public DMaaPMRPublisherConfig apply(@Nonnull Configuration configuration) {
+
+ // Create a new publisher settings builder
+ final String hostName = configuration.get(DMaaPMRSinkHadoopConfigFields.HOST_NAME);
+ final String topicName = configuration.get(DMaaPMRSinkHadoopConfigFields.TOPIC_NAME);
+
+ if (isEmpty(hostName) || isEmpty(topicName)) {
+ throw new IllegalStateException("DMaaP MR Sink Host Name and Topic Name must be present");
+ }
+
+ final DMaaPMRPublisherConfig.Builder publisherConfigBuilder =
+ new DMaaPMRPublisherConfig.Builder(hostName, topicName);
+
+ // Setup up any optional publisher parameters if they are present
+ final String portNumber = configuration.get(DMaaPMRSinkHadoopConfigFields.PORT_NUMBER);
+ if (portNumber != null) {
+ publisherConfigBuilder.setPortNumber(Integer.parseInt(portNumber));
+ }
+
+ final String protocol = configuration.get(DMaaPMRSinkHadoopConfigFields.PROTOCOL);
+ if (isPresent(protocol)) {
+ publisherConfigBuilder.setProtocol(protocol);
+ }
+
+ final String userName = configuration.get(DMaaPMRSinkHadoopConfigFields.USER_NAME);
+ if (isPresent(userName)) {
+ publisherConfigBuilder.setUserName(userName);
+ }
+
+ final String userPassword = configuration.get(DMaaPMRSinkHadoopConfigFields.USER_PASS);
+ if (isPresent(userPassword)) {
+ publisherConfigBuilder.setUserPassword(userPassword);
+ }
+
+ final String contentType = configuration.get(DMaaPMRSinkHadoopConfigFields.CONTENT_TYPE);
+ if (isPresent(contentType)) {
+ publisherConfigBuilder.setContentType(contentType);
+ }
+
+ final String maxBatchSize = configuration.get(DMaaPMRSinkHadoopConfigFields.MAX_BATCH_SIZE);
+ if (maxBatchSize != null) {
+ publisherConfigBuilder.setMaxBatchSize(Integer.parseInt(maxBatchSize));
+ }
+
+ final String maxRecoveryQueueSize = configuration.get(DMaaPMRSinkHadoopConfigFields.MAX_RECOVER_QUEUE_SIZE);
+ if (maxRecoveryQueueSize != null) {
+ publisherConfigBuilder.setMaxRecoveryQueueSize(Integer.parseInt(maxRecoveryQueueSize));
+ }
+
+ return publisherConfigBuilder.build();
+
+ }
+}
diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/DMaaPSourceConfigMapper.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/DMaaPSourceConfigMapper.java
new file mode 100644
index 0000000..8717632
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/DMaaPSourceConfigMapper.java
@@ -0,0 +1,118 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.utils;
+
+import com.google.common.base.Function;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.DMaaPMRSourcePluginConfig;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRSubscriberConfig;
+
+import javax.annotation.Nonnull;
+
+import static org.openecomp.dcae.apod.analytics.cdap.common.utils.ValidationUtils.isEmpty;
+import static org.openecomp.dcae.apod.analytics.cdap.common.utils.ValidationUtils.isPresent;
+
+/**
+ * Function that converts {@link DMaaPMRSourcePluginConfig} to {@link DMaaPMRSubscriberConfig}
+ * <p>
+ * @author Rajiv Singla . Creation Date: 1/18/2017.
+ */
+public class DMaaPSourceConfigMapper implements Function<DMaaPMRSourcePluginConfig, DMaaPMRSubscriberConfig> {
+
+ /**
+ * Static factory method to map {@link DMaaPMRSourcePluginConfig} to {@link DMaaPMRSubscriberConfig}
+ *
+ * @param pluginConfig DMaaP MR Souce Plugin Config
+ *
+ * @return DMaaP MR Subscriber Config
+ */
+ public static DMaaPMRSubscriberConfig map(final DMaaPMRSourcePluginConfig pluginConfig) {
+ return new DMaaPSourceConfigMapper().apply(pluginConfig);
+ }
+
+ /**
+ * Converts {@link DMaaPMRSourcePluginConfig} to {@link DMaaPMRSubscriberConfig} object
+ *
+ * @param sourcePluginConfig DMaaP MR Source Plugin Config
+ *
+ * @return DMaaP MR Subscriber Config
+ */
+ @Nonnull
+ @Override
+ public DMaaPMRSubscriberConfig apply(@Nonnull DMaaPMRSourcePluginConfig sourcePluginConfig) {
+
+ // Create a new subscriber settings builder
+ final String hostName = sourcePluginConfig.getHostName();
+ final String topicName = sourcePluginConfig.getTopicName();
+ if (isEmpty(hostName) || isEmpty(topicName)) {
+ throw new IllegalStateException("DMaaP MR Source Host Name and Topic Name must be present");
+ }
+ final DMaaPMRSubscriberConfig.Builder subscriberConfigBuilder = new DMaaPMRSubscriberConfig.Builder(
+ hostName, topicName);
+
+ // Setup up any optional subscriber parameters if they are present
+ final Integer subscriberHostPortNumber = sourcePluginConfig.getPortNumber();
+ if (subscriberHostPortNumber != null) {
+ subscriberConfigBuilder.setPortNumber(subscriberHostPortNumber);
+ }
+
+ final String subscriberProtocol = sourcePluginConfig.getProtocol();
+ if (isPresent(subscriberProtocol)) {
+ subscriberConfigBuilder.setProtocol(subscriberProtocol);
+ }
+
+ final String subscriberUserName = sourcePluginConfig.getUserName();
+ if (isPresent(subscriberUserName)) {
+ subscriberConfigBuilder.setUserName(subscriberUserName);
+ }
+
+ final String subscriberUserPassword = sourcePluginConfig.getUserPassword();
+ if (isPresent(subscriberUserPassword)) {
+ subscriberConfigBuilder.setUserPassword(subscriberUserPassword);
+ }
+
+ final String subscriberContentType = sourcePluginConfig.getContentType();
+ if (isPresent(subscriberContentType)) {
+ subscriberConfigBuilder.setContentType(subscriberContentType);
+ }
+
+ final String subscriberConsumerId = sourcePluginConfig.getConsumerId();
+ if (isPresent(subscriberConsumerId)) {
+ subscriberConfigBuilder.setConsumerId(subscriberConsumerId);
+ }
+
+ final String subscriberConsumerGroup = sourcePluginConfig.getConsumerGroup();
+ if (isPresent(subscriberConsumerGroup)) {
+ subscriberConfigBuilder.setConsumerGroup(subscriberConsumerGroup);
+ }
+
+ final Integer subscriberTimeoutMS = sourcePluginConfig.getTimeoutMS();
+ if (subscriberTimeoutMS != null) {
+ subscriberConfigBuilder.setTimeoutMS(subscriberTimeoutMS);
+ }
+ final Integer subscriberMessageLimit = sourcePluginConfig.getMessageLimit();
+ if (subscriberMessageLimit != null) {
+ subscriberConfigBuilder.setMessageLimit(subscriberMessageLimit);
+ }
+
+ // return Subscriber config
+ return subscriberConfigBuilder.build();
+ }
+}
diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/BaseDMaaPMRPluginConfigValidator.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/BaseDMaaPMRPluginConfigValidator.java
new file mode 100644
index 0000000..e24f940
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/BaseDMaaPMRPluginConfigValidator.java
@@ -0,0 +1,72 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.validator;
+
+import org.openecomp.dcae.apod.analytics.cdap.common.utils.ValidationUtils;
+import org.openecomp.dcae.apod.analytics.cdap.common.validation.CDAPAppSettingsValidator;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.BaseDMaaPMRPluginConfig;
+import org.openecomp.dcae.apod.analytics.common.validation.GenericValidationResponse;
+
+/**
+ * Validates plugin config values which are common in DMaaP MR Configs - {@link BaseDMaaPMRPluginConfig}
+ * <p>
+ * @author Rajiv Singla . Creation Date: 1/23/2017.
+ *
+ * @param <T> {@link BaseDMaaPMRPluginConfig} Sub classes
+ */
+public abstract class BaseDMaaPMRPluginConfigValidator<T extends BaseDMaaPMRPluginConfig> implements
+ CDAPAppSettingsValidator<T, GenericValidationResponse<T>> {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Validates the {@link BaseDMaaPMRPluginConfig} parameters
+ *
+ * @param baseDMaaPMRPluginConfig DMaaP MR Plugin Config
+ *
+ * @return Validation Response containing validation errors if any
+ */
+ @Override
+ public GenericValidationResponse<T> validateAppSettings(final T baseDMaaPMRPluginConfig) {
+
+ final GenericValidationResponse<T> validationResponse = new GenericValidationResponse<>();
+
+ if (ValidationUtils.isEmpty(baseDMaaPMRPluginConfig.getHostName())) {
+ validationResponse.addErrorMessage(
+ "hostName",
+ "DMaaPMRPluginConfig - hostname field is undefined: " + baseDMaaPMRPluginConfig);
+ }
+
+ if (baseDMaaPMRPluginConfig.getPortNumber() == null) {
+ validationResponse.addErrorMessage(
+ "port Number",
+ "DMaaPMRPluginConfig - host port number field is undefined: " + baseDMaaPMRPluginConfig);
+ }
+
+ if (ValidationUtils.isEmpty(baseDMaaPMRPluginConfig.getTopicName())) {
+ validationResponse.addErrorMessage(
+ "topic Name",
+ "DMaaPMRSourcePluginConfig - topic name field is undefined: " + baseDMaaPMRPluginConfig);
+ }
+
+ return validationResponse;
+ }
+}
diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/DMaaPMRSinkPluginConfigValidator.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/DMaaPMRSinkPluginConfigValidator.java
new file mode 100644
index 0000000..b01f0b4
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/DMaaPMRSinkPluginConfigValidator.java
@@ -0,0 +1,58 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.validator;
+
+import org.openecomp.dcae.apod.analytics.cdap.common.utils.ValidationUtils;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.DMaaPMRSinkPluginConfig;
+import org.openecomp.dcae.apod.analytics.common.validation.GenericValidationResponse;
+
+/**
+ * Validates plugin config values in {@link DMaaPMRSinkPluginConfig}
+ * <p>
+ * @author Rajiv Singla . Creation Date: 1/30/2017.
+ */
+public class DMaaPMRSinkPluginConfigValidator extends BaseDMaaPMRPluginConfigValidator<DMaaPMRSinkPluginConfig> {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Validates plugin config values in {@link DMaaPMRSinkPluginConfig}
+ *
+ * @param sinkPluginConfig Sink Plugin Config
+ *
+ * @return Validation response containing validation errors if any
+ */
+ @Override
+ public GenericValidationResponse<DMaaPMRSinkPluginConfig> validateAppSettings(
+ final DMaaPMRSinkPluginConfig sinkPluginConfig) {
+
+ // validate settings in BaseDMaaPMRPluginConfig
+ final GenericValidationResponse<DMaaPMRSinkPluginConfig> validationResponse =
+ super.validateAppSettings(sinkPluginConfig);
+
+ if (ValidationUtils.isEmpty(sinkPluginConfig.getMessageColumnName())) {
+ validationResponse.addErrorMessage("messageColumn Name",
+ "DMaaPMRSinkPluginConfig - message column name field is undefined: " + sinkPluginConfig);
+ }
+
+ return validationResponse;
+ }
+}
diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/DMaaPMRSourcePluginConfigValidator.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/DMaaPMRSourcePluginConfigValidator.java
new file mode 100644
index 0000000..56a658c
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/DMaaPMRSourcePluginConfigValidator.java
@@ -0,0 +1,58 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.validator;
+
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.DMaaPMRSourcePluginConfig;
+import org.openecomp.dcae.apod.analytics.common.validation.GenericValidationResponse;
+
+/**
+ * Validates plugin config values in {@link DMaaPMRSourcePluginConfig}
+ * <p>
+ * @author Rajiv Singla . Creation Date: 1/30/2017.
+ */
+public class DMaaPMRSourcePluginConfigValidator extends BaseDMaaPMRPluginConfigValidator<DMaaPMRSourcePluginConfig> {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Validates plugin config values in {@link DMaaPMRSourcePluginConfig}
+ *
+ * @param sourcePluginConfig Source Plugin Config
+ *
+ * @return Validation response containing validation errors if any
+ */
+ @Override
+ public GenericValidationResponse<DMaaPMRSourcePluginConfig> validateAppSettings(
+ final DMaaPMRSourcePluginConfig sourcePluginConfig) {
+
+ // validate settings in BaseDMaaPMRPluginConfig
+ final GenericValidationResponse<DMaaPMRSourcePluginConfig> validationResponse =
+ super.validateAppSettings(sourcePluginConfig);
+
+ if (sourcePluginConfig.getPollingInterval() == null) {
+ validationResponse.addErrorMessage(
+ "port Number",
+ "DMaaPMRSourcePluginConfig - polling interval is undefined: " + sourcePluginConfig);
+ }
+
+ return validationResponse;
+ }
+}
diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/JsonPathFilterPluginConfigValidator.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/JsonPathFilterPluginConfigValidator.java
new file mode 100644
index 0000000..ff2f18b
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/JsonPathFilterPluginConfigValidator.java
@@ -0,0 +1,83 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.validator;
+
+import co.cask.cdap.api.data.schema.Schema;
+import org.openecomp.dcae.apod.analytics.cdap.common.utils.ValidationUtils;
+import org.openecomp.dcae.apod.analytics.cdap.common.validation.CDAPAppSettingsValidator;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.filter.JsonPathFilterPluginConfig;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.utils.CDAPPluginUtils;
+import org.openecomp.dcae.apod.analytics.common.validation.GenericValidationResponse;
+
+/**
+ * Validator to validate {@link JsonPathFilterPluginConfig}
+ * <p>
+ * @author Rajiv Singla . Creation Date: 3/2/2017.
+ */
+public class JsonPathFilterPluginConfigValidator implements CDAPAppSettingsValidator<JsonPathFilterPluginConfig,
+ GenericValidationResponse<JsonPathFilterPluginConfig>> {
+
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public GenericValidationResponse<JsonPathFilterPluginConfig> validateAppSettings(
+ final JsonPathFilterPluginConfig jsonPathFilterPluginConfig) {
+
+ final GenericValidationResponse<JsonPathFilterPluginConfig> validationResponse =
+ new GenericValidationResponse<>();
+
+ final String jsonFilterMappings = jsonPathFilterPluginConfig.getJsonFilterMappings();
+ if (ValidationUtils.isEmpty(jsonFilterMappings)) {
+
+ validationResponse.addErrorMessage("JsonFilterMappings", "Json Filter Mappings must be present");
+ }
+
+
+ final String matchedField = jsonPathFilterPluginConfig.getOutputSchemaFieldName();
+ final String outputSchemaJson = jsonPathFilterPluginConfig.getSchema();
+
+ if (ValidationUtils.isEmpty(outputSchemaJson)) {
+
+ validationResponse.addErrorMessage("output schema", "Output schema is not present");
+
+ } else {
+
+ // validate matched output field type is boolean
+ if (matchedField != null &&
+ !CDAPPluginUtils.validateSchemaFieldType(outputSchemaJson, matchedField, Schema.Type.BOOLEAN)) {
+ validationResponse.addErrorMessage("OutputSchemaFieldName",
+ String.format(
+ "OutputSchemaFieldName: %s must be marked as boolean type", matchedField));
+ }
+
+ // validate matched output field type is nullable
+ if (matchedField != null &&
+ !CDAPPluginUtils.validateSchemaFieldType(outputSchemaJson, matchedField, Schema.Type.NULL)) {
+ validationResponse.addErrorMessage("OutputSchemaFieldName",
+ String.format(
+ "OutputSchemaFieldName: %s must be marked as nullable type", matchedField));
+ }
+
+ }
+
+ return validationResponse;
+ }
+}
diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/SimpleTCAPluginConfigValidator.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/SimpleTCAPluginConfigValidator.java
new file mode 100644
index 0000000..e0942ff
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/SimpleTCAPluginConfigValidator.java
@@ -0,0 +1,91 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.validator;
+
+import co.cask.cdap.api.data.schema.Schema;
+import org.openecomp.dcae.apod.analytics.cdap.common.utils.ValidationUtils;
+import org.openecomp.dcae.apod.analytics.cdap.common.validation.CDAPAppSettingsValidator;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.tca.SimpleTCAPluginConfig;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.utils.CDAPPluginUtils;
+import org.openecomp.dcae.apod.analytics.common.validation.GenericValidationResponse;
+
+/**
+ * Validator that validate {@link SimpleTCAPluginConfig}
+ * <p>
+ * @author Rajiv Singla . Creation Date: 2/21/2017.
+ */
+public class SimpleTCAPluginConfigValidator implements CDAPAppSettingsValidator<SimpleTCAPluginConfig,
+ GenericValidationResponse<SimpleTCAPluginConfig>> {
+
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public GenericValidationResponse<SimpleTCAPluginConfig> validateAppSettings(
+ final SimpleTCAPluginConfig tcaPluginConfig) {
+
+ final GenericValidationResponse<SimpleTCAPluginConfig> validationResponse = new GenericValidationResponse<>();
+
+ if (ValidationUtils.isEmpty(tcaPluginConfig.getVesMessageFieldName())) {
+ validationResponse.addErrorMessage("vesMessageFieldName",
+ "Missing VES Message Field Name from plugin incoming schema");
+ }
+
+ if (ValidationUtils.isEmpty(tcaPluginConfig.getPolicyJson())) {
+ validationResponse.addErrorMessage("policyJson",
+ "Missing tca Policy Json");
+ }
+
+ final String alertFieldValue = tcaPluginConfig.getAlertFieldName();
+ final String alertFieldName = "alertFieldName";
+ if (ValidationUtils.isEmpty(alertFieldValue)) {
+ validationResponse.addErrorMessage(alertFieldName,
+ "Missing alert Field Name that will be placed in plugin outgoing schema");
+ }
+
+ if (ValidationUtils.isEmpty(tcaPluginConfig.getMessageTypeFieldName())) {
+ validationResponse.addErrorMessage("messageTypeField",
+ "Missing message Type Field Name that will be placed in plugin outgoing schema");
+ }
+
+
+ final String outputSchemaJson = tcaPluginConfig.getSchema();
+ if (ValidationUtils.isEmpty(outputSchemaJson)) {
+ validationResponse.addErrorMessage("output schema", "Output schema is not present");
+ } else {
+ // validate output schema - alert field name is of type string
+ if (alertFieldValue != null &&
+ !CDAPPluginUtils.validateSchemaFieldType(outputSchemaJson, alertFieldValue, Schema.Type.STRING)) {
+ validationResponse.addErrorMessage(alertFieldName,
+ String.format(
+ "Alert Field Name: %s must be String type", alertFieldValue));
+ }
+ // validate output schema - alert field name is nullable
+ if (alertFieldValue != null &&
+ !CDAPPluginUtils.validateSchemaFieldType(outputSchemaJson, alertFieldValue, Schema.Type.NULL)) {
+ validationResponse.addErrorMessage(alertFieldName,
+ String.format(
+ "Alert Field Name: %s must be marked as nullable type", alertFieldValue));
+ }
+ }
+
+ return validationResponse;
+ }
+}
diff --git a/dcae-analytics-cdap-plugins/src/main/resources/ves_mock_messages.json b/dcae-analytics-cdap-plugins/src/main/resources/ves_mock_messages.json
new file mode 100644
index 0000000..bc7a924
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/main/resources/ves_mock_messages.json
@@ -0,0 +1,12952 @@
+[
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6086,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 42,
+ "bytesOut": 7156,
+ "packetsIn": 93,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070210290442,
+ "eventId": "375",
+ "lastEpochMicrosec": 1477070220290442,
+ "priority": "Normal",
+ "sequence": 375,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5403,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 28,
+ "bytesOut": 4530,
+ "packetsIn": 78,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070260383311,
+ "eventId": "380",
+ "lastEpochMicrosec": 1477070270383311,
+ "priority": "Normal",
+ "sequence": 380,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3972,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 30,
+ "bytesOut": 5316,
+ "packetsIn": 56,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070290441950,
+ "eventId": "383",
+ "lastEpochMicrosec": 1477070300441950,
+ "priority": "Normal",
+ "sequence": 383,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4761,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 33,
+ "bytesOut": 5528,
+ "packetsIn": 70,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070380597960,
+ "eventId": "392",
+ "lastEpochMicrosec": 1477070390597960,
+ "priority": "Normal",
+ "sequence": 392,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5828,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 29,
+ "bytesOut": 5222,
+ "packetsIn": 89,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070390615151,
+ "eventId": "393",
+ "lastEpochMicrosec": 1477070400615151,
+ "priority": "Normal",
+ "sequence": 393,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3834,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 25,
+ "bytesOut": 4334,
+ "packetsIn": 58,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070701189940,
+ "eventId": "424",
+ "lastEpochMicrosec": 1477070711189940,
+ "priority": "Normal",
+ "sequence": 424,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3892,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 24,
+ "bytesOut": 4400,
+ "packetsIn": 53,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070851466814,
+ "eventId": "439",
+ "lastEpochMicrosec": 1477070861466814,
+ "priority": "Normal",
+ "sequence": 439,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5948,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 29,
+ "bytesOut": 5215,
+ "packetsIn": 90,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070931613946,
+ "eventId": "447",
+ "lastEpochMicrosec": 1477070941613946,
+ "priority": "Normal",
+ "sequence": 447,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4324,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 30,
+ "bytesOut": 5436,
+ "packetsIn": 57,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070971689950,
+ "eventId": "451",
+ "lastEpochMicrosec": 1477070981689950,
+ "priority": "Normal",
+ "sequence": 451,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5918,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 34,
+ "bytesOut": 5668,
+ "packetsIn": 91,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070991724150,
+ "eventId": "453",
+ "lastEpochMicrosec": 1477071001724150,
+ "priority": "Normal",
+ "sequence": 453,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4200,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 28,
+ "bytesOut": 5192,
+ "packetsIn": 63,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071081905713,
+ "eventId": "462",
+ "lastEpochMicrosec": 1477071091905713,
+ "priority": "Normal",
+ "sequence": 462,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4490,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 36,
+ "bytesOut": 5920,
+ "packetsIn": 67,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071262221510,
+ "eventId": "480",
+ "lastEpochMicrosec": 1477071272221510,
+ "priority": "Normal",
+ "sequence": 480,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 25940,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 157,
+ "bytesOut": 27474,
+ "packetsIn": 303,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071412476618,
+ "eventId": "495",
+ "lastEpochMicrosec": 1477071422476618,
+ "priority": "Normal",
+ "sequence": 495,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 7160,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 31,
+ "bytesOut": 5418,
+ "packetsIn": 112,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071532712315,
+ "eventId": "507",
+ "lastEpochMicrosec": 1477071542712315,
+ "priority": "Normal",
+ "sequence": 507,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5563,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 25,
+ "bytesOut": 4192,
+ "packetsIn": 81,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071582806156,
+ "eventId": "512",
+ "lastEpochMicrosec": 1477071592806156,
+ "priority": "Normal",
+ "sequence": 512,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4988,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 27,
+ "bytesOut": 5218,
+ "packetsIn": 77,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071592825964,
+ "eventId": "513",
+ "lastEpochMicrosec": 1477071602825964,
+ "priority": "Normal",
+ "sequence": 513,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 9123,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 53,
+ "bytesOut": 8412,
+ "packetsIn": 127,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071642920935,
+ "eventId": "518",
+ "lastEpochMicrosec": 1477071652920935,
+ "priority": "Normal",
+ "sequence": 518,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 18442,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 112,
+ "bytesOut": 19404,
+ "packetsIn": 218,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071733101176,
+ "eventId": "527",
+ "lastEpochMicrosec": 1477071743101176,
+ "priority": "Normal",
+ "sequence": 527,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5216,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 27,
+ "bytesOut": 5130,
+ "packetsIn": 80,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071743125902,
+ "eventId": "528",
+ "lastEpochMicrosec": 1477071753125902,
+ "priority": "Normal",
+ "sequence": 528,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5870,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 36,
+ "bytesOut": 6716,
+ "packetsIn": 91,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071903446337,
+ "eventId": "544",
+ "lastEpochMicrosec": 1477071913446337,
+ "priority": "Normal",
+ "sequence": 544,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 35138,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 220,
+ "bytesOut": 47818,
+ "packetsIn": 407,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071953549981,
+ "eventId": "549",
+ "lastEpochMicrosec": 1477071963549981,
+ "priority": "Normal",
+ "sequence": 549,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 63510,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 398,
+ "bytesOut": 71038,
+ "packetsIn": 703,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071963565170,
+ "eventId": "550",
+ "lastEpochMicrosec": 1477071973565170,
+ "priority": "Normal",
+ "sequence": 550,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4250,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 26,
+ "bytesOut": 5060,
+ "packetsIn": 64,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072103847337,
+ "eventId": "564",
+ "lastEpochMicrosec": 1477072113847337,
+ "priority": "Normal",
+ "sequence": 564,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3344,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 23,
+ "bytesOut": 4138,
+ "packetsIn": 49,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072163977616,
+ "eventId": "570",
+ "lastEpochMicrosec": 1477072173977616,
+ "priority": "Normal",
+ "sequence": 570,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4190,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 26,
+ "bytesOut": 5032,
+ "packetsIn": 63,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072194037594,
+ "eventId": "573",
+ "lastEpochMicrosec": 1477072204037594,
+ "priority": "Normal",
+ "sequence": 573,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4102,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 31,
+ "bytesOut": 5418,
+ "packetsIn": 54,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072234105966,
+ "eventId": "577",
+ "lastEpochMicrosec": 1477072244105966,
+ "priority": "Normal",
+ "sequence": 577,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4040,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 31,
+ "bytesOut": 5410,
+ "packetsIn": 60,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072284197410,
+ "eventId": "582",
+ "lastEpochMicrosec": 1477072294197410,
+ "priority": "Normal",
+ "sequence": 582,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4348,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 32,
+ "bytesOut": 5556,
+ "packetsIn": 58,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072294217952,
+ "eventId": "583",
+ "lastEpochMicrosec": 1477072304217952,
+ "priority": "Normal",
+ "sequence": 583,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4820,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 31,
+ "bytesOut": 5402,
+ "packetsIn": 66,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072354321794,
+ "eventId": "589",
+ "lastEpochMicrosec": 1477072364321794,
+ "priority": "Normal",
+ "sequence": 589,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5006,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 42,
+ "bytesOut": 7156,
+ "packetsIn": 73,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072454499759,
+ "eventId": "599",
+ "lastEpochMicrosec": 1477072464499759,
+ "priority": "Normal",
+ "sequence": 599,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4964,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 35,
+ "bytesOut": 5834,
+ "packetsIn": 75,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072494602015,
+ "eventId": "603",
+ "lastEpochMicrosec": 1477072504602015,
+ "priority": "Normal",
+ "sequence": 603,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5330,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 46,
+ "bytesOut": 7420,
+ "packetsIn": 80,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072634866475,
+ "eventId": "617",
+ "lastEpochMicrosec": 1477072644866475,
+ "priority": "Normal",
+ "sequence": 617,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5330,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 46,
+ "bytesOut": 7420,
+ "packetsIn": 80,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072745069203,
+ "eventId": "628",
+ "lastEpochMicrosec": 1477072755069203,
+ "priority": "Normal",
+ "sequence": 628,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 263112,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 1165,
+ "bytesOut": 337182,
+ "packetsIn": 2570,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072805174346,
+ "eventId": "634",
+ "lastEpochMicrosec": 1477072815174346,
+ "priority": "Normal",
+ "sequence": 634,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 11212,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 24,
+ "bytesOut": 4232,
+ "packetsIn": 176,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072835250994,
+ "eventId": "637",
+ "lastEpochMicrosec": 1477072845250994,
+ "priority": "Normal",
+ "sequence": 637,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6375,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 32,
+ "bytesOut": 5516,
+ "packetsIn": 94,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072845276414,
+ "eventId": "638",
+ "lastEpochMicrosec": 1477072855276414,
+ "priority": "Normal",
+ "sequence": 638,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3492,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 28,
+ "bytesOut": 5252,
+ "packetsIn": 50,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072995553968,
+ "eventId": "653",
+ "lastEpochMicrosec": 1477073005553968,
+ "priority": "Normal",
+ "sequence": 653,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4256,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 31,
+ "bytesOut": 5407,
+ "packetsIn": 63,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073095741898,
+ "eventId": "663",
+ "lastEpochMicrosec": 1477073105741898,
+ "priority": "Normal",
+ "sequence": 663,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4280,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 25,
+ "bytesOut": 4866,
+ "packetsIn": 56,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073195929121,
+ "eventId": "673",
+ "lastEpochMicrosec": 1477073205929121,
+ "priority": "Normal",
+ "sequence": 673,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4076,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 27,
+ "bytesOut": 5126,
+ "packetsIn": 61,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073286097936,
+ "eventId": "682",
+ "lastEpochMicrosec": 1477073296097936,
+ "priority": "Normal",
+ "sequence": 682,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5054,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 38,
+ "bytesOut": 6600,
+ "packetsIn": 78,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073366234417,
+ "eventId": "690",
+ "lastEpochMicrosec": 1477073376234417,
+ "priority": "Normal",
+ "sequence": 690,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5186,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 42,
+ "bytesOut": 7220,
+ "packetsIn": 78,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073426339606,
+ "eventId": "696",
+ "lastEpochMicrosec": 1477073436339606,
+ "priority": "Normal",
+ "sequence": 696,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4568,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 39,
+ "bytesOut": 6606,
+ "packetsIn": 60,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073556577962,
+ "eventId": "709",
+ "lastEpochMicrosec": 1477073566577962,
+ "priority": "Normal",
+ "sequence": 709,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4472,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 33,
+ "bytesOut": 5630,
+ "packetsIn": 65,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073606669965,
+ "eventId": "714",
+ "lastEpochMicrosec": 1477073616669965,
+ "priority": "Normal",
+ "sequence": 714,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3554,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 26,
+ "bytesOut": 5192,
+ "packetsIn": 52,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073666794004,
+ "eventId": "720",
+ "lastEpochMicrosec": 1477073676794004,
+ "priority": "Normal",
+ "sequence": 720,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4682,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 38,
+ "bytesOut": 6540,
+ "packetsIn": 70,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070300458069,
+ "eventId": "384",
+ "lastEpochMicrosec": 1477070310458069,
+ "priority": "Normal",
+ "sequence": 384,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4470,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 43,
+ "bytesOut": 7250,
+ "packetsIn": 65,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070350545310,
+ "eventId": "389",
+ "lastEpochMicrosec": 1477070360545310,
+ "priority": "Normal",
+ "sequence": 389,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5864,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 45,
+ "bytesOut": 7318,
+ "packetsIn": 88,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070450716636,
+ "eventId": "399",
+ "lastEpochMicrosec": 1477070460716636,
+ "priority": "Normal",
+ "sequence": 399,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3558,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 29,
+ "bytesOut": 5362,
+ "packetsIn": 51,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070470756168,
+ "eventId": "401",
+ "lastEpochMicrosec": 1477070480756168,
+ "priority": "Normal",
+ "sequence": 401,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5022,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 45,
+ "bytesOut": 7382,
+ "packetsIn": 74,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070530883239,
+ "eventId": "407",
+ "lastEpochMicrosec": 1477070540883239,
+ "priority": "Normal",
+ "sequence": 407,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4816,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 30,
+ "bytesOut": 5344,
+ "packetsIn": 66,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070611026436,
+ "eventId": "415",
+ "lastEpochMicrosec": 1477070621026436,
+ "priority": "Normal",
+ "sequence": 415,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 8898,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 63,
+ "bytesOut": 9201,
+ "packetsIn": 113,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070831428780,
+ "eventId": "437",
+ "lastEpochMicrosec": 1477070841428780,
+ "priority": "Normal",
+ "sequence": 437,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3836,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 23,
+ "bytesOut": 4162,
+ "packetsIn": 57,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070941633936,
+ "eventId": "448",
+ "lastEpochMicrosec": 1477070951633936,
+ "priority": "Normal",
+ "sequence": 448,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3248,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 27,
+ "bytesOut": 4546,
+ "packetsIn": 47,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071071883807,
+ "eventId": "461",
+ "lastEpochMicrosec": 1477071081883807,
+ "priority": "Normal",
+ "sequence": 461,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5006,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 29,
+ "bytesOut": 5286,
+ "packetsIn": 76,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071172066272,
+ "eventId": "471",
+ "lastEpochMicrosec": 1477071182066272,
+ "priority": "Normal",
+ "sequence": 471,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5438,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 34,
+ "bytesOut": 6084,
+ "packetsIn": 83,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071182086282,
+ "eventId": "472",
+ "lastEpochMicrosec": 1477071192086282,
+ "priority": "Normal",
+ "sequence": 472,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 14114,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 92,
+ "bytesOut": 16060,
+ "packetsIn": 172,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071382426114,
+ "eventId": "492",
+ "lastEpochMicrosec": 1477071392426114,
+ "priority": "Normal",
+ "sequence": 492,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5617,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 31,
+ "bytesOut": 5427,
+ "packetsIn": 86,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071542733962,
+ "eventId": "508",
+ "lastEpochMicrosec": 1477071552733962,
+ "priority": "Normal",
+ "sequence": 508,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4448,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 27,
+ "bytesOut": 4538,
+ "packetsIn": 67,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071682993575,
+ "eventId": "522",
+ "lastEpochMicrosec": 1477071692993575,
+ "priority": "Normal",
+ "sequence": 522,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6113,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 30,
+ "bytesOut": 5298,
+ "packetsIn": 87,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071703031027,
+ "eventId": "524",
+ "lastEpochMicrosec": 1477071713031027,
+ "priority": "Normal",
+ "sequence": 524,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5542,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 31,
+ "bytesOut": 5434,
+ "packetsIn": 78,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071813273088,
+ "eventId": "535",
+ "lastEpochMicrosec": 1477071823273088,
+ "priority": "Normal",
+ "sequence": 535,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 34574,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 214,
+ "bytesOut": 47040,
+ "packetsIn": 395,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072023686281,
+ "eventId": "556",
+ "lastEpochMicrosec": 1477072033686281,
+ "priority": "Normal",
+ "sequence": 556,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 2798,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 22,
+ "bytesOut": 4028,
+ "packetsIn": 40,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072093829958,
+ "eventId": "563",
+ "lastEpochMicrosec": 1477072103829958,
+ "priority": "Normal",
+ "sequence": 563,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3446,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 32,
+ "bytesOut": 5536,
+ "packetsIn": 50,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072153957985,
+ "eventId": "569",
+ "lastEpochMicrosec": 1477072163957985,
+ "priority": "Normal",
+ "sequence": 569,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4190,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 36,
+ "bytesOut": 6760,
+ "packetsIn": 62,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072204053021,
+ "eventId": "574",
+ "lastEpochMicrosec": 1477072214053021,
+ "priority": "Normal",
+ "sequence": 574,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5939,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 28,
+ "bytesOut": 4522,
+ "packetsIn": 85,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072244123508,
+ "eventId": "578",
+ "lastEpochMicrosec": 1477072254123508,
+ "priority": "Normal",
+ "sequence": 578,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4022,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 28,
+ "bytesOut": 4584,
+ "packetsIn": 60,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072464518421,
+ "eventId": "600",
+ "lastEpochMicrosec": 1477072474518421,
+ "priority": "Normal",
+ "sequence": 600,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3692,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 21,
+ "bytesOut": 3918,
+ "packetsIn": 47,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072654900903,
+ "eventId": "619",
+ "lastEpochMicrosec": 1477072664900903,
+ "priority": "Normal",
+ "sequence": 619,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5006,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 32,
+ "bytesOut": 5728,
+ "packetsIn": 76,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072704996775,
+ "eventId": "624",
+ "lastEpochMicrosec": 1477072714996775,
+ "priority": "Normal",
+ "sequence": 624,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3836,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 24,
+ "bytesOut": 5036,
+ "packetsIn": 57,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072925428340,
+ "eventId": "646",
+ "lastEpochMicrosec": 1477072935428340,
+ "priority": "Normal",
+ "sequence": 646,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4040,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 31,
+ "bytesOut": 5382,
+ "packetsIn": 60,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072985535172,
+ "eventId": "652",
+ "lastEpochMicrosec": 1477072995535172,
+ "priority": "Normal",
+ "sequence": 652,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4694,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 30,
+ "bytesOut": 5316,
+ "packetsIn": 63,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073075701224,
+ "eventId": "661",
+ "lastEpochMicrosec": 1477073085701224,
+ "priority": "Normal",
+ "sequence": 661,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5066,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 42,
+ "bytesOut": 7120,
+ "packetsIn": 76,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073105759457,
+ "eventId": "664",
+ "lastEpochMicrosec": 1477073115759457,
+ "priority": "Normal",
+ "sequence": 664,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5510,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 46,
+ "bytesOut": 7421,
+ "packetsIn": 83,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073155858608,
+ "eventId": "669",
+ "lastEpochMicrosec": 1477073165858608,
+ "priority": "Normal",
+ "sequence": 669,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4146,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 29,
+ "bytesOut": 5214,
+ "packetsIn": 61,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073416320492,
+ "eventId": "695",
+ "lastEpochMicrosec": 1477073426320492,
+ "priority": "Normal",
+ "sequence": 695,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5610,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 44,
+ "bytesOut": 7392,
+ "packetsIn": 76,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073436360527,
+ "eventId": "697",
+ "lastEpochMicrosec": 1477073446360527,
+ "priority": "Normal",
+ "sequence": 697,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6777,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 31,
+ "bytesOut": 5276,
+ "packetsIn": 101,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073506489807,
+ "eventId": "704",
+ "lastEpochMicrosec": 1477073516489807,
+ "priority": "Normal",
+ "sequence": 704,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4898,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 34,
+ "bytesOut": 6005,
+ "packetsIn": 74,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073516505974,
+ "eventId": "705",
+ "lastEpochMicrosec": 1477073526505974,
+ "priority": "Normal",
+ "sequence": 705,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3902,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 30,
+ "bytesOut": 5120,
+ "packetsIn": 58,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073656765261,
+ "eventId": "719",
+ "lastEpochMicrosec": 1477073666765261,
+ "priority": "Normal",
+ "sequence": 719,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 7185,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 37,
+ "bytesOut": 6488,
+ "packetsIn": 108,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073686831588,
+ "eventId": "722",
+ "lastEpochMicrosec": 1477073696831588,
+ "priority": "Normal",
+ "sequence": 722,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4778,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 32,
+ "bytesOut": 5084,
+ "packetsIn": 72,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070240346627,
+ "eventId": "378",
+ "lastEpochMicrosec": 1477070250346627,
+ "priority": "Normal",
+ "sequence": 378,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5318,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 24,
+ "bytesOut": 4864,
+ "packetsIn": 82,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070270398947,
+ "eventId": "381",
+ "lastEpochMicrosec": 1477070280398947,
+ "priority": "Normal",
+ "sequence": 381,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5079,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 30,
+ "bytesOut": 5266,
+ "packetsIn": 71,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070440700538,
+ "eventId": "398",
+ "lastEpochMicrosec": 1477070450700538,
+ "priority": "Normal",
+ "sequence": 398,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3866,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 22,
+ "bytesOut": 3980,
+ "packetsIn": 58,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070601009676,
+ "eventId": "414",
+ "lastEpochMicrosec": 1477070611009676,
+ "priority": "Normal",
+ "sequence": 414,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 10154,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 43,
+ "bytesOut": 7884,
+ "packetsIn": 99,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070751281687,
+ "eventId": "429",
+ "lastEpochMicrosec": 1477070761281687,
+ "priority": "Normal",
+ "sequence": 429,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 7970,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 31,
+ "bytesOut": 5427,
+ "packetsIn": 128,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070781332864,
+ "eventId": "432",
+ "lastEpochMicrosec": 1477070791332864,
+ "priority": "Normal",
+ "sequence": 432,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6052,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 42,
+ "bytesOut": 7480,
+ "packetsIn": 82,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070891536182,
+ "eventId": "443",
+ "lastEpochMicrosec": 1477070901536182,
+ "priority": "Normal",
+ "sequence": 443,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5080,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 44,
+ "bytesOut": 7288,
+ "packetsIn": 69,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071031806592,
+ "eventId": "457",
+ "lastEpochMicrosec": 1477071041806592,
+ "priority": "Normal",
+ "sequence": 457,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4777,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 24,
+ "bytesOut": 4122,
+ "packetsIn": 67,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071041825555,
+ "eventId": "458",
+ "lastEpochMicrosec": 1477071051825555,
+ "priority": "Normal",
+ "sequence": 458,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4736,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 25,
+ "bytesOut": 4302,
+ "packetsIn": 72,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071111957977,
+ "eventId": "465",
+ "lastEpochMicrosec": 1477071121957977,
+ "priority": "Normal",
+ "sequence": 465,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6283,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 35,
+ "bytesOut": 5272,
+ "packetsIn": 89,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071162050981,
+ "eventId": "470",
+ "lastEpochMicrosec": 1477071172050981,
+ "priority": "Normal",
+ "sequence": 470,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5010,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 43,
+ "bytesOut": 7250,
+ "packetsIn": 74,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071192103048,
+ "eventId": "473",
+ "lastEpochMicrosec": 1477071202103048,
+ "priority": "Normal",
+ "sequence": 473,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3360,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 28,
+ "bytesOut": 5112,
+ "packetsIn": 48,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071252204852,
+ "eventId": "479",
+ "lastEpochMicrosec": 1477071262204852,
+ "priority": "Normal",
+ "sequence": 479,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3912,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 30,
+ "bytesOut": 5324,
+ "packetsIn": 57,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071312304729,
+ "eventId": "485",
+ "lastEpochMicrosec": 1477071322304729,
+ "priority": "Normal",
+ "sequence": 485,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4568,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 29,
+ "bytesOut": 5294,
+ "packetsIn": 70,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071352377904,
+ "eventId": "489",
+ "lastEpochMicrosec": 1477071362377904,
+ "priority": "Normal",
+ "sequence": 489,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 26549,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 158,
+ "bytesOut": 28258,
+ "packetsIn": 311,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071402460522,
+ "eventId": "494",
+ "lastEpochMicrosec": 1477071412460522,
+ "priority": "Normal",
+ "sequence": 494,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5329,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 24,
+ "bytesOut": 4270,
+ "packetsIn": 78,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071462573938,
+ "eventId": "500",
+ "lastEpochMicrosec": 1477071472573938,
+ "priority": "Normal",
+ "sequence": 500,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6232,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 46,
+ "bytesOut": 7420,
+ "packetsIn": 86,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071572787941,
+ "eventId": "511",
+ "lastEpochMicrosec": 1477071582787941,
+ "priority": "Normal",
+ "sequence": 511,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4532,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 20,
+ "bytesOut": 3809,
+ "packetsIn": 69,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071662956095,
+ "eventId": "520",
+ "lastEpochMicrosec": 1477071672956095,
+ "priority": "Normal",
+ "sequence": 520,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4520,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 31,
+ "bytesOut": 5490,
+ "packetsIn": 68,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071672977950,
+ "eventId": "521",
+ "lastEpochMicrosec": 1477071682977950,
+ "priority": "Normal",
+ "sequence": 521,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5002,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 29,
+ "bytesOut": 4734,
+ "packetsIn": 68,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071693013688,
+ "eventId": "523",
+ "lastEpochMicrosec": 1477071703013688,
+ "priority": "Normal",
+ "sequence": 523,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5516,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 25,
+ "bytesOut": 5023,
+ "packetsIn": 85,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071893429573,
+ "eventId": "543",
+ "lastEpochMicrosec": 1477071903429573,
+ "priority": "Normal",
+ "sequence": 543,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 18644,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 120,
+ "bytesOut": 20884,
+ "packetsIn": 230,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071923478914,
+ "eventId": "546",
+ "lastEpochMicrosec": 1477071933478914,
+ "priority": "Normal",
+ "sequence": 546,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4914,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 30,
+ "bytesOut": 5640,
+ "packetsIn": 71,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071983602387,
+ "eventId": "552",
+ "lastEpochMicrosec": 1477071993602387,
+ "priority": "Normal",
+ "sequence": 552,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 8506,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 60,
+ "bytesOut": 11100,
+ "packetsIn": 110,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071993632316,
+ "eventId": "553",
+ "lastEpochMicrosec": 1477072003632316,
+ "priority": "Normal",
+ "sequence": 553,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 17750,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 120,
+ "bytesOut": 25832,
+ "packetsIn": 215,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072043723108,
+ "eventId": "558",
+ "lastEpochMicrosec": 1477072053723108,
+ "priority": "Normal",
+ "sequence": 558,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4592,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 32,
+ "bytesOut": 5504,
+ "packetsIn": 69,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072143938037,
+ "eventId": "568",
+ "lastEpochMicrosec": 1477072153938037,
+ "priority": "Normal",
+ "sequence": 568,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 8125,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 55,
+ "bytesOut": 8060,
+ "packetsIn": 119,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072364341906,
+ "eventId": "590",
+ "lastEpochMicrosec": 1477072374341906,
+ "priority": "Normal",
+ "sequence": 590,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4136,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 33,
+ "bytesOut": 5851,
+ "packetsIn": 62,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072374359351,
+ "eventId": "591",
+ "lastEpochMicrosec": 1477072384359351,
+ "priority": "Normal",
+ "sequence": 591,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4388,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 29,
+ "bytesOut": 5206,
+ "packetsIn": 58,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072474537911,
+ "eventId": "601",
+ "lastEpochMicrosec": 1477072484537911,
+ "priority": "Normal",
+ "sequence": 601,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5228,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 38,
+ "bytesOut": 6932,
+ "packetsIn": 71,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072534679739,
+ "eventId": "607",
+ "lastEpochMicrosec": 1477072544679739,
+ "priority": "Normal",
+ "sequence": 607,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3836,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 27,
+ "bytesOut": 5018,
+ "packetsIn": 55,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072574755001,
+ "eventId": "611",
+ "lastEpochMicrosec": 1477072584755001,
+ "priority": "Normal",
+ "sequence": 611,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6919,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 33,
+ "bytesOut": 5628,
+ "packetsIn": 104,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072725036569,
+ "eventId": "626",
+ "lastEpochMicrosec": 1477072735036569,
+ "priority": "Normal",
+ "sequence": 626,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4442,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 38,
+ "bytesOut": 6892,
+ "packetsIn": 66,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072855292945,
+ "eventId": "639",
+ "lastEpochMicrosec": 1477072865292945,
+ "priority": "Normal",
+ "sequence": 639,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6909,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 42,
+ "bytesOut": 6802,
+ "packetsIn": 102,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072905381152,
+ "eventId": "644",
+ "lastEpochMicrosec": 1477072915381152,
+ "priority": "Normal",
+ "sequence": 644,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4826,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 42,
+ "bytesOut": 7156,
+ "packetsIn": 72,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072945465009,
+ "eventId": "648",
+ "lastEpochMicrosec": 1477072955465009,
+ "priority": "Normal",
+ "sequence": 648,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3636,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 24,
+ "bytesOut": 4160,
+ "packetsIn": 53,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073115777000,
+ "eventId": "665",
+ "lastEpochMicrosec": 1477073125777000,
+ "priority": "Normal",
+ "sequence": 665,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4098,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 29,
+ "bytesOut": 5354,
+ "packetsIn": 60,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073235998974,
+ "eventId": "677",
+ "lastEpochMicrosec": 1477073245998974,
+ "priority": "Normal",
+ "sequence": 677,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4508,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 27,
+ "bytesOut": 5166,
+ "packetsIn": 68,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073246017901,
+ "eventId": "678",
+ "lastEpochMicrosec": 1477073256017901,
+ "priority": "Normal",
+ "sequence": 678,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4026,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 29,
+ "bytesOut": 5358,
+ "packetsIn": 59,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073296117387,
+ "eventId": "683",
+ "lastEpochMicrosec": 1477073306117387,
+ "priority": "Normal",
+ "sequence": 683,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3938,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 24,
+ "bytesOut": 4168,
+ "packetsIn": 49,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073376250039,
+ "eventId": "691",
+ "lastEpochMicrosec": 1477073386250039,
+ "priority": "Normal",
+ "sequence": 691,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4514,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 30,
+ "bytesOut": 5324,
+ "packetsIn": 70,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073586625284,
+ "eventId": "712",
+ "lastEpochMicrosec": 1477073596625284,
+ "priority": "Normal",
+ "sequence": 712,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5193,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 35,
+ "bytesOut": 5748,
+ "packetsIn": 74,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070200274642,
+ "eventId": "374",
+ "lastEpochMicrosec": 1477070210274642,
+ "priority": "Normal",
+ "sequence": 374,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4208,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 27,
+ "bytesOut": 4874,
+ "packetsIn": 63,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070220308044,
+ "eventId": "376",
+ "lastEpochMicrosec": 1477070230308044,
+ "priority": "Normal",
+ "sequence": 376,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4102,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 29,
+ "bytesOut": 5346,
+ "packetsIn": 55,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070490793952,
+ "eventId": "403",
+ "lastEpochMicrosec": 1477070500793952,
+ "priority": "Normal",
+ "sequence": 403,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3278,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 22,
+ "bytesOut": 4036,
+ "packetsIn": 48,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070540900880,
+ "eventId": "408",
+ "lastEpochMicrosec": 1477070550900880,
+ "priority": "Normal",
+ "sequence": 408,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4094,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 30,
+ "bytesOut": 5333,
+ "packetsIn": 61,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070580972300,
+ "eventId": "412",
+ "lastEpochMicrosec": 1477070590972300,
+ "priority": "Normal",
+ "sequence": 412,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6261,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 31,
+ "bytesOut": 5472,
+ "packetsIn": 93,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070621041944,
+ "eventId": "416",
+ "lastEpochMicrosec": 1477070631041944,
+ "priority": "Normal",
+ "sequence": 416,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4462,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 29,
+ "bytesOut": 5302,
+ "packetsIn": 60,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070671133935,
+ "eventId": "421",
+ "lastEpochMicrosec": 1477070681133935,
+ "priority": "Normal",
+ "sequence": 421,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3518,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 22,
+ "bytesOut": 4028,
+ "packetsIn": 52,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070721225970,
+ "eventId": "426",
+ "lastEpochMicrosec": 1477070731225970,
+ "priority": "Normal",
+ "sequence": 426,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 7454,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 50,
+ "bytesOut": 7435,
+ "packetsIn": 100,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070771317040,
+ "eventId": "431",
+ "lastEpochMicrosec": 1477070781317040,
+ "priority": "Normal",
+ "sequence": 431,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 46408,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 282,
+ "bytesOut": 41467,
+ "packetsIn": 531,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070811385505,
+ "eventId": "435",
+ "lastEpochMicrosec": 1477070821385505,
+ "priority": "Normal",
+ "sequence": 435,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4444,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 26,
+ "bytesOut": 4436,
+ "packetsIn": 61,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071091925961,
+ "eventId": "463",
+ "lastEpochMicrosec": 1477071101925961,
+ "priority": "Normal",
+ "sequence": 463,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5120,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 29,
+ "bytesOut": 4898,
+ "packetsIn": 77,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071362393895,
+ "eventId": "490",
+ "lastEpochMicrosec": 1477071372393895,
+ "priority": "Normal",
+ "sequence": 490,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4314,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 25,
+ "bytesOut": 4326,
+ "packetsIn": 65,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071372410540,
+ "eventId": "491",
+ "lastEpochMicrosec": 1477071382410540,
+ "priority": "Normal",
+ "sequence": 491,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5072,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 29,
+ "bytesOut": 5518,
+ "packetsIn": 77,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071422497943,
+ "eventId": "496",
+ "lastEpochMicrosec": 1477071432497943,
+ "priority": "Normal",
+ "sequence": 496,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4868,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 29,
+ "bytesOut": 5286,
+ "packetsIn": 72,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071602842823,
+ "eventId": "514",
+ "lastEpochMicrosec": 1477071612842823,
+ "priority": "Normal",
+ "sequence": 514,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5534,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 30,
+ "bytesOut": 5324,
+ "packetsIn": 85,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071863369947,
+ "eventId": "540",
+ "lastEpochMicrosec": 1477071873369947,
+ "priority": "Normal",
+ "sequence": 540,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4594,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 23,
+ "bytesOut": 4074,
+ "packetsIn": 63,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071873389953,
+ "eventId": "541",
+ "lastEpochMicrosec": 1477071883389953,
+ "priority": "Normal",
+ "sequence": 541,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 9377,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 46,
+ "bytesOut": 7894,
+ "packetsIn": 130,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071883407370,
+ "eventId": "542",
+ "lastEpochMicrosec": 1477071893407370,
+ "priority": "Normal",
+ "sequence": 542,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5864,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 45,
+ "bytesOut": 7318,
+ "packetsIn": 88,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071913462011,
+ "eventId": "545",
+ "lastEpochMicrosec": 1477071923462011,
+ "priority": "Normal",
+ "sequence": 545,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 27350,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 164,
+ "bytesOut": 35804,
+ "packetsIn": 324,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072013669950,
+ "eventId": "555",
+ "lastEpochMicrosec": 1477072023669950,
+ "priority": "Normal",
+ "sequence": 555,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5981,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 27,
+ "bytesOut": 4364,
+ "packetsIn": 86,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072304235475,
+ "eventId": "584",
+ "lastEpochMicrosec": 1477072314235475,
+ "priority": "Normal",
+ "sequence": 584,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 203574,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 23,
+ "bytesOut": 4122,
+ "packetsIn": 308,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072554718395,
+ "eventId": "609",
+ "lastEpochMicrosec": 1477072564718395,
+ "priority": "Normal",
+ "sequence": 609,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4142,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 32,
+ "bytesOut": 5495,
+ "packetsIn": 63,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072564737954,
+ "eventId": "610",
+ "lastEpochMicrosec": 1477072574737954,
+ "priority": "Normal",
+ "sequence": 610,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4172,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 23,
+ "bytesOut": 4066,
+ "packetsIn": 63,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072684959633,
+ "eventId": "622",
+ "lastEpochMicrosec": 1477072694959633,
+ "priority": "Normal",
+ "sequence": 622,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4682,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 36,
+ "bytesOut": 6100,
+ "packetsIn": 70,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072694977636,
+ "eventId": "623",
+ "lastEpochMicrosec": 1477072704977636,
+ "priority": "Normal",
+ "sequence": 623,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5024,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 35,
+ "bytesOut": 5999,
+ "packetsIn": 74,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072735051857,
+ "eventId": "627",
+ "lastEpochMicrosec": 1477072745051857,
+ "priority": "Normal",
+ "sequence": 627,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6750,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 42,
+ "bytesOut": 7198,
+ "packetsIn": 98,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072785141695,
+ "eventId": "632",
+ "lastEpochMicrosec": 1477072795141695,
+ "priority": "Normal",
+ "sequence": 632,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 38530,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 249,
+ "bytesOut": 54426,
+ "packetsIn": 436,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072795156085,
+ "eventId": "633",
+ "lastEpochMicrosec": 1477072805156085,
+ "priority": "Normal",
+ "sequence": 633,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4616,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 37,
+ "bytesOut": 6826,
+ "packetsIn": 69,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072885342781,
+ "eventId": "642",
+ "lastEpochMicrosec": 1477072895342781,
+ "priority": "Normal",
+ "sequence": 642,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4934,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 30,
+ "bytesOut": 5316,
+ "packetsIn": 67,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072895361934,
+ "eventId": "643",
+ "lastEpochMicrosec": 1477072905361934,
+ "priority": "Normal",
+ "sequence": 643,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4362,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 35,
+ "bytesOut": 6786,
+ "packetsIn": 64,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072935447654,
+ "eventId": "647",
+ "lastEpochMicrosec": 1477072945447654,
+ "priority": "Normal",
+ "sequence": 647,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4562,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 28,
+ "bytesOut": 5136,
+ "packetsIn": 68,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073065678387,
+ "eventId": "660",
+ "lastEpochMicrosec": 1477073075678387,
+ "priority": "Normal",
+ "sequence": 660,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 7173,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 45,
+ "bytesOut": 7368,
+ "packetsIn": 106,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073085719086,
+ "eventId": "662",
+ "lastEpochMicrosec": 1477073095719086,
+ "priority": "Normal",
+ "sequence": 662,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4826,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 44,
+ "bytesOut": 7120,
+ "packetsIn": 72,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073185910566,
+ "eventId": "672",
+ "lastEpochMicrosec": 1477073195910566,
+ "priority": "Normal",
+ "sequence": 672,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4502,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 26,
+ "bytesOut": 5304,
+ "packetsIn": 70,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073336185348,
+ "eventId": "687",
+ "lastEpochMicrosec": 1477073346185348,
+ "priority": "Normal",
+ "sequence": 687,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4448,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 29,
+ "bytesOut": 5558,
+ "packetsIn": 65,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073346200536,
+ "eventId": "688",
+ "lastEpochMicrosec": 1477073356200536,
+ "priority": "Normal",
+ "sequence": 688,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 7053,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 45,
+ "bytesOut": 7368,
+ "packetsIn": 105,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073446375491,
+ "eventId": "698",
+ "lastEpochMicrosec": 1477073456375491,
+ "priority": "Normal",
+ "sequence": 698,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3966,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 29,
+ "bytesOut": 5214,
+ "packetsIn": 58,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073596641959,
+ "eventId": "713",
+ "lastEpochMicrosec": 1477073606641959,
+ "priority": "Normal",
+ "sequence": 713,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4318,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 27,
+ "bytesOut": 4634,
+ "packetsIn": 60,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070250365937,
+ "eventId": "379",
+ "lastEpochMicrosec": 1477070260365937,
+ "priority": "Normal",
+ "sequence": 379,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3746,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 32,
+ "bytesOut": 5536,
+ "packetsIn": 53,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070340529599,
+ "eventId": "388",
+ "lastEpochMicrosec": 1477070350529599,
+ "priority": "Normal",
+ "sequence": 388,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 7322,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 48,
+ "bytesOut": 7616,
+ "packetsIn": 113,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070510835835,
+ "eventId": "405",
+ "lastEpochMicrosec": 1477070520835835,
+ "priority": "Normal",
+ "sequence": 405,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4442,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 38,
+ "bytesOut": 6469,
+ "packetsIn": 66,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070520864347,
+ "eventId": "406",
+ "lastEpochMicrosec": 1477070530864347,
+ "priority": "Normal",
+ "sequence": 406,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3638,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 22,
+ "bytesOut": 4044,
+ "packetsIn": 53,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070651095730,
+ "eventId": "419",
+ "lastEpochMicrosec": 1477070661095730,
+ "priority": "Normal",
+ "sequence": 419,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3416,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 27,
+ "bytesOut": 5090,
+ "packetsIn": 48,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070711206504,
+ "eventId": "425",
+ "lastEpochMicrosec": 1477070721206504,
+ "priority": "Normal",
+ "sequence": 425,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5908,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 38,
+ "bytesOut": 6213,
+ "packetsIn": 78,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070791351649,
+ "eventId": "433",
+ "lastEpochMicrosec": 1477070801351649,
+ "priority": "Normal",
+ "sequence": 433,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 10199,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 68,
+ "bytesOut": 11842,
+ "packetsIn": 135,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070801369956,
+ "eventId": "434",
+ "lastEpochMicrosec": 1477070811369956,
+ "priority": "Normal",
+ "sequence": 434,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 26090,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 164,
+ "bytesOut": 33153,
+ "packetsIn": 300,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070841450160,
+ "eventId": "438",
+ "lastEpochMicrosec": 1477070851450160,
+ "priority": "Normal",
+ "sequence": 438,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6205,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 34,
+ "bytesOut": 5794,
+ "packetsIn": 90,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070981705399,
+ "eventId": "452",
+ "lastEpochMicrosec": 1477070991705399,
+ "priority": "Normal",
+ "sequence": 452,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3980,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 31,
+ "bytesOut": 5410,
+ "packetsIn": 59,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071061865954,
+ "eventId": "460",
+ "lastEpochMicrosec": 1477071071865954,
+ "priority": "Normal",
+ "sequence": 460,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 31224,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 197,
+ "bytesOut": 34890,
+ "packetsIn": 357,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071121977934,
+ "eventId": "466",
+ "lastEpochMicrosec": 1477071131977934,
+ "priority": "Normal",
+ "sequence": 466,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 25732,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 162,
+ "bytesOut": 31700,
+ "packetsIn": 302,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071131999094,
+ "eventId": "467",
+ "lastEpochMicrosec": 1477071141999094,
+ "priority": "Normal",
+ "sequence": 467,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 169618,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 42,
+ "bytesOut": 7186,
+ "packetsIn": 289,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071212141392,
+ "eventId": "475",
+ "lastEpochMicrosec": 1477071222141392,
+ "priority": "Normal",
+ "sequence": 475,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 7477,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 46,
+ "bytesOut": 7465,
+ "packetsIn": 110,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071222158382,
+ "eventId": "476",
+ "lastEpochMicrosec": 1477071232158382,
+ "priority": "Normal",
+ "sequence": 476,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5908,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 42,
+ "bytesOut": 7156,
+ "packetsIn": 83,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071272238317,
+ "eventId": "481",
+ "lastEpochMicrosec": 1477071282238317,
+ "priority": "Normal",
+ "sequence": 481,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4504,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 27,
+ "bytesOut": 5074,
+ "packetsIn": 61,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071332342318,
+ "eventId": "487",
+ "lastEpochMicrosec": 1477071342342318,
+ "priority": "Normal",
+ "sequence": 487,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6139,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 31,
+ "bytesOut": 4836,
+ "packetsIn": 89,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071342361964,
+ "eventId": "488",
+ "lastEpochMicrosec": 1477071352361964,
+ "priority": "Normal",
+ "sequence": 488,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 22038,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 143,
+ "bytesOut": 25109,
+ "packetsIn": 257,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071392443903,
+ "eventId": "493",
+ "lastEpochMicrosec": 1477071402443903,
+ "priority": "Normal",
+ "sequence": 493,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 28990,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 185,
+ "bytesOut": 34734,
+ "packetsIn": 342,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071442534871,
+ "eventId": "498",
+ "lastEpochMicrosec": 1477071452534871,
+ "priority": "Normal",
+ "sequence": 498,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 19000,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 111,
+ "bytesOut": 18886,
+ "packetsIn": 232,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071723077968,
+ "eventId": "526",
+ "lastEpochMicrosec": 1477071733077968,
+ "priority": "Normal",
+ "sequence": 526,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 22554,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 150,
+ "bytesOut": 27120,
+ "packetsIn": 270,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071783210923,
+ "eventId": "532",
+ "lastEpochMicrosec": 1477071793210923,
+ "priority": "Normal",
+ "sequence": 532,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 31406,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 192,
+ "bytesOut": 40382,
+ "packetsIn": 369,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071973585969,
+ "eventId": "551",
+ "lastEpochMicrosec": 1477071983585969,
+ "priority": "Normal",
+ "sequence": 551,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 28415,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 168,
+ "bytesOut": 36888,
+ "packetsIn": 330,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072003648795,
+ "eventId": "554",
+ "lastEpochMicrosec": 1477072013648795,
+ "priority": "Normal",
+ "sequence": 554,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4736,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 27,
+ "bytesOut": 5027,
+ "packetsIn": 71,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072073789969,
+ "eventId": "561",
+ "lastEpochMicrosec": 1477072083789969,
+ "priority": "Normal",
+ "sequence": 561,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5332,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 24,
+ "bytesOut": 4082,
+ "packetsIn": 75,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072184014433,
+ "eventId": "572",
+ "lastEpochMicrosec": 1477072194014433,
+ "priority": "Normal",
+ "sequence": 572,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3752,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 33,
+ "bytesOut": 5666,
+ "packetsIn": 55,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072214069942,
+ "eventId": "575",
+ "lastEpochMicrosec": 1477072224069942,
+ "priority": "Normal",
+ "sequence": 575,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4046,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 42,
+ "bytesOut": 7120,
+ "packetsIn": 59,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072274176817,
+ "eventId": "581",
+ "lastEpochMicrosec": 1477072284176817,
+ "priority": "Normal",
+ "sequence": 581,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4208,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 27,
+ "bytesOut": 5166,
+ "packetsIn": 65,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072444481666,
+ "eventId": "598",
+ "lastEpochMicrosec": 1477072454481666,
+ "priority": "Normal",
+ "sequence": 598,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6649,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 38,
+ "bytesOut": 6038,
+ "packetsIn": 97,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072484565977,
+ "eventId": "602",
+ "lastEpochMicrosec": 1477072494565977,
+ "priority": "Normal",
+ "sequence": 602,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3848,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 29,
+ "bytesOut": 4822,
+ "packetsIn": 57,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072514639844,
+ "eventId": "605",
+ "lastEpochMicrosec": 1477072524639844,
+ "priority": "Normal",
+ "sequence": 605,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6367,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 29,
+ "bytesOut": 4624,
+ "packetsIn": 93,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072544701945,
+ "eventId": "608",
+ "lastEpochMicrosec": 1477072554701945,
+ "priority": "Normal",
+ "sequence": 608,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6553,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 30,
+ "bytesOut": 5362,
+ "packetsIn": 98,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072604809380,
+ "eventId": "614",
+ "lastEpochMicrosec": 1477072614809380,
+ "priority": "Normal",
+ "sequence": 614,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4628,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 30,
+ "bytesOut": 5412,
+ "packetsIn": 68,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072614829190,
+ "eventId": "615",
+ "lastEpochMicrosec": 1477072624829190,
+ "priority": "Normal",
+ "sequence": 615,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4352,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 33,
+ "bytesOut": 5630,
+ "packetsIn": 65,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072644885943,
+ "eventId": "618",
+ "lastEpochMicrosec": 1477072654885943,
+ "priority": "Normal",
+ "sequence": 618,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5036,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 47,
+ "bytesOut": 7514,
+ "packetsIn": 75,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072755088807,
+ "eventId": "629",
+ "lastEpochMicrosec": 1477072765088807,
+ "priority": "Normal",
+ "sequence": 629,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4370,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 25,
+ "bytesOut": 4351,
+ "packetsIn": 66,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072915408472,
+ "eventId": "645",
+ "lastEpochMicrosec": 1477072925408472,
+ "priority": "Normal",
+ "sequence": 645,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4304,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 25,
+ "bytesOut": 4254,
+ "packetsIn": 57,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072955481939,
+ "eventId": "649",
+ "lastEpochMicrosec": 1477072965481939,
+ "priority": "Normal",
+ "sequence": 649,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4388,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 27,
+ "bytesOut": 5150,
+ "packetsIn": 66,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073005573900,
+ "eventId": "654",
+ "lastEpochMicrosec": 1477073015573900,
+ "priority": "Normal",
+ "sequence": 654,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5906,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 42,
+ "bytesOut": 7148,
+ "packetsIn": 82,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073015590437,
+ "eventId": "655",
+ "lastEpochMicrosec": 1477073025590437,
+ "priority": "Normal",
+ "sequence": 655,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3764,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 23,
+ "bytesOut": 4122,
+ "packetsIn": 56,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073045647448,
+ "eventId": "658",
+ "lastEpochMicrosec": 1477073055647448,
+ "priority": "Normal",
+ "sequence": 658,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4706,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 42,
+ "bytesOut": 7220,
+ "packetsIn": 70,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073125796934,
+ "eventId": "666",
+ "lastEpochMicrosec": 1477073135796934,
+ "priority": "Normal",
+ "sequence": 666,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 7132,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 43,
+ "bytesOut": 7250,
+ "packetsIn": 103,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073135815158,
+ "eventId": "667",
+ "lastEpochMicrosec": 1477073145815158,
+ "priority": "Normal",
+ "sequence": 667,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 7143,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 50,
+ "bytesOut": 7727,
+ "packetsIn": 104,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073145841670,
+ "eventId": "668",
+ "lastEpochMicrosec": 1477073155841670,
+ "priority": "Normal",
+ "sequence": 668,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6135,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 32,
+ "bytesOut": 5426,
+ "packetsIn": 90,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073266054311,
+ "eventId": "680",
+ "lastEpochMicrosec": 1477073276054311,
+ "priority": "Normal",
+ "sequence": 680,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4052,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 31,
+ "bytesOut": 5498,
+ "packetsIn": 60,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073466418004,
+ "eventId": "700",
+ "lastEpochMicrosec": 1477073476418004,
+ "priority": "Normal",
+ "sequence": 700,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3732,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 28,
+ "bytesOut": 5244,
+ "packetsIn": 54,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073476437957,
+ "eventId": "701",
+ "lastEpochMicrosec": 1477073486437957,
+ "priority": "Normal",
+ "sequence": 701,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4688,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 29,
+ "bytesOut": 5222,
+ "packetsIn": 71,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073526524510,
+ "eventId": "706",
+ "lastEpochMicrosec": 1477073536524510,
+ "priority": "Normal",
+ "sequence": 706,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 7963,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 49,
+ "bytesOut": 7608,
+ "packetsIn": 118,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073566594681,
+ "eventId": "710",
+ "lastEpochMicrosec": 1477073576594681,
+ "priority": "Normal",
+ "sequence": 710,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5168,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 29,
+ "bytesOut": 5214,
+ "packetsIn": 71,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073616685940,
+ "eventId": "715",
+ "lastEpochMicrosec": 1477073626685940,
+ "priority": "Normal",
+ "sequence": 715,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6483,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 34,
+ "bytesOut": 5586,
+ "packetsIn": 95,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073626701958,
+ "eventId": "716",
+ "lastEpochMicrosec": 1477073636701958,
+ "priority": "Normal",
+ "sequence": 716,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3660,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 28,
+ "bytesOut": 4712,
+ "packetsIn": 53,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070230330088,
+ "eventId": "377",
+ "lastEpochMicrosec": 1477070240330088,
+ "priority": "Normal",
+ "sequence": 377,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4069,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 31,
+ "bytesOut": 5506,
+ "packetsIn": 60,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070360563689,
+ "eventId": "390",
+ "lastEpochMicrosec": 1477070370563689,
+ "priority": "Normal",
+ "sequence": 390,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4280,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 31,
+ "bytesOut": 5418,
+ "packetsIn": 64,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070460736142,
+ "eventId": "400",
+ "lastEpochMicrosec": 1477070470736142,
+ "priority": "Normal",
+ "sequence": 400,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4562,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 38,
+ "bytesOut": 6892,
+ "packetsIn": 68,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070480772828,
+ "eventId": "402",
+ "lastEpochMicrosec": 1477070490772828,
+ "priority": "Normal",
+ "sequence": 402,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5129,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 31,
+ "bytesOut": 5396,
+ "packetsIn": 72,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070500813728,
+ "eventId": "404",
+ "lastEpochMicrosec": 1477070510813728,
+ "priority": "Normal",
+ "sequence": 404,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4456,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 30,
+ "bytesOut": 5380,
+ "packetsIn": 60,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070550916395,
+ "eventId": "409",
+ "lastEpochMicrosec": 1477070560916395,
+ "priority": "Normal",
+ "sequence": 409,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3738,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 29,
+ "bytesOut": 4750,
+ "packetsIn": 54,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070590993953,
+ "eventId": "413",
+ "lastEpochMicrosec": 1477070600993953,
+ "priority": "Normal",
+ "sequence": 413,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5954,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 30,
+ "bytesOut": 5380,
+ "packetsIn": 94,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070631061957,
+ "eventId": "417",
+ "lastEpochMicrosec": 1477070641061957,
+ "priority": "Normal",
+ "sequence": 417,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4416,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 22,
+ "bytesOut": 4020,
+ "packetsIn": 64,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070641079999,
+ "eventId": "418",
+ "lastEpochMicrosec": 1477070651079999,
+ "priority": "Normal",
+ "sequence": 418,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4911,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 26,
+ "bytesOut": 4342,
+ "packetsIn": 70,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070681153946,
+ "eventId": "422",
+ "lastEpochMicrosec": 1477070691153946,
+ "priority": "Normal",
+ "sequence": 422,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5228,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 29,
+ "bytesOut": 5294,
+ "packetsIn": 80,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070691170336,
+ "eventId": "423",
+ "lastEpochMicrosec": 1477070701170336,
+ "priority": "Normal",
+ "sequence": 423,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 137612,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 776,
+ "bytesOut": 136724,
+ "packetsIn": 1458,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070821405142,
+ "eventId": "436",
+ "lastEpochMicrosec": 1477070831405142,
+ "priority": "Normal",
+ "sequence": 436,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6724,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 48,
+ "bytesOut": 8288,
+ "packetsIn": 90,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071021788719,
+ "eventId": "456",
+ "lastEpochMicrosec": 1477071031788719,
+ "priority": "Normal",
+ "sequence": 456,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5216,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 27,
+ "bytesOut": 5098,
+ "packetsIn": 80,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071051846152,
+ "eventId": "459",
+ "lastEpochMicrosec": 1477071061846152,
+ "priority": "Normal",
+ "sequence": 459,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5965,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 34,
+ "bytesOut": 5686,
+ "packetsIn": 84,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071101941618,
+ "eventId": "464",
+ "lastEpochMicrosec": 1477071111941618,
+ "priority": "Normal",
+ "sequence": 464,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4334,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 28,
+ "bytesOut": 5232,
+ "packetsIn": 65,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071142014557,
+ "eventId": "468",
+ "lastEpochMicrosec": 1477071152014557,
+ "priority": "Normal",
+ "sequence": 468,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3976,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 30,
+ "bytesOut": 5360,
+ "packetsIn": 54,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071152034019,
+ "eventId": "469",
+ "lastEpochMicrosec": 1477071162034019,
+ "priority": "Normal",
+ "sequence": 469,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 41028,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 29,
+ "bytesOut": 5214,
+ "packetsIn": 121,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071202120024,
+ "eventId": "474",
+ "lastEpochMicrosec": 1477071212120024,
+ "priority": "Normal",
+ "sequence": 474,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5066,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 42,
+ "bytesOut": 7157,
+ "packetsIn": 76,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071242189163,
+ "eventId": "478",
+ "lastEpochMicrosec": 1477071252189163,
+ "priority": "Normal",
+ "sequence": 478,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5528,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 29,
+ "bytesOut": 5302,
+ "packetsIn": 83,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071472593939,
+ "eventId": "501",
+ "lastEpochMicrosec": 1477071482593939,
+ "priority": "Normal",
+ "sequence": 501,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4190,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 26,
+ "bytesOut": 4160,
+ "packetsIn": 63,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071492634731,
+ "eventId": "503",
+ "lastEpochMicrosec": 1477071502634731,
+ "priority": "Normal",
+ "sequence": 503,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5918,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 34,
+ "bytesOut": 6588,
+ "packetsIn": 90,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071502654137,
+ "eventId": "504",
+ "lastEpochMicrosec": 1477071512654137,
+ "priority": "Normal",
+ "sequence": 504,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4270,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 19,
+ "bytesOut": 3650,
+ "packetsIn": 57,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071632900848,
+ "eventId": "517",
+ "lastEpochMicrosec": 1477071642900848,
+ "priority": "Normal",
+ "sequence": 517,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 7250,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 47,
+ "bytesOut": 7539,
+ "packetsIn": 112,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071652936794,
+ "eventId": "519",
+ "lastEpochMicrosec": 1477071662936794,
+ "priority": "Normal",
+ "sequence": 519,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 20894,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 127,
+ "bytesOut": 23654,
+ "packetsIn": 256,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071713058031,
+ "eventId": "525",
+ "lastEpochMicrosec": 1477071723058031,
+ "priority": "Normal",
+ "sequence": 525,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 7297,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 46,
+ "bytesOut": 7430,
+ "packetsIn": 107,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071763172262,
+ "eventId": "530",
+ "lastEpochMicrosec": 1477071773172262,
+ "priority": "Normal",
+ "sequence": 530,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5472,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 31,
+ "bytesOut": 5427,
+ "packetsIn": 83,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071773193658,
+ "eventId": "531",
+ "lastEpochMicrosec": 1477071783193658,
+ "priority": "Normal",
+ "sequence": 531,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4784,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 25,
+ "bytesOut": 4386,
+ "packetsIn": 73,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071803251128,
+ "eventId": "534",
+ "lastEpochMicrosec": 1477071813251128,
+ "priority": "Normal",
+ "sequence": 534,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 33146,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 202,
+ "bytesOut": 45220,
+ "packetsIn": 373,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071933509978,
+ "eventId": "547",
+ "lastEpochMicrosec": 1477071943509978,
+ "priority": "Normal",
+ "sequence": 547,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3640,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 22,
+ "bytesOut": 4128,
+ "packetsIn": 47,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072113869917,
+ "eventId": "565",
+ "lastEpochMicrosec": 1477072123869917,
+ "priority": "Normal",
+ "sequence": 565,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4928,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 30,
+ "bytesOut": 5412,
+ "packetsIn": 75,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072133905970,
+ "eventId": "567",
+ "lastEpochMicrosec": 1477072143905970,
+ "priority": "Normal",
+ "sequence": 567,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4286,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 30,
+ "bytesOut": 5436,
+ "packetsIn": 64,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072314253035,
+ "eventId": "585",
+ "lastEpochMicrosec": 1477072324253035,
+ "priority": "Normal",
+ "sequence": 585,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4568,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 29,
+ "bytesOut": 5602,
+ "packetsIn": 69,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072384378243,
+ "eventId": "592",
+ "lastEpochMicrosec": 1477072394378243,
+ "priority": "Normal",
+ "sequence": 592,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3854,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 30,
+ "bytesOut": 4772,
+ "packetsIn": 57,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072404411223,
+ "eventId": "594",
+ "lastEpochMicrosec": 1477072414411223,
+ "priority": "Normal",
+ "sequence": 594,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3740,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 21,
+ "bytesOut": 3862,
+ "packetsIn": 50,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072414424973,
+ "eventId": "595",
+ "lastEpochMicrosec": 1477072424424973,
+ "priority": "Normal",
+ "sequence": 595,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6259,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 33,
+ "bytesOut": 5072,
+ "packetsIn": 89,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072424442934,
+ "eventId": "596",
+ "lastEpochMicrosec": 1477072434442934,
+ "priority": "Normal",
+ "sequence": 596,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5576,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 46,
+ "bytesOut": 7404,
+ "packetsIn": 84,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072624849269,
+ "eventId": "616",
+ "lastEpochMicrosec": 1477072634849269,
+ "priority": "Normal",
+ "sequence": 616,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5172,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 31,
+ "bytesOut": 4998,
+ "packetsIn": 78,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072674941938,
+ "eventId": "621",
+ "lastEpochMicrosec": 1477072684941938,
+ "priority": "Normal",
+ "sequence": 621,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4256,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 25,
+ "bytesOut": 4294,
+ "packetsIn": 56,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072715018487,
+ "eventId": "625",
+ "lastEpochMicrosec": 1477072725018487,
+ "priority": "Normal",
+ "sequence": 625,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3932,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 31,
+ "bytesOut": 5526,
+ "packetsIn": 58,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072825213947,
+ "eventId": "636",
+ "lastEpochMicrosec": 1477072835213947,
+ "priority": "Normal",
+ "sequence": 636,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3956,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 35,
+ "bytesOut": 6318,
+ "packetsIn": 58,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072865310238,
+ "eventId": "640",
+ "lastEpochMicrosec": 1477072875310238,
+ "priority": "Normal",
+ "sequence": 640,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4080,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 26,
+ "bytesOut": 4388,
+ "packetsIn": 60,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072875328458,
+ "eventId": "641",
+ "lastEpochMicrosec": 1477072885328458,
+ "priority": "Normal",
+ "sequence": 641,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6081,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 33,
+ "bytesOut": 5528,
+ "packetsIn": 89,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072965498915,
+ "eventId": "650",
+ "lastEpochMicrosec": 1477072975498915,
+ "priority": "Normal",
+ "sequence": 650,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6141,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 33,
+ "bytesOut": 5528,
+ "packetsIn": 90,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073025609941,
+ "eventId": "656",
+ "lastEpochMicrosec": 1477073035609941,
+ "priority": "Normal",
+ "sequence": 656,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4446,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 39,
+ "bytesOut": 6986,
+ "packetsIn": 65,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073175893195,
+ "eventId": "671",
+ "lastEpochMicrosec": 1477073185893195,
+ "priority": "Normal",
+ "sequence": 671,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4232,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 23,
+ "bytesOut": 4066,
+ "packetsIn": 64,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073225981156,
+ "eventId": "676",
+ "lastEpochMicrosec": 1477073235981156,
+ "priority": "Normal",
+ "sequence": 676,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5739,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 24,
+ "bytesOut": 4138,
+ "packetsIn": 84,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073326167021,
+ "eventId": "686",
+ "lastEpochMicrosec": 1477073336167021,
+ "priority": "Normal",
+ "sequence": 686,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4104,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 22,
+ "bytesOut": 4020,
+ "packetsIn": 61,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073356218618,
+ "eventId": "689",
+ "lastEpochMicrosec": 1477073366218618,
+ "priority": "Normal",
+ "sequence": 689,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4886,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 42,
+ "bytesOut": 7121,
+ "packetsIn": 72,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073456394852,
+ "eventId": "699",
+ "lastEpochMicrosec": 1477073466394852,
+ "priority": "Normal",
+ "sequence": 699,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4034,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 30,
+ "bytesOut": 4808,
+ "packetsIn": 60,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073486456069,
+ "eventId": "702",
+ "lastEpochMicrosec": 1477073496456069,
+ "priority": "Normal",
+ "sequence": 702,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4706,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 32,
+ "bytesOut": 5765,
+ "packetsIn": 71,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073576611503,
+ "eventId": "711",
+ "lastEpochMicrosec": 1477073586611503,
+ "priority": "Normal",
+ "sequence": 711,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6046,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 40,
+ "bytesOut": 9108,
+ "packetsIn": 90,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073636730319,
+ "eventId": "717",
+ "lastEpochMicrosec": 1477073646730319,
+ "priority": "Normal",
+ "sequence": 717,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4450,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 29,
+ "bytesOut": 5230,
+ "packetsIn": 62,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070310474544,
+ "eventId": "385",
+ "lastEpochMicrosec": 1477070320474544,
+ "priority": "Normal",
+ "sequence": 385,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5703,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 40,
+ "bytesOut": 6658,
+ "packetsIn": 82,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070320490200,
+ "eventId": "386",
+ "lastEpochMicrosec": 1477070330490200,
+ "priority": "Normal",
+ "sequence": 386,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4384,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 26,
+ "bytesOut": 5096,
+ "packetsIn": 59,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070370579195,
+ "eventId": "391",
+ "lastEpochMicrosec": 1477070380579195,
+ "priority": "Normal",
+ "sequence": 391,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3986,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 32,
+ "bytesOut": 5544,
+ "packetsIn": 59,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070400631290,
+ "eventId": "394",
+ "lastEpochMicrosec": 1477070410631290,
+ "priority": "Normal",
+ "sequence": 394,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4428,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 26,
+ "bytesOut": 4364,
+ "packetsIn": 65,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070410646466,
+ "eventId": "395",
+ "lastEpochMicrosec": 1477070420646466,
+ "priority": "Normal",
+ "sequence": 395,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3776,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 27,
+ "bytesOut": 4562,
+ "packetsIn": 56,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070661113931,
+ "eventId": "420",
+ "lastEpochMicrosec": 1477070671113931,
+ "priority": "Normal",
+ "sequence": 420,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5482,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 31,
+ "bytesOut": 5446,
+ "packetsIn": 77,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070731245952,
+ "eventId": "427",
+ "lastEpochMicrosec": 1477070741245952,
+ "priority": "Normal",
+ "sequence": 427,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 12391,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 78,
+ "bytesOut": 10049,
+ "packetsIn": 124,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070761301949,
+ "eventId": "430",
+ "lastEpochMicrosec": 1477070771301949,
+ "priority": "Normal",
+ "sequence": 430,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 19997,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 132,
+ "bytesOut": 23502,
+ "packetsIn": 240,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070861482944,
+ "eventId": "440",
+ "lastEpochMicrosec": 1477070871482944,
+ "priority": "Normal",
+ "sequence": 440,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 19924,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 116,
+ "bytesOut": 19236,
+ "packetsIn": 243,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070871499185,
+ "eventId": "441",
+ "lastEpochMicrosec": 1477070881499185,
+ "priority": "Normal",
+ "sequence": 441,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4394,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 40,
+ "bytesOut": 7024,
+ "packetsIn": 65,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070901553877,
+ "eventId": "444",
+ "lastEpochMicrosec": 1477070911553877,
+ "priority": "Normal",
+ "sequence": 444,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3402,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 25,
+ "bytesOut": 4950,
+ "packetsIn": 51,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070951649582,
+ "eventId": "449",
+ "lastEpochMicrosec": 1477070961649582,
+ "priority": "Normal",
+ "sequence": 449,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3650,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 26,
+ "bytesOut": 5024,
+ "packetsIn": 52,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070961673097,
+ "eventId": "450",
+ "lastEpochMicrosec": 1477070971673097,
+ "priority": "Normal",
+ "sequence": 450,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4681,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 45,
+ "bytesOut": 7354,
+ "packetsIn": 69,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071001744811,
+ "eventId": "454",
+ "lastEpochMicrosec": 1477071011744811,
+ "priority": "Normal",
+ "sequence": 454,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4536,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 32,
+ "bytesOut": 5168,
+ "packetsIn": 67,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071011760312,
+ "eventId": "455",
+ "lastEpochMicrosec": 1477071021760312,
+ "priority": "Normal",
+ "sequence": 455,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6458,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 36,
+ "bytesOut": 6017,
+ "packetsIn": 100,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071232173922,
+ "eventId": "477",
+ "lastEpochMicrosec": 1477071242173922,
+ "priority": "Normal",
+ "sequence": 477,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6871,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 36,
+ "bytesOut": 6766,
+ "packetsIn": 101,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071282252737,
+ "eventId": "482",
+ "lastEpochMicrosec": 1477071292252737,
+ "priority": "Normal",
+ "sequence": 482,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3884,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 24,
+ "bytesOut": 4248,
+ "packetsIn": 58,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071322325958,
+ "eventId": "486",
+ "lastEpochMicrosec": 1477071332325958,
+ "priority": "Normal",
+ "sequence": 486,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 34518,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 192,
+ "bytesOut": 34192,
+ "packetsIn": 384,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071432517955,
+ "eventId": "497",
+ "lastEpochMicrosec": 1477071442517955,
+ "priority": "Normal",
+ "sequence": 497,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4916,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 25,
+ "bytesOut": 4318,
+ "packetsIn": 67,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071512671652,
+ "eventId": "505",
+ "lastEpochMicrosec": 1477071522671652,
+ "priority": "Normal",
+ "sequence": 505,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6259,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 33,
+ "bytesOut": 5600,
+ "packetsIn": 91,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071522697277,
+ "eventId": "506",
+ "lastEpochMicrosec": 1477071532697277,
+ "priority": "Normal",
+ "sequence": 506,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5240,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 31,
+ "bytesOut": 5426,
+ "packetsIn": 80,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071552753988,
+ "eventId": "509",
+ "lastEpochMicrosec": 1477071562753988,
+ "priority": "Normal",
+ "sequence": 509,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5060,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 31,
+ "bytesOut": 5434,
+ "packetsIn": 79,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071612865423,
+ "eventId": "515",
+ "lastEpochMicrosec": 1477071622865423,
+ "priority": "Normal",
+ "sequence": 515,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3974,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 28,
+ "bytesOut": 4660,
+ "packetsIn": 59,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071793233631,
+ "eventId": "533",
+ "lastEpochMicrosec": 1477071803233631,
+ "priority": "Normal",
+ "sequence": 533,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6859,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 43,
+ "bytesOut": 6912,
+ "packetsIn": 100,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071823290532,
+ "eventId": "536",
+ "lastEpochMicrosec": 1477071833290532,
+ "priority": "Normal",
+ "sequence": 536,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4982,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 26,
+ "bytesOut": 5081,
+ "packetsIn": 76,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071833308226,
+ "eventId": "537",
+ "lastEpochMicrosec": 1477071843308226,
+ "priority": "Normal",
+ "sequence": 537,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4974,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 25,
+ "bytesOut": 4426,
+ "packetsIn": 75,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071843328660,
+ "eventId": "538",
+ "lastEpochMicrosec": 1477071853328660,
+ "priority": "Normal",
+ "sequence": 538,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 13226,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 89,
+ "bytesOut": 18924,
+ "packetsIn": 153,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072053741964,
+ "eventId": "559",
+ "lastEpochMicrosec": 1477072063741964,
+ "priority": "Normal",
+ "sequence": 559,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 8673,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 53,
+ "bytesOut": 9805,
+ "packetsIn": 117,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072063763247,
+ "eventId": "560",
+ "lastEpochMicrosec": 1477072073763247,
+ "priority": "Normal",
+ "sequence": 560,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4676,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 37,
+ "bytesOut": 6446,
+ "packetsIn": 70,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072224086825,
+ "eventId": "576",
+ "lastEpochMicrosec": 1477072234086825,
+ "priority": "Normal",
+ "sequence": 576,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4262,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 29,
+ "bytesOut": 5318,
+ "packetsIn": 64,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072254141660,
+ "eventId": "579",
+ "lastEpochMicrosec": 1477072264141660,
+ "priority": "Normal",
+ "sequence": 579,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4946,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 42,
+ "bytesOut": 7156,
+ "packetsIn": 74,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072344303482,
+ "eventId": "588",
+ "lastEpochMicrosec": 1477072354303482,
+ "priority": "Normal",
+ "sequence": 588,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3800,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 31,
+ "bytesOut": 5398,
+ "packetsIn": 56,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072584773904,
+ "eventId": "612",
+ "lastEpochMicrosec": 1477072594773904,
+ "priority": "Normal",
+ "sequence": 612,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5264,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 35,
+ "bytesOut": 6018,
+ "packetsIn": 72,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072594792760,
+ "eventId": "613",
+ "lastEpochMicrosec": 1477072604792760,
+ "priority": "Normal",
+ "sequence": 613,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4604,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 33,
+ "bytesOut": 5722,
+ "packetsIn": 59,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072775124558,
+ "eventId": "631",
+ "lastEpochMicrosec": 1477072785124558,
+ "priority": "Normal",
+ "sequence": 631,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4280,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 31,
+ "bytesOut": 5410,
+ "packetsIn": 64,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072975517941,
+ "eventId": "651",
+ "lastEpochMicrosec": 1477072985517941,
+ "priority": "Normal",
+ "sequence": 651,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4316,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 27,
+ "bytesOut": 5018,
+ "packetsIn": 65,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073035627391,
+ "eventId": "657",
+ "lastEpochMicrosec": 1477073045627391,
+ "priority": "Normal",
+ "sequence": 657,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4915,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 30,
+ "bytesOut": 4836,
+ "packetsIn": 74,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073276077930,
+ "eventId": "681",
+ "lastEpochMicrosec": 1477073286077930,
+ "priority": "Normal",
+ "sequence": 681,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4244,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 25,
+ "bytesOut": 4914,
+ "packetsIn": 64,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073396285928,
+ "eventId": "693",
+ "lastEpochMicrosec": 1477073406285928,
+ "priority": "Normal",
+ "sequence": 693,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4982,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 38,
+ "bytesOut": 6892,
+ "packetsIn": 75,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073406303927,
+ "eventId": "694",
+ "lastEpochMicrosec": 1477073416303927,
+ "priority": "Normal",
+ "sequence": 694,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5000,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 29,
+ "bytesOut": 5378,
+ "packetsIn": 68,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073496473912,
+ "eventId": "703",
+ "lastEpochMicrosec": 1477073506473912,
+ "priority": "Normal",
+ "sequence": 703,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4406,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 42,
+ "bytesOut": 7156,
+ "packetsIn": 65,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073546558533,
+ "eventId": "708",
+ "lastEpochMicrosec": 1477073556558533,
+ "priority": "Normal",
+ "sequence": 708,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3608,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 29,
+ "bytesOut": 5230,
+ "packetsIn": 53,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073646749551,
+ "eventId": "718",
+ "lastEpochMicrosec": 1477073656749551,
+ "priority": "Normal",
+ "sequence": 718,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4352,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 31,
+ "bytesOut": 4946,
+ "packetsIn": 57,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073676813943,
+ "eventId": "721",
+ "lastEpochMicrosec": 1477073686813943,
+ "priority": "Normal",
+ "sequence": 721,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4864,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 28,
+ "bytesOut": 5148,
+ "packetsIn": 67,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070190253108,
+ "eventId": "373",
+ "lastEpochMicrosec": 1477070200253108,
+ "priority": "Normal",
+ "sequence": 373,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4328,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 29,
+ "bytesOut": 5286,
+ "packetsIn": 65,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070280421939,
+ "eventId": "382",
+ "lastEpochMicrosec": 1477070290421939,
+ "priority": "Normal",
+ "sequence": 382,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6206,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 32,
+ "bytesOut": 5512,
+ "packetsIn": 96,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070330509980,
+ "eventId": "387",
+ "lastEpochMicrosec": 1477070340509980,
+ "priority": "Normal",
+ "sequence": 387,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3518,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 22,
+ "bytesOut": 4028,
+ "packetsIn": 53,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070420665950,
+ "eventId": "396",
+ "lastEpochMicrosec": 1477070430665950,
+ "priority": "Normal",
+ "sequence": 396,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4360,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 24,
+ "bytesOut": 4812,
+ "packetsIn": 59,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070430683794,
+ "eventId": "397",
+ "lastEpochMicrosec": 1477070440683794,
+ "priority": "Normal",
+ "sequence": 397,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5301,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 33,
+ "bytesOut": 5536,
+ "packetsIn": 76,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070560936376,
+ "eventId": "410",
+ "lastEpochMicrosec": 1477070570936376,
+ "priority": "Normal",
+ "sequence": 410,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6866,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 42,
+ "bytesOut": 7156,
+ "packetsIn": 106,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070570954302,
+ "eventId": "411",
+ "lastEpochMicrosec": 1477070580954302,
+ "priority": "Normal",
+ "sequence": 411,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6681,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 41,
+ "bytesOut": 6568,
+ "packetsIn": 96,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070741264005,
+ "eventId": "428",
+ "lastEpochMicrosec": 1477070751264005,
+ "priority": "Normal",
+ "sequence": 428,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 34880,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 217,
+ "bytesOut": 36350,
+ "packetsIn": 398,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070881514499,
+ "eventId": "442",
+ "lastEpochMicrosec": 1477070891514499,
+ "priority": "Normal",
+ "sequence": 442,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4762,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 31,
+ "bytesOut": 4934,
+ "packetsIn": 65,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070911574857,
+ "eventId": "445",
+ "lastEpochMicrosec": 1477070921574857,
+ "priority": "Normal",
+ "sequence": 445,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 7057,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 46,
+ "bytesOut": 7462,
+ "packetsIn": 105,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070921593735,
+ "eventId": "446",
+ "lastEpochMicrosec": 1477070931593735,
+ "priority": "Normal",
+ "sequence": 446,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6740,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 41,
+ "bytesOut": 6775,
+ "packetsIn": 104,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071292270837,
+ "eventId": "483",
+ "lastEpochMicrosec": 1477071302270837,
+ "priority": "Normal",
+ "sequence": 483,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4934,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 30,
+ "bytesOut": 5325,
+ "packetsIn": 75,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071302289972,
+ "eventId": "484",
+ "lastEpochMicrosec": 1477071312289972,
+ "priority": "Normal",
+ "sequence": 484,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6216,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 39,
+ "bytesOut": 6786,
+ "packetsIn": 81,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071452551360,
+ "eventId": "499",
+ "lastEpochMicrosec": 1477071462551360,
+ "priority": "Normal",
+ "sequence": 499,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6218,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 44,
+ "bytesOut": 7316,
+ "packetsIn": 95,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071482617903,
+ "eventId": "502",
+ "lastEpochMicrosec": 1477071492617903,
+ "priority": "Normal",
+ "sequence": 502,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5634,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 37,
+ "bytesOut": 6446,
+ "packetsIn": 87,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071562771042,
+ "eventId": "510",
+ "lastEpochMicrosec": 1477071572771042,
+ "priority": "Normal",
+ "sequence": 510,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6354,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 47,
+ "bytesOut": 7514,
+ "packetsIn": 96,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071622883746,
+ "eventId": "516",
+ "lastEpochMicrosec": 1477071632883746,
+ "priority": "Normal",
+ "sequence": 516,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 20684,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 138,
+ "bytesOut": 23872,
+ "packetsIn": 242,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071753155902,
+ "eventId": "529",
+ "lastEpochMicrosec": 1477071763155902,
+ "priority": "Normal",
+ "sequence": 529,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4442,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 38,
+ "bytesOut": 6956,
+ "packetsIn": 66,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071853349474,
+ "eventId": "539",
+ "lastEpochMicrosec": 1477071863349474,
+ "priority": "Normal",
+ "sequence": 539,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 66655,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 401,
+ "bytesOut": 64534,
+ "packetsIn": 755,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477071943529023,
+ "eventId": "548",
+ "lastEpochMicrosec": 1477071953529023,
+ "priority": "Normal",
+ "sequence": 548,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 29098,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 186,
+ "bytesOut": 40028,
+ "packetsIn": 338,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072033705953,
+ "eventId": "557",
+ "lastEpochMicrosec": 1477072043705953,
+ "priority": "Normal",
+ "sequence": 557,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3560,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 29,
+ "bytesOut": 4758,
+ "packetsIn": 52,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072083807753,
+ "eventId": "562",
+ "lastEpochMicrosec": 1477072093807753,
+ "priority": "Normal",
+ "sequence": 562,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5753,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 29,
+ "bytesOut": 5248,
+ "packetsIn": 82,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072123885526,
+ "eventId": "566",
+ "lastEpochMicrosec": 1477072133885526,
+ "priority": "Normal",
+ "sequence": 566,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4102,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 31,
+ "bytesOut": 5462,
+ "packetsIn": 54,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072173997938,
+ "eventId": "571",
+ "lastEpochMicrosec": 1477072183997938,
+ "priority": "Normal",
+ "sequence": 571,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 5054,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 39,
+ "bytesOut": 6906,
+ "packetsIn": 76,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072264158607,
+ "eventId": "580",
+ "lastEpochMicrosec": 1477072274158607,
+ "priority": "Normal",
+ "sequence": 580,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3884,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 23,
+ "bytesOut": 4058,
+ "packetsIn": 58,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072324268097,
+ "eventId": "586",
+ "lastEpochMicrosec": 1477072334268097,
+ "priority": "Normal",
+ "sequence": 586,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3182,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 28,
+ "bytesOut": 4808,
+ "packetsIn": 46,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072334288872,
+ "eventId": "587",
+ "lastEpochMicrosec": 1477072344288872,
+ "priority": "Normal",
+ "sequence": 587,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4034,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 30,
+ "bytesOut": 5316,
+ "packetsIn": 60,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072394394368,
+ "eventId": "593",
+ "lastEpochMicrosec": 1477072404394368,
+ "priority": "Normal",
+ "sequence": 593,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3872,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 23,
+ "bytesOut": 4074,
+ "packetsIn": 58,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072434461951,
+ "eventId": "597",
+ "lastEpochMicrosec": 1477072444461951,
+ "priority": "Normal",
+ "sequence": 597,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4028,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 29,
+ "bytesOut": 5214,
+ "packetsIn": 60,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072504621951,
+ "eventId": "604",
+ "lastEpochMicrosec": 1477072514621951,
+ "priority": "Normal",
+ "sequence": 604,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4130,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 25,
+ "bytesOut": 4350,
+ "packetsIn": 62,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072524657943,
+ "eventId": "606",
+ "lastEpochMicrosec": 1477072534657943,
+ "priority": "Normal",
+ "sequence": 606,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6691,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 35,
+ "bytesOut": 5804,
+ "packetsIn": 98,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072664921950,
+ "eventId": "620",
+ "lastEpochMicrosec": 1477072674921950,
+ "priority": "Normal",
+ "sequence": 620,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4640,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 31,
+ "bytesOut": 5426,
+ "packetsIn": 72,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072765105949,
+ "eventId": "630",
+ "lastEpochMicrosec": 1477072775105949,
+ "priority": "Normal",
+ "sequence": 630,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 38076,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 238,
+ "bytesOut": 52028,
+ "packetsIn": 425,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477072815193944,
+ "eventId": "635",
+ "lastEpochMicrosec": 1477072825193944,
+ "priority": "Normal",
+ "sequence": 635,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4806,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 39,
+ "bytesOut": 6986,
+ "packetsIn": 72,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073055662629,
+ "eventId": "659",
+ "lastEpochMicrosec": 1477073065662629,
+ "priority": "Normal",
+ "sequence": 659,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3470,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 24,
+ "bytesOut": 4240,
+ "packetsIn": 51,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073165876528,
+ "eventId": "670",
+ "lastEpochMicrosec": 1477073175876528,
+ "priority": "Normal",
+ "sequence": 670,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6615,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 30,
+ "bytesOut": 5086,
+ "packetsIn": 98,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073205948758,
+ "eventId": "674",
+ "lastEpochMicrosec": 1477073215948758,
+ "priority": "Normal",
+ "sequence": 674,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4682,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 28,
+ "bytesOut": 5600,
+ "packetsIn": 71,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073215965142,
+ "eventId": "675",
+ "lastEpochMicrosec": 1477073225965142,
+ "priority": "Normal",
+ "sequence": 675,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4178,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 24,
+ "bytesOut": 4152,
+ "packetsIn": 55,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073256037943,
+ "eventId": "679",
+ "lastEpochMicrosec": 1477073266037943,
+ "priority": "Normal",
+ "sequence": 679,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4406,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 42,
+ "bytesOut": 7156,
+ "packetsIn": 65,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073306133613,
+ "eventId": "684",
+ "lastEpochMicrosec": 1477073316133613,
+ "priority": "Normal",
+ "sequence": 684,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 3974,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 28,
+ "bytesOut": 4644,
+ "packetsIn": 51,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073316150514,
+ "eventId": "685",
+ "lastEpochMicrosec": 1477073326150514,
+ "priority": "Normal",
+ "sequence": 685,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6375,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 28,
+ "bytesOut": 4538,
+ "packetsIn": 94,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073386268859,
+ "eventId": "692",
+ "lastEpochMicrosec": 1477073396268859,
+ "priority": "Normal",
+ "sequence": 692,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ },
+ {
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 4458,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 31,
+ "bytesOut": 5418,
+ "packetsIn": 66,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477073536542160,
+ "eventId": "707",
+ "lastEpochMicrosec": 1477073546542160,
+ "priority": "Normal",
+ "sequence": 707,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+ }
+]
diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/BaseAnalyticsCDAPPluginsUnitTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/BaseAnalyticsCDAPPluginsUnitTest.java
new file mode 100644
index 0000000..34f70f1
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/BaseAnalyticsCDAPPluginsUnitTest.java
@@ -0,0 +1,238 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins;
+
+import co.cask.cdap.api.data.schema.Schema;
+import co.cask.cdap.etl.api.StageMetrics;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.google.common.base.Suppliers;
+import org.apache.hadoop.conf.Configuration;
+import org.openecomp.dcae.apod.analytics.cdap.common.CDAPPluginConstants;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.TestDMaaPMRSinkPluginConfig;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.TestDMaaPMRSourcePluginConfig;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.filter.TestJsonPathFilterPluginConfig;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.tca.TestSimpleTCAPluginConfig;
+import org.openecomp.dcae.apod.analytics.model.util.json.AnalyticsModelObjectMapperSupplier;
+import org.openecomp.dcae.apod.analytics.test.BaseDCAEAnalyticsUnitTest;
+
+import java.io.IOException;
+import java.io.Serializable;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+/**
+ * @author Rajiv Singla . Creation Date: 1/23/2017.
+ */
+public abstract class BaseAnalyticsCDAPPluginsUnitTest extends BaseDCAEAnalyticsUnitTest {
+
+ protected static final ObjectMapper ANALYTICS_MODEL_OBJECT_MAPPER =
+ Suppliers.memoize(new AnalyticsModelObjectMapperSupplier()).get();
+
+ protected static final String TCA_POLICY_JSON_FILE_LOCATION = "data/json/policy/tca_policy.json";
+ protected static final String CEF_MESSAGE_JSON_FILE_LOCATION = "data/json/cef/cef_message.json";
+ protected static final String CEF_NON_COMPLIANT_MESSAGE_JSON_FILE_LOCATION =
+ "data/json/cef/non_compliant_cef_message.json";
+
+
+ protected static final String DMAAP_MR_SOURCE_PLUGIN_REFERENCE_NAME = "testDMaaPMRSource";
+ protected static final String DMAAP_MR_SOURCE_PLUGIN_HOST_NAME = "dcae-msrt-mtl1-ftl.homer.com";
+ protected static final Integer DMAAP_MR_SOURCE_PLUGIN_PORT_NUMBER = 3905;
+ protected static final String DMAAP_MR_SOURCE_PLUGIN_TOPIC_NAME = "com.dcae.dmaap.FTL.DcaeTestVESSub";
+ protected static final Integer DMAAP_MR_SOURCE_PLUGIN_POLLING_INTERVAL = 1000;
+ protected static final String DMAAP_MR_SOURCE_PLUGIN_PROTOCOL = "https";
+ protected static final String DMAAP_MR_SOURCE_PLUGIN_USERNAME = "username";
+ protected static final String DMAAP_MR_SOURCE_PLUGIN_PASSWORD = "password";
+ protected static final String DMAAP_MR_SOURCE_PLUGIN_CONTENT_TYPE = "application/json";
+ protected static final String DMAAP_MR_SOURCE_PLUGIN_CONSUMER_GROUP = "G1";
+ protected static final String DMAAP_MR_SOURCE_PLUGIN_CONSUMER_ID = "C1";
+ protected static final Integer DMAAP_MR_SOURCE_PLUGIN_MESSAGE_LIMIT = 100;
+ protected static final Integer DMAAP_MR_SOURCE_PLUGIN_TIMEOUT = 10000;
+
+
+ protected static final String DMAAP_MR_SINK_PLUGIN_REFERENCE_NAME = "testDMaaPMRSINK";
+ protected static final String DMAAP_MR_SINK_PLUGIN_HOST_NAME = "dcae-msrt-mtl1-ftl.homer.com";
+ protected static final Integer DMAAP_MR_SINK_PLUGIN_PORT_NUMBER = 3905;
+ protected static final String DMAAP_MR_SINK_PLUGIN_TOPIC_NAME = "com.dcae.dmaap.FTL.DcaeTestVESPub";
+ protected static final String DMAAP_MR_SINK_PLUGIN_PROTOCOL = "https";
+ protected static final String DMAAP_MR_SINK_PLUGIN_USERNAME = "username";
+ protected static final String DMAAP_MR_SINK_PLUGIN_PASSWORD = "password";
+ protected static final String DMAAP_MR_SINK_PLUGIN_CONTENT_TYPE = "application/json";
+ protected static final String DMAAP_MR_SINK_MESSAGE_COLUMN_NAME = "message";
+ protected static final Integer DMAAP_MR_SINK_PLUGIN_MAX_BATCH_SIZE = 10;
+ protected static final Integer DMAAP_MR_SINK_PLUGIN_MAX_RECOVERY_QUEUE_SIZE = 100;
+
+ protected static final String VES_MESSAGE_FIELD_NAME = "message";
+ protected static final String TCA_PLUGIN_ALERT_FIELD_NAME = "alert";
+ protected static final String TCA_PLUGIN_MESSAGE_TYPE_FIELD_NAME = "tcaMessageType";
+
+
+ protected static final String JSON_PATH_FILTER_PLUGIN_REFERENCE_NAME = "JsonPathFilter";
+ protected static final String JSON_PATH_FILTER_PLUGIN_INCOMING_JSON_FIELD_NAME = "message";
+ protected static final String JSON_PATH_FILTER_PLUGIN_OUTPUT_SCHEMA_FILED_NAME = "filterMatched";
+ protected static final String JSON_PATH_FILTER_PLUGIN_JSON_FILTER_MAPPINGS =
+ "$.event.commonEventHeader.domain:measurementsForVfScaling," +
+ "$.event.commonEventHeader.functionalRole:vLoadBalancer;vFirewall";
+ protected static final String JSON_PATH_FILTER_PLUGIN_JSON_FILTER_OUTPUT_SCHEMA =
+ "{\"type\":\"record\"," +
+ "\"name\":\"etlSchemaBody\",\"fields\":" +
+ "[" +
+ "{\"name\":\"ts\",\"type\":\"long\"}," +
+ "{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]}," +
+ "{\"name\":\"responseCode\",\"type\":\"int\"}," +
+ "{\"name\":\"responseMessage\",\"type\":\"string\"}," +
+ "{\"name\":\"message\",\"type\":\"string\"}" +
+ "]" +
+ "}";
+
+ protected static class MockStageMetrics implements StageMetrics, Serializable {
+
+ @Override
+ public void count(String metricName, int delta) {
+ LOG.debug("Mocking metric count, MetricName: {}, Delta: {}", metricName, delta);
+ }
+
+ @Override
+ public void gauge(String metricName, long value) {
+ LOG.debug("Mocking metric guage, MetricName: {}, Value: {}", metricName, value);
+ }
+
+ @Override
+ public void pipelineCount(String metricName, int delta) {
+ LOG.debug("Mocking metric pipelineCount, MetricName: {}, Delta: {}", metricName, delta);
+ }
+
+ @Override
+ public void pipelineGauge(String metricName, long value) {
+ LOG.debug("Mocking metric guage, pipelineGauge: {}, Value: {}", metricName, value);
+ }
+ }
+
+ protected static TestDMaaPMRSourcePluginConfig getTestDMaaPMRSourcePluginConfig() {
+ final TestDMaaPMRSourcePluginConfig sourcePluginConfig = new TestDMaaPMRSourcePluginConfig();
+ sourcePluginConfig.setReferenceName(DMAAP_MR_SOURCE_PLUGIN_REFERENCE_NAME);
+ sourcePluginConfig.setHostName(DMAAP_MR_SOURCE_PLUGIN_HOST_NAME);
+ sourcePluginConfig.setPortNumber(DMAAP_MR_SOURCE_PLUGIN_PORT_NUMBER);
+ sourcePluginConfig.setTopicName(DMAAP_MR_SOURCE_PLUGIN_TOPIC_NAME);
+ sourcePluginConfig.setPollingInterval(DMAAP_MR_SOURCE_PLUGIN_POLLING_INTERVAL);
+ sourcePluginConfig.setProtocol(DMAAP_MR_SOURCE_PLUGIN_PROTOCOL);
+ sourcePluginConfig.setUserName(DMAAP_MR_SOURCE_PLUGIN_USERNAME);
+ sourcePluginConfig.setUserPassword(DMAAP_MR_SOURCE_PLUGIN_PASSWORD);
+ sourcePluginConfig.setContentType(DMAAP_MR_SOURCE_PLUGIN_CONTENT_TYPE);
+ sourcePluginConfig.setConsumerGroup(DMAAP_MR_SOURCE_PLUGIN_CONSUMER_GROUP);
+ sourcePluginConfig.setConsumerId(DMAAP_MR_SOURCE_PLUGIN_CONSUMER_ID);
+ sourcePluginConfig.setMessageLimit(DMAAP_MR_SOURCE_PLUGIN_MESSAGE_LIMIT);
+ sourcePluginConfig.setTimeoutMS(DMAAP_MR_SOURCE_PLUGIN_TIMEOUT);
+ return sourcePluginConfig;
+ }
+
+ protected static TestDMaaPMRSinkPluginConfig getTestDMaaPMRSinkPluginConfig() {
+ final TestDMaaPMRSinkPluginConfig sinkPluginConfig = new TestDMaaPMRSinkPluginConfig();
+ sinkPluginConfig.setReferenceName(DMAAP_MR_SINK_PLUGIN_REFERENCE_NAME);
+ sinkPluginConfig.setHostName(DMAAP_MR_SINK_PLUGIN_HOST_NAME);
+ sinkPluginConfig.setPortNumber(DMAAP_MR_SINK_PLUGIN_PORT_NUMBER);
+ sinkPluginConfig.setTopicName(DMAAP_MR_SINK_PLUGIN_TOPIC_NAME);
+ sinkPluginConfig.setProtocol(DMAAP_MR_SINK_PLUGIN_PROTOCOL);
+ sinkPluginConfig.setUserName(DMAAP_MR_SINK_PLUGIN_USERNAME);
+ sinkPluginConfig.setUserPassword(DMAAP_MR_SINK_PLUGIN_PASSWORD);
+ sinkPluginConfig.setContentType(DMAAP_MR_SINK_PLUGIN_CONTENT_TYPE);
+ sinkPluginConfig.setMessageColumnName(DMAAP_MR_SINK_MESSAGE_COLUMN_NAME);
+ sinkPluginConfig.setMaxBatchSize(DMAAP_MR_SINK_PLUGIN_MAX_BATCH_SIZE);
+ sinkPluginConfig.setMaxRecoveryQueueSize(DMAAP_MR_SINK_PLUGIN_MAX_RECOVERY_QUEUE_SIZE);
+ return sinkPluginConfig;
+ }
+
+
+ protected static Configuration getTestConfiguration() {
+ final Configuration configuration = new Configuration();
+ final Map<String, String> sinkConfigurationMap = createSinkConfigurationMap();
+ for (Map.Entry<String, String> property : sinkConfigurationMap.entrySet()) {
+ configuration.set(property.getKey(), property.getValue());
+ }
+ return configuration;
+ }
+
+ protected static Map<String, String> createSinkConfigurationMap() {
+
+ Map<String, String> sinkConfig = new LinkedHashMap<>();
+ sinkConfig.put(CDAPPluginConstants.DMaaPMRSinkHadoopConfigFields.HOST_NAME, DMAAP_MR_SINK_PLUGIN_HOST_NAME);
+ sinkConfig.put(CDAPPluginConstants.DMaaPMRSinkHadoopConfigFields.TOPIC_NAME, DMAAP_MR_SINK_PLUGIN_TOPIC_NAME);
+ sinkConfig.put(CDAPPluginConstants.DMaaPMRSinkHadoopConfigFields.PORT_NUMBER,
+ DMAAP_MR_SINK_PLUGIN_PORT_NUMBER.toString());
+ sinkConfig.put(CDAPPluginConstants.DMaaPMRSinkHadoopConfigFields.PROTOCOL, DMAAP_MR_SINK_PLUGIN_PROTOCOL);
+ sinkConfig.put(CDAPPluginConstants.DMaaPMRSinkHadoopConfigFields.USER_NAME, DMAAP_MR_SINK_PLUGIN_USERNAME);
+ sinkConfig.put(CDAPPluginConstants.DMaaPMRSinkHadoopConfigFields.USER_PASS, DMAAP_MR_SINK_PLUGIN_PASSWORD);
+ sinkConfig.put(CDAPPluginConstants.DMaaPMRSinkHadoopConfigFields.CONTENT_TYPE,
+ DMAAP_MR_SINK_PLUGIN_CONTENT_TYPE);
+ sinkConfig.put(CDAPPluginConstants.DMaaPMRSinkHadoopConfigFields.MAX_BATCH_SIZE,
+ DMAAP_MR_SINK_PLUGIN_MAX_BATCH_SIZE.toString());
+ sinkConfig.put(CDAPPluginConstants.DMaaPMRSinkHadoopConfigFields.MAX_RECOVER_QUEUE_SIZE,
+ DMAAP_MR_SINK_PLUGIN_MAX_RECOVERY_QUEUE_SIZE.toString());
+ return sinkConfig;
+ }
+
+ protected static Schema getDMaaPMRSinkTestSchema() {
+ return Schema.recordOf(
+ "DMaaPMRSinkTestSchema",
+ Schema.Field.of("message", Schema.of(Schema.Type.STRING)),
+ Schema.Field.of("field1", Schema.of(Schema.Type.STRING))
+ );
+ }
+
+
+ protected static TestSimpleTCAPluginConfig getTestSimpleTCAPluginConfig() {
+ final String policyJson;
+ try {
+ policyJson = fromStream(TCA_POLICY_JSON_FILE_LOCATION);
+ } catch (IOException e) {
+ throw new RuntimeException("Error while parsing policy", e);
+ }
+ return new TestSimpleTCAPluginConfig(VES_MESSAGE_FIELD_NAME, policyJson, TCA_PLUGIN_ALERT_FIELD_NAME,
+ TCA_PLUGIN_MESSAGE_TYPE_FIELD_NAME, getSimpleTCAPluginInputSchema().toString(), false);
+ }
+
+ protected static Schema getSimpleTCAPluginInputSchema() {
+ return Schema.recordOf(
+ "TestSimpleTCAPluginInputSchema",
+ Schema.Field.of("message", Schema.of(Schema.Type.STRING)),
+ Schema.Field.of("inputField1", Schema.nullableOf(Schema.of(Schema.Type.STRING))),
+ Schema.Field.of("inputField2", Schema.nullableOf(Schema.of(Schema.Type.STRING)))
+ );
+ }
+
+ protected static Schema getJsonFilterPluginInputSchema() {
+ return Schema.recordOf(
+ "TestJsonFilterInputSchema",
+ Schema.Field.of("ts", Schema.of(Schema.Type.LONG)),
+ Schema.Field.of("responseCode", Schema.of(Schema.Type.INT)),
+ Schema.Field.of("responseMessage", Schema.of(Schema.Type.STRING)),
+ Schema.Field.of("message", Schema.of(Schema.Type.STRING))
+ );
+ }
+
+ protected static TestJsonPathFilterPluginConfig getJsonPathFilterPluginConfig() {
+ return new TestJsonPathFilterPluginConfig(JSON_PATH_FILTER_PLUGIN_REFERENCE_NAME,
+ JSON_PATH_FILTER_PLUGIN_INCOMING_JSON_FIELD_NAME,
+ JSON_PATH_FILTER_PLUGIN_OUTPUT_SCHEMA_FILED_NAME,
+ JSON_PATH_FILTER_PLUGIN_JSON_FILTER_MAPPINGS,
+ JSON_PATH_FILTER_PLUGIN_JSON_FILTER_OUTPUT_SCHEMA);
+ }
+
+}
diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMROutputFormatProviderTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMROutputFormatProviderTest.java
new file mode 100644
index 0000000..71ce4d8
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMROutputFormatProviderTest.java
@@ -0,0 +1,77 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.batch.sink.dmaap;
+
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.cdap.common.CDAPPluginConstants.DMaaPMRSinkHadoopConfigFields;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.TestDMaaPMRSinkPluginConfig;
+import org.openecomp.dcae.apod.analytics.common.AnalyticsConstants;
+
+import java.util.Map;
+
+import static org.junit.Assert.assertTrue;
+
+/**
+ * @author Rajiv Singla . Creation Date: 1/30/2017.
+ */
+public class DMaaPMROutputFormatProviderTest extends BaseAnalyticsCDAPPluginsUnitTest {
+
+
+ @Test
+ public void testDMaaPMROutputFormatProviderWhenConfigIsMissingNonRequiredValues() throws Exception {
+ final TestDMaaPMRSinkPluginConfig sinkPluginConfig = new TestDMaaPMRSinkPluginConfig();
+ sinkPluginConfig.setHostName(DMAAP_MR_SINK_PLUGIN_HOST_NAME);
+ sinkPluginConfig.setTopicName(DMAAP_MR_SINK_PLUGIN_TOPIC_NAME);
+ final DMaaPMROutputFormatProvider dMaaPMROutputFormatProvider =
+ new DMaaPMROutputFormatProvider(sinkPluginConfig);
+ final Map<String, String> outputFormatConfiguration =
+ dMaaPMROutputFormatProvider.getOutputFormatConfiguration();
+ final String hostName = outputFormatConfiguration.get(DMaaPMRSinkHadoopConfigFields.HOST_NAME);
+ assertTrue(hostName.equals(DMAAP_MR_SINK_PLUGIN_HOST_NAME));
+ final String topicName = outputFormatConfiguration.get(DMaaPMRSinkHadoopConfigFields.TOPIC_NAME);
+ assertTrue(topicName.equals(DMAAP_MR_SINK_PLUGIN_TOPIC_NAME));
+ final String portNumber = outputFormatConfiguration.get(DMaaPMRSinkHadoopConfigFields.PORT_NUMBER);
+ assertTrue(portNumber.equals(AnalyticsConstants.DEFAULT_PORT_NUMBER.toString()));
+ final String protocol = outputFormatConfiguration.get(DMaaPMRSinkHadoopConfigFields.PROTOCOL);
+ assertTrue(protocol.equals(AnalyticsConstants.DEFAULT_PROTOCOL));
+ }
+
+ @Test
+ public void testGetOutputFormatClassName() throws Exception {
+ final DMaaPMROutputFormatProvider dMaaPMROutputFormatProvider =
+ new DMaaPMROutputFormatProvider(getTestDMaaPMRSinkPluginConfig());
+ final String outputFormatClassName = dMaaPMROutputFormatProvider.getOutputFormatClassName();
+ assertTrue(outputFormatClassName.equals(DMaaPMROutputFormat.class.getName()));
+ }
+
+ @Test
+ public void testGetOutputFormatConfiguration() throws Exception {
+ final TestDMaaPMRSinkPluginConfig testDMaaPMRSinkPluginConfig = getTestDMaaPMRSinkPluginConfig();
+ final DMaaPMROutputFormatProvider dMaaPMROutputFormatProvider =
+ new DMaaPMROutputFormatProvider(testDMaaPMRSinkPluginConfig);
+ final Map<String, String> outputFormatConfiguration =
+ dMaaPMROutputFormatProvider.getOutputFormatConfiguration();
+ assertTrue(outputFormatConfiguration.size() == 9);
+
+ }
+
+}
diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMROutputFormatTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMROutputFormatTest.java
new file mode 100644
index 0000000..f20e94e
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMROutputFormatTest.java
@@ -0,0 +1,75 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.batch.sink.dmaap;
+
+import org.apache.hadoop.io.NullWritable;
+import org.apache.hadoop.mapreduce.JobContext;
+import org.apache.hadoop.mapreduce.OutputCommitter;
+import org.apache.hadoop.mapreduce.RecordWriter;
+import org.apache.hadoop.mapreduce.TaskAttemptContext;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.when;
+
+/**
+ * @author Rajiv Singla . Creation Date: 1/30/2017.
+ */
+public class DMaaPMROutputFormatTest extends BaseAnalyticsCDAPPluginsUnitTest {
+
+ private DMaaPMROutputFormat dMaaPMROutputFormat;
+
+ @Before
+ public void before() {
+ dMaaPMROutputFormat = new DMaaPMROutputFormat();
+ }
+
+ @Test
+ public void testGetRecordWriter() throws Exception {
+ final TaskAttemptContext taskAttemptContext = Mockito.mock(TaskAttemptContext.class);
+ when(taskAttemptContext.getConfiguration()).thenReturn(getTestConfiguration());
+ final RecordWriter<String, NullWritable> recordWriter = dMaaPMROutputFormat.getRecordWriter(taskAttemptContext);
+ assertNotNull(recordWriter);
+ final JobContext jobContext = Mockito.mock(JobContext.class);
+ dMaaPMROutputFormat.checkOutputSpecs(jobContext);
+ }
+
+ @Test
+ public void testGetOutputCommitter() throws Exception {
+ final TaskAttemptContext taskAttemptContext = Mockito.mock(TaskAttemptContext.class);
+ final OutputCommitter outputCommitter = dMaaPMROutputFormat.getOutputCommitter(taskAttemptContext);
+ assertTrue(outputCommitter.getClass().equals(DMaaPMROutputFormat.NoOpOutputCommitter.class));
+ final JobContext jobContext = Mockito.mock(JobContext.class);
+ outputCommitter.setupJob(jobContext);
+ outputCommitter.setupTask(taskAttemptContext);
+ assertFalse(outputCommitter.needsTaskCommit(taskAttemptContext));
+ outputCommitter.commitJob(jobContext);
+ outputCommitter.commitTask(taskAttemptContext);
+ outputCommitter.abortTask(taskAttemptContext);
+
+ }
+
+}
diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMRRecordWriterTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMRRecordWriterTest.java
new file mode 100644
index 0000000..f65d815
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMRRecordWriterTest.java
@@ -0,0 +1,62 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.batch.sink.dmaap;
+
+import org.apache.hadoop.mapreduce.TaskAttemptContext;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest;
+import org.openecomp.dcae.apod.analytics.dmaap.service.publisher.DMaaPMRPublisher;
+
+import java.util.Arrays;
+
+import static org.mockito.Mockito.times;
+
+/**
+ * @author Rajiv Singla . Creation Date: 1/30/2017.
+ */
+public class DMaaPMRRecordWriterTest extends BaseAnalyticsCDAPPluginsUnitTest {
+
+ private DMaaPMRPublisher publisher;
+ private DMaaPMRRecordWriter dMaaPMRRecordWriter;
+
+ @Before
+ public void before() {
+ publisher = Mockito.mock(DMaaPMRPublisher.class);
+ dMaaPMRRecordWriter = new DMaaPMRRecordWriter(publisher);
+ }
+
+ @Test
+ public void testWrite() throws Exception {
+ final String testMessage = "test Message";
+ dMaaPMRRecordWriter.write(testMessage, null);
+ Mockito.verify(publisher, times(1)).publish(Arrays.asList(testMessage));
+ }
+
+ @Test
+ public void testClose() throws Exception {
+ final TaskAttemptContext taskAttemptContext = Mockito.mock(TaskAttemptContext.class);
+ dMaaPMRRecordWriter.close(taskAttemptContext);
+ Mockito.verify(publisher, times(1)).flush();
+ }
+
+}
diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMRSinkTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMRSinkTest.java
new file mode 100644
index 0000000..48e746f
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMRSinkTest.java
@@ -0,0 +1,94 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.batch.sink.dmaap;
+
+import co.cask.cdap.api.data.format.StructuredRecord;
+import co.cask.cdap.api.data.schema.Schema;
+import co.cask.cdap.etl.api.Emitter;
+import co.cask.cdap.etl.api.PipelineConfigurer;
+import co.cask.cdap.etl.api.StageConfigurer;
+import co.cask.cdap.etl.api.batch.BatchSinkContext;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.openecomp.dcae.apod.analytics.cdap.common.exception.CDAPSettingsException;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+/**
+ * @author Rajiv Singla . Creation Date: 1/30/2017.
+ */
+public class DMaaPMRSinkTest extends BaseAnalyticsCDAPPluginsUnitTest {
+
+ private DMaaPMRSink dMaaPMRSink;
+
+ @Before
+ public void before() {
+ dMaaPMRSink = new DMaaPMRSink(getTestDMaaPMRSinkPluginConfig());
+ }
+
+ @Test
+ public void testConfigurePipeline() throws Exception {
+ final PipelineConfigurer pipelineConfigurer = Mockito.mock(PipelineConfigurer.class);
+ final StageConfigurer stageConfigurer = Mockito.mock(StageConfigurer.class);
+ when(pipelineConfigurer.getStageConfigurer()).thenReturn(stageConfigurer);
+ when(stageConfigurer.getInputSchema()).thenReturn(getDMaaPMRSinkTestSchema());
+ dMaaPMRSink.configurePipeline(pipelineConfigurer);
+ verify(stageConfigurer, times(1)).getInputSchema();
+ }
+
+ @Test(expected = CDAPSettingsException.class)
+ public void testConfigurePipelineWithInvalidSchema() throws Exception {
+ final PipelineConfigurer pipelineConfigurer = Mockito.mock(PipelineConfigurer.class);
+ final StageConfigurer stageConfigurer = Mockito.mock(StageConfigurer.class);
+ when(pipelineConfigurer.getStageConfigurer()).thenReturn(stageConfigurer);
+ when(stageConfigurer.getInputSchema()).thenReturn(Schema.recordOf(
+ "DMaaPMRSinkInvalidSchema",
+ Schema.Field.of("message1", Schema.of(Schema.Type.STRING)),
+ Schema.Field.of("field1", Schema.of(Schema.Type.STRING))
+ ));
+ dMaaPMRSink.configurePipeline(pipelineConfigurer);
+ }
+
+ @Test
+ public void testPrepareRun() throws Exception {
+ final BatchSinkContext batchSinkContext = Mockito.mock(BatchSinkContext.class);
+ dMaaPMRSink.prepareRun(batchSinkContext);
+ }
+
+ @Test
+ public void testTransform() throws Exception {
+ final StructuredRecord structuredRecord = Mockito.mock(StructuredRecord.class);
+ final Emitter emitter = Mockito.mock(Emitter.class);
+ final String incomingTestMessage = "test message";
+ when(structuredRecord.get(
+ eq(getTestDMaaPMRSinkPluginConfig().getMessageColumnName()))).thenReturn(incomingTestMessage);
+ doNothing().when(emitter).emit(any());
+ dMaaPMRSink.transform(structuredRecord, emitter);
+ }
+
+}
diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/DMaaPMRSinkPluginConfigTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/DMaaPMRSinkPluginConfigTest.java
new file mode 100644
index 0000000..d147c28
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/DMaaPMRSinkPluginConfigTest.java
@@ -0,0 +1,80 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap;
+
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertTrue;
+
+/**
+ * @author Rajiv Singla . Creation Date: 1/23/2017.
+ */
+public class DMaaPMRSinkPluginConfigTest extends BaseAnalyticsCDAPPluginsUnitTest {
+
+ @Test
+ public void testDMaaPMRSinkPluginConfigDefaults() throws Exception {
+ final DMaaPMRSinkPluginConfig sinkPluginConfig = new DMaaPMRSinkPluginConfig
+ (DMAAP_MR_SINK_PLUGIN_REFERENCE_NAME, DMAAP_MR_SINK_PLUGIN_HOST_NAME,
+ DMAAP_MR_SINK_PLUGIN_TOPIC_NAME, DMAAP_MR_SINK_MESSAGE_COLUMN_NAME);
+
+ assertThat(sinkPluginConfig.getReferenceName(), is(DMAAP_MR_SINK_PLUGIN_REFERENCE_NAME));
+ assertThat(sinkPluginConfig.getHostName(), is(DMAAP_MR_SINK_PLUGIN_HOST_NAME));
+ assertThat(sinkPluginConfig.getTopicName(), is(DMAAP_MR_SINK_PLUGIN_TOPIC_NAME));
+ assertThat(sinkPluginConfig.getMessageColumnName(), is(DMAAP_MR_SINK_MESSAGE_COLUMN_NAME));
+ assertNull(sinkPluginConfig.getPortNumber());
+ assertNull(sinkPluginConfig.getProtocol());
+ assertNull(sinkPluginConfig.getUserName());
+ assertNull(sinkPluginConfig.getUserPassword());
+ assertNull(sinkPluginConfig.getContentType());
+ assertNull(sinkPluginConfig.getMaxBatchSize());
+ assertNull(sinkPluginConfig.getMaxRecoveryQueueSize());
+ }
+
+ @Test
+ public void testDMaaPMRSinkPluginConfigCustom() throws Exception {
+ final DMaaPMRSinkPluginConfig sinkPluginConfig = getTestDMaaPMRSinkPluginConfig();
+ assertThat(sinkPluginConfig.getReferenceName(), is(DMAAP_MR_SINK_PLUGIN_REFERENCE_NAME));
+ assertThat(sinkPluginConfig.getHostName(), is(DMAAP_MR_SINK_PLUGIN_HOST_NAME));
+ assertThat(sinkPluginConfig.getTopicName(), is(DMAAP_MR_SINK_PLUGIN_TOPIC_NAME));
+ assertThat(sinkPluginConfig.getPortNumber(), is(DMAAP_MR_SINK_PLUGIN_PORT_NUMBER));
+ assertThat(sinkPluginConfig.getProtocol(), is(DMAAP_MR_SINK_PLUGIN_PROTOCOL));
+ assertThat(sinkPluginConfig.getUserName(), is(DMAAP_MR_SINK_PLUGIN_USERNAME));
+ assertThat(sinkPluginConfig.getUserPassword(), is(DMAAP_MR_SINK_PLUGIN_PASSWORD));
+ assertThat(sinkPluginConfig.getContentType(), is(DMAAP_MR_SINK_PLUGIN_CONTENT_TYPE));
+ assertThat(sinkPluginConfig.getMessageColumnName(), is(DMAAP_MR_SINK_MESSAGE_COLUMN_NAME));
+ assertThat(sinkPluginConfig.getMaxBatchSize(), is(DMAAP_MR_SINK_PLUGIN_MAX_BATCH_SIZE));
+ assertThat(sinkPluginConfig.getMaxRecoveryQueueSize(), is(DMAAP_MR_SINK_PLUGIN_MAX_RECOVERY_QUEUE_SIZE));
+ }
+
+ @Test
+ public void testValidToString() throws Exception {
+ final TestDMaaPMRSinkPluginConfig sinkPluginConfig = getTestDMaaPMRSinkPluginConfig();
+ assertNotNull(sinkPluginConfig.toString());
+ assertTrue(sinkPluginConfig.toString().contains(DMAAP_MR_SINK_PLUGIN_HOST_NAME));
+ }
+
+
+}
diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/DMaaPMRSourcePluginConfigTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/DMaaPMRSourcePluginConfigTest.java
new file mode 100644
index 0000000..a84ecda
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/DMaaPMRSourcePluginConfigTest.java
@@ -0,0 +1,84 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap;
+
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertTrue;
+
+
+/**
+ * @author Rajiv Singla . Creation Date: 1/23/2017.
+ */
+public class DMaaPMRSourcePluginConfigTest extends BaseAnalyticsCDAPPluginsUnitTest {
+
+ @Test
+ public void testDMaaPMRSourcePluginConfigDefaults() throws Exception {
+ final DMaaPMRSourcePluginConfig sourcePluginConfig = new DMaaPMRSourcePluginConfig
+ (DMAAP_MR_SOURCE_PLUGIN_REFERENCE_NAME, DMAAP_MR_SOURCE_PLUGIN_HOST_NAME,
+ DMAAP_MR_SOURCE_PLUGIN_TOPIC_NAME, DMAAP_MR_SOURCE_PLUGIN_POLLING_INTERVAL);
+
+ assertThat(sourcePluginConfig.getReferenceName(), is(DMAAP_MR_SOURCE_PLUGIN_REFERENCE_NAME));
+ assertThat(sourcePluginConfig.getHostName(), is(DMAAP_MR_SOURCE_PLUGIN_HOST_NAME));
+ assertThat(sourcePluginConfig.getTopicName(), is(DMAAP_MR_SOURCE_PLUGIN_TOPIC_NAME));
+ assertThat(sourcePluginConfig.getPollingInterval(), is(DMAAP_MR_SOURCE_PLUGIN_POLLING_INTERVAL));
+ assertNull(sourcePluginConfig.getPortNumber());
+ assertNull(sourcePluginConfig.getProtocol());
+ assertNull(sourcePluginConfig.getUserName());
+ assertNull(sourcePluginConfig.getUserPassword());
+ assertNull(sourcePluginConfig.getContentType());
+ assertNull(sourcePluginConfig.getConsumerGroup());
+ assertNull(sourcePluginConfig.getConsumerId());
+ assertNull(sourcePluginConfig.getMessageLimit());
+ assertNull(sourcePluginConfig.getTimeoutMS());
+ }
+
+ @Test
+ public void testDMaaPMRSourcePluginConfigCustom() throws Exception {
+ final TestDMaaPMRSourcePluginConfig sourcePluginConfig = getTestDMaaPMRSourcePluginConfig();
+ assertThat(sourcePluginConfig.getReferenceName(), is(DMAAP_MR_SOURCE_PLUGIN_REFERENCE_NAME));
+ assertThat(sourcePluginConfig.getHostName(), is(DMAAP_MR_SOURCE_PLUGIN_HOST_NAME));
+ assertThat(sourcePluginConfig.getTopicName(), is(DMAAP_MR_SOURCE_PLUGIN_TOPIC_NAME));
+ assertThat(sourcePluginConfig.getPollingInterval(), is(DMAAP_MR_SOURCE_PLUGIN_POLLING_INTERVAL));
+ assertThat(sourcePluginConfig.getPortNumber(), is(DMAAP_MR_SOURCE_PLUGIN_PORT_NUMBER));
+ assertThat(sourcePluginConfig.getProtocol(), is(DMAAP_MR_SOURCE_PLUGIN_PROTOCOL));
+ assertThat(sourcePluginConfig.getUserName(), is(DMAAP_MR_SOURCE_PLUGIN_USERNAME));
+ assertThat(sourcePluginConfig.getUserPassword(), is(DMAAP_MR_SOURCE_PLUGIN_PASSWORD));
+ assertThat(sourcePluginConfig.getContentType(), is(DMAAP_MR_SOURCE_PLUGIN_CONTENT_TYPE));
+ assertThat(sourcePluginConfig.getConsumerGroup(), is(DMAAP_MR_SOURCE_PLUGIN_CONSUMER_GROUP));
+ assertThat(sourcePluginConfig.getConsumerId(), is(DMAAP_MR_SOURCE_PLUGIN_CONSUMER_ID));
+ assertThat(sourcePluginConfig.getMessageLimit(), is(DMAAP_MR_SOURCE_PLUGIN_MESSAGE_LIMIT));
+ assertThat(sourcePluginConfig.getTimeoutMS(), is(DMAAP_MR_SOURCE_PLUGIN_TIMEOUT));
+ }
+
+ @Test
+ public void testValidToString() throws Exception {
+ final TestDMaaPMRSourcePluginConfig sourcePluginConfig = getTestDMaaPMRSourcePluginConfig();
+ assertNotNull(sourcePluginConfig.toString());
+ assertTrue(sourcePluginConfig.toString().contains(DMAAP_MR_SOURCE_PLUGIN_HOST_NAME));
+ }
+
+}
diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/TestDMaaPMRSinkPluginConfig.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/TestDMaaPMRSinkPluginConfig.java
new file mode 100644
index 0000000..e9c82e7
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/TestDMaaPMRSinkPluginConfig.java
@@ -0,0 +1,76 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap;
+
+import javax.annotation.Nullable;
+
+/**
+ * Test {@link DMaaPMRSinkPluginConfig} for testing purposes only
+ * <p>
+ * @author Rajiv Singla . Creation Date: 1/23/2017.
+ */
+public class TestDMaaPMRSinkPluginConfig extends DMaaPMRSinkPluginConfig {
+
+ public void setReferenceName(String referenceName) {
+ this.referenceName = referenceName;
+ }
+
+ public void setHostName(String hostName) {
+ this.hostName = hostName;
+ }
+
+ public void setPortNumber(@Nullable Integer portNumber) {
+ this.portNumber = portNumber;
+ }
+
+ public void setTopicName(String topicName) {
+ this.topicName = topicName;
+ }
+
+ public void setProtocol(@Nullable String protocol) {
+ this.protocol = protocol;
+ }
+
+ public void setUserName(@Nullable String userName) {
+ this.userName = userName;
+ }
+
+ public void setUserPassword(@Nullable String userPassword) {
+ this.userPassword = userPassword;
+ }
+
+ public void setContentType(@Nullable String contentType) {
+ this.contentType = contentType;
+ }
+
+ public void setMaxBatchSize(@Nullable Integer maxBatchSize) {
+ this.maxBatchSize = maxBatchSize;
+ }
+
+ public void setMaxRecoveryQueueSize(@Nullable Integer maxRecoveryQueueSize) {
+ this.maxRecoveryQueueSize = maxRecoveryQueueSize;
+ }
+
+ public void setMessageColumnName(String messageColumnName) {
+ this.messageColumnName = messageColumnName;
+ }
+
+}
diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/TestDMaaPMRSourcePluginConfig.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/TestDMaaPMRSourcePluginConfig.java
new file mode 100644
index 0000000..35bf740
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/TestDMaaPMRSourcePluginConfig.java
@@ -0,0 +1,84 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap;
+
+import javax.annotation.Nullable;
+
+/**
+ * Test {@link DMaaPMRSourcePluginConfig} for testing purposes only
+ * <p>
+ * @author Rajiv Singla . Creation Date: 1/23/2017.
+ */
+public class TestDMaaPMRSourcePluginConfig extends DMaaPMRSourcePluginConfig {
+
+ public void setReferenceName(String referenceName) {
+ this.referenceName = referenceName;
+ }
+
+ public void setHostName(String hostName) {
+ this.hostName = hostName;
+ }
+
+ public void setPortNumber(@Nullable Integer portNumber) {
+ this.portNumber = portNumber;
+ }
+
+ public void setTopicName(String topicName) {
+ this.topicName = topicName;
+ }
+
+ public void setPollingInterval(Integer pollingInterval) {
+ this.pollingInterval = pollingInterval;
+ }
+
+ public void setProtocol(@Nullable String protocol) {
+ this.protocol = protocol;
+ }
+
+ public void setUserName(@Nullable String userName) {
+ this.userName = userName;
+ }
+
+ public void setUserPassword(@Nullable String userPassword) {
+ this.userPassword = userPassword;
+ }
+
+ public void setContentType(@Nullable String contentType) {
+ this.contentType = contentType;
+ }
+
+ public void setConsumerId(@Nullable String consumerId) {
+ this.consumerId = consumerId;
+ }
+
+ public void setConsumerGroup(@Nullable String consumerGroup) {
+ this.consumerGroup = consumerGroup;
+ }
+
+ public void setTimeoutMS(@Nullable Integer timeoutMS) {
+ this.timeoutMS = timeoutMS;
+ }
+
+ public void setMessageLimit(@Nullable Integer messageLimit) {
+ this.messageLimit = messageLimit;
+ }
+
+}
diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/filter/TestJsonPathFilterPluginConfig.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/filter/TestJsonPathFilterPluginConfig.java
new file mode 100644
index 0000000..d0b51db
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/filter/TestJsonPathFilterPluginConfig.java
@@ -0,0 +1,50 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.filter;
+
+/**
+ * @author Rajiv Singla . Creation Date: 3/3/2017.
+ */
+public class TestJsonPathFilterPluginConfig extends JsonPathFilterPluginConfig {
+
+ public TestJsonPathFilterPluginConfig(final String referenceName, final String incomingJsonFieldName,
+ final String outputSchemaFieldName, final String jsonFilterMappings,
+ final String schema) {
+ super(referenceName, incomingJsonFieldName, outputSchemaFieldName, jsonFilterMappings, schema);
+ }
+
+
+ public void setIncomingJsonFieldName(String incomingJsonFieldName) {
+ this.incomingJsonFieldName = incomingJsonFieldName;
+ }
+
+ public void setOutputSchemaFieldName(String outputSchemaFieldName) {
+ this.outputSchemaFieldName = outputSchemaFieldName;
+ }
+
+ public void setJsonFilterMappings(String jsonFilterMappings) {
+ this.jsonFilterMappings = jsonFilterMappings;
+ }
+
+ public void setSchema(String schema) {
+ this.schema = schema;
+ }
+}
diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/tca/TestSimpleTCAPluginConfig.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/tca/TestSimpleTCAPluginConfig.java
new file mode 100644
index 0000000..592c2e2
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/tca/TestSimpleTCAPluginConfig.java
@@ -0,0 +1,56 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.tca;
+
+/**
+ * @author Rajiv Singla . Creation Date: 2/17/2017.
+ */
+public class TestSimpleTCAPluginConfig extends SimpleTCAPluginConfig {
+
+ public TestSimpleTCAPluginConfig(String vesMessageFieldName, String policyJson, String alertFieldName,
+ String messageTypeFieldName, String schema, Boolean enableAlertCEFFormat) {
+ super(vesMessageFieldName, policyJson, alertFieldName, messageTypeFieldName, schema, enableAlertCEFFormat);
+ }
+
+ public void setVesMessageFieldName(String vesMessageFieldName) {
+ this.vesMessageFieldName = vesMessageFieldName;
+ }
+
+ public void setPolicyJson(String policyJson) {
+ this.policyJson = policyJson;
+ }
+
+ public void setAlertFieldName(String alertFieldName) {
+ this.alertFieldName = alertFieldName;
+ }
+
+ public void setMessageTypeFieldName(String messageTypeFieldName) {
+ this.messageTypeFieldName = messageTypeFieldName;
+ }
+
+ public void setSchema(String schema) {
+ this.schema = schema;
+ }
+
+ public void setEnableAlertCEFFormat(Boolean enableAlertCEFFormat) {
+ this.enableAlertCEFFormat = enableAlertCEFFormat;
+ }
+}
diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/schema/dmaap/DMaaPSourceOutputSchemaTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/schema/dmaap/DMaaPSourceOutputSchemaTest.java
new file mode 100644
index 0000000..5872bcf
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/schema/dmaap/DMaaPSourceOutputSchemaTest.java
@@ -0,0 +1,63 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.domain.schema.dmaap;
+
+import co.cask.cdap.api.data.schema.Schema;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest;
+
+import java.util.LinkedList;
+import java.util.List;
+
+import static org.hamcrest.CoreMatchers.hasItems;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+/**
+ * @author Rajiv Singla . Creation Date: 1/25/2017.
+ */
+public class DMaaPSourceOutputSchemaTest extends BaseAnalyticsCDAPPluginsUnitTest {
+
+
+ @Test
+ public void testGetSchemaColumnName() throws Exception {
+ assertThat(DMaaPSourceOutputSchema.TIMESTAMP.getSchemaColumnName(), is("ts"));
+ assertThat(DMaaPSourceOutputSchema.RESPONSE_CODE.getSchemaColumnName(), is("responseCode"));
+ assertThat(DMaaPSourceOutputSchema.RESPONSE_MESSAGE.getSchemaColumnName(), is("responseMessage"));
+ assertThat(DMaaPSourceOutputSchema.FETCHED_MESSAGE.getSchemaColumnName(), is("message"));
+ }
+
+ @Test
+ public void testGetSchema() throws Exception {
+ final Schema schema = DMaaPSourceOutputSchema.getSchema();
+ final List<Schema.Field> fields = schema.getFields();
+ final List<String> fieldNames = new LinkedList<>();
+ for (Schema.Field field : fields) {
+ fieldNames.add(field.getName());
+ }
+ assertThat(fieldNames, hasItems(
+ DMaaPSourceOutputSchema.TIMESTAMP.getSchemaColumnName(),
+ DMaaPSourceOutputSchema.RESPONSE_CODE.getSchemaColumnName(),
+ DMaaPSourceOutputSchema.RESPONSE_MESSAGE.getSchemaColumnName(),
+ DMaaPSourceOutputSchema.FETCHED_MESSAGE.getSchemaColumnName()));
+ }
+
+}
diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/it/SimpleTCAPluginCDAPIT.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/it/SimpleTCAPluginCDAPIT.java
new file mode 100644
index 0000000..73c2533
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/it/SimpleTCAPluginCDAPIT.java
@@ -0,0 +1,228 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.it;
+
+import co.cask.cdap.api.data.format.StructuredRecord;
+import co.cask.cdap.api.data.schema.Schema;
+import co.cask.cdap.api.dataset.table.Table;
+import co.cask.cdap.api.plugin.PluginClass;
+import co.cask.cdap.api.plugin.PluginPropertyField;
+import co.cask.cdap.common.utils.Tasks;
+import co.cask.cdap.datapipeline.DataPipelineApp;
+import co.cask.cdap.datapipeline.SmartWorkflow;
+import co.cask.cdap.etl.api.batch.SparkCompute;
+import co.cask.cdap.etl.mock.batch.MockSink;
+import co.cask.cdap.etl.mock.batch.MockSource;
+import co.cask.cdap.etl.mock.test.HydratorTestBase;
+import co.cask.cdap.etl.proto.v2.ETLBatchConfig;
+import co.cask.cdap.etl.proto.v2.ETLPlugin;
+import co.cask.cdap.etl.proto.v2.ETLStage;
+import co.cask.cdap.proto.artifact.AppRequest;
+import co.cask.cdap.proto.artifact.ArtifactSummary;
+import co.cask.cdap.proto.id.ApplicationId;
+import co.cask.cdap.proto.id.ArtifactId;
+import co.cask.cdap.proto.id.NamespaceId;
+import co.cask.cdap.test.ApplicationManager;
+import co.cask.cdap.test.DataSetManager;
+import co.cask.cdap.test.WorkflowManager;
+import com.google.common.base.Joiner;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.Sets;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.cdap.common.persistance.tca.TCACalculatorMessageType;
+import org.openecomp.dcae.apod.analytics.cdap.common.validation.CDAPAppSettingsValidator;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.tca.SimpleTCAPluginConfig;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.sparkcompute.tca.SimpleTCAPlugin;
+import org.openecomp.dcae.apod.analytics.common.validation.DCAEValidator;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.net.URI;
+import java.nio.charset.Charset;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.Callable;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Integration Test which used CDAP Hydrator Test Base to Test Simple TCA Plugin
+ *
+ * @author Rajiv Singla . Creation Date: 2/17/2017.
+ */
+public class SimpleTCAPluginCDAPIT extends HydratorTestBase {
+
+ private static final Logger LOG = LoggerFactory.getLogger(SimpleTCAPluginCDAPIT.class);
+
+ private static final String CDAP_PLUGIN_VERSION = "3.0-SNAPSHOT";
+ private static final String CDAP_PLUGIN_ARTIFACT_NAME = "dcae-analytics-cdap-plugins";
+
+ protected static final ArtifactId DATAPIPELINE_ARTIFACT_ID = NamespaceId.DEFAULT.artifact("data-pipeline",
+ "4.0.0");
+ protected static final ArtifactSummary DATAPIPELINE_ARTIFACT = new ArtifactSummary("data-pipeline", "4.0.0");
+
+ private static Schema sourceSchema = Schema.recordOf("CEFMessageSourceSchema",
+ Schema.Field.of("message", Schema.of(Schema.Type.STRING))
+ );
+
+ final Schema outputSchema = Schema.recordOf(
+ "outputSchema",
+ Schema.Field.of("message", Schema.of(Schema.Type.STRING)),
+ Schema.Field.of("alert", Schema.nullableOf(Schema.of(Schema.Type.STRING))),
+ Schema.Field.of("tcaMessageType", Schema.of(Schema.Type.STRING))
+ );
+
+ @BeforeClass
+ public static void setupTest() throws Exception {
+
+ setupBatchArtifacts(DATAPIPELINE_ARTIFACT_ID, DataPipelineApp.class);
+
+
+ // Enable the below code if you want to run the test in Intelli IDEA editor
+ // addPluginArtifact(NamespaceId.DEFAULT.artifact("spark-plugins", "1.0.0"), DATAPIPELINE_ARTIFACT_ID,
+ // SimpleTCAPlugin.class, SimpleTCAPluginConfig.class);
+
+ // Enable the below code if you want to run the test via command line
+ ArtifactId dcaeAnalyticsCdapPluginsArtifact = NamespaceId.DEFAULT.artifact(
+ CDAP_PLUGIN_ARTIFACT_NAME, CDAP_PLUGIN_VERSION);
+
+ addPluginArtifact(dcaeAnalyticsCdapPluginsArtifact, DATAPIPELINE_ARTIFACT_ID,
+ ImmutableSet.of(getSimpleTCAPluginClass()), SimpleTCAPlugin.class, SimpleTCAPluginConfig.class,
+ CDAPAppSettingsValidator.class, DCAEValidator.class);
+ }
+
+ private static PluginClass getSimpleTCAPluginClass() {
+ final HashMap<String, PluginPropertyField> properties = new HashMap<>();
+ properties.put("vesMessageFieldName", new PluginPropertyField("vesMessageFieldName", "",
+ "string", false, false));
+ properties.put("referenceName", new PluginPropertyField("referenceName", "",
+ "string", false, false));
+ properties.put("policyJson", new PluginPropertyField("policyJson", "", "string", false, false));
+ properties.put("alertFieldName", new PluginPropertyField("alertFieldName", "", "string", false, false));
+ properties.put("messageTypeFieldName", new PluginPropertyField(
+ "messageTypeFieldName", "", "string", false, false));
+ properties.put("enableAlertCEFFormat", new PluginPropertyField(
+ "enableAlertCEFFormat", "", "string", false, false));
+ properties.put("schema", new PluginPropertyField(
+ "schema", "", "string", false, false));
+
+ return new PluginClass("sparkcompute", "SimpleTCAPlugin", "", SimpleTCAPlugin.class.getName(),
+ "pluginConfig", properties);
+ }
+
+
+ @AfterClass
+ public static void cleanup() {
+ }
+
+ @Test
+ public void testTransform() throws Exception {
+
+ LOG.info("Starting Test Transform");
+
+ final String policyString = getFileContentAsString("/data/json/policy/tca_policy.json");
+ final String cefMessage = getFileContentAsString("/data/json/cef/cef_message.json");
+
+ final Map<String, String> tcaProperties = new ImmutableMap.Builder<String, String>()
+ .put("vesMessageFieldName", "message")
+ .put("referenceName", "SimpleTcaPlugin")
+ .put("policyJson", policyString)
+ .put("alertFieldName", "alert")
+ .put("messageTypeFieldName", "tcaMessageType")
+ .put("enableAlertCEFFormat", "true")
+ .put("schema", outputSchema.toString())
+ .build();
+
+ final ETLPlugin mockSourcePlugin = MockSource.getPlugin("messages", sourceSchema);
+ final ETLPlugin tcaPlugin =
+ new ETLPlugin("SimpleTCAPlugin", SparkCompute.PLUGIN_TYPE, tcaProperties, null);
+ final ETLPlugin mockSink = MockSink.getPlugin("tcaOutput");
+
+ final ETLBatchConfig etlBatchConfig = ETLBatchConfig.builder("* * * * *")
+ .addStage(new ETLStage("source", mockSourcePlugin))
+ .addStage(new ETLStage("simpleTCAPlugin", tcaPlugin))
+ .addStage(new ETLStage("sink", mockSink))
+ .addConnection("source", "simpleTCAPlugin")
+ .addConnection("simpleTCAPlugin", "sink")
+ .build();
+
+ AppRequest<ETLBatchConfig> appRequest = new AppRequest<>(DATAPIPELINE_ARTIFACT, etlBatchConfig);
+ ApplicationId appId = NamespaceId.DEFAULT.app("TestSimpleTCAPlugin");
+ ApplicationManager appManager = deployApplication(appId.toId(), appRequest);
+
+ List<StructuredRecord> sourceMessages = new ArrayList<>();
+ StructuredRecord.Builder builder = StructuredRecord.builder(sourceSchema);
+ builder.set("message", cefMessage);
+ sourceMessages.add(builder.build());
+
+ // write records to source
+ DataSetManager<Table> inputManager = getDataset(NamespaceId.DEFAULT.dataset("messages"));
+ MockSource.writeInput(inputManager, sourceMessages);
+
+ // manually trigger the pipeline
+ WorkflowManager workflowManager = appManager.getWorkflowManager(SmartWorkflow.NAME);
+ workflowManager.start();
+ workflowManager.waitForFinish(5, TimeUnit.MINUTES);
+
+ final DataSetManager<Table> outputManager = getDataset("tcaOutput");
+
+ Tasks.waitFor(
+ TCACalculatorMessageType.COMPLIANT.name(),
+ new Callable<String>() {
+ @Override
+ public String call() throws Exception {
+ outputManager.flush();
+ List<String> tcaOutputMessageType = new LinkedList<>();
+ for (StructuredRecord outputRecord : MockSink.readOutput(outputManager)) {
+ tcaOutputMessageType.add(outputRecord.get("tcaMessageType").toString());
+ final List<Schema.Field> fields = outputRecord.getSchema().getFields();
+ LOG.debug("====>> Printing output Structured Record Contents: {}", outputRecord);
+ for (Schema.Field field : fields) {
+ LOG.debug("Field Name: {} - Field Type: {} ---> Field Value: {}",
+ field.getName(), field.getSchema().getType(),
+ outputRecord.get(field.getName()));
+ }
+
+ }
+ return tcaOutputMessageType.get(0);
+ }
+ },
+ 4,
+ TimeUnit.MINUTES);
+
+ }
+
+ private static final String getFileContentAsString(final String fileLocation) throws Exception {
+ final URI tcaPolicyURI =
+ SimpleTCAPluginCDAPIT.class.getResource(fileLocation).toURI();
+ List<String> lines = Files.readAllLines(Paths.get(tcaPolicyURI), Charset.defaultCharset());
+ return Joiner.on("").join(lines);
+ }
+
+}
diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/sparkcompute/tca/SimpleTCAPluginTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/sparkcompute/tca/SimpleTCAPluginTest.java
new file mode 100644
index 0000000..0a8bd42
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/sparkcompute/tca/SimpleTCAPluginTest.java
@@ -0,0 +1,119 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.sparkcompute.tca;
+
+import co.cask.cdap.api.data.format.StructuredRecord;
+import co.cask.cdap.api.data.schema.Schema;
+import co.cask.cdap.etl.api.PipelineConfigurer;
+import co.cask.cdap.etl.api.StageConfigurer;
+import co.cask.cdap.etl.api.batch.SparkExecutionPluginContext;
+import org.apache.spark.api.java.JavaRDD;
+import org.apache.spark.api.java.JavaSparkContext;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.openecomp.dcae.apod.analytics.cdap.common.persistance.tca.TCACalculatorMessageType;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.tca.TestSimpleTCAPluginConfig;
+
+import java.util.LinkedList;
+import java.util.List;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+/**
+ * @author Rajiv Singla . Creation Date: 2/17/2017.
+ */
+public class SimpleTCAPluginTest extends BaseAnalyticsCDAPPluginsUnitTest {
+
+ private SimpleTCAPlugin simpleTCAPlugin;
+
+ @Before
+ public void before() {
+ final TestSimpleTCAPluginConfig testSimpleTCAPluginConfig = getTestSimpleTCAPluginConfig();
+ Schema outputSchema = Schema.recordOf(
+ "TestSimpleTCAPluginInputSchema",
+ Schema.Field.of("message", Schema.of(Schema.Type.STRING)),
+ Schema.Field.of("alert", Schema.nullableOf(Schema.of(Schema.Type.STRING))),
+ Schema.Field.of("tcaMessageType", Schema.of(Schema.Type.STRING))
+ );
+ testSimpleTCAPluginConfig.setSchema(outputSchema.toString());
+ simpleTCAPlugin = new SimpleTCAPlugin(testSimpleTCAPluginConfig);
+ }
+
+ @Test
+ public void testConfigurePipeline() throws Exception {
+ final PipelineConfigurer pipelineConfigurer = mock(PipelineConfigurer.class);
+ final StageConfigurer stageConfigurer = mock(StageConfigurer.class);
+ when(pipelineConfigurer.getStageConfigurer()).thenReturn(stageConfigurer);
+ when(stageConfigurer.getInputSchema()).thenReturn(getSimpleTCAPluginInputSchema());
+ simpleTCAPlugin.configurePipeline(pipelineConfigurer);
+ verify(stageConfigurer, times(1)).getInputSchema();
+ }
+
+ @Test
+ public void testTransform() throws Exception {
+
+ JavaSparkContext javaSparkContext = new JavaSparkContext("local", "test");
+
+ Schema sourceSchema = Schema.recordOf("CEFMessageSourceSchema",
+ Schema.Field.of("message", Schema.of(Schema.Type.STRING))
+ );
+
+ // Inapplicable Message Structured Record
+ final StructuredRecord inapplicableSR =
+ StructuredRecord.builder(sourceSchema).set("message", "test").build();
+ // compliant
+ final StructuredRecord compliantSR =
+ StructuredRecord.builder(sourceSchema).set("message",
+ fromStream(CEF_MESSAGE_JSON_FILE_LOCATION)).build();
+ // non compliant
+ final String nonCompliantCEF = fromStream(CEF_NON_COMPLIANT_MESSAGE_JSON_FILE_LOCATION);
+ final StructuredRecord nonCompliantSR =
+ StructuredRecord.builder(sourceSchema).set("message", nonCompliantCEF).build();
+
+ final List<StructuredRecord> records = new LinkedList<>();
+ records.add(inapplicableSR);
+ records.add(compliantSR);
+ records.add(nonCompliantSR);
+
+ final JavaRDD<StructuredRecord> input =
+ javaSparkContext.parallelize(records);
+ final SparkExecutionPluginContext context = Mockito.mock(SparkExecutionPluginContext.class);
+ final MockStageMetrics stageMetrics = Mockito.mock(MockStageMetrics.class);
+ when(context.getMetrics()).thenReturn(stageMetrics);
+ final List<StructuredRecord> outputRecord = simpleTCAPlugin.transform(context, input).collect();
+ assertNotNull(outputRecord);
+ assertThat(outputRecord.size(), is(3));
+
+ assertTrue(outputRecord.get(0).get("tcaMessageType").equals(TCACalculatorMessageType.INAPPLICABLE.toString()));
+ assertTrue(outputRecord.get(1).get("tcaMessageType").equals(TCACalculatorMessageType.COMPLIANT.toString()));
+ assertTrue(outputRecord.get(2).get("tcaMessageType").equals(TCACalculatorMessageType.NON_COMPLIANT.toString()));
+ }
+
+}
diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/DMaaPMRReceiverTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/DMaaPMRReceiverTest.java
new file mode 100644
index 0000000..036244d
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/DMaaPMRReceiverTest.java
@@ -0,0 +1,75 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.streaming.dmaap;
+
+import com.google.common.collect.ImmutableList;
+import org.apache.spark.storage.StorageLevel;
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.TestDMaaPMRSourcePluginConfig;
+import org.openecomp.dcae.apod.analytics.common.exception.DCAEAnalyticsRuntimeException;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.response.DMaaPMRSubscriberResponse;
+import org.openecomp.dcae.apod.analytics.dmaap.service.subscriber.DMaaPMRSubscriber;
+
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+/**
+ * @author Rajiv Singla . Creation Date: 1/24/2017.
+ */
+public class DMaaPMRReceiverTest extends BaseAnalyticsCDAPPluginsUnitTest {
+
+
+ @Test
+ public void testStoreStructuredRecords() throws Exception {
+
+ final TestDMaaPMRSourcePluginConfig testDMaaPMRSourcePluginConfig = getTestDMaaPMRSourcePluginConfig();
+ final TestDMaaPMRReceiver dMaaPMRReceiver =
+ new TestDMaaPMRReceiver(StorageLevel.MEMORY_ONLY(), testDMaaPMRSourcePluginConfig);
+
+ final DMaaPMRSubscriber dMaaPMRSubscriber = Mockito.mock(DMaaPMRSubscriber.class);
+ final DMaaPMRSubscriberResponse subscriberResponse = Mockito.mock(DMaaPMRSubscriberResponse.class);
+ when(dMaaPMRSubscriber.fetchMessages()).thenReturn(subscriberResponse);
+ when(subscriberResponse.getFetchedMessages()).thenReturn(ImmutableList.of("Test Message"));
+ when(subscriberResponse.getResponseCode()).thenReturn(200);
+ when(subscriberResponse.getResponseMessage()).thenReturn("OK");
+ dMaaPMRReceiver.storeStructuredRecords(dMaaPMRSubscriber);
+ verify(dMaaPMRSubscriber, times(1)).fetchMessages();
+ verify(subscriberResponse, times(1)).getFetchedMessages();
+ }
+
+ @Test
+ public void testStoreStructuredRecordsWhenSubscriberThrowsException() throws Exception {
+
+ final TestDMaaPMRSourcePluginConfig testDMaaPMRSourcePluginConfig = getTestDMaaPMRSourcePluginConfig();
+ final TestDMaaPMRReceiver dMaaPMRReceiver =
+ new TestDMaaPMRReceiver(StorageLevel.MEMORY_ONLY(), testDMaaPMRSourcePluginConfig);
+
+ final DMaaPMRSubscriber dMaaPMRSubscriber = Mockito.mock(DMaaPMRSubscriber.class);
+ final DMaaPMRSubscriberResponse subscriberResponse = Mockito.mock(DMaaPMRSubscriberResponse.class);
+ when(dMaaPMRSubscriber.fetchMessages()).thenThrow(DCAEAnalyticsRuntimeException.class);
+ dMaaPMRReceiver.storeStructuredRecords(dMaaPMRSubscriber);
+ verify(dMaaPMRSubscriber, times(1)).fetchMessages();
+ verify(subscriberResponse, times(0)).getFetchedMessages();
+ }
+}
diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/DMaaPMRSourceTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/DMaaPMRSourceTest.java
new file mode 100644
index 0000000..a86206a
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/DMaaPMRSourceTest.java
@@ -0,0 +1,90 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.streaming.dmaap;
+
+import co.cask.cdap.api.data.format.StructuredRecord;
+import co.cask.cdap.api.data.schema.Schema;
+import co.cask.cdap.etl.api.PipelineConfigurer;
+import co.cask.cdap.etl.api.StageConfigurer;
+import co.cask.cdap.etl.api.streaming.StreamingContext;
+import org.apache.spark.streaming.api.java.JavaDStream;
+import org.apache.spark.streaming.api.java.JavaReceiverInputDStream;
+import org.apache.spark.streaming.api.java.JavaStreamingContext;
+import org.apache.spark.streaming.receiver.Receiver;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.openecomp.dcae.apod.analytics.cdap.common.exception.CDAPSettingsException;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.TestDMaaPMRSourcePluginConfig;
+
+import static org.junit.Assert.assertNotNull;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.when;
+
+/**
+ * @author Rajiv Singla . Creation Date: 1/24/2017.
+ */
+public class DMaaPMRSourceTest extends BaseAnalyticsCDAPPluginsUnitTest {
+
+ private PipelineConfigurer pipelineConfigurer;
+
+ @Before
+ public void before() {
+ pipelineConfigurer = Mockito.mock(PipelineConfigurer.class);
+ final StageConfigurer stageConfigurer = Mockito.mock(StageConfigurer.class);
+ when(pipelineConfigurer.getStageConfigurer()).thenReturn(stageConfigurer);
+ doNothing().when(stageConfigurer).setOutputSchema(any(Schema.class));
+ }
+
+ @Test
+ public void testDMaaPMRSourceConfigurePipelineWithValidPluginSettings() throws Exception {
+ final TestDMaaPMRSourcePluginConfig testDMaaPMRSourcePluginConfig = getTestDMaaPMRSourcePluginConfig();
+ final DMaaPMRSource dMaaPMRSource = new DMaaPMRSource(testDMaaPMRSourcePluginConfig);
+ dMaaPMRSource.configurePipeline(pipelineConfigurer);
+ assertNotNull(dMaaPMRSource);
+ }
+
+ @Test(expected = CDAPSettingsException.class)
+ public void testDMaaPMRSourceConfigurePipelineWithInvalidPluginSettings() throws Exception {
+ final TestDMaaPMRSourcePluginConfig testDMaaPMRSourcePluginConfig = getTestDMaaPMRSourcePluginConfig();
+ // blank out DMaaP MR Source Host
+ testDMaaPMRSourcePluginConfig.setHostName(null);
+ final DMaaPMRSource dMaaPMRSource = new DMaaPMRSource(testDMaaPMRSourcePluginConfig);
+ dMaaPMRSource.configurePipeline(pipelineConfigurer);
+ }
+
+
+ @Test
+ public void testGetStream() throws Exception {
+ final StreamingContext streamingContext = Mockito.mock(StreamingContext.class);
+ final JavaStreamingContext javaStreamingContext = Mockito.mock(JavaStreamingContext.class);
+ final JavaReceiverInputDStream dMaaPMRReceiver = Mockito.mock(JavaReceiverInputDStream.class);
+ when(streamingContext.getSparkStreamingContext()).thenReturn(javaStreamingContext);
+ when(javaStreamingContext.receiverStream(any(Receiver.class))).thenReturn(dMaaPMRReceiver);
+
+ final TestDMaaPMRSourcePluginConfig testDMaaPMRSourcePluginConfig = getTestDMaaPMRSourcePluginConfig();
+ final DMaaPMRSource dMaaPMRSource = new DMaaPMRSource(testDMaaPMRSourcePluginConfig);
+ final JavaDStream<StructuredRecord> stream = dMaaPMRSource.getStream(streamingContext);
+ assertNotNull(stream);
+ }
+}
diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/MockDMaaPMRReceiverTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/MockDMaaPMRReceiverTest.java
new file mode 100644
index 0000000..183c90d
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/MockDMaaPMRReceiverTest.java
@@ -0,0 +1,81 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.streaming.dmaap;
+
+import co.cask.cdap.api.data.format.StructuredRecord;
+import org.apache.spark.storage.StorageLevel;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.DMaaPMRSourcePluginConfig;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.TestDMaaPMRSourcePluginConfig;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.schema.dmaap.DMaaPSourceOutputSchema;
+
+import java.util.concurrent.TimeUnit;
+
+/**
+ * @author Rajiv Singla . Creation Date: 2/20/2017.
+ */
+public class MockDMaaPMRReceiverTest extends BaseAnalyticsCDAPPluginsUnitTest {
+
+ protected class TestMockDMaaPMRReceiverTest extends MockDMaaPMRReceiver {
+
+ private boolean canStop = false;
+
+ public TestMockDMaaPMRReceiverTest(StorageLevel storageLevel, DMaaPMRSourcePluginConfig pluginConfig) {
+ super(storageLevel, pluginConfig);
+ }
+
+ @Override
+ public boolean isStopped() {
+ return canStop;
+ }
+
+ @Override
+ public void store(StructuredRecord dataItem) {
+ LOG.debug("Mocking storing dataItem - {}",
+ dataItem.get(DMaaPSourceOutputSchema.FETCHED_MESSAGE.getSchemaColumnName()));
+ }
+
+ public void setCanStop(boolean canStop) {
+ this.canStop = canStop;
+ }
+ }
+
+ @Test
+ public void testStoreStructuredRecords() throws Exception {
+ final TestDMaaPMRSourcePluginConfig testDMaaPMRSourcePluginConfig = getTestDMaaPMRSourcePluginConfig();
+ testDMaaPMRSourcePluginConfig.setPollingInterval(100);
+ final TestMockDMaaPMRReceiverTest mockDMaaPMRReceiver = new TestMockDMaaPMRReceiverTest(StorageLevel
+ .MEMORY_ONLY(),
+ testDMaaPMRSourcePluginConfig);
+ new Thread(new Runnable() {
+ @Override
+ public void run() {
+ mockDMaaPMRReceiver.storeStructuredRecords(null);
+ }
+ }).start();
+ TimeUnit.MILLISECONDS.sleep(1000);
+ LOG.info("Killing Mock Subscriber after 1 ms");
+ mockDMaaPMRReceiver.setCanStop(true);
+
+ }
+
+}
diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/MockDMaaPMRSourceTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/MockDMaaPMRSourceTest.java
new file mode 100644
index 0000000..11e09c5
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/MockDMaaPMRSourceTest.java
@@ -0,0 +1,73 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.streaming.dmaap;
+
+import co.cask.cdap.api.data.format.StructuredRecord;
+import co.cask.cdap.etl.api.streaming.StreamingContext;
+import org.apache.spark.streaming.api.java.JavaDStream;
+import org.apache.spark.streaming.api.java.JavaReceiverInputDStream;
+import org.apache.spark.streaming.api.java.JavaStreamingContext;
+import org.apache.spark.streaming.receiver.Receiver;
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.openecomp.dcae.apod.analytics.cdap.common.exception.CDAPSettingsException;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.TestDMaaPMRSourcePluginConfig;
+
+import static org.junit.Assert.assertNotNull;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.when;
+
+/**
+ * @author Rajiv Singla . Creation Date: 2/20/2017.
+ */
+public class MockDMaaPMRSourceTest extends BaseAnalyticsCDAPPluginsUnitTest {
+
+ @Test
+ public void testGetStream() throws Exception {
+ final StreamingContext streamingContext = Mockito.mock(StreamingContext.class);
+ final JavaStreamingContext javaStreamingContext = Mockito.mock(JavaStreamingContext.class);
+ final JavaReceiverInputDStream dMaaPMRReceiver = Mockito.mock(JavaReceiverInputDStream.class);
+ when(streamingContext.getSparkStreamingContext()).thenReturn(javaStreamingContext);
+ when(javaStreamingContext.receiverStream(any(Receiver.class))).thenReturn(dMaaPMRReceiver);
+
+ MockDMaaPMRSource mockDMaaPMRSource = new MockDMaaPMRSource(getTestDMaaPMRSourcePluginConfig());
+ final JavaDStream<StructuredRecord> stream = mockDMaaPMRSource.getStream(streamingContext);
+ assertNotNull(stream);
+ }
+
+ @Test(expected = CDAPSettingsException.class)
+ public void testConfigurePipelineWhenPollingIntervalNotPresent() throws Exception {
+ final TestDMaaPMRSourcePluginConfig testDMaaPMRSourcePluginConfig = getTestDMaaPMRSourcePluginConfig();
+ testDMaaPMRSourcePluginConfig.setPollingInterval(null);
+ final MockDMaaPMRSource mockDMaaPMRSource = new MockDMaaPMRSource(testDMaaPMRSourcePluginConfig);
+ mockDMaaPMRSource.configurePipeline(null);
+ }
+
+ @Test
+ public void testConfigurePipelineWhenPollingIntervalIsPresent() throws Exception {
+ final TestDMaaPMRSourcePluginConfig testDMaaPMRSourcePluginConfig = getTestDMaaPMRSourcePluginConfig();
+ final MockDMaaPMRSource mockDMaaPMRSource = new MockDMaaPMRSource(testDMaaPMRSourcePluginConfig);
+ mockDMaaPMRSource.configurePipeline(null);
+ assertNotNull(mockDMaaPMRSource);
+ }
+
+}
diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/TestDMaaPMRReceiver.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/TestDMaaPMRReceiver.java
new file mode 100644
index 0000000..1baf29c
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/TestDMaaPMRReceiver.java
@@ -0,0 +1,58 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.streaming.dmaap;
+
+import co.cask.cdap.api.data.format.StructuredRecord;
+import co.cask.cdap.api.metrics.Metrics;
+import org.apache.spark.storage.StorageLevel;
+import org.mockito.Mockito;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.DMaaPMRSourcePluginConfig;
+
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.doNothing;
+
+/**
+ * Test implementation for {@link DMaaPMRReceiver}
+ * <p>
+ * @author Rajiv Singla . Creation Date: 1/24/2017.
+ */
+public class TestDMaaPMRReceiver extends DMaaPMRReceiver {
+
+ protected static Metrics metrics;
+
+ static {
+ metrics = Mockito.mock(Metrics.class);
+ doNothing().when(metrics).count(anyString(), anyInt());
+ doNothing().when(metrics).gauge(anyString(), anyInt());
+ }
+
+
+ public TestDMaaPMRReceiver(StorageLevel storageLevel, DMaaPMRSourcePluginConfig pluginConfig) {
+
+ super(storageLevel, pluginConfig, metrics);
+ }
+
+ @Override
+ public void store(StructuredRecord dataItem) {
+ // do nothing
+ }
+}
diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/transform/filter/JsonPathFilterTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/transform/filter/JsonPathFilterTest.java
new file mode 100644
index 0000000..f20f753
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/transform/filter/JsonPathFilterTest.java
@@ -0,0 +1,84 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.transform.filter;
+
+import co.cask.cdap.api.data.format.StructuredRecord;
+import co.cask.cdap.api.data.schema.Schema;
+import co.cask.cdap.etl.api.Emitter;
+import co.cask.cdap.etl.api.PipelineConfigurer;
+import co.cask.cdap.etl.api.StageConfigurer;
+import org.junit.Test;
+import org.mockito.ArgumentMatchers;
+import org.mockito.Mockito;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest;
+
+import java.util.Date;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+/**
+ * @author Rajiv Singla . Creation Date: 3/3/2017.
+ */
+public class JsonPathFilterTest extends BaseAnalyticsCDAPPluginsUnitTest {
+
+
+ @Test
+ public void testInitializeWhenFilterMappingIsValid() throws Exception {
+ final JsonPathFilter jsonPathFilter = new JsonPathFilter(getJsonPathFilterPluginConfig());
+ jsonPathFilter.initialize(null);
+ }
+
+
+ @Test
+ public void configurePipeline() throws Exception {
+ final JsonPathFilter jsonPathFilter = new JsonPathFilter(getJsonPathFilterPluginConfig());
+ final PipelineConfigurer pipelineConfigurer = mock(PipelineConfigurer.class);
+ final StageConfigurer stageConfigurer = mock(StageConfigurer.class);
+ when(pipelineConfigurer.getStageConfigurer()).thenReturn(stageConfigurer);
+ when(stageConfigurer.getInputSchema()).thenReturn(getSimpleTCAPluginInputSchema());
+ doNothing().when(stageConfigurer).setOutputSchema(any(Schema.class));
+ jsonPathFilter.configurePipeline(pipelineConfigurer);
+ verify(stageConfigurer, times(1)).setOutputSchema(any(Schema.class));
+ }
+
+ @Test
+ public void testTransform() throws Exception {
+ final JsonPathFilter jsonPathFilter = new JsonPathFilter(getJsonPathFilterPluginConfig());
+ jsonPathFilter.initialize(null);
+ final StructuredRecord inputSR = StructuredRecord.builder(getJsonFilterPluginInputSchema())
+ .set("ts", new Date().getTime())
+ .set("responseCode", 200)
+ .set("responseMessage", "OK")
+ .set("message", fromStream(CEF_MESSAGE_JSON_FILE_LOCATION))
+ .build();
+
+ final Emitter emitter = Mockito.mock(Emitter.class);
+ doNothing().when(emitter).emit(ArgumentMatchers.any(StructuredRecord.class));
+ jsonPathFilter.transform(inputSR, emitter);
+ verify(emitter, times(1)).emit(any(StructuredRecord.class));
+ }
+
+}
diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/CDAPPluginUtilsTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/CDAPPluginUtilsTest.java
new file mode 100644
index 0000000..1483749
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/CDAPPluginUtilsTest.java
@@ -0,0 +1,171 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.utils;
+
+import co.cask.cdap.api.data.format.StructuredRecord;
+import co.cask.cdap.api.data.schema.Schema;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest;
+import org.openecomp.dcae.apod.analytics.common.exception.DCAEAnalyticsRuntimeException;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertThat;
+
+/**
+ * @author Rajiv Singla . Creation Date: 1/30/2017.
+ */
+public class CDAPPluginUtilsTest extends BaseAnalyticsCDAPPluginsUnitTest {
+
+
+ @Test
+ public void testValidateSchemaContainsFieldsWhenSchemaIsNotNull() throws Exception {
+ final Schema dMaaPMRSinkTestSchema = getDMaaPMRSinkTestSchema();
+ CDAPPluginUtils.validateSchemaContainsFields(dMaaPMRSinkTestSchema, "message");
+ }
+
+ @Test
+ public void testValidateSchemaContainsFieldsWhenInputSchemaIsNull() throws Exception {
+ CDAPPluginUtils.validateSchemaContainsFields(null, "message");
+ }
+
+ @Test
+ public void testCreateStructuredRecord() throws Exception {
+ final StructuredRecord testMessage = CDAPPluginUtils.createDMaaPMRResponseStructuredRecord("testMessage");
+ assertNotNull(testMessage);
+ }
+
+
+ @Test
+ public void testCreateOutputStructuredRecordBuilder() throws Exception {
+
+ final String messageFieldName = "message";
+ final String firstInputFieldName = "inputField1";
+ final String secondInputFieldName = "inputField2";
+
+
+ final Schema inputSchema = Schema.recordOf(
+ "inputSchema",
+ Schema.Field.of(messageFieldName, Schema.of(Schema.Type.STRING)),
+ Schema.Field.of(firstInputFieldName, Schema.nullableOf(Schema.of(Schema.Type.STRING))),
+ Schema.Field.of(secondInputFieldName, Schema.nullableOf(Schema.of(Schema.Type.STRING)))
+ );
+
+ final String addedFieldName = "addedField";
+ final Schema outputSchema = Schema.recordOf(
+ "outputSchema",
+ Schema.Field.of(messageFieldName, Schema.of(Schema.Type.STRING)),
+ Schema.Field.of(firstInputFieldName, Schema.nullableOf(Schema.of(Schema.Type.STRING))),
+ Schema.Field.of(addedFieldName, Schema.nullableOf(Schema.of(Schema.Type.STRING))) // added field
+ // missing second Input Field
+ );
+
+ // input structured record
+ final String messageFieldValue = "Message String";
+ final String firstFieldValue = "Input Field 1";
+ final String secondFieldValue = "Input Field 2";
+ final StructuredRecord inputSR = StructuredRecord.builder(inputSchema)
+ .set(messageFieldName, messageFieldValue)
+ .set(firstInputFieldName, firstFieldValue)
+ .set(secondInputFieldName, secondFieldValue)
+ .build();
+
+ final StructuredRecord.Builder outputStructuredRecordBuilder =
+ CDAPPluginUtils.createOutputStructuredRecordBuilder(outputSchema, inputSR);
+
+ final String addedFieldValue = "Added Field Value";
+ final StructuredRecord outputSR = outputStructuredRecordBuilder
+ .set(addedFieldName, addedFieldValue)
+ .build();
+
+ assertThat("Added Field field value copied correctly",
+ outputSR.get(addedFieldName).toString(), is(addedFieldValue));
+
+ assertThat("Output SR has message field copied correctly",
+ outputSR.get(messageFieldName).toString(), is(messageFieldValue));
+
+ assertThat("First Field value copied correctly",
+ outputSR.get(firstInputFieldName).toString(), is(firstFieldValue));
+
+ assertNull("Second Field value is null as output schema does not have the field",
+ outputSR.get(secondInputFieldName));
+
+ }
+
+
+ @Test
+ public void testAddFieldValueToStructuredRecordBuilder() throws Exception {
+
+ final String messageFieldName = "message";
+ final String firstInputFieldName = "inputField1";
+ final String addedFieldName = "addedField";
+ final String firstFieldValue = "Input Field 1";
+ final String addedFieldValue = "Added Field Value";
+ final Schema outputSchema = Schema.recordOf(
+ "outputSchema",
+ Schema.Field.of(messageFieldName, Schema.of(Schema.Type.STRING)),
+ Schema.Field.of(firstInputFieldName, Schema.nullableOf(Schema.of(Schema.Type.STRING))),
+ Schema.Field.of(addedFieldName, Schema.nullableOf(Schema.of(Schema.Type.STRING))) // added field
+ );
+
+ final StructuredRecord.Builder outputSRBuilder = StructuredRecord.builder(outputSchema)
+ .set(messageFieldName, "Some message")
+ .set(firstInputFieldName, firstFieldValue);
+
+ final StructuredRecord.Builder addedFieldSRBuilder = CDAPPluginUtils.addFieldValueToStructuredRecordBuilder(
+ outputSRBuilder, outputSchema, addedFieldName, addedFieldValue);
+
+ // Try adding field to output Structured record that is not in output schema
+ final String nonExistentFieldName = "fieldNotInOutputSchema";
+ final String nonExistentFieldValue = "Some Value";
+ final StructuredRecord outputSR = CDAPPluginUtils.addFieldValueToStructuredRecordBuilder(
+ addedFieldSRBuilder, outputSchema, nonExistentFieldName, nonExistentFieldValue).build();
+
+ assertThat("Output SR must contain added Field which is in output schema",
+ outputSR.get(addedFieldName).toString(), is(addedFieldValue));
+ assertNull("Output SR must not contain field that is not in output schema",
+ outputSR.get(nonExistentFieldName));
+
+ }
+
+ @Test(expected = DCAEAnalyticsRuntimeException.class)
+ public void testValidateSchemaFieldTypeWhenInputSchemaIsNotValidJson() throws Exception {
+ CDAPPluginUtils.validateSchemaFieldType("Invalid Schema", "field1", Schema.Type.STRING);
+ }
+
+ @Test(expected = DCAEAnalyticsRuntimeException.class)
+ public void testSetOutputSchemaWhenOutputSchemaIsNotValidJson() throws Exception {
+ CDAPPluginUtils.setOutputSchema(null, "Invalid output Schema");
+ }
+
+ @Test(expected = DCAEAnalyticsRuntimeException.class)
+ public void testExtractFieldMappingsWhenFieldMappingValueIsEmpty() throws Exception {
+ CDAPPluginUtils.extractFieldMappings("path1:,path2:value2");
+ }
+
+ @Test(expected = DCAEAnalyticsRuntimeException.class)
+ public void testExtractFieldMappingsWhenFieldMappingAreBlank() throws Exception {
+ CDAPPluginUtils.extractFieldMappings("path1: ,path2:value2");
+ }
+
+
+}
diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/DMaaPSinkConfigMapperTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/DMaaPSinkConfigMapperTest.java
new file mode 100644
index 0000000..bbd5c13
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/DMaaPSinkConfigMapperTest.java
@@ -0,0 +1,57 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.utils;
+
+import org.apache.hadoop.conf.Configuration;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRPublisherConfig;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertThat;
+
+/**
+ * @author Rajiv Singla . Creation Date: 1/30/2017.
+ */
+public class DMaaPSinkConfigMapperTest extends BaseAnalyticsCDAPPluginsUnitTest {
+
+
+ @Test
+ public void testMapToPublisherConfig() throws Exception {
+
+ final Configuration testConfiguration = getTestConfiguration();
+ final DMaaPMRPublisherConfig publisherConfig = DMaaPSinkConfigMapper.map(testConfiguration);
+
+ assertNotNull(publisherConfig);
+ assertThat(publisherConfig.getHostName(), is(DMAAP_MR_SINK_PLUGIN_HOST_NAME));
+ assertThat(publisherConfig.getTopicName(), is(DMAAP_MR_SINK_PLUGIN_TOPIC_NAME));
+ assertThat(publisherConfig.getPortNumber(), is(DMAAP_MR_SINK_PLUGIN_PORT_NUMBER));
+ assertThat(publisherConfig.getProtocol(), is(DMAAP_MR_SINK_PLUGIN_PROTOCOL));
+ assertThat(publisherConfig.getUserName(), is(DMAAP_MR_SINK_PLUGIN_USERNAME));
+ assertThat(publisherConfig.getUserPassword(), is(DMAAP_MR_SINK_PLUGIN_PASSWORD));
+ assertThat(publisherConfig.getContentType(), is(DMAAP_MR_SINK_PLUGIN_CONTENT_TYPE));
+ assertThat(publisherConfig.getMaxBatchSize(), is(DMAAP_MR_SINK_PLUGIN_MAX_BATCH_SIZE));
+ assertThat(publisherConfig.getMaxRecoveryQueueSize(), is(DMAAP_MR_SINK_PLUGIN_MAX_RECOVERY_QUEUE_SIZE));
+
+ }
+
+}
diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/DMaaPSourceConfigMapperTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/DMaaPSourceConfigMapperTest.java
new file mode 100644
index 0000000..4f4d751
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/DMaaPSourceConfigMapperTest.java
@@ -0,0 +1,64 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.utils;
+
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.TestDMaaPMRSourcePluginConfig;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRSubscriberConfig;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertThat;
+
+/**
+ * @author Rajiv Singla . Creation Date: 1/24/2017.
+ */
+public class DMaaPSourceConfigMapperTest extends BaseAnalyticsCDAPPluginsUnitTest {
+
+ @Test
+ public void testMapToSubscriberConfig() throws Exception {
+
+ final TestDMaaPMRSourcePluginConfig testDMaaPMRSourcePluginConfig = getTestDMaaPMRSourcePluginConfig();
+ final DMaaPMRSubscriberConfig subscriberConfig = DMaaPSourceConfigMapper.map(testDMaaPMRSourcePluginConfig);
+
+ assertNotNull(subscriberConfig);
+ assertThat(subscriberConfig.getHostName(), is(DMAAP_MR_SOURCE_PLUGIN_HOST_NAME));
+ assertThat(subscriberConfig.getTopicName(), is(DMAAP_MR_SOURCE_PLUGIN_TOPIC_NAME));
+ assertThat(subscriberConfig.getPortNumber(), is(DMAAP_MR_SOURCE_PLUGIN_PORT_NUMBER));
+ assertThat(subscriberConfig.getProtocol(), is(DMAAP_MR_SOURCE_PLUGIN_PROTOCOL));
+ assertThat(subscriberConfig.getUserName(), is(DMAAP_MR_SOURCE_PLUGIN_USERNAME));
+ assertThat(subscriberConfig.getUserPassword(), is(DMAAP_MR_SOURCE_PLUGIN_PASSWORD));
+ assertThat(subscriberConfig.getContentType(), is(DMAAP_MR_SOURCE_PLUGIN_CONTENT_TYPE));
+ assertThat(subscriberConfig.getConsumerGroup(), is(DMAAP_MR_SOURCE_PLUGIN_CONSUMER_GROUP));
+ assertThat(subscriberConfig.getConsumerId(), is(DMAAP_MR_SOURCE_PLUGIN_CONSUMER_ID));
+ assertThat(subscriberConfig.getMessageLimit(), is(DMAAP_MR_SOURCE_PLUGIN_MESSAGE_LIMIT));
+ assertThat(subscriberConfig.getTimeoutMS(), is(DMAAP_MR_SOURCE_PLUGIN_TIMEOUT));
+ }
+
+ @Test(expected = IllegalStateException.class)
+ public void testMapToSubscriberConfigWhenSubscriberHostNameIsEmpty() throws Exception {
+ final TestDMaaPMRSourcePluginConfig testDMaaPMRSourcePluginConfig = getTestDMaaPMRSourcePluginConfig();
+ testDMaaPMRSourcePluginConfig.setHostName(null);
+ DMaaPSourceConfigMapper.map(testDMaaPMRSourcePluginConfig);
+
+ }
+}
diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/DMaaPMRSinkPluginConfigValidatorTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/DMaaPMRSinkPluginConfigValidatorTest.java
new file mode 100644
index 0000000..79fcf72
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/DMaaPMRSinkPluginConfigValidatorTest.java
@@ -0,0 +1,86 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.validator;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.DMaaPMRSinkPluginConfig;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.TestDMaaPMRSinkPluginConfig;
+import org.openecomp.dcae.apod.analytics.common.validation.GenericValidationResponse;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+/**
+ * @author Rajiv Singla . Creation Date: 1/30/2017.
+ */
+public class DMaaPMRSinkPluginConfigValidatorTest extends BaseAnalyticsCDAPPluginsUnitTest {
+
+ private TestDMaaPMRSinkPluginConfig sinkPluginConfig;
+ private DMaaPMRSinkPluginConfigValidator sinkPluginConfigValidator;
+
+ @Before
+ public void before() {
+ sinkPluginConfigValidator = new DMaaPMRSinkPluginConfigValidator();
+ sinkPluginConfig = getTestDMaaPMRSinkPluginConfig();
+ }
+
+ @Test
+ public void validateAppSettingsWithValidDMaaPSinkConfig() throws Exception {
+ final GenericValidationResponse<DMaaPMRSinkPluginConfig> validationResponse =
+ sinkPluginConfigValidator.validateAppSettings(sinkPluginConfig);
+ assertFalse(validationResponse.hasErrors());
+ }
+
+
+ @Test
+ public void validateAppSettingsWithValidDMaaPSinkConfigWhenHostNameIsNotPresent() throws Exception {
+ sinkPluginConfig.setHostName(null);
+ assertResponseHasErrors(sinkPluginConfig, sinkPluginConfigValidator);
+ }
+
+ @Test
+ public void validateAppSettingsWithValidDMaaPSinkConfigWhenHostPortIsNotPresent() throws Exception {
+ sinkPluginConfig.setPortNumber(null);
+ assertResponseHasErrors(sinkPluginConfig, sinkPluginConfigValidator);
+ }
+
+ @Test
+ public void validateAppSettingsWithValidDMaaPSinkConfigWhenTopicNameIsNotPresent() throws Exception {
+ sinkPluginConfig.setTopicName(null);
+ assertResponseHasErrors(sinkPluginConfig, sinkPluginConfigValidator);
+ }
+
+ @Test
+ public void validateAppSettingsWithValidDMaaPSinkConfigWhenColumnNameIsNotPresent() throws Exception {
+ sinkPluginConfig.setMessageColumnName(null);
+ assertResponseHasErrors(sinkPluginConfig, sinkPluginConfigValidator);
+ }
+
+ private static void assertResponseHasErrors(final TestDMaaPMRSinkPluginConfig sinkPluginConfig,
+ final DMaaPMRSinkPluginConfigValidator validator) {
+ final GenericValidationResponse validationResponse = validator.validateAppSettings(sinkPluginConfig);
+ assertTrue(validationResponse.hasErrors());
+ }
+
+
+}
diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/DMaaPMRSourcePluginConfigValidatorTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/DMaaPMRSourcePluginConfigValidatorTest.java
new file mode 100644
index 0000000..9bc79b6
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/DMaaPMRSourcePluginConfigValidatorTest.java
@@ -0,0 +1,85 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.validator;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.DMaaPMRSourcePluginConfig;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.TestDMaaPMRSourcePluginConfig;
+import org.openecomp.dcae.apod.analytics.common.validation.GenericValidationResponse;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+/**
+ * @author Rajiv Singla . Creation Date: 1/30/2017.
+ */
+public class DMaaPMRSourcePluginConfigValidatorTest extends BaseAnalyticsCDAPPluginsUnitTest {
+
+ private TestDMaaPMRSourcePluginConfig sourcePluginConfig;
+ private DMaaPMRSourcePluginConfigValidator sourcePluginConfigValidator;
+
+ @Before
+ public void before() {
+ sourcePluginConfigValidator = new DMaaPMRSourcePluginConfigValidator();
+ sourcePluginConfig = getTestDMaaPMRSourcePluginConfig();
+ }
+
+ @Test
+ public void validateAppSettingsWithValidDMaaPSourceConfig() throws Exception {
+ final GenericValidationResponse<DMaaPMRSourcePluginConfig> validationResponse =
+ sourcePluginConfigValidator.validateAppSettings(sourcePluginConfig);
+ assertFalse(validationResponse.hasErrors());
+ }
+
+
+ @Test
+ public void validateAppSettingsWithValidDMaaPSourceConfigWhenHostNameIsNotPresent() throws Exception {
+ sourcePluginConfig.setHostName(null);
+ assertResponseHasErrors(sourcePluginConfig, sourcePluginConfigValidator);
+ }
+
+ @Test
+ public void validateAppSettingsWithValidDMaaPSourceConfigWhenHostPortIsNotPresent() throws Exception {
+ sourcePluginConfig.setPortNumber(null);
+ assertResponseHasErrors(sourcePluginConfig, sourcePluginConfigValidator);
+ }
+
+ @Test
+ public void validateAppSettingsWithValidDMaaPSourceConfigWhenTopicNameIsNotPresent() throws Exception {
+ sourcePluginConfig.setTopicName(null);
+ assertResponseHasErrors(sourcePluginConfig, sourcePluginConfigValidator);
+ }
+
+ @Test
+ public void validateAppSettingsWithValidDMaaPSourcePollingIntervalIsNotPresent() throws Exception {
+ sourcePluginConfig.setPollingInterval(null);
+ assertResponseHasErrors(sourcePluginConfig, sourcePluginConfigValidator);
+ }
+
+ private static void assertResponseHasErrors(final TestDMaaPMRSourcePluginConfig sourcePluginConfig,
+ final DMaaPMRSourcePluginConfigValidator validator) {
+ final GenericValidationResponse validationResponse = validator.validateAppSettings(sourcePluginConfig);
+ assertTrue(validationResponse.hasErrors());
+ }
+
+}
diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/JsonPathFilterPluginConfigValidatorTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/JsonPathFilterPluginConfigValidatorTest.java
new file mode 100644
index 0000000..7abd4b0
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/JsonPathFilterPluginConfigValidatorTest.java
@@ -0,0 +1,107 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.validator;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.filter.JsonPathFilterPluginConfig;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.filter.TestJsonPathFilterPluginConfig;
+import org.openecomp.dcae.apod.analytics.common.validation.GenericValidationResponse;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+/**
+ * @author Rajiv Singla . Creation Date: 3/3/2017.
+ */
+public class JsonPathFilterPluginConfigValidatorTest extends BaseAnalyticsCDAPPluginsUnitTest {
+
+ private TestJsonPathFilterPluginConfig jsonPathFilterPluginConfig;
+ private JsonPathFilterPluginConfigValidator jsonPathFilterPluginConfigValidator;
+
+ @Before
+ public void before() {
+ jsonPathFilterPluginConfig = getJsonPathFilterPluginConfig();
+ jsonPathFilterPluginConfigValidator = new JsonPathFilterPluginConfigValidator();
+ }
+
+
+ @Test
+ public void testValidateAppSettingsWhenNoValidationErrors() throws Exception {
+ final GenericValidationResponse<JsonPathFilterPluginConfig> validationResponse =
+ jsonPathFilterPluginConfigValidator.validateAppSettings(jsonPathFilterPluginConfig);
+ assertFalse(validationResponse.hasErrors());
+ }
+
+ @Test
+ public void testValidateAppSettingsWhenFilterMappingsAreEmpty() throws Exception {
+ jsonPathFilterPluginConfig.setJsonFilterMappings("");
+ assertResponseHasErrors(jsonPathFilterPluginConfig, jsonPathFilterPluginConfigValidator);
+ }
+
+ @Test
+ public void testValidateAppSettingsWhenOutputSchemaIsNotPresent() throws Exception {
+ jsonPathFilterPluginConfig.setSchema(null);
+ assertResponseHasErrors(jsonPathFilterPluginConfig, jsonPathFilterPluginConfigValidator);
+ }
+
+ @Test
+ public void testValidateAppSettingsWhenOutputSchemaFilterMatchedFieldIsNotBoolean() throws Exception {
+ final String outputSchemaWithMatchedFieldNotBoolean =
+ "{\"type\":\"record\"," +
+ "\"name\":\"etlSchemaBody\",\"fields\":" +
+ "[" +
+ "{\"name\":\"ts\",\"type\":\"long\"}," +
+ "{\"name\":\"filterMatched\",\"type\":[\"string\",\"null\"]}," +
+ "{\"name\":\"responseCode\",\"type\":\"int\"}," +
+ "{\"name\":\"responseMessage\",\"type\":\"string\"}," +
+ "{\"name\":\"message\",\"type\":\"string\"}" +
+ "]" +
+ "}";
+ jsonPathFilterPluginConfig.setSchema(outputSchemaWithMatchedFieldNotBoolean);
+ assertResponseHasErrors(jsonPathFilterPluginConfig, jsonPathFilterPluginConfigValidator);
+ }
+
+ @Test
+ public void testValidateAppSettingsWhenOutputSchemaFilterMatchedFieldIsNotNullable() throws Exception {
+ final String outputSchemaWithMatchedFieldNotNullable =
+ "{\"type\":\"record\"," +
+ "\"name\":\"etlSchemaBody\",\"fields\":" +
+ "[" +
+ "{\"name\":\"ts\",\"type\":\"long\"}," +
+ "{\"name\":\"filterMatched\",\"type\":\"boolean\"}," +
+ "{\"name\":\"responseCode\",\"type\":\"int\"}," +
+ "{\"name\":\"responseMessage\",\"type\":\"string\"}," +
+ "{\"name\":\"message\",\"type\":\"string\"}" +
+ "]" +
+ "}";
+ jsonPathFilterPluginConfig.setSchema(outputSchemaWithMatchedFieldNotNullable);
+ assertResponseHasErrors(jsonPathFilterPluginConfig, jsonPathFilterPluginConfigValidator);
+ }
+
+ private static void assertResponseHasErrors(final TestJsonPathFilterPluginConfig jsonPluginConfig,
+ final JsonPathFilterPluginConfigValidator validator) {
+ final GenericValidationResponse validationResponse = validator.validateAppSettings(jsonPluginConfig);
+ assertTrue(validationResponse.hasErrors());
+ }
+
+}
diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/SimpleTCAPluginConfigValidatorTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/SimpleTCAPluginConfigValidatorTest.java
new file mode 100644
index 0000000..07dfe45
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/SimpleTCAPluginConfigValidatorTest.java
@@ -0,0 +1,157 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.openecomp.dcae.apod.analytics.cdap.plugins.validator;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.tca.SimpleTCAPluginConfig;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.tca.TestSimpleTCAPluginConfig;
+import org.openecomp.dcae.apod.analytics.common.validation.GenericValidationResponse;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+/**
+ * @author Rajiv Singla . Creation Date: 2/21/2017.
+ */
+public class SimpleTCAPluginConfigValidatorTest extends BaseAnalyticsCDAPPluginsUnitTest {
+
+ private TestSimpleTCAPluginConfig testSimpleTCAPluginConfig;
+ private SimpleTCAPluginConfigValidator simpleTCAPluginConfigValidator;
+
+ @Before
+ public void before() {
+ testSimpleTCAPluginConfig = getTestSimpleTCAPluginConfig();
+ simpleTCAPluginConfigValidator = new SimpleTCAPluginConfigValidator();
+ }
+
+ @Test
+ public void testValidateAppSettingsWhenAllSettingsAreValid() throws Exception {
+ final GenericValidationResponse<SimpleTCAPluginConfig> validationResponse =
+ simpleTCAPluginConfigValidator.validateAppSettings(testSimpleTCAPluginConfig);
+ assertFalse(validationResponse.hasErrors());
+ }
+
+ @Test
+ public void testValidateAppSettingsWhenVESMessageFieldNameIsMissing() throws Exception {
+ testSimpleTCAPluginConfig.setVesMessageFieldName(null);
+ assertResponseHasErrors(testSimpleTCAPluginConfig, simpleTCAPluginConfigValidator);
+ }
+
+ @Test
+ public void testValidateAppSettingsWhenPolicyJsonIsMissing() throws Exception {
+ testSimpleTCAPluginConfig.setPolicyJson(null);
+ assertResponseHasErrors(testSimpleTCAPluginConfig, simpleTCAPluginConfigValidator);
+ }
+
+ @Test
+ public void testValidateAppSettingsWhenAlertFieldNameIsMissing() throws Exception {
+ testSimpleTCAPluginConfig.setAlertFieldName(null);
+ assertResponseHasErrors(testSimpleTCAPluginConfig, simpleTCAPluginConfigValidator);
+ }
+
+ @Test
+ public void testValidateAppSettingsWhenOutputSchemaIsNull() throws Exception {
+ testSimpleTCAPluginConfig.setSchema(null);
+ assertResponseHasErrors(testSimpleTCAPluginConfig, simpleTCAPluginConfigValidator);
+ }
+
+ @Test
+ public void testValidateAppSettingsWhenMessageTypeFieldNameIsMissing() throws Exception {
+ testSimpleTCAPluginConfig.setMessageTypeFieldName(null);
+ assertResponseHasErrors(testSimpleTCAPluginConfig, simpleTCAPluginConfigValidator);
+ }
+
+ @Test
+ public void testValidateAppSettingsWhenAlertFieldIsNullableInOutputSchema() throws Exception {
+ testSimpleTCAPluginConfig.setSchema(
+ "{\"type\":\"record\"," +
+ "\"name\":\"etlSchemaBody\"," +
+ "\"fields\":[" +
+ "{\"name\":\"ts\",\"type\":\"long\"}," +
+ "{\"name\":\"responseCode\",\"type\":\"int\"}," +
+ "{\"name\":\"responseMessage\",\"type\":\"string\"}," +
+ "{\"name\":\"message\",\"type\":\"string\"}," +
+ "{\"name\":\"alert\",\"type\":[\"string\",\"null\"]}," +
+ "{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}");
+ final GenericValidationResponse<SimpleTCAPluginConfig> validationResponse =
+ simpleTCAPluginConfigValidator.validateAppSettings(testSimpleTCAPluginConfig);
+ assertFalse(validationResponse.hasErrors());
+
+ }
+
+ @Test
+ public void testValidateAppSettingsWhenAlertFieldIsNotPresentInOutputSchema() throws Exception {
+ testSimpleTCAPluginConfig.setSchema(
+ "{\"type\":\"record\"," +
+ "\"name\":\"etlSchemaBody\"," +
+ "\"fields\":[" +
+ "{\"name\":\"ts\",\"type\":\"long\"}," +
+ "{\"name\":\"responseCode\",\"type\":\"int\"}," +
+ "{\"name\":\"responseMessage\",\"type\":\"string\"}," +
+ "{\"name\":\"message\",\"type\":\"string\"}," +
+ "{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}");
+ final GenericValidationResponse<SimpleTCAPluginConfig> validationResponse =
+ simpleTCAPluginConfigValidator.validateAppSettings(testSimpleTCAPluginConfig);
+ assertFalse(validationResponse.hasErrors());
+
+ }
+
+ @Test
+ public void testValidateAppSettingsWhenAlertFieldIsNullableButNotStringTypeInOutputSchema() throws Exception {
+ testSimpleTCAPluginConfig.setSchema(
+ "{\"type\":\"record\"," +
+ "\"name\":\"etlSchemaBody\"," +
+ "\"fields\":[" +
+ "{\"name\":\"ts\",\"type\":\"long\"}," +
+ "{\"name\":\"responseCode\",\"type\":\"int\"}," +
+ "{\"name\":\"responseMessage\",\"type\":\"string\"}," +
+ "{\"name\":\"message\",\"type\":\"string\"}," +
+ "{\"name\":\"alert\",\"type\":[\"int\",\"null\"]}," +
+ "{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}");
+ assertResponseHasErrors(testSimpleTCAPluginConfig, simpleTCAPluginConfigValidator);
+ }
+
+ @Test
+ public void testValidateAppSettingsWhenAlertFieldNameIsNotNullableInOutputSchema() throws Exception {
+ testSimpleTCAPluginConfig.setSchema(
+ "{\"type\":\"record\"," +
+ "\"name\":\"etlSchemaBody\"," +
+ "\"fields\":[" +
+ "{\"name\":\"ts\",\"type\":\"long\"}," +
+ "{\"name\":\"responseCode\",\"type\":\"int\"}," +
+ "{\"name\":\"responseMessage\",\"type\":\"string\"}," +
+ "{\"name\":\"message\",\"type\":\"string\"}," +
+ "{\"name\":\"alert\",\"type\":\"string\"}," +
+ "{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}");
+ assertResponseHasErrors(testSimpleTCAPluginConfig, simpleTCAPluginConfigValidator);
+ }
+
+
+
+ private static void assertResponseHasErrors(final TestSimpleTCAPluginConfig pluginConfig,
+ final SimpleTCAPluginConfigValidator validator) {
+ final GenericValidationResponse validationResponse = validator.validateAppSettings(pluginConfig);
+ assertTrue(validationResponse.hasErrors());
+ LOG.debug("Validation Error Message: {}", validationResponse.getAllErrorMessage());
+ }
+}
diff --git a/dcae-analytics-cdap-plugins/src/test/resources/data/json/cef/cef_message.json b/dcae-analytics-cdap-plugins/src/test/resources/data/json/cef/cef_message.json
new file mode 100644
index 0000000..52cf53b
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/test/resources/data/json/cef/cef_message.json
@@ -0,0 +1,37 @@
+{
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 6086,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 42,
+ "bytesOut": 7156,
+ "packetsIn": 93,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070210290442,
+ "eventId": "375",
+ "lastEpochMicrosec": 1477070220290442,
+ "priority": "Normal",
+ "sequence": 375,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+}
diff --git a/dcae-analytics-cdap-plugins/src/test/resources/data/json/cef/non_compliant_cef_message.json b/dcae-analytics-cdap-plugins/src/test/resources/data/json/cef/non_compliant_cef_message.json
new file mode 100644
index 0000000..2fdf202
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/test/resources/data/json/cef/non_compliant_cef_message.json
@@ -0,0 +1,37 @@
+{
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 20001,
+ "multicastPacketsIn": 0,
+ "multicastPacketsOut": 0,
+ "unicastPacketsIn": 0,
+ "broadcastPacketsOut": 0,
+ "packetsOut": 42,
+ "bytesOut": 7156,
+ "packetsIn": 93,
+ "broadcastPacketsIn": 0,
+ "vNicIdentifier": "eth0",
+ "unicastPacketsOut": 0
+ }
+ ]
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "vpp-test",
+ "startEpochMicrosec": 1477070210290442,
+ "eventId": "375",
+ "lastEpochMicrosec": 1477070220290442,
+ "priority": "Normal",
+ "sequence": 375,
+ "sourceName": "Dummy VM name - No Metadata available",
+ "domain": "measurementsForVfScaling",
+ "functionalRole": "vFirewall",
+ "reportingEntityId": "No UUID available",
+ "version": 1.1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+}
diff --git a/dcae-analytics-cdap-plugins/src/test/resources/data/json/policy/tca_policy.json b/dcae-analytics-cdap-plugins/src/test/resources/data/json/policy/tca_policy.json
new file mode 100644
index 0000000..1bf9e83
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/test/resources/data/json/policy/tca_policy.json
@@ -0,0 +1,53 @@
+{
+ "domain": "measurementsForVfScaling",
+ "metricsPerFunctionalRole": [
+ {
+ "functionalRole": "vFirewall",
+ "policyScope": "resource=vFirewall;type=configuration",
+ "policyName": "configuration.dcae.microservice.tca.xml",
+ "policyVersion": "v0.0.1",
+ "thresholds": [
+ {
+ "closedLoopControlName": "CL-FRWL-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8",
+ "version": "1.0.2",
+ "fieldPath": "$.event.measurementsForVfScalingFields.vNicUsageArray[*].bytesIn",
+ "thresholdValue": 4000,
+ "direction": "LESS_OR_EQUAL",
+ "severity": "MAJOR"
+ },
+ {
+ "closedLoopControlName": "CL-FRWL-HIGH-TRAFFIC-SIG-EA36FE84-9342-5E13-A656-EC5F21309A09",
+ "version": "1.0.2",
+ "fieldPath": "$.event.measurementsForVfScalingFields.vNicUsageArray[*].bytesIn",
+ "thresholdValue": 20000,
+ "direction": "GREATER_OR_EQUAL",
+ "severity": "CRITICAL"
+ }
+ ]
+ },
+ {
+ "functionalRole": "vLoadBalancer",
+ "policyScope": "resource=vLoadBalancer;type=configuration",
+ "policyName": "configuration.dcae.microservice.tca.xml",
+ "policyVersion": "v0.0.1",
+ "thresholds": [
+ {
+ "closedLoopControlName": "CL-LBAL-LOW-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241AB1A",
+ "version": "1.0.2",
+ "fieldPath": "$.event.measurementsForVfScalingFields.vNicUsageArray[*].packetsIn",
+ "thresholdValue": 500,
+ "direction": "LESS_OR_EQUAL",
+ "severity": "MAJOR"
+ },
+ {
+ "closedLoopControlName": "CL-LBAL-LOW-TRAFFIC-SIG-0C5920A6-B564-8035-C878-0E814352BC2B",
+ "version": "1.0.2",
+ "fieldPath": "$.event.measurementsForVfScalingFields.vNicUsageArray[*].packetsIn",
+ "thresholdValue": 5000,
+ "direction": "GREATER_OR_EQUAL",
+ "severity": "CRITICAL"
+ }
+ ]
+ }
+ ]
+}
diff --git a/dcae-analytics-cdap-plugins/src/test/resources/logback-test.xml b/dcae-analytics-cdap-plugins/src/test/resources/logback-test.xml
new file mode 100644
index 0000000..68d2f3d
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/src/test/resources/logback-test.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ ~ ===============================LICENSE_START======================================
+ ~ dcae-analytics
+ ~ ================================================================================
+ ~ Copyright © 2017 AT&T Intellectual Property. 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.
+ ~ ============================LICENSE_END===========================================
+ -->
+<configuration debug="false">
+
+ <!--
+ Disabling some chatty loggers.
+ -->
+ <logger name="org.apache.commons.beanutils" level="ERROR"/>
+ <logger name="org.apache.zookeeper.server" level="ERROR"/>
+ <logger name="org.apache.zookeeper" level="ERROR"/>
+ <logger name="com.ning" level="WARN"/>
+ <logger name="org.apache.spark" level="WARN"/>
+ <logger name="org.spark-project" level="WARN"/>
+ <logger name="org.apache.hadoop" level="WARN"/>
+ <logger name="org.apache.hive" level="WARN"/>
+ <logger name="org.quartz.core" level="WARN"/>
+ <logger name="org.eclipse.jetty" level="WARN"/>
+ <logger name="io.netty.util.internal" level="WARN"/>
+
+ <logger name="org.apache.twill" level="WARN"/>
+ <logger name="co.cask.cdap" level="INFO"/>
+ <logger name="org.openecomp.dcae.apod.analytics" level="DEBUG"/>
+
+ <appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
+ <encoder>
+ <pattern>%d{ISO8601} - %-5p [%t:%C{1}@%L] - %m%n</pattern>
+ </encoder>
+ </appender>
+
+ <root level="ERROR">
+ <appender-ref ref="Console"/>
+ </root>
+
+
+</configuration>
+
diff --git a/dcae-analytics-cdap-plugins/widgets/DMaaPMRSink-batchsink.json b/dcae-analytics-cdap-plugins/widgets/DMaaPMRSink-batchsink.json
new file mode 100644
index 0000000..3f61dd6
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/widgets/DMaaPMRSink-batchsink.json
@@ -0,0 +1,94 @@
+{
+ "metadata": {
+ "spec-version": "1.3"
+ },
+ "configuration-groups": [
+ {
+ "label": "DMaaP MR Sink Configuration",
+ "properties": [
+ {
+ "widget-type": "textbox",
+ "label": "Reference Name",
+ "name": "referenceName",
+ "widget-attributes": {
+ "default": "DMaaPMRSink"
+ }
+ },
+ {
+ "widget-type": "textbox",
+ "label": "Host Name",
+ "name": "hostName"
+ },
+ {
+ "widget-type": "number",
+ "label": "Host Port number",
+ "name": "portNumber"
+ },
+ {
+ "widget-type": "textbox",
+ "label": "Topic Name",
+ "name": "topicName"
+ },
+ {
+ "widget-type": "textbox",
+ "label": "Protocol",
+ "name": "protocol",
+ "widget-attributes": {
+ "default": "https"
+ }
+ },
+ {
+ "widget-type": "textbox",
+ "label": "User Name",
+ "name": "userName"
+ },
+ {
+ "widget-type": "textbox",
+ "label": "User Password",
+ "name": "userPassword"
+ },
+ {
+ "widget-type": "textbox",
+ "label": "Content Type'",
+ "name": "contentType",
+ "widget-attributes": {
+ "default": "application/json"
+ }
+ },
+ {
+ "widget-type": "string",
+ "label": "Message Column Name",
+ "name": "messageColumnName",
+ "widget-attributes": {
+ "default": "message"
+ }
+ },
+ {
+ "widget-type": "string",
+ "label": "Max Batch Size",
+ "name": "maxBatchSize",
+ "widget-attributes": {
+ "default": "50"
+ }
+ },
+ {
+ "widget-type": "string",
+ "label": "Max Recovery Queue Size",
+ "name": "maxRecoveryQueueSize"
+ }
+ ]
+ }
+ ],
+ "outputs": [
+ {
+ "name": "schema",
+ "widget-type": "schema",
+ "widget-attributes": {
+ "schema-types": [
+ "string"
+ ],
+ "schema-default-type": "string"
+ }
+ }
+ ]
+}
diff --git a/dcae-analytics-cdap-plugins/widgets/DMaaPMRSource-streamingsource.json b/dcae-analytics-cdap-plugins/widgets/DMaaPMRSource-streamingsource.json
new file mode 100644
index 0000000..86f058c
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/widgets/DMaaPMRSource-streamingsource.json
@@ -0,0 +1,106 @@
+{
+ "metadata": {
+ "spec-version": "1.0"
+ },
+ "configuration-groups": [
+ {
+ "label": "DMaaP MR Source Configuration",
+ "properties": [
+ {
+ "widget-type": "textbox",
+ "label": "Reference Name",
+ "name": "referenceName",
+ "widget-attributes": {
+ "default": "DMaaPMRSource"
+ }
+ },
+ {
+ "widget-type": "textbox",
+ "label": "Host Name",
+ "name": "hostName"
+ },
+ {
+ "widget-type": "number",
+ "label": "Host Port number",
+ "name": "portNumber"
+ },
+ {
+ "widget-type": "textbox",
+ "label": "Topic Name",
+ "name": "topicName"
+ },
+ {
+ "widget-type": "textbox",
+ "label": "Polling Interval (ms)",
+ "name": "pollingInterval",
+ "widget-attributes": {
+ "default": "20000"
+ }
+ },
+ {
+ "widget-type": "textbox",
+ "label": "Protocol",
+ "name": "protocol",
+ "widget-attributes": {
+ "default": "https"
+ }
+ },
+ {
+ "widget-type": "textbox",
+ "label":"User Name",
+ "name": "userName"
+ },
+ {
+ "widget-type": "textbox",
+ "label": "User Password",
+ "name": "userPassword"
+ },
+ {
+ "widget-type": "textbox",
+ "label": "Content Type'",
+ "name": "contentType",
+ "widget-attributes": {
+ "default": "application/json"
+ }
+ },
+ {
+ "widget-type": "textbox",
+ "label": "Source Consumer ID",
+ "name": "consumerId",
+ "widget-attributes": {
+ "default": "C1"
+ }
+ },
+ {
+ "widget-type": "textbox",
+ "label": "Source Consumer Group",
+ "name": "consumerGroup",
+ "widget-attributes": {
+ "default": "OpenDCAE-G1"
+ }
+ },
+ {
+ "widget-type": "string",
+ "label": "Consumer Timeout (ms)",
+ "name": "timeoutMS"
+ },
+ {
+ "widget-type": "string",
+ "label": "Subscriber Message Limit",
+ "name": "messageLimit"
+ }
+ ]
+ }
+ ],
+ "outputs": [
+ {
+ "widget-type": "non-editable-schema-editor",
+ "schema": {
+ "ts": "long",
+ "responseCode": "int",
+ "responseMessage": "string",
+ "message": "string"
+ }
+ }
+ ]
+}
diff --git a/dcae-analytics-cdap-plugins/widgets/JsonPathFilter-transform.json b/dcae-analytics-cdap-plugins/widgets/JsonPathFilter-transform.json
new file mode 100644
index 0000000..a3b6286
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/widgets/JsonPathFilter-transform.json
@@ -0,0 +1,58 @@
+{
+ "metadata": {
+ "spec-version": "1.0"
+ },
+ "configuration-groups": [
+ {
+ "label": "JSON Path Filter",
+ "properties": [
+ {
+ "widget-type": "textbox",
+ "label": "Reference Name",
+ "name": "referenceName",
+ "widget-attributes": {
+ "default": "JsonPathFilter"
+ }
+ },
+ {
+ "widget-type": "textbox",
+ "label": "Input Field Name",
+ "name": "incomingJsonFieldName"
+ },
+ {
+ "widget-type": "textbox",
+ "label": "Output Schema Field Name",
+ "name": "outputSchemaFieldName"
+ },
+ {
+ "widget-type": "keyvalue",
+ "label": "Json Path Filter Mappings",
+ "name": "jsonFilterMappings",
+ "widget-attributes": {
+ "showDelimiter": "false"
+ }
+ }
+ ]
+ }
+ ],
+ "outputs": [
+ {
+ "name": "schema",
+ "label": "schema",
+ "widget-type": "schema",
+ "widget-attributes": {
+ "schema-types": [
+ "boolean",
+ "int",
+ "long",
+ "float",
+ "double",
+ "bytes",
+ "string"
+ ],
+ "schema-default-type": "string",
+ "property-watch": "format"
+ }
+ }
+ ]
+}
diff --git a/dcae-analytics-cdap-plugins/widgets/MockDMaaPMRSource-streamingsource.json b/dcae-analytics-cdap-plugins/widgets/MockDMaaPMRSource-streamingsource.json
new file mode 100644
index 0000000..0441b5f
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/widgets/MockDMaaPMRSource-streamingsource.json
@@ -0,0 +1,106 @@
+{
+ "metadata": {
+ "spec-version": "1.0"
+ },
+ "configuration-groups": [
+ {
+ "label": "DMaaP MR Source Configuration",
+ "properties": [
+ {
+ "widget-type": "textbox",
+ "label": "Reference Name",
+ "name": "referenceName",
+ "widget-attributes": {
+ "default": "DMaaPMRSource"
+ }
+ },
+ {
+ "widget-type": "textbox",
+ "label": "Host Name",
+ "name": "hostName"
+ },
+ {
+ "widget-type": "number",
+ "label": "Host Port number",
+ "name": "portNumber"
+ },
+ {
+ "widget-type": "textbox",
+ "label": "Topic Name",
+ "name": "topicName"
+ },
+ {
+ "widget-type": "textbox",
+ "label": "Polling Interval (ms)",
+ "name": "pollingInterval",
+ "widget-attributes": {
+ "default": "20000"
+ }
+ },
+ {
+ "widget-type": "textbox",
+ "label": "Protocol",
+ "name": "protocol",
+ "widget-attributes": {
+ "default": "https"
+ }
+ },
+ {
+ "widget-type": "textbox",
+ "label": "User Name",
+ "name": "userName"
+ },
+ {
+ "widget-type": "textbox",
+ "label": "User Password",
+ "name": "userPassword"
+ },
+ {
+ "widget-type": "textbox",
+ "label": "Content Type'",
+ "name": "contentType",
+ "widget-attributes": {
+ "default": "application/json"
+ }
+ },
+ {
+ "widget-type": "textbox",
+ "label": "Source Consumer ID",
+ "name": "consumerId",
+ "widget-attributes": {
+ "default": "C1"
+ }
+ },
+ {
+ "widget-type": "textbox",
+ "label": "Source Consumer Group",
+ "name": "consumerGroup",
+ "widget-attributes": {
+ "default": "OpenDCAE-G1"
+ }
+ },
+ {
+ "widget-type": "string",
+ "label": "Consumer Timeout (ms)",
+ "name": "timeoutMS"
+ },
+ {
+ "widget-type": "string",
+ "label": "Subscriber Message Limit",
+ "name": "messageLimit"
+ }
+ ]
+ }
+ ],
+ "outputs": [
+ {
+ "widget-type": "non-editable-schema-editor",
+ "schema": {
+ "ts": "long",
+ "responseCode": "int",
+ "responseMessage": "string",
+ "message": "string"
+ }
+ }
+ ]
+}
diff --git a/dcae-analytics-cdap-plugins/widgets/SimpleTCAPlugin-sparkcompute.json b/dcae-analytics-cdap-plugins/widgets/SimpleTCAPlugin-sparkcompute.json
new file mode 100644
index 0000000..ea42d94
--- /dev/null
+++ b/dcae-analytics-cdap-plugins/widgets/SimpleTCAPlugin-sparkcompute.json
@@ -0,0 +1,54 @@
+{
+ "metadata": {
+ "spec-version": "1.0"
+ },
+ "configuration-groups": [
+ {
+ "label": "Simple TCA Transform Properties",
+ "properties": [
+ {
+ "widget-type": "textbox",
+ "label": "InputSchema field name that contains CEF Message",
+ "name": "vesMessageFieldName"
+ },
+ {
+ "widget-type": "textbox",
+ "label": "TCA Policy JSON string",
+ "name": "policyJson"
+ },
+ {
+ "widget-type": "textbox",
+ "label": "OutputSchema field name that will contain alert message",
+ "name": "alertFieldName"
+ },
+ {
+ "widget-type": "textbox",
+ "label": "OutputSchema field name that will contain the TCA message type",
+ "name": "messageTypeFieldName"
+ },
+ {
+ "widget-type": "textbox",
+ "label": "Enable Alert Output Format in CEF format",
+ "name": "enableAlertCEFFormat",
+ "widget-attributes": {
+ "default": "false"
+ }
+ }
+ ]
+ }
+ ],
+ "outputs": [
+ {
+ "name": "schema",
+ "label": "schema",
+ "widget-type": "schema",
+ "widget-attributes": {
+ "schema-types": [
+ "string"
+ ],
+ "schema-default-type": "string",
+ "property-watch": "format"
+ }
+ }
+ ]
+}