aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoran4828 <nekrassov@att.com>2017-08-21 11:05:08 -0400
committerLusheng Ji <lji@research.att.com>2017-08-24 00:56:45 +0000
commite86be39dc5ff812b73398e0720aa3fbf0c48213c (patch)
treefe3198f180128163490c14c66a1d6074760b220b
parentff6a13c7ce03ec95fba9d0b4f04b74d0bfeb6a47 (diff)
Initial TCA commit into DCAEGEN2
Change-Id: I5f7f8af2a00419854cafc34b79277df60d1af095 Issue-ID: DCAEGEN2-53 Signed-off-by: an4828 <nekrassov@att.com>
-rw-r--r--.gitreview4
-rw-r--r--LICENSE.txt19
-rw-r--r--README.md27
-rw-r--r--checkstyle.xml418
-rw-r--r--cpd-exclude.properties25
-rw-r--r--dcae-analytics-cdap-common/pom.xml113
-rw-r--r--dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/CDAPComponentsConstants.java200
-rw-r--r--dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/CDAPMetricsConstants.java119
-rw-r--r--dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/CDAPPluginConstants.java71
-rw-r--r--dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/exception/CDAPSettingsException.java51
-rw-r--r--dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/persistance/tca/TCACalculatorMessageType.java43
-rw-r--r--dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/persistance/tca/TCAMessageStatusEntity.java555
-rw-r--r--dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/persistance/tca/TCAMessageStatusPersister.java244
-rw-r--r--dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/persistance/tca/TCAVESAlertEntity.java78
-rw-r--r--dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/persistance/tca/TCAVESAlertsPersister.java102
-rw-r--r--dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/settings/CDAPAppConfig.java47
-rw-r--r--dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/settings/CDAPAppPreferences.java31
-rw-r--r--dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/settings/CDAPAppSettings.java35
-rw-r--r--dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/settings/CDAPBaseAppConfig.java64
-rw-r--r--dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/settings/CDAPBasePluginConfig.java53
-rw-r--r--dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/settings/CDAPPluginSettings.java31
-rw-r--r--dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/utils/DMaaPMRUtils.java144
-rw-r--r--dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/utils/ValidationUtils.java107
-rw-r--r--dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/validation/CDAPAppSettingsValidator.java52
-rw-r--r--dcae-analytics-cdap-common/src/test/java/org/openecomp/dcae/apod/analytics/cdap/common/BaseAnalyticsCDAPCommonUnitTest.java89
-rw-r--r--dcae-analytics-cdap-common/src/test/java/org/openecomp/dcae/apod/analytics/cdap/common/persistance/tca/TCACalculatorMessageTypeTest.java38
-rw-r--r--dcae-analytics-cdap-common/src/test/java/org/openecomp/dcae/apod/analytics/cdap/common/persistance/tca/TCAMessageStatusPersisterTest.java127
-rw-r--r--dcae-analytics-cdap-common/src/test/java/org/openecomp/dcae/apod/analytics/cdap/common/persistance/tca/TCAVESAlertsPersisterTest.java63
-rw-r--r--dcae-analytics-cdap-common/src/test/java/org/openecomp/dcae/apod/analytics/cdap/common/settings/CDAPBaseAppConfigTest.java58
-rw-r--r--dcae-analytics-cdap-common/src/test/java/org/openecomp/dcae/apod/analytics/cdap/common/utils/DMaaPMRUtilsTest.java112
-rw-r--r--dcae-analytics-cdap-common/src/test/java/org/openecomp/dcae/apod/analytics/cdap/common/utils/ValidationUtilsTest.java80
-rw-r--r--dcae-analytics-cdap-common/src/test/resources/data/json/cef_message.json37
-rw-r--r--dcae-analytics-cdap-common/src/test/resources/data/json/tca_policy.json53
-rw-r--r--dcae-analytics-cdap-common/src/test/resources/logback-test.xml55
-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
-rw-r--r--dcae-analytics-cdap-tca/pom.xml145
-rw-r--r--dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/TCAAnalyticsApplication.java104
-rw-r--r--dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/flow/TCAVESCollectorFlow.java69
-rw-r--r--dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/flowlet/TCAVESAlertsSinkFlowlet.java71
-rw-r--r--dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/flowlet/TCAVESMessageRouterFlowlet.java59
-rw-r--r--dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/flowlet/TCAVESThresholdViolationCalculatorFlowlet.java149
-rw-r--r--dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/settings/TCAAppConfig.java96
-rw-r--r--dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/settings/TCAAppPreferences.java223
-rw-r--r--dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/settings/TCAPolicyPreferences.java36
-rw-r--r--dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/utils/AppPreferencesToPublisherConfigMapper.java97
-rw-r--r--dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/utils/AppPreferencesToSubscriberConfigMapper.java113
-rw-r--r--dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/utils/CDAPTCAUtils.java171
-rw-r--r--dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/validator/TCAAppConfigValidator.java62
-rw-r--r--dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/validator/TCAPolicyPreferencesValidator.java96
-rw-r--r--dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/validator/TCAPreferencesValidator.java65
-rw-r--r--dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/BaseTCADMaaPMRWorker.java116
-rw-r--r--dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/TCADMaaPMRPublisherJob.java200
-rw-r--r--dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/TCADMaaPMRSubscriberJob.java114
-rw-r--r--dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/TCADMaaPMockSubscriberWorker.java141
-rw-r--r--dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/TCADMaaPPublisherWorker.java146
-rw-r--r--dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/TCADMaaPSubscriberWorker.java124
-rw-r--r--dcae-analytics-cdap-tca/src/main/resources/quartz-publisher.properties24
-rw-r--r--dcae-analytics-cdap-tca/src/main/resources/quartz-subscriber.properties24
-rw-r--r--dcae-analytics-cdap-tca/src/main/resources/ves_mock_messages.json12952
-rw-r--r--dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/BaseAnalyticsCDAPTCAIT.java95
-rw-r--r--dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/BaseAnalyticsCDAPTCAUnitTest.java288
-rw-r--r--dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/TCAAnalyticsApplicationTest.java47
-rw-r--r--dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/flow/TCAVESCollectorFlowTest.java76
-rw-r--r--dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/flowlet/TCAVESAlertsSinkFlowletTest.java78
-rw-r--r--dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/flowlet/TCAVESMessageRouterFlowletTest.java80
-rw-r--r--dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/flowlet/TCAVESThresholdViolationCalculatorFlowletTest.java161
-rw-r--r--dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/it/TCAnalyticsAppConfigIT.java52
-rw-r--r--dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/settings/TCATestAppConfig.java62
-rw-r--r--dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/settings/TCATestAppConfigHolder.java40
-rw-r--r--dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/settings/TCATestAppPreferences.java140
-rw-r--r--dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/settings/TCATestAppPreferencesTest.java41
-rw-r--r--dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/utils/AppPreferencesToPublisherConfigMapperTest.java62
-rw-r--r--dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/utils/AppPreferencesToSubscriberConfigMapperTest.java62
-rw-r--r--dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/utils/CDAPTCAUtilsTest.java70
-rw-r--r--dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/validator/TCAAppConfigValidatorTest.java77
-rw-r--r--dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/validator/TCAPolicyPreferencesValidatorTest.java85
-rw-r--r--dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/validator/TCAPreferencesValidatorTest.java74
-rw-r--r--dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/BaseTCADMaaPMRWorkerTest.java99
-rw-r--r--dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/TCADMaaPMRPublisherJobTest.java158
-rw-r--r--dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/TCADMaaPMRSubscriberJobTest.java135
-rw-r--r--dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/TCADMaaPPublisherWorkerTest.java80
-rw-r--r--dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/TCADMaaPSubscriberWorkerTest.java81
-rw-r--r--dcae-analytics-cdap-tca/src/test/resources/data/json/cef/cef_message.json37
-rw-r--r--dcae-analytics-cdap-tca/src/test/resources/data/json/cef/cef_message_with_threshold_violation.json37
-rw-r--r--dcae-analytics-cdap-tca/src/test/resources/data/json/cef/cef_messages.json12952
-rw-r--r--dcae-analytics-cdap-tca/src/test/resources/data/json/policy/tca_policy.json53
-rw-r--r--dcae-analytics-cdap-tca/src/test/resources/data/properties/tca_controller_policy.properties83
-rw-r--r--dcae-analytics-cdap-tca/src/test/resources/data/properties/tca_controller_policy_from_json.properties86
-rw-r--r--dcae-analytics-cdap-tca/src/test/resources/logback-test.xml55
-rw-r--r--dcae-analytics-common/pom.xml115
-rw-r--r--dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/AnalyticsConstants.java148
-rw-r--r--dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/exception/DCAEAnalyticsRuntimeException.java54
-rw-r--r--dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/exception/MessageProcessingException.java51
-rw-r--r--dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/filter/GenericJsonMessageFilter.java112
-rw-r--r--dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/filter/JsonMessageFilterProcessorContext.java57
-rw-r--r--dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/processor/AbstractMessageProcessor.java162
-rw-r--r--dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/processor/AbstractProcessorContext.java96
-rw-r--r--dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/processor/GenericMessageChainProcessor.java70
-rw-r--r--dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/processor/GenericProcessorInfo.java57
-rw-r--r--dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/processor/MessageProcessor.java84
-rw-r--r--dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/processor/ProcessingState.java36
-rw-r--r--dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/processor/ProcessorContext.java70
-rw-r--r--dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/processor/ProcessorInfo.java49
-rw-r--r--dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/utils/HTTPUtils.java62
-rw-r--r--dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/utils/MessageProcessorUtils.java162
-rw-r--r--dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/utils/PersistenceUtils.java59
-rw-r--r--dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/validation/DCAEValidator.java31
-rw-r--r--dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/validation/GenericValidationResponse.java84
-rw-r--r--dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/validation/ValidationResponse.java90
-rw-r--r--dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/BaseAnalyticsCommonUnitTest.java65
-rw-r--r--dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/filter/GenericJsonMessageFilterTest.java151
-rw-r--r--dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/processor/AbstractMessageProcessorTest.java68
-rw-r--r--dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/processor/AbstractProcessorContextTest.java79
-rw-r--r--dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/processor/GenericMessageChainProcessorTest.java96
-rw-r--r--dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/processor/GenericProcessorInfoTest.java53
-rw-r--r--dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/processor/TestEarlyTerminatingProcessor.java39
-rw-r--r--dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/processor/TestMessageProcessor1.java41
-rw-r--r--dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/processor/TestMessageProcessor2.java41
-rw-r--r--dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/processor/TestProcessorContext.java84
-rw-r--r--dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/utils/HTTPUtilsTest.java48
-rw-r--r--dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/utils/MessageProcessorUtilsTest.java62
-rw-r--r--dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/utils/PersistenceUtilsTest.java40
-rw-r--r--dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/validation/GenericValidationResponseTest.java129
-rw-r--r--dcae-analytics-common/src/test/resources/data/json/cef_message.json37
-rw-r--r--dcae-analytics-common/src/test/resources/logback-test.xml55
-rw-r--r--dcae-analytics-dmaap/pom.xml114
-rw-r--r--dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/DMaaPMRFactory.java112
-rw-r--r--dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/domain/config/DMaaPMRBaseConfig.java193
-rw-r--r--dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/domain/config/DMaaPMRConfig.java32
-rw-r--r--dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/domain/config/DMaaPMRPublisherConfig.java248
-rw-r--r--dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/domain/config/DMaaPMRSubscriberConfig.java295
-rw-r--r--dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/domain/response/DMaaPMRPublisherResponse.java38
-rw-r--r--dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/domain/response/DMaaPMRPublisherResponseImpl.java70
-rw-r--r--dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/domain/response/DMaaPMRResponse.java46
-rw-r--r--dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/domain/response/DMaaPMRSubscriberResponse.java40
-rw-r--r--dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/domain/response/DMaaPMRSubscriberResponseImpl.java80
-rw-r--r--dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/module/AnalyticsDMaaPModule.java62
-rw-r--r--dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/BaseDMaaPMRComponent.java356
-rw-r--r--dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/DMaaPMRComponent.java29
-rw-r--r--dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisher.java95
-rw-r--r--dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisherFactory.java49
-rw-r--r--dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisherImpl.java209
-rw-r--r--dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisherQueue.java87
-rw-r--r--dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisherQueueFactory.java45
-rw-r--r--dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisherQueueImpl.java126
-rw-r--r--dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/subscriber/DMaaPMRSubscriber.java57
-rw-r--r--dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/subscriber/DMaaPMRSubscriberFactory.java47
-rw-r--r--dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/subscriber/DMaaPMRSubscriberImpl.java129
-rw-r--r--dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/BaseAnalyticsDMaaPGuiceUnitTest.java31
-rw-r--r--dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/BaseAnalyticsDMaaPUnitTest.java99
-rw-r--r--dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/DMaaPMRFactoryTest.java67
-rw-r--r--dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/domain/config/DMaaPMRPublisherConfigTest.java78
-rw-r--r--dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/domain/config/DMaaPMRSubscriberConfigTest.java84
-rw-r--r--dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/it/BaseAnalyticsDMaaPIT.java109
-rw-r--r--dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/it/DMaaPMRPublisherImplIT.java58
-rw-r--r--dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/it/DMaaPMRSubscriberImplIT.java87
-rw-r--r--dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/module/AnalyticsDMaaPTestModule.java60
-rw-r--r--dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/service/BaseDMaaPMRComponentTest.java300
-rw-r--r--dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisherImplTest.java212
-rw-r--r--dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisherMockImpl.java59
-rw-r--r--dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisherQueueImplTest.java189
-rw-r--r--dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisherQueueMockImpl.java53
-rw-r--r--dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/service/subscriber/DMaaPMRSubscriberImplTest.java158
-rw-r--r--dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/service/subscriber/DMaaPMRSubscriberMockImpl.java48
-rw-r--r--dcae-analytics-dmaap/src/test/resources/logback-test.xml55
-rw-r--r--dcae-analytics-it/pom.xml214
-rw-r--r--dcae-analytics-it/src/test/java/org/openecomp/dcae/apod/analytics/it/cucumber/CucumberRunnerIT.java40
-rw-r--r--dcae-analytics-it/src/test/java/org/openecomp/dcae/apod/analytics/it/cucumber/steps/DMaaPMRSteps.java129
-rw-r--r--dcae-analytics-it/src/test/java/org/openecomp/dcae/apod/analytics/it/dmaap/DMaaPMRCreator.java83
-rw-r--r--dcae-analytics-it/src/test/java/org/openecomp/dcae/apod/analytics/it/dmaap/DMaaPMRCreatorImpl.java225
-rw-r--r--dcae-analytics-it/src/test/java/org/openecomp/dcae/apod/analytics/it/module/AnalyticsITInjectorSource.java41
-rw-r--r--dcae-analytics-it/src/test/java/org/openecomp/dcae/apod/analytics/it/module/IntegrationTestModule.java126
-rw-r--r--dcae-analytics-it/src/test/java/org/openecomp/dcae/apod/analytics/it/plugins/BaseAnalyticsPluginsIT.java51
-rw-r--r--dcae-analytics-it/src/test/java/org/openecomp/dcae/apod/analytics/it/plugins/DMaaPMRSourcePluginIT.java204
-rw-r--r--dcae-analytics-it/src/test/java/org/openecomp/dcae/apod/analytics/it/util/StepUtils.java43
-rw-r--r--dcae-analytics-it/src/test/resources/cucumber.properties21
-rw-r--r--dcae-analytics-it/src/test/resources/cucumber/features/dmaap/message_router.feature10
-rw-r--r--dcae-analytics-it/src/test/resources/data/json_message.json3
-rw-r--r--dcae-analytics-it/src/test/resources/env/dev.properties46
-rw-r--r--dcae-analytics-it/src/test/resources/logback-test.xml55
-rw-r--r--dcae-analytics-model/pom.xml129
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/BaseDynamicPropertiesProvider.java69
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/DCAEAnalyticsModel.java32
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/DynamicPropertiesProvider.java56
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/AlertAction.java32
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/AlertType.java45
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/BaseCEFModel.java41
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/CEFModel.java34
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/CommonEventHeader.java117
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/Criticality.java31
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/Event.java63
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/EventListener.java46
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/EventSeverity.java36
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/MeasurementsForVfScalingFields.java57
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/PerformanceCounter.java65
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/Priority.java32
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/ThresholdCrossingAlertFields.java161
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/VNicUsageArray.java79
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/policy/PolicyModel.java33
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/policy/tca/BaseTCAPolicyModel.java37
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/policy/tca/Direction.java68
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/policy/tca/MetricsPerFunctionalRole.java102
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/policy/tca/TCAPolicy.java59
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/policy/tca/TCAPolicyModel.java35
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/policy/tca/Threshold.java114
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/facade/FacadeModel.java33
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/facade/tca/AAI.java38
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/facade/tca/TCAFacadeModel.java31
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/facade/tca/TCAVESResponse.java49
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/AnalyticsModelIOUtils.java137
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/AnalyticsModelJsonUtils.java104
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/AnalyticsModelObjectMapperSupplier.java112
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/CommonEventFormatModule.java84
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/TCAFacadeModelModule.java49
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/TCAPolicyModule.java61
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/BaseDynamicPropertiesProviderMixin.java61
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/JsonMixin.java31
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/AlertActionMixin.java30
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/AlertTypeMixin.java74
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/BaseCEFModelMixin.java33
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/CommonEventHeaderMixin.java27
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/CriticalityMixin.java30
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/EventListenerMixin.java31
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/EventMixin.java31
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/EventSeverityMixin.java30
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/MeasurementsForVfScalingFieldsMixin.java39
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/PerformanceCounterMixin.java29
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/PriorityMixin.java30
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/ThresholdCrossingAlertFieldsMixin.java29
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/VNicUsageArrayMixin.java48
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/facade/tca/AAIMixin.java55
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/facade/tca/VESCEFMessageResponseMixin.java56
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/policy/tca/BaseTCAPolicyModelMixin.java30
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/policy/tca/DirectionMixin.java30
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/policy/tca/MetricsPerFunctionalRoleMixin.java28
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/policy/tca/TCAPolicyMixin.java28
-rw-r--r--dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/policy/tca/ThresholdMixin.java44
-rw-r--r--dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/BaseAnalyticsModelUnitTest.java148
-rw-r--r--dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/domain/cef/EventSeverityTest.java71
-rw-r--r--dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/facade/tca/AAITest.java59
-rw-r--r--dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/facade/tca/TCAVESResponseTest.java78
-rw-r--r--dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/util/AnalyticsModelIOUtilsTest.java89
-rw-r--r--dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/util/AnalyticsModelJsonUtilsTest.java80
-rw-r--r--dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/util/ConfigHolder.java33
-rw-r--r--dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/util/TestAppConfig.java40
-rw-r--r--dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/util/json/AnalyticsModelObjectMapperSupplierTest.java63
-rw-r--r--dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/AlertTypeMixinTest.java51
-rw-r--r--dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/EventListenerMixinTest.java88
-rw-r--r--dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/facade/tca/TCAVESResponseMixinTest.java57
-rw-r--r--dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/policy/tca/TCAPolicyMixinTest.java56
-rw-r--r--dcae-analytics-model/src/test/resources/data/json/cef/cef_messages.json12952
-rw-r--r--dcae-analytics-model/src/test/resources/data/json/cef/event_listener.json42
-rw-r--r--dcae-analytics-model/src/test/resources/data/json/config/invalidJsonConfig.json6
-rw-r--r--dcae-analytics-model/src/test/resources/data/json/config/testAppConfig.json6
-rw-r--r--dcae-analytics-model/src/test/resources/data/json/facade/tca_ves_cef_response.json18
-rw-r--r--dcae-analytics-model/src/test/resources/data/json/policy/tca_policy.json53
-rw-r--r--dcae-analytics-model/src/test/resources/data/testApp.properties22
-rw-r--r--dcae-analytics-model/src/test/resources/logback-test.xml55
-rw-r--r--dcae-analytics-tca/pom.xml101
-rw-r--r--dcae-analytics-tca/src/main/java/org/openecomp/dcae/apod/analytics/tca/processor/AbstractTCAECEFPolicyProcessor.java61
-rw-r--r--dcae-analytics-tca/src/main/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFJsonProcessor.java98
-rw-r--r--dcae-analytics-tca/src/main/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFPolicyDomainFilter.java83
-rw-r--r--dcae-analytics-tca/src/main/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFPolicyFunctionalRoleFilter.java91
-rw-r--r--dcae-analytics-tca/src/main/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFPolicyThresholdsProcessor.java135
-rw-r--r--dcae-analytics-tca/src/main/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFProcessorContext.java103
-rw-r--r--dcae-analytics-tca/src/main/java/org/openecomp/dcae/apod/analytics/tca/utils/TCAUtils.java791
-rw-r--r--dcae-analytics-tca/src/test/java/org/openecomp/dcae/apod/analytics/tca/BaseAnalyticsTCAUnitTest.java157
-rw-r--r--dcae-analytics-tca/src/test/java/org/openecomp/dcae/apod/analytics/tca/processor/AbstractTCAECEFPolicyProcessorTest.java56
-rw-r--r--dcae-analytics-tca/src/test/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFJsonProcessorTest.java117
-rw-r--r--dcae-analytics-tca/src/test/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFPolicyDomainFilterTest.java73
-rw-r--r--dcae-analytics-tca/src/test/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFPolicyFunctionalRoleFilterTest.java75
-rw-r--r--dcae-analytics-tca/src/test/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFPolicyThresholdsProcessorTest.java80
-rw-r--r--dcae-analytics-tca/src/test/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFProcessorContextTest.java38
-rw-r--r--dcae-analytics-tca/src/test/java/org/openecomp/dcae/apod/analytics/tca/utils/TCAUtilsTest.java406
-rw-r--r--dcae-analytics-tca/src/test/resources/data/json/cef/cef_message.json37
-rw-r--r--dcae-analytics-tca/src/test/resources/data/json/cef/cef_message_with_threshold_violation.json37
-rw-r--r--dcae-analytics-tca/src/test/resources/data/json/cef/cef_messages.json12952
-rw-r--r--dcae-analytics-tca/src/test/resources/data/json/policy/tca_policy.json53
-rw-r--r--dcae-analytics-tca/src/test/resources/data/properties/quartz-test.properties24
-rw-r--r--dcae-analytics-tca/src/test/resources/data/properties/tca_controller_policy.properties59
-rw-r--r--dcae-analytics-tca/src/test/resources/logback-test.xml55
-rw-r--r--dcae-analytics-test/pom.xml114
-rw-r--r--dcae-analytics-test/src/main/java/org/openecomp/dcae/apod/analytics/test/BaseDCAEAnalyticsCommonTest.java243
-rw-r--r--dcae-analytics-test/src/main/java/org/openecomp/dcae/apod/analytics/test/BaseDCAEAnalyticsIT.java29
-rw-r--r--dcae-analytics-test/src/main/java/org/openecomp/dcae/apod/analytics/test/BaseDCAEAnalyticsUnitTest.java31
-rw-r--r--dcae-analytics-test/src/main/java/org/openecomp/dcae/apod/analytics/test/annotation/GuiceModules.java45
-rw-r--r--dcae-analytics-test/src/main/java/org/openecomp/dcae/apod/analytics/test/runner/GuiceJUnitRunner.java100
-rw-r--r--dcae-analytics-test/src/main/resources/logback-test.xml55
-rw-r--r--dpo/commands17
-rw-r--r--dpo/dmaap.json18
-rw-r--r--dpo/tcaInput.json14
-rw-r--r--dpo/tcaOutput.json63
-rw-r--r--dpo/tcaSpec.json223
-rw-r--r--findbugs-exclude.xml43
-rw-r--r--pmd-exclude.properties23
-rw-r--r--pom.xml1242
-rw-r--r--suppressions.xml44
365 files changed, 97770 insertions, 0 deletions
diff --git a/.gitreview b/.gitreview
new file mode 100644
index 0000000..28bec00
--- /dev/null
+++ b/.gitreview
@@ -0,0 +1,4 @@
+[gerrit]
+host=gerrit.onap.org
+port=29418
+project=dcaegen2/analytics/tca.git
diff --git a/LICENSE.txt b/LICENSE.txt
new file mode 100644
index 0000000..9568ba4
--- /dev/null
+++ b/LICENSE.txt
@@ -0,0 +1,19 @@
+/*
+ * ===========================LICENSE_START===========================
+ * ===================================================================
+ * 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==============================
+ * ECOMP and OpenECOMP are trademarks and service marks of AT&T Intellectual Property.
+ */
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..2484768
--- /dev/null
+++ b/README.md
@@ -0,0 +1,27 @@
+Repository DCAE Analytics Framework Platform
+---------------------------------------------
+
+Maven GroupId:
+--------------
+com.att.ecomp.dcae.analytics
+
+Maven Parent ArtifactId:
+----------------
+dcae-analytics
+
+Maven Children Artifacts:
+------------------------
+1. dcae-analytics-test: Common test code for all DCAE Analytics Modules
+2. dcae-analytics-model: Contains models (e.g. Common Event Format) which are common to DCAE Analytics
+3. dcae-analytics-common: Contains Components common to all DCAE Analytics Modules - contains high level abstractions
+4. dcae-analytics-dmaap: DMaaP(Data Movement as a Platform) MR (Message Router)API using AAF(Authentication and Authorization Framework)
+5. dcae-analytics-tca: DCAE Analytics TCA (THRESHOLD CROSSING ALERT) Core
+6. dcae-analytics-cdap-common: Common code for all cdap modules
+7. dcae-analytics-cdap-tca: CDAP Flowlet implementation for TCA
+8. dcae-analytics-cdap-plugins: CDAP Plugins
+9. dcae-analytics-cdap-it: Cucumber and CDAP Pipeline integration tests
+
+Maven Central Artifacts Location:
+---------------------------------
+* Releases: TBD
+* Snapshots: TBD
diff --git a/checkstyle.xml b/checkstyle.xml
new file mode 100644
index 0000000..7d8928d
--- /dev/null
+++ b/checkstyle.xml
@@ -0,0 +1,418 @@
+<?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===========================================
+ -->
+
+<!DOCTYPE module PUBLIC
+ "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
+ "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
+
+<!-- This is a checkstyle configuration file. For descriptions of
+what the following rules do, please see the checkstyle configuration
+page at http://checkstyle.sourceforge.net/config.html -->
+
+<module name="Checker">
+
+
+ <!--
+
+ COPYRIGHT HEADER CHECKS
+
+ -->
+
+
+ <module name="FileTabCharacter">
+ <property name="severity" value="error"/>
+ <!-- Checks that there are no tab characters in the file. -->
+ </module>
+
+ <!--
+
+ LENGTH CHECKS FOR FILES
+
+ -->
+
+ <module name="FileLength">
+ <property name="max" value="3000"/>
+ <property name="severity" value="warning"/>
+ </module>
+
+
+ <module name="NewlineAtEndOfFile">
+ <property name="lineSeparator" value="lf"/>
+ </module>
+
+ <module name="RegexpSingleline">
+ <!-- Checks that FIXME is not used in comments. TODO is preferred. -->
+ <property name="format" value="((//.*)|(\*.*))FIXME"/>
+ <property name="message"
+ value='TODO is preferred to FIXME. e.g. "TODO: (ENG-123) - Refactor when v2 is released."'/>
+ </module>
+
+ <module name="RegexpSingleline">
+ <!-- Checks that TODOs are named with some basic formatting. Checks for the following pattern TODO: (
+ -->
+ <property name="format" value="((//.*)|(\*.*))TODO[^: (]"/>
+ <property name="message"
+ value='All TODOs should be named. e.g. "TODO: (ENG-123) - Refactor when v2 is released."'/>
+ </module>
+
+ <module name="JavadocPackage">
+ <!-- Checks that each Java package has a Javadoc file used for commenting.
+ Only allows a package-info.java, not package.html. -->
+ <property name="severity" value="error"/>
+ </module>
+
+ <!-- All Java AST specific tests live under TreeWalker module. -->
+ <module name="TreeWalker">
+
+ <!-- required for SupressionCommentFilter and SuppressWithNearbyCommentFilter -->
+ <module name="FileContentsHolder"/>
+
+ <!--
+
+ IMPORT CHECKS
+
+ -->
+
+ <module name="AvoidStarImport">
+ <property name="allowClassImports" value="false"/>
+ <property name="severity" value="error"/>
+ </module>
+
+ <module name="RedundantImport">
+ <!-- Checks for redundant import statements. -->
+ <property name="severity" value="error"/>
+ </module>
+
+ <module name="ImportOrder">
+ <!-- Checks for out of order import statements. -->
+ <property name="severity" value="error"/>
+ <property name="ordered" value="true"/>
+ <property name="groups" value="/([^j]|.[^a]|..[^v]|...[^a])/,/^javax?\./"/>
+ <!-- This ensures that static imports go to the end. -->
+ <property name="option" value="bottom"/>
+ <property name="tokens" value="STATIC_IMPORT, IMPORT"/>
+ </module>
+
+ <module name="IllegalImport">
+ <property name="illegalPkgs" value="junit.framework"/>
+ </module>
+
+ <!--
+
+ METHOD LENGTH CHECKS
+
+ -->
+
+ <module name="MethodLength">
+ <property name="tokens" value="METHOD_DEF"/>
+ <property name="max" value="300"/>
+ <property name="countEmpty" value="false"/>
+ <property name="severity" value="warning"/>
+ </module>
+
+ <!--
+
+ JAVADOC CHECKS
+
+ -->
+
+ <!-- Checks for Javadoc comments. -->
+ <!-- See http://checkstyle.sf.net/config_javadoc.html -->
+ <module name="JavadocMethod">
+ <property name="scope" value="protected"/>
+ <property name="severity" value="error"/>
+ <property name="allowMissingJavadoc" value="true"/>
+ <property name="allowMissingParamTags" value="true"/>
+ <property name="allowMissingReturnTag" value="true"/>
+ <property name="allowMissingThrowsTags" value="true"/>
+ <property name="allowThrowsTagsForSubclasses" value="true"/>
+ <property name="allowUndeclaredRTE" value="true"/>
+ </module>
+
+ <module name="JavadocType">
+ <property name="scope" value="protected"/>
+ <property name="severity" value="error"/>
+ </module>
+
+ <module name="JavadocStyle">
+ <property name="severity" value="error"/>
+ </module>
+
+ <!--
+
+ NAMING CHECKS
+
+ -->
+
+ <!-- Item 38 - Adhere to generally accepted naming conventions -->
+
+ <module name="PackageName">
+ <!-- Validates identifiers for package names against the
+ supplied expression. -->
+ <!-- Here the default checkstyle rule restricts package name parts to
+ seven characters, this is not in line with common practice at Google.
+ -->
+ <property name="format" value="^[a-z]+(\.[a-z][a-z0-9]{1,})*$"/>
+ <property name="severity" value="error"/>
+ </module>
+
+ <module name="TypeNameCheck">
+ <!-- Validates static, final fields against the
+ expression "^[A-Z][a-zA-Z0-9]*$". -->
+ <metadata name="altname" value="TypeName"/>
+ <property name="severity" value="error"/>
+ </module>
+
+ <module name="ConstantNameCheck">
+ <!-- Validates non-private, static, final fields against the supplied
+ public/package final fields "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$". -->
+ <metadata name="altname" value="ConstantName"/>
+ <property name="applyToPublic" value="true"/>
+ <property name="applyToProtected" value="true"/>
+ <property name="applyToPackage" value="true"/>
+ <property name="applyToPrivate" value="false"/>
+ <property name="format" value="^([A-Z][A-Z0-9]*(_[A-Z0-9]+)*|FLAG_.*)$"/>
+ <message key="name.invalidPattern"
+ value="Variable ''{0}'' should be in ALL_CAPS (if it is a constant) or be private (otherwise)."/>
+ <property name="severity" value="error"/>
+ </module>
+
+ <module name="StaticVariableNameCheck">
+ <!-- Validates static, non-final fields against the supplied
+ expression "^[a-z][a-zA-Z0-9]*_?$". -->
+ <metadata name="altname" value="StaticVariableName"/>
+ <property name="applyToPublic" value="true"/>
+ <property name="applyToProtected" value="true"/>
+ <property name="applyToPackage" value="true"/>
+ <property name="applyToPrivate" value="true"/>
+ <property name="format" value="^[a-z][a-zA-Z0-9]*_?$"/>
+ <property name="severity" value="error"/>
+ </module>
+
+ <module name="MemberNameCheck">
+ <!-- Validates non-static members against the supplied expression. -->
+ <metadata name="altname" value="MemberName"/>
+ <property name="applyToPublic" value="true"/>
+ <property name="applyToProtected" value="true"/>
+ <property name="applyToPackage" value="true"/>
+ <property name="applyToPrivate" value="true"/>
+ <property name="format" value="^[a-z][a-zA-Z0-9]*$"/>
+ <property name="severity" value="error"/>
+ </module>
+
+ <module name="MethodNameCheck">
+ <!-- Validates identifiers for method names. -->
+ <metadata name="altname" value="MethodName"/>
+ <property name="format" value="^[a-z][a-zA-Z0-9]*(_[a-zA-Z0-9]+)*$"/>
+ <property name="severity" value="error"/>
+ </module>
+
+ <module name="ParameterName">
+ <!-- Validates identifiers for method parameters against the
+ expression "^[a-z][a-zA-Z0-9]*$". -->
+ <property name="severity" value="error"/>
+ </module>
+
+ <module name="LocalFinalVariableName">
+ <!-- Validates identifiers for local final variables against the
+ expression "^[a-z][a-zA-Z0-9]*$". -->
+ <property name="severity" value="error"/>
+ </module>
+
+ <module name="LocalVariableName">
+ <!-- Validates identifiers for local variables against the
+ expression "^[a-z][a-zA-Z0-9]*$". -->
+ <property name="severity" value="error"/>
+ </module>
+
+
+ <!--
+
+ LENGTH and CODING CHECKS
+
+ -->
+
+ <module name="LineLength">
+ <!-- Checks if a line is too long. -->
+ <property name="max" value="120" default="120"/>
+ <property name="severity" value="error"/>
+
+ <!--
+ The default ignore pattern exempts the following elements:
+ - import statements
+ - long URLs inside comments
+ -->
+
+ <property name="ignorePattern"
+ value="${com.puppycrawl.tools.checkstyle.checks.sizes.LineLength.ignorePattern}"
+ default="^(package .*;\s*)|(import .*;\s*)|( *\* *https?://.*)$"/>
+ </module>
+
+ <module name="LeftCurly">
+ <!-- Checks for placement of the left curly brace ('{'). -->
+ <property name="severity" value="error"/>
+ </module>
+
+ <module name="RightCurly">
+ <!-- Checks right curlies on CATCH, ELSE, and TRY blocks are on
+ the same line. e.g., the following example is fine:
+ <pre>
+ if {
+ ...
+ } else
+ </pre>
+ -->
+ <!-- This next example is not fine:
+ <pre>
+ if {
+ ...
+ }
+ else
+ </pre>
+ -->
+ <property name="option" value="same"/>
+ <property name="severity" value="error"/>
+ </module>
+
+ <!-- Checks for braces around if and else blocks -->
+ <module name="NeedBraces">
+ <property name="severity" value="error"/>
+ <property name="tokens" value="LITERAL_IF, LITERAL_ELSE, LITERAL_FOR, LITERAL_WHILE, LITERAL_DO"/>
+ </module>
+
+ <module name="UpperEll">
+ <!-- Checks that long constants are defined with an upper ell.-->
+ <property name="severity" value="error"/>
+ </module>
+
+ <module name="FallThrough">
+ <!-- Warn about falling through to the next case statement. Similar to
+ javac -Xlint:fallthrough, but the check is suppressed if a single-line comment
+ on the last non-blank line preceding the fallen-into case contains 'fall through' (or
+ some other variants which we don't publicized to promote consistency).
+ -->
+ <property name="reliefPattern"
+ value="fall through|Fall through|fallthru|Fallthru|falls through|Falls through|fallthrough|Fallthrough|No break|NO break|no break|continue on"/>
+ <property name="severity" value="error"/>
+ </module>
+
+
+ <!--
+
+ MODIFIERS CHECKS
+
+ -->
+
+ <module name="ModifierOrder">
+ <!-- Warn if modifier order is inconsistent with JLS3 8.1.1, 8.3.1, and
+ 8.4.3. The prescribed order is:
+ public, protected, private, abstract, static, final, transient, volatile,
+ synchronized, native, strictfp
+ -->
+ </module>
+
+ <module name="RedundantModifier">
+ <!-- Checks for redundant modifiers in:
+ - interface and annotation definitions,
+ - the final modifier on methods of final classes, and
+ - inner interface declarations that are declared as static.
+ -->
+ </module>
+
+
+ <!--
+
+ WHITESPACE CHECKS
+
+ -->
+ <module name="GenericWhitespace"/>
+
+ <module name="WhitespaceAround">
+ <!-- Checks that various tokens are surrounded by whitespace.
+ This includes most binary operators and keywords followed
+ by regular or curly braces.
+ -->
+ <property name="tokens" value="ASSIGN, BAND, BAND_ASSIGN, BOR,
+ BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN,
+ EQUAL, GE, GT, LAND, LCURLY, LE, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE,
+ LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_RETURN,
+ LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE, LOR, LT, MINUS,
+ MINUS_ASSIGN, MOD, MOD_ASSIGN, NOT_EQUAL, PLUS, PLUS_ASSIGN, QUESTION,
+ SL, SLIST, SL_ASSIGN, SR_ASSIGN, STAR, STAR_ASSIGN"/>
+ <property name="allowEmptyConstructors" value="true"/>
+ <property name="allowEmptyMethods" value="true"/>
+ <property name="severity" value="error"/>
+ </module>
+
+ <module name="WhitespaceAfter">
+ <!-- Checks that commas, semicolons and typecasts are followed by
+ whitespace.
+ -->
+ <property name="tokens" value="COMMA, SEMI, TYPECAST"/>
+ <property name="severity" value="error"/>
+ </module>
+
+ <module name="NoWhitespaceAfter">
+ <!-- Checks that there is no whitespace after various unary operators.
+ Linebreaks are allowed.
+ -->
+ <property name="tokens" value="BNOT, DEC, DOT, INC, LNOT, UNARY_MINUS,
+ UNARY_PLUS"/>
+ <property name="allowLineBreaks" value="true"/>
+ <property name="severity" value="error"/>
+ </module>
+
+ <module name="NoWhitespaceBefore">
+ <!-- Checks that there is no whitespace before various unary operators.
+ Linebreaks are allowed.
+ -->
+ <property name="tokens" value="SEMI, DOT, POST_DEC, POST_INC"/>
+ <property name="allowLineBreaks" value="true"/>
+ <property name="severity" value="error"/>
+ </module>
+
+ <module name="ParenPad">
+ <!-- Checks that there is no whitespace before close parens or after
+ open parens.
+ -->
+ <property name="severity" value="error"/>
+ </module>
+
+ </module>
+
+ <!--
+ Optional suppression filter. It is optional because when running with Maven, it should be the
+ checkstyle plugin who provides it. It is only used when this file is used in IntelliJ.
+ -->
+ <module name="SuppressionFilter">
+ <property name="file" value="suppressions.xml"/>
+ <property name="optional" value="true"/>
+ </module>
+
+ <module name="SuppressionCommentFilter">
+ <property name="offCommentFormat" value="CHECKSTYLE OFF: (.+)"/>
+ <property name="onCommentFormat" value="CHECKSTYLE ON"/>
+ <property name="checkFormat" value="Javadoc.*"/>
+ <property name="messageFormat" value="$1"/>
+ </module>
+
+</module>
diff --git a/cpd-exclude.properties b/cpd-exclude.properties
new file mode 100644
index 0000000..eb94ed0
--- /dev/null
+++ b/cpd-exclude.properties
@@ -0,0 +1,25 @@
+
+#
+# ===============================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===========================================
+#
+
+# List comma separated fully qualified names of classes that can be excluded for CPD (COPY-PASTE-DETECTOR)
+# Builders for DMaaP MR Configs can have redundant code as they are used as temp place holders for building Immutable
+# Configs
+org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRPublisherConfig,org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRSubscriberConfig
diff --git a/dcae-analytics-cdap-common/pom.xml b/dcae-analytics-cdap-common/pom.xml
new file mode 100644
index 0000000..281375a
--- /dev/null
+++ b/dcae-analytics-cdap-common/pom.xml
@@ -0,0 +1,113 @@
+<?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-common</artifactId>
+ <packaging>jar</packaging>
+
+ <!-- THIS MODULE CONTAINS CDAP CODE COMMON FOR ALL CDAP DCAE ANALYTICS MODULES -->
+ <name>DCAE Analytics CDAP Common</name>
+ <description>Contains CDAP common code to all CDAP DCAE Analytics Modules</description>
+
+ <properties>
+ <main.basedir>${project.parent.basedir}</main.basedir>
+ </properties>
+
+ <dependencies>
+
+ <!-- DCAE DEPENDENCIES -->
+ <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>
+
+ <!-- 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>
+
+ <!-- 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>
+
+ </dependencies>
+
+
+</project>
diff --git a/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/CDAPComponentsConstants.java b/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/CDAPComponentsConstants.java
new file mode 100644
index 0000000..d00bc1b
--- /dev/null
+++ b/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/CDAPComponentsConstants.java
@@ -0,0 +1,200 @@
+/*
+ * ===============================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.common;
+
+/**
+ * Contains static constant variable names and values of all DCAE CDAP Components for
+ * e.g. app names, app descriptions, streams, datasets, flows, flowlets, workers, outputs etc.
+ *
+ * <p>
+ * A strict naming convention must be followed for variable names for CDAP Components names for proper
+ * identification of CDAP Component variable purpose and function. A custom configuration settings can be
+ * generated for app
+ * deployment purposes based on variable naming conventions.
+ *
+ * The variable names should have 4 parts separated by an underscore:
+ * <ul>
+ * <li>Name of the DCAE sub module (e.g. TCA) to which variable is applicable</li>
+ * <li>Information about variable name:
+ * <ul>
+ * <li>FIXED - if variable value is fixed and cannot be changed</li>
+ * <li>DEFAULT - if variable name is default name and can be changed by cdap settings file
+ * when application is created</li>
+ * </ul>
+ * </li>
+ * <li>Actual Descriptive name about the CDAP component (may contain underscrores) </li>
+ * <li>CDAP component type e.g STREAM, DATASET, APP, FLOW, FLOWLET, OUTPUT</li>
+ * </ul>
+ *
+ * <p>e.g TCA_DEFAULT_DMAAP_INPUT_STREAM</p>
+ *
+ * <p><strong>RegEx Format (DCAE MODULE NAME)_(FIXED|DEFAULT)_(VARIABLE NAME)_(CDAP COMPONENT TYPE)</strong></p>
+ *
+ * @author Rajiv Singla . Creation Date: 10/24/2016.
+ */
+public abstract class CDAPComponentsConstants {
+
+ // =============== Common Module Constants ==================== //
+
+ /**
+ * Default DCAE App Name. It should be overriden by sub modules
+ */
+ public static final String COMMON_DEFAULT_DCAE_CDAP_NAME_APP = "DCAE_ANALYTICS_GENERIC_APP";
+
+ /**
+ * Default DCAE App Description. It should be overriden by sub modules
+ */
+ public static final String COMMON_DEFAULT_DCAE_CDAP_DESCRIPTION_APP = "DCAE ANALYTICS GENERIC APP DESCRIPTION";
+
+ // =============== TCA Module Constants ==================== //
+
+ /**
+ * Default TCA application name if application name is not provided from startup configuration
+ */
+ public static final String TCA_DEFAULT_NAME_APP = "dcae-tca";
+
+ /**
+ * Default TCA application description if not provided from startup configuration
+ */
+ public static final String TCA_DEFAULT_DESCRIPTION_APP = "DCAE Analytics Threshold Crossing Alert Application";
+
+ /**
+ * Default TCA DMaaP Subscriber output stream name if not provided from startup configuration
+ */
+ public static final String TCA_DEFAULT_SUBSCRIBER_OUTPUT_NAME_STREAM = "TCASubscriberOutputStream";
+
+
+ /**
+ * Fixed TCA DMaaP Subscriber output stream description
+ */
+ public static final String TCA_FIXED_SUBSCRIBER_OUTPUT_DESCRIPTION_STREAM =
+ "Stream which contains all message from VES Collector DMaaP MR topic";
+
+
+ /**
+ * Fixed Name of TCA DMaaP Subscriber Worker - which will be fetching DMaaP Messages posting them to CDAP stream
+ */
+ public static final String TCA_FIXED_DMAAP_SUBSCRIBER_WORKER = "TCADMaaPMRSubscriberWorker";
+
+ /**
+ * Fixed Description of TCA DMaaP Subscriber Worker
+ */
+ public static final String TCA_FIXED_DMAAP_SUBSCRIBER_DESCRIPTION_WORKER =
+ "Fetches messages from DMaaP MR Topic at frequent intervals and writes them to a CDAP stream";
+
+ /**
+ * Fixed Name of TCA DMaaP Publisher Worker - which will be publishing messages to DMaaP MR
+ */
+ public static final String TCA_FIXED_DMAAP_PUBLISHER_WORKER = "TCADMaaPMRPublisherWorker";
+
+ /**
+ * Fixed Description of TCA DMaaP Publisher Worker
+ */
+ public static final String TCA_FIXED_DMAAP_PUBLISHER_DESCRIPTION_WORKER =
+ "Polls TCA Alerts Table at frequent intervals for new alerts and publishes them to DMaaP MR Topic";
+
+ /**
+ * Fixed name for TCA VES Collector Messages Processing Flow
+ */
+ public static final String TCA_FIXED_VES_COLLECTOR_NAME_FLOW = "TCAVESCollectorFlow";
+
+
+ /**
+ * Fixed description for TCA VES Collector Messages Processing Flow
+ */
+ public static final String TCA_FIXED_VES_COLLECTOR_DESCRIPTION_FLOW = "Flow performs TCA on VES Collector Messages";
+
+
+ /**
+ * Fixed Name for TCA VES Message Router Flowlet
+ */
+ public static final String TCA_FIXED_VES_MESSAGE_ROUTER_NAME_FLOWLET = "TCAVESMessageRouterFlowlet";
+
+ /**
+ * Fixed Description for TCA VES Message Router Flowlet
+ */
+ public static final String TCA_FIXED_VES_MESSAGE_ROUTER_DESCRIPTION_FLOWLET =
+ "Routes message received from TCA VES Collector to TCA Threshold Calculator Flowlet instances";
+
+ /**
+ * Fixed TCA VES Message Router Flowlet Output
+ */
+ public static final String TCA_FIXED_VES_MESSAGE_ROUTER_OUTPUT = "TCAVESMessageRouterFlowlet";
+
+ /**
+ * Fixed Name for TCA VES Message Policy Violated Threshold Calculator Flowlet
+ */
+ public static final String TCA_FIXED_VES_THRESHOLD_VIOLATION_CALCULATOR_NAME_FLOWLET =
+ "TCAVESThresholdViolationCalculatorFlowlet";
+
+ /**
+ * Fixed Description for TCA VES Message Policy Violated Threshold Calculator Flowlet
+ */
+ public static final String TCA_FIXED_VES_THRESHOLD_VIOLATION_CALCULATOR_DESCRIPTION_FLOWLET =
+ "Applies TCA Policy Thresholds to VES Message and determined if any message violated TCA Policy thresholds";
+
+ /**
+ * Fixed Name for TCA VES Message Policy Violated Threshold Calculator Output
+ */
+ public static final String TCA_FIXED_VES_TCA_CALCULATOR_NAME_OUTPUT = "TCAThresholdViolationCalculatorOutput";
+
+
+ /**
+ * Fixed Name for TCA VES Alerts Sink Flowlet
+ */
+ public static final String TCA_FIXED_VES_ALERTS_SINK_NAME_FLOWLET = "TCAVESAlertsSinkFlowlet";
+
+ /**
+ * Fixed Description for TCA VES Alerts Sink Flowlet
+ */
+ public static final String TCA_FIXED_VES_ALERTS_SINK_DESCRIPTION_FLOWLET =
+ "Saves messages which violated TCA Policy in a data set";
+
+
+ /**
+ * Default Name for TCA VES Message status table which contain status of all messages processed by TCA
+ */
+ public static final String TCA_DEFAULT_VES_MESSAGE_STATUS_NAME_TABLE = "TCAVESMessageStatusTable";
+
+
+ /**
+ * Fixed Description for TCA VES Message status table which contain status of all messages processed by TCA
+ */
+ public static final String TCA_FIXED_VES_MESSAGE_STATUS_DESCRIPTION_TABLE =
+ "Store processing information about all incoming TCA VES Messages";
+
+ /**
+ * Default Name for TCA VES Alerts table which contains alerts that can be send to downstream systems
+ */
+ public static final String TCA_DEFAULT_VES_ALERTS_NAME_TABLE = "TCAVESAlertsTable";
+
+ /**
+ * Fixed Description for TCA VES Alerts table which contains alerts that can be send to downstream systems
+ */
+ public static final String TCA_DEFAULT_VES_ALERTS_DESCRIPTION_TABLE =
+ "Stores alert messages that need to be DMaaP";
+
+
+ private CDAPComponentsConstants() {
+
+ }
+
+}
diff --git a/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/CDAPMetricsConstants.java b/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/CDAPMetricsConstants.java
new file mode 100644
index 0000000..f2e0e73
--- /dev/null
+++ b/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/CDAPMetricsConstants.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.common;
+
+/**
+ * Contains all metrics names used for DCAE CDAP modules
+ *
+ * <p>
+ * Format should be (ModuleName)_(Description of metrics)_METRIC e.g. TCA_WORKER_FAILED_ATTEMPTS_METRIC
+ * </p>
+ *
+ * @author Rajiv Singla . Creation Date: 10/25/2016.
+ */
+public abstract class CDAPMetricsConstants {
+
+ /**
+ * Metric captures count of all responses received from DMaaP MR Subscriber Topic
+ */
+ public static final String DMAAP_MR_SUBSCRIBER_ALL_RESPONSES_COUNT_METRIC =
+ "dmaap.subscriber.fetch.all_responses";
+
+ /**
+ * Metric captures count of responses from DMaaP MR Subscriber Topic which does not have 200 HTTP Response code.
+ * This can be due to DMaaP topic being down or any internal server errors etc.
+ */
+ public static final String DMAAP_MR_SUBSCRIBER_UNSUCCESSFUL_RESPONSES_METRIC =
+ "dmaap.subscriber.fetch.unsuccessful";
+
+ /**
+ * Metric that counts the number of successful (200 HTTP Response Code) calls to DMaaP which did not had empty
+ * messages
+ */
+ public static final String DMAAP_MR_SUBSCRIBER_RESPONSES_WITH_NO_MESSAGES_METRIC =
+ "dmaap.subscriber.fetch.no_message";
+
+ /**
+ * Metric to count total number of message processed by DMaaP MR subscriber
+ */
+ public static final String DMAAP_MR_SUBSCRIBER_TOTAL_MESSAGES_PROCESSED_METRIC = "dmaap.subscriber.message.count";
+
+
+ /**
+ * Metric to record time taken in ms by subscriber in its most recent call to fetch DMaaP MR messages
+ */
+ public static final String DMAAP_MR_SUBSCRIBER_RESPONSE_TIME_MS_METRIC = "dmaap.subscriber.fetch.response_time";
+
+ /**
+ * Metric captures the count of number of times DMaaP MR Subscriber was unable to write to DMaaP Stream due
+ * some CDAP error while writing to stream. This should ideally never happen assuming we have enough space
+ * on CDAP machine and CDAP process is functioning normally
+ */
+ public static final String TCA_SUBSCRIBER_FAILURE_TO_WRITE_TO_STREAM_METRIC = "tca.subscriber.stream.writing.error";
+
+
+ /**
+ * Metric captures number of VES messages that are not applicable as per TCA Policy
+ */
+ public static final String TCA_VES_INAPPLICABLE_MESSAGES_METRIC = "tca.ves.calculator.inapplicable";
+
+ /**
+ * Metric captures number of VES messages that are applicable as per TCA Policy but don't violate any thresholds
+ */
+ public static final String TCA_VES_COMPLIANT_MESSAGES_METRIC = "tca.ves.calculator.compliant";
+
+ /**
+ * Metrics captures number of VES messages that are applicable as per TCA Policy and does violate thresholds and
+ * will likely cause an alert
+ */
+ public static final String TCA_VES_NON_COMPLIANT_MESSAGES_METRIC = "tca.ves.calculator.non_compliant";
+
+
+ /**
+ * Metric that counts the number of publisher look ups in alerts table which resulted in 0 new alerts
+ */
+ public static final String TCA_PUBLISHER_NO_NEW_ALERTS_LOOKUP_METRIC = "tca.publisher.lookup.no_message";
+
+ /**
+ * Metric that counts the number of new alerts found by the publisher in alerts table
+ */
+ public static final String TCA_PUBLISHER_NEW_ALERTS_METRIC = "tca.publisher.lookup.new_messages";
+
+ /**
+ * Metric that counts the number of alerts deleted by publisher in alerts table
+ */
+ public static final String TCA_PUBLISHER_DELETED_ALERTS_METRIC = "tca.publisher.deleted.alerts";
+
+ /**
+ * Metric that counts the number of publisher calls to DMaaP which resulted in successful response code
+ */
+ public static final String TCA_PUBLISHER_SUCCESSFUL_DMAAP_RESPONSE_METRIC = "tca.publisher.publish.successful";
+
+ /**
+ * Metric that counts the number of publisher calls to DMaaP which resulted in unsuccessful response code
+ */
+ public static final String TCA_PUBLISHER_UNSUCCESSFUL_DMAAP_RESPONSE_METRIC = "tca.publisher.publish.unsuccessful";
+
+ private CDAPMetricsConstants() {
+
+ }
+
+}
diff --git a/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/CDAPPluginConstants.java b/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/CDAPPluginConstants.java
new file mode 100644
index 0000000..c3e61c0
--- /dev/null
+++ b/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/CDAPPluginConstants.java
@@ -0,0 +1,71 @@
+/*
+ * ===============================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.common;
+
+/**
+ * <p>
+ * Contains CDAP Plugin Constants
+ * </p>
+ * @author Rajiv Singla . Creation Date: 1/17/2017.
+ */
+public abstract class CDAPPluginConstants {
+
+ /**
+ * Common Reference Name property name and description used to create an external Dataset for metadata, lineage
+ * purposes
+ */
+ public static class Reference {
+
+ public static final String REFERENCE_NAME = "referenceName";
+ public static final String REFERENCE_NAME_DESCRIPTION =
+ "This will be used to uniquely identify this source/sink for lineage, annotating metadata, etc.";
+
+ private Reference() {
+ // private constructor
+ }
+
+ }
+
+ /**
+ * Contains fields for DMaaP MR Sink Map Reduce Hadoop Configuration
+ */
+ public static class DMaaPMRSinkHadoopConfigFields {
+
+ public static final String HOST_NAME = "dmaap.mr.sink.hostName";
+ public static final String PORT_NUMBER = "dmaap.mr.sink.portNumber";
+ public static final String TOPIC_NAME = "dmaap.mr.sink.topicName";
+ public static final String PROTOCOL = "dmaap.mr.sink.protocol";
+ public static final String USER_NAME = "dmaap.mr.sink.userName";
+ public static final String USER_PASS = "dmaap.mr.sink.userPassword";
+ public static final String CONTENT_TYPE = "dmaap.mr.sink.contentType";
+ public static final String MAX_BATCH_SIZE = "dmaap.mr.sink.maxBatchSize";
+ public static final String MAX_RECOVER_QUEUE_SIZE = "dmaap.mr.sink.maxRecoveryQueueSize";
+
+ private DMaaPMRSinkHadoopConfigFields() {
+ // private constructor
+ }
+ }
+
+
+ private CDAPPluginConstants() {
+ // private constructor
+ }
+}
diff --git a/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/exception/CDAPSettingsException.java b/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/exception/CDAPSettingsException.java
new file mode 100644
index 0000000..2e6d90f
--- /dev/null
+++ b/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/exception/CDAPSettingsException.java
@@ -0,0 +1,51 @@
+/*
+ * ===============================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.common.exception;
+
+import org.openecomp.dcae.apod.analytics.common.exception.DCAEAnalyticsRuntimeException;
+import org.slf4j.Logger;
+
+/**
+ * Runtime exception which signals that DCAE CDAP App settings (e.g. app config, preferences) validation failed
+ *
+ * @author Rajiv Singla . Creation Date: 10/24/2016.
+ */
+public class CDAPSettingsException extends DCAEAnalyticsRuntimeException {
+
+ /**
+ * @param message - Error Message for Exception
+ * @param cause - Actual Exception which caused {@link DCAEAnalyticsRuntimeException}
+ */
+ public CDAPSettingsException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ /**
+ * Creates and logs the DCAE App Config Exception to given logger
+ *
+ * @param message - Error Message for Exception and logging
+ * @param logger - Logger used for logging exception
+ * @param cause - Actual exception which caused
+ */
+ public CDAPSettingsException(String message, Logger logger, Throwable cause) {
+ super(message, logger, cause);
+ }
+}
diff --git a/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/persistance/tca/TCACalculatorMessageType.java b/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/persistance/tca/TCACalculatorMessageType.java
new file mode 100644
index 0000000..957fc2e
--- /dev/null
+++ b/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/persistance/tca/TCACalculatorMessageType.java
@@ -0,0 +1,43 @@
+/*
+ * ===============================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.common.persistance.tca;
+
+/**
+ * TCA Calculator applies TCA Policy to incoming VES messages and classifies them as per this enum
+ *
+ * @author Rajiv Singla . Creation Date: 11/15/2016.
+ */
+public enum TCACalculatorMessageType {
+
+ /**
+ * VES messages that are not applicable as per TCA Policy
+ */
+ INAPPLICABLE,
+ /**
+ * VES messages that are applicable as per TCA Policy but don't violate any thresholds
+ */
+ COMPLIANT,
+ /**
+ * VES messages that are applicable as per TCA Policy and also in violation of TCA Policy thresholds
+ */
+ NON_COMPLIANT;
+
+}
diff --git a/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/persistance/tca/TCAMessageStatusEntity.java b/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/persistance/tca/TCAMessageStatusEntity.java
new file mode 100644
index 0000000..c529e55
--- /dev/null
+++ b/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/persistance/tca/TCAMessageStatusEntity.java
@@ -0,0 +1,555 @@
+/*
+ * ===============================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.common.persistance.tca;
+
+import org.apache.hadoop.io.Writable;
+import org.apache.hadoop.io.WritableUtils;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.EventSeverity;
+import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.Direction;
+import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.TCAPolicy;
+import org.openecomp.dcae.apod.analytics.tca.processor.TCACEFJsonProcessor;
+import org.openecomp.dcae.apod.analytics.tca.processor.TCACEFPolicyDomainFilter;
+import org.openecomp.dcae.apod.analytics.tca.processor.TCACEFPolicyFunctionalRoleFilter;
+import org.openecomp.dcae.apod.analytics.tca.processor.TCACEFPolicyThresholdsProcessor;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+import java.io.Serializable;
+
+/**
+ * TCA Message Status is an Entity which is used to persist TCA VES Message status information in Message Status Table
+ *
+ * @author Rajiv Singla . Creation Date: 11/16/2016.
+ */
+public class TCAMessageStatusEntity implements Writable, Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ private long creationTS;
+ private int instanceId;
+ private String messageType;
+ private String vesMessage;
+ private String domain;
+ private String functionalRole;
+ private String thresholdPath;
+ private String thresholdSeverity;
+ private String thresholdDirection;
+ private Long thresholdValue;
+ private String jsonProcessorStatus;
+ private String jsonProcessorMessage;
+ private String domainFilterStatus;
+ private String domainFilterMessage;
+ private String functionalRoleFilterStatus;
+ private String functionalRoleFilterMessage;
+ private String thresholdCalculatorStatus;
+ private String thresholdCalculatorMessage;
+ private String alertMessage;
+
+ /**
+ * No Arg constructor required for Jackson Json Serialization / Deserialization
+ */
+ public TCAMessageStatusEntity() {
+ // no argument constructor required for json serialization / deserialization
+ }
+
+ /**
+ * Create new Instance of {@link TCAMessageStatusEntity}
+ *
+ * @param creationTS creation Timestamp
+ * @param instanceId CDAP flowlet instance ID
+ * @param messageType {@link TCACalculatorMessageType}
+ * @param vesMessage incoming VES message from collector
+ * @param domain VES message domain if present
+ * @param functionalRole VES message functional role if present
+ */
+ public TCAMessageStatusEntity(final long creationTS, final int instanceId, final String messageType,
+ final String vesMessage, final String domain, final String functionalRole) {
+ this(creationTS, instanceId, messageType, vesMessage, domain, functionalRole, null, null, null, null,
+ null, null, null, null, null, null, null, null, null);
+ }
+
+
+ /**
+ * Create new Instance of {@link TCAMessageStatusEntity}
+ *
+ * @param creationTS creation Timestamp
+ * @param instanceId CDAP flowlet instance ID
+ * @param messageType {@link TCACalculatorMessageType}
+ * @param vesMessage incoming VES message from collector
+ * @param domain VES message domain if present
+ * @param functionalRole VES message functional role if present
+ * @param thresholdPath Violated threshold path
+ * @param thresholdSeverity Violated threshold Severity if any
+ * @param thresholdDirection Violated threshold Direction if any
+ * @param thresholdValue Violated threshold value if any
+ * @param jsonProcessorStatus {@link TCACEFJsonProcessor} status
+ * @param jsonProcessorMessage {@link TCACEFJsonProcessor} message
+ * @param domainFilterStatus {@link TCACEFPolicyDomainFilter} status
+ * @param domainFilterMessage {@link TCACEFPolicyDomainFilter} message
+ * @param functionalRoleFilterStatus
+ * {@link TCACEFPolicyFunctionalRoleFilter} status
+ * @param functionalRoleFilterMessage
+ * {@link TCACEFPolicyFunctionalRoleFilter} message
+ * @param thresholdCalculatorStatus
+ * {@link TCACEFPolicyThresholdsProcessor} status
+ * @param thresholdCalculatorMessage
+ * {@link TCACEFPolicyThresholdsProcessor} message
+ * @param alertMessage alert message that will be sent out in case of threshold violation
+ */
+ public TCAMessageStatusEntity(long creationTS, int instanceId, String messageType, String vesMessage,
+ String domain, String functionalRole,
+ String thresholdPath, String thresholdSeverity, String thresholdDirection,
+ Long thresholdValue,
+ String jsonProcessorStatus, String jsonProcessorMessage,
+ String domainFilterStatus, String domainFilterMessage,
+ String functionalRoleFilterStatus, String functionalRoleFilterMessage,
+ String thresholdCalculatorStatus, String thresholdCalculatorMessage,
+ String alertMessage) {
+ this.creationTS = creationTS;
+ this.instanceId = instanceId;
+ this.messageType = messageType;
+ this.vesMessage = vesMessage;
+ this.domain = domain;
+ this.functionalRole = functionalRole;
+ this.thresholdPath = thresholdPath;
+ this.thresholdSeverity = thresholdSeverity;
+ this.thresholdDirection = thresholdDirection;
+ this.thresholdValue = thresholdValue;
+ this.jsonProcessorStatus = jsonProcessorStatus;
+ this.jsonProcessorMessage = jsonProcessorMessage;
+ this.domainFilterStatus = domainFilterStatus;
+ this.domainFilterMessage = domainFilterMessage;
+ this.functionalRoleFilterStatus = functionalRoleFilterStatus;
+ this.functionalRoleFilterMessage = functionalRoleFilterMessage;
+ this.thresholdCalculatorStatus = thresholdCalculatorStatus;
+ this.thresholdCalculatorMessage = thresholdCalculatorMessage;
+ this.alertMessage = alertMessage;
+ }
+
+ /**
+ * Provides Creation Timestamp
+ *
+ * @return creation timestamp long value
+ */
+ public long getCreationTS() {
+ return creationTS;
+ }
+
+ /**
+ * Sets Creations Timestamp
+ *
+ * @param creationTS creation timestamp long value
+ */
+ public void setCreationTS(long creationTS) {
+ this.creationTS = creationTS;
+ }
+
+
+ /**
+ * Provides CDAP Flowlet instance ID
+ *
+ * @return cdap flowlet instance ID
+ */
+ public int getInstanceId() {
+ return instanceId;
+ }
+
+ /**
+ * Sets CDAP Flowlet instance ID
+ *
+ * @param instanceId flowlet instance ID
+ */
+ public void setInstanceId(int instanceId) {
+ this.instanceId = instanceId;
+ }
+
+ /**
+ * Provides Message Calculator Type {@link TCACalculatorMessageType}
+ *
+ * @return calculator message type
+ */
+ public String getMessageType() {
+ return messageType;
+ }
+
+ /**
+ * Sets Calculator message Type {@link TCACalculatorMessageType}
+ *
+ * @param messageType calculator message type
+ */
+ public void setMessageType(String messageType) {
+ this.messageType = messageType;
+ }
+
+ /**
+ * Provides incoming VES Message
+ *
+ * @return ves message
+ */
+ public String getVesMessage() {
+ return vesMessage;
+ }
+
+ /**
+ * Set new value for VES message
+ *
+ * @param vesMessage ves message
+ */
+ public void setVesMessage(String vesMessage) {
+ this.vesMessage = vesMessage;
+ }
+
+ /**
+ * Provides VES message Domain
+ *
+ * @return ves message domain
+ */
+ public String getDomain() {
+ return domain;
+ }
+
+ /**
+ * Sets VES Message Domain
+ *
+ * @param domain ves message domain
+ */
+ public void setDomain(String domain) {
+ this.domain = domain;
+ }
+
+ /**
+ * Provides VES Message Functional Role
+ *
+ * @return ves message functional role
+ */
+ public String getFunctionalRole() {
+ return functionalRole;
+ }
+
+ /**
+ * Sets VES Message Functional Role
+ *
+ * @param functionalRole ves message Functional Role
+ */
+ public void setFunctionalRole(String functionalRole) {
+ this.functionalRole = functionalRole;
+ }
+
+ /**
+ * Violated Threshold Path as extracted from {@link TCAPolicy}
+ *
+ * @return violated threshold path
+ */
+ public String getThresholdPath() {
+ return thresholdPath;
+ }
+
+ /**
+ * Sets value for Violated Threshold Path
+ *
+ * @param thresholdPath violated threshold path
+ */
+ public void setThresholdPath(String thresholdPath) {
+ this.thresholdPath = thresholdPath;
+ }
+
+ /**
+ * Violated threshold {@link EventSeverity}
+ *
+ * @return event severity
+ */
+ public String getThresholdSeverity() {
+ return thresholdSeverity;
+ }
+
+ /**
+ * Violated Threshold Severity
+ *
+ * @param thresholdSeverity violated threshold severity
+ */
+ public void setThresholdSeverity(String thresholdSeverity) {
+ this.thresholdSeverity = thresholdSeverity;
+ }
+
+ /**
+ * Violated Threshold {@link Direction}
+ *
+ * @return violated threshold Direction
+ */
+ public String getThresholdDirection() {
+ return thresholdDirection;
+ }
+
+ /**
+ * Sets Violated Threshold Direction
+ *
+ * @param thresholdDirection violated threshold direction
+ */
+ public void setThresholdDirection(String thresholdDirection) {
+ this.thresholdDirection = thresholdDirection;
+ }
+
+ /**
+ * Provides Violated Threshold Value
+ *
+ * @return violated Threshold value
+ */
+ public Long getThresholdValue() {
+ return thresholdValue;
+ }
+
+ /**
+ * Sets Violated Threshold Value
+ *
+ * @param thresholdValue violated threshold value
+ */
+ public void setThresholdValue(Long thresholdValue) {
+ this.thresholdValue = thresholdValue;
+ }
+
+ /**
+ * Provides {@link TCACEFJsonProcessor} status
+ *
+ * @return json processor status
+ */
+ public String getJsonProcessorStatus() {
+ return jsonProcessorStatus;
+ }
+
+ /**
+ * Sets Json Processor status
+ *
+ * @param jsonProcessorStatus json processor status
+ */
+ public void setJsonProcessorStatus(String jsonProcessorStatus) {
+ this.jsonProcessorStatus = jsonProcessorStatus;
+ }
+
+ /**
+ * Provides {@link TCACEFJsonProcessor} message
+ *
+ * @return json processor message
+ */
+ public String getJsonProcessorMessage() {
+ return jsonProcessorMessage;
+ }
+
+ /**
+ * Sets Json Processor Message
+ *
+ * @param jsonProcessorMessage json processor message
+ */
+ public void setJsonProcessorMessage(String jsonProcessorMessage) {
+ this.jsonProcessorMessage = jsonProcessorMessage;
+ }
+
+ /**
+ * Provides {@link TCACEFPolicyDomainFilter} status
+ *
+ * @return domain filter status
+ */
+ public String getDomainFilterStatus() {
+ return domainFilterStatus;
+ }
+
+ /**
+ * Sets Domain Filter status
+ *
+ * @param domainFilterStatus domain filter status
+ */
+ public void setDomainFilterStatus(String domainFilterStatus) {
+ this.domainFilterStatus = domainFilterStatus;
+ }
+
+ /**
+ * Provides {@link TCACEFPolicyDomainFilter} message
+ *
+ * @return domain filter message
+ */
+ public String getDomainFilterMessage() {
+ return domainFilterMessage;
+ }
+
+ /**
+ * Sets Domain filter message
+ *
+ * @param domainFilterMessage domain filter message
+ */
+ public void setDomainFilterMessage(String domainFilterMessage) {
+ this.domainFilterMessage = domainFilterMessage;
+ }
+
+ public String getFunctionalRoleFilterStatus() {
+ return functionalRoleFilterStatus;
+ }
+
+ /**
+ * Provides {@link TCACEFPolicyFunctionalRoleFilter} status
+ *
+ * @param functionalRoleFilterStatus functional Role filter status
+ */
+ public void setFunctionalRoleFilterStatus(String functionalRoleFilterStatus) {
+ this.functionalRoleFilterStatus = functionalRoleFilterStatus;
+ }
+
+ /**
+ * Provides {@link TCACEFPolicyFunctionalRoleFilter} message
+ *
+ * @return functional role filter message
+ */
+ public String getFunctionalRoleFilterMessage() {
+ return functionalRoleFilterMessage;
+ }
+
+ /**
+ * Sets Functional Role filter message
+ *
+ * @param functionalRoleFilterMessage functional role filter message
+ */
+ public void setFunctionalRoleFilterMessage(String functionalRoleFilterMessage) {
+ this.functionalRoleFilterMessage = functionalRoleFilterMessage;
+ }
+
+ /**
+ * Provides {@link TCACEFPolicyThresholdsProcessor} status
+ *
+ * @return threshold processor status
+ */
+ public String getThresholdCalculatorStatus() {
+ return thresholdCalculatorStatus;
+ }
+
+ /**
+ * Sets threshold calculator status
+ *
+ * @param thresholdCalculatorStatus threshold calculator status
+ */
+ public void setThresholdCalculatorStatus(String thresholdCalculatorStatus) {
+ this.thresholdCalculatorStatus = thresholdCalculatorStatus;
+ }
+
+ /**
+ * Provides {@link TCACEFPolicyThresholdsProcessor} message
+ *
+ * @return threshold processor message
+ */
+ public String getThresholdCalculatorMessage() {
+ return thresholdCalculatorMessage;
+ }
+
+ /**
+ * Sets Threshold Calculator Processor Message
+ *
+ * @param thresholdCalculatorMessage threshold calculator message
+ */
+ public void setThresholdCalculatorMessage(String thresholdCalculatorMessage) {
+ this.thresholdCalculatorMessage = thresholdCalculatorMessage;
+ }
+
+ /**
+ * Provides generated alert message
+ *
+ * @return generated alert message
+ */
+ public String getAlertMessage() {
+ return alertMessage;
+ }
+
+ /**
+ * Sets alert message
+ *
+ * @param alertMessage alert message
+ */
+ public void setAlertMessage(String alertMessage) {
+ this.alertMessage = alertMessage;
+ }
+
+ /**
+ * Write entity to Table
+ *
+ * @param dataOutput data output
+ *
+ * @throws IOException io exception
+ */
+ @Override
+ public void write(DataOutput dataOutput) throws IOException {
+ WritableUtils.writeVLong(dataOutput, creationTS);
+ WritableUtils.writeVInt(dataOutput, instanceId);
+ WritableUtils.writeString(dataOutput, messageType);
+ WritableUtils.writeString(dataOutput, vesMessage);
+
+ WritableUtils.writeString(dataOutput, domain);
+ WritableUtils.writeString(dataOutput, functionalRole);
+
+ WritableUtils.writeString(dataOutput, thresholdPath);
+ WritableUtils.writeString(dataOutput, thresholdSeverity);
+ WritableUtils.writeString(dataOutput, thresholdDirection);
+ WritableUtils.writeVLong(dataOutput, thresholdValue);
+
+ WritableUtils.writeString(dataOutput, jsonProcessorStatus);
+ WritableUtils.writeString(dataOutput, jsonProcessorMessage);
+ WritableUtils.writeString(dataOutput, domainFilterStatus);
+ WritableUtils.writeString(dataOutput, domainFilterMessage);
+ WritableUtils.writeString(dataOutput, functionalRoleFilterStatus);
+ WritableUtils.writeString(dataOutput, functionalRoleFilterMessage);
+ WritableUtils.writeString(dataOutput, thresholdCalculatorStatus);
+ WritableUtils.writeString(dataOutput, thresholdCalculatorMessage);
+
+ WritableUtils.writeString(dataOutput, alertMessage);
+
+ }
+
+ /**
+ * Read entity from table
+ *
+ * @param dataInput data input
+ * @throws IOException io exception
+ */
+ @Override
+ public void readFields(DataInput dataInput) throws IOException {
+ creationTS = WritableUtils.readVLong(dataInput);
+ instanceId = WritableUtils.readVInt(dataInput);
+ messageType = WritableUtils.readString(dataInput);
+ vesMessage = WritableUtils.readString(dataInput);
+
+ domain = WritableUtils.readString(dataInput);
+ functionalRole = WritableUtils.readString(dataInput);
+
+ thresholdPath = WritableUtils.readString(dataInput);
+ thresholdSeverity = WritableUtils.readString(dataInput);
+ thresholdDirection = WritableUtils.readString(dataInput);
+ thresholdValue = WritableUtils.readVLong(dataInput);
+
+ jsonProcessorStatus = WritableUtils.readString(dataInput);
+ jsonProcessorMessage = WritableUtils.readString(dataInput);
+ domainFilterStatus = WritableUtils.readString(dataInput);
+ domainFilterMessage = WritableUtils.readString(dataInput);
+ functionalRoleFilterStatus = WritableUtils.readString(dataInput);
+ functionalRoleFilterMessage = WritableUtils.readString(dataInput);
+ thresholdCalculatorStatus = WritableUtils.readString(dataInput);
+ thresholdCalculatorMessage = WritableUtils.readString(dataInput);
+
+ alertMessage = WritableUtils.readString(dataInput);
+
+ }
+
+}
diff --git a/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/persistance/tca/TCAMessageStatusPersister.java b/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/persistance/tca/TCAMessageStatusPersister.java
new file mode 100644
index 0000000..0f4c539
--- /dev/null
+++ b/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/persistance/tca/TCAMessageStatusPersister.java
@@ -0,0 +1,244 @@
+/*
+ * ===============================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.common.persistance.tca;
+
+import co.cask.cdap.api.data.schema.Schema;
+import co.cask.cdap.api.data.schema.UnsupportedTypeException;
+import co.cask.cdap.api.dataset.DatasetProperties;
+import co.cask.cdap.api.dataset.lib.IndexedTable;
+import co.cask.cdap.api.dataset.lib.ObjectMappedTable;
+import co.cask.cdap.api.dataset.lib.ObjectMappedTableProperties;
+import com.google.common.base.Joiner;
+import org.apache.commons.lang3.StringEscapeUtils;
+import org.apache.commons.lang3.tuple.Pair;
+import org.openecomp.dcae.apod.analytics.cdap.common.CDAPComponentsConstants;
+import org.openecomp.dcae.apod.analytics.common.exception.DCAEAnalyticsRuntimeException;
+import org.openecomp.dcae.apod.analytics.common.service.processor.MessageProcessor;
+import org.openecomp.dcae.apod.analytics.common.service.processor.ProcessorContext;
+import org.openecomp.dcae.apod.analytics.common.utils.PersistenceUtils;
+import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.MetricsPerFunctionalRole;
+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.TCACEFPolicyDomainFilter;
+import org.openecomp.dcae.apod.analytics.tca.processor.TCACEFPolicyFunctionalRoleFilter;
+import org.openecomp.dcae.apod.analytics.tca.processor.TCACEFPolicyThresholdsProcessor;
+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;
+
+import java.util.Date;
+import java.util.LinkedList;
+import java.util.List;
+
+import javax.annotation.Nullable;
+
+import static org.openecomp.dcae.apod.analytics.common.utils.PersistenceUtils.TABLE_ROW_KEY_COLUMN_NAME;
+
+/**
+ *
+ *
+ * @author Rajiv Singla . Creation Date: 11/15/2016.
+ */
+public abstract class TCAMessageStatusPersister {
+
+ private static final Logger LOG = LoggerFactory.getLogger(TCAMessageStatusPersister.class);
+
+ private TCAMessageStatusPersister() {
+
+ }
+
+ /**
+ * Saves Message Status in Table. Assumes no alert was generated
+ *
+ * @param processorContext processor Context
+ * @param instanceId Instance Id
+ * @param calculatorMessageType Calculation Message Type
+ * @param messageStatusTable Message Status Table
+ */
+ public static void persist(final TCACEFProcessorContext processorContext,
+ final int instanceId,
+ final TCACalculatorMessageType calculatorMessageType,
+ final ObjectMappedTable<TCAMessageStatusEntity> messageStatusTable) {
+ persist(processorContext, instanceId, calculatorMessageType, messageStatusTable, null);
+ }
+
+ /**
+ * Saves Message Status in Table. Sets up alert message aslo
+ *
+ * @param processorContext processor Context
+ * @param instanceId Instance Id
+ * @param calculatorMessageType Calculation Message Type
+ * @param messageStatusTable Message Status Table
+ * @param alertMessage Alert message
+ */
+ public static void persist(final TCACEFProcessorContext processorContext,
+ final int instanceId,
+ final TCACalculatorMessageType calculatorMessageType,
+ final ObjectMappedTable<TCAMessageStatusEntity> messageStatusTable,
+ @Nullable final String alertMessage) {
+
+ final String rowKey = createKey(calculatorMessageType);
+
+ final Long currentTS = new Date().getTime();
+ final String vesMessage = StringEscapeUtils.unescapeJson(processorContext.getMessage());
+
+ // Find Functional Role and domain
+ final Pair<String, String> domainAndFunctionalRole = TCAUtils.getDomainAndFunctionalRole(processorContext);
+ final String domain = domainAndFunctionalRole.getLeft();
+ final String functionalRole = domainAndFunctionalRole.getRight();
+
+ final TCAMessageStatusEntity tcaMessageStatusEntity = new TCAMessageStatusEntity(currentTS,
+ instanceId, calculatorMessageType.name(), vesMessage, domain, functionalRole);
+
+ // add threshold violation fields
+ addViolatedThreshold(tcaMessageStatusEntity, processorContext);
+ // add processor status and messages
+ addMessageProcessorMessages(tcaMessageStatusEntity, processorContext);
+ // add Alert message
+ tcaMessageStatusEntity.setAlertMessage(
+ alertMessage == null ? null : StringEscapeUtils.unescapeJson(alertMessage)
+ );
+
+ messageStatusTable.write(rowKey, tcaMessageStatusEntity);
+
+ LOG.debug("Finished persisting VES Status Message with rowKey: {} in Message Status Table.", rowKey);
+
+ }
+
+
+ /**
+ * Create TCA VES Message Status Table Properties
+ *
+ * @param timeToLiveSeconds Message Status Table time to live in seconds
+ *
+ * @return Message Status table properties
+ */
+ public static DatasetProperties getDatasetProperties(final int timeToLiveSeconds) {
+
+ try {
+ return ObjectMappedTableProperties.builder()
+ .setType(TCAMessageStatusEntity.class)
+ .setRowKeyExploreName(TABLE_ROW_KEY_COLUMN_NAME)
+ .setRowKeyExploreType(Schema.Type.STRING)
+ .add(IndexedTable.PROPERTY_TTL, timeToLiveSeconds)
+ .setDescription(CDAPComponentsConstants.TCA_FIXED_VES_MESSAGE_STATUS_DESCRIPTION_TABLE)
+ .build();
+ } catch (UnsupportedTypeException e) {
+ final String errorMessage = "Unable to convert TCAMessageStatusEntity class to Schema";
+ throw new DCAEAnalyticsRuntimeException(errorMessage, LOG, e);
+ }
+
+ }
+
+
+ /**
+ * Adds Violated Threshold Parameter values to {@link TCAMessageStatusEntity}
+ *
+ * @param tcaMessageStatusEntity message entity that needs to be populated with threshold fields
+ * @param processorContext processor context
+ *
+ * @return entity with populated threshold field values if present
+ */
+ public static TCAMessageStatusEntity addViolatedThreshold(final TCAMessageStatusEntity tcaMessageStatusEntity,
+ final TCACEFProcessorContext processorContext) {
+
+ final MetricsPerFunctionalRole metricsPerFunctionalRole = processorContext.getMetricsPerFunctionalRole();
+
+ if (metricsPerFunctionalRole != null
+ && metricsPerFunctionalRole.getThresholds() != null
+ && metricsPerFunctionalRole.getThresholds().get(0) != null) {
+
+ final Threshold threshold = metricsPerFunctionalRole.getThresholds().get(0);
+ tcaMessageStatusEntity.setThresholdPath(threshold.getFieldPath());
+ tcaMessageStatusEntity.setThresholdSeverity(threshold.getSeverity().name());
+ tcaMessageStatusEntity.setThresholdDirection(threshold.getDirection().name());
+ tcaMessageStatusEntity.setThresholdValue(threshold.getThresholdValue());
+ }
+
+ return tcaMessageStatusEntity;
+ }
+
+
+ /**
+ * Add TCA CEF Message Processor status information
+ *
+ * @param tcaMessageStatusEntity message entity that needs to be populated with message processor fields
+ * @param processorContext processor context
+ *
+ * @return entity with populated message process status information
+ */
+ public static TCAMessageStatusEntity addMessageProcessorMessages(
+ final TCAMessageStatusEntity tcaMessageStatusEntity, final TCACEFProcessorContext processorContext) {
+ final List<? super MessageProcessor<? extends ProcessorContext>> messageProcessors = processorContext
+ .getMessageProcessors();
+
+ if (messageProcessors != null && !messageProcessors.isEmpty()) {
+ for (Object messageProcessor : messageProcessors) {
+ final MessageProcessor<TCACEFProcessorContext> tcaMessageProcessor =
+ (MessageProcessor<TCACEFProcessorContext>) messageProcessor;
+
+ final String processingState = tcaMessageProcessor.getProcessingState().name();
+ final String processingMessage = tcaMessageProcessor.getProcessingMessage().orNull();
+
+ if (messageProcessor.getClass().equals(TCACEFJsonProcessor.class)) {
+ tcaMessageStatusEntity.setJsonProcessorStatus(processingState);
+ tcaMessageStatusEntity.setJsonProcessorMessage(processingMessage);
+ }
+
+ if (messageProcessor.getClass().equals(TCACEFPolicyDomainFilter.class)) {
+ tcaMessageStatusEntity.setDomainFilterStatus(processingState);
+ tcaMessageStatusEntity.setDomainFilterMessage(processingMessage);
+ }
+
+ if (messageProcessor.getClass().equals(TCACEFPolicyFunctionalRoleFilter.class)) {
+ tcaMessageStatusEntity.setFunctionalRoleFilterStatus(processingState);
+ tcaMessageStatusEntity.setFunctionalRoleFilterMessage(processingMessage);
+ }
+
+ if (messageProcessor.getClass().equals(TCACEFPolicyThresholdsProcessor.class)) {
+ tcaMessageStatusEntity.setThresholdCalculatorStatus(processingState);
+ tcaMessageStatusEntity.setThresholdCalculatorMessage(processingMessage);
+ }
+
+ }
+ }
+ return tcaMessageStatusEntity;
+ }
+
+ /**
+ * Creates Row Key for TCA VES Message Status table
+ *
+ * Row Key = (Message Type + Decreasing Value)
+ *
+ * @param calculatorMessageType calculator message type
+ *
+ * @return row key string
+ */
+ public static String createKey(final TCACalculatorMessageType calculatorMessageType) {
+
+ final List<String> keyList = new LinkedList<>();
+ keyList.add(calculatorMessageType.name());
+ keyList.add(PersistenceUtils.getCurrentTimeReverseSubKey());
+ return Joiner.on(PersistenceUtils.ROW_KEY_DELIMITER).join(keyList);
+ }
+
+}
diff --git a/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/persistance/tca/TCAVESAlertEntity.java b/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/persistance/tca/TCAVESAlertEntity.java
new file mode 100644
index 0000000..7c333d8
--- /dev/null
+++ b/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/persistance/tca/TCAVESAlertEntity.java
@@ -0,0 +1,78 @@
+/*
+ * ===============================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.common.persistance.tca;
+
+import org.apache.hadoop.io.Writable;
+import org.apache.hadoop.io.WritableUtils;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+import java.io.Serializable;
+
+/**
+ *
+ * @author Rajiv Singla . Creation Date: 11/16/2016.
+ */
+public class TCAVESAlertEntity implements Writable, Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ private long creationTS;
+ private String alertMessage;
+
+ public TCAVESAlertEntity() {
+ // no argument constructor required for json serialization / deserialization
+ }
+
+ public TCAVESAlertEntity(long creationTS, String alertMessage) {
+ this.creationTS = creationTS;
+ this.alertMessage = alertMessage;
+ }
+
+ public long getCreationTS() {
+ return creationTS;
+ }
+
+ public void setCreationTS(long creationTS) {
+ this.creationTS = creationTS;
+ }
+
+ public String getAlertMessage() {
+ return alertMessage;
+ }
+
+ public void setAlertMessage(String alertMessage) {
+ this.alertMessage = alertMessage;
+ }
+
+ @Override
+ public void write(DataOutput dataOutput) throws IOException {
+ WritableUtils.writeVLong(dataOutput, creationTS);
+ WritableUtils.writeString(dataOutput, alertMessage);
+ }
+
+ @Override
+ public void readFields(DataInput dataInput) throws IOException {
+ creationTS = WritableUtils.readVLong(dataInput);
+ alertMessage = WritableUtils.readString(dataInput);
+ }
+}
diff --git a/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/persistance/tca/TCAVESAlertsPersister.java b/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/persistance/tca/TCAVESAlertsPersister.java
new file mode 100644
index 0000000..18293c7
--- /dev/null
+++ b/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/persistance/tca/TCAVESAlertsPersister.java
@@ -0,0 +1,102 @@
+/*
+ * ===============================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.common.persistance.tca;
+
+import co.cask.cdap.api.data.schema.Schema;
+import co.cask.cdap.api.data.schema.UnsupportedTypeException;
+import co.cask.cdap.api.dataset.DatasetProperties;
+import co.cask.cdap.api.dataset.lib.IndexedTable;
+import co.cask.cdap.api.dataset.lib.ObjectMappedTable;
+import co.cask.cdap.api.dataset.lib.ObjectMappedTableProperties;
+import org.apache.commons.lang3.StringEscapeUtils;
+import org.openecomp.dcae.apod.analytics.cdap.common.CDAPComponentsConstants;
+import org.openecomp.dcae.apod.analytics.common.exception.DCAEAnalyticsRuntimeException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.Date;
+
+import static org.openecomp.dcae.apod.analytics.common.utils.PersistenceUtils.TABLE_ROW_KEY_COLUMN_NAME;
+
+/**
+ *
+ * @author Rajiv Singla . Creation Date: 11/16/2016.
+ */
+public abstract class TCAVESAlertsPersister {
+
+ private static final Logger LOG = LoggerFactory.getLogger(TCAVESAlertsPersister.class);
+
+ private TCAVESAlertsPersister() {
+
+ }
+
+ /**
+ * Persists Alert Message to Alerts Table
+ *
+ * @param alertMessage alert Message
+ * @param tcaVESAlertTable alert Table Name
+ */
+ public static void persist(final String alertMessage, final ObjectMappedTable<TCAVESAlertEntity> tcaVESAlertTable) {
+ final Date currentDate = new Date();
+ final TCAVESAlertEntity alertEntity = new TCAVESAlertEntity(currentDate.getTime(),
+ StringEscapeUtils.unescapeJson(alertMessage));
+ // row key is same as current timestamp
+ final String rowKey = createRowKey(currentDate);
+ tcaVESAlertTable.write(rowKey, alertEntity);
+
+ LOG.debug("Finished persisting VES Alert message ID: {} in VES Alerts table.", rowKey);
+ }
+
+
+ /**
+ * Creates {@link DatasetProperties} for Alerts Table
+ *
+ * @param timeToLiveSeconds alerts table Time to Live
+ * @return Alerts table properties
+ */
+ public static DatasetProperties getDatasetProperties(final int timeToLiveSeconds) {
+ try {
+ return ObjectMappedTableProperties.builder()
+ .setType(TCAVESAlertEntity.class)
+ .setRowKeyExploreName(TABLE_ROW_KEY_COLUMN_NAME)
+ .setRowKeyExploreType(Schema.Type.STRING)
+ .add(IndexedTable.PROPERTY_TTL, timeToLiveSeconds)
+ .setDescription(CDAPComponentsConstants.TCA_DEFAULT_VES_ALERTS_DESCRIPTION_TABLE)
+ .build();
+ } catch (UnsupportedTypeException e) {
+ final String errorMessage = "Unable to convert TCAVESAlertEntity class to Schema";
+ throw new DCAEAnalyticsRuntimeException(errorMessage, LOG, e);
+ }
+
+ }
+
+ /**
+ * Creates Row Key for Alerts Table
+ *
+ * @param date current Date
+ *
+ * @return row key
+ */
+ public static String createRowKey(final Date date) {
+ return String.format("%025d", date.getTime());
+ }
+
+}
diff --git a/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/settings/CDAPAppConfig.java b/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/settings/CDAPAppConfig.java
new file mode 100644
index 0000000..c3254d0
--- /dev/null
+++ b/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/settings/CDAPAppConfig.java
@@ -0,0 +1,47 @@
+/*
+ * ===============================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.common.settings;
+
+/**
+ *<p>
+ * Minimum Contract for all CDAP App Configs
+ *</p>
+ *
+ * @author Rajiv Singla . Creation Date: 11/2/2016.
+ */
+public interface CDAPAppConfig extends CDAPAppSettings {
+
+ /**
+ * CDAP Application Name
+ *
+ * @return cdap app name
+ */
+ String getAppName();
+
+
+ /**
+ * CDAP Application Description
+ *
+ * @return cdap app description
+ */
+ String getAppDescription();
+
+}
diff --git a/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/settings/CDAPAppPreferences.java b/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/settings/CDAPAppPreferences.java
new file mode 100644
index 0000000..26433cd
--- /dev/null
+++ b/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/settings/CDAPAppPreferences.java
@@ -0,0 +1,31 @@
+/*
+ * ===============================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.common.settings;
+
+/**
+ * <p>
+ * Marker Interface for all CDAP Preferences
+ * </p>
+ *
+ * @author Rajiv Singla . Creation Date: 11/2/2016.
+ */
+public interface CDAPAppPreferences extends CDAPAppSettings {
+}
diff --git a/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/settings/CDAPAppSettings.java b/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/settings/CDAPAppSettings.java
new file mode 100644
index 0000000..29ede41
--- /dev/null
+++ b/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/settings/CDAPAppSettings.java
@@ -0,0 +1,35 @@
+/*
+ * ===============================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.common.settings;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * A marker interface for all CDAP Related App Settings.
+ * App Settings can either be preferences, cdap app settings etc.
+ * </p>
+ *
+ *
+ * @author Rajiv Singla . Creation Date: 11/2/2016.
+ */
+public interface CDAPAppSettings extends Serializable {
+}
diff --git a/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/settings/CDAPBaseAppConfig.java b/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/settings/CDAPBaseAppConfig.java
new file mode 100644
index 0000000..f062825
--- /dev/null
+++ b/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/settings/CDAPBaseAppConfig.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.common.settings;
+
+import co.cask.cdap.api.Config;
+import org.openecomp.dcae.apod.analytics.cdap.common.CDAPComponentsConstants;
+
+/**
+ * Base class for all DACE Analytics Application Configurations
+ *
+ * @author Rajiv Singla . Creation Date: 10/4/2016.
+ */
+public abstract class CDAPBaseAppConfig extends Config implements CDAPAppConfig {
+
+
+ /**
+ * DCAE Analytics App Name
+ */
+ protected String appName = CDAPComponentsConstants.COMMON_DEFAULT_DCAE_CDAP_NAME_APP;
+
+ /**
+ * DCAE Analytics App Description
+ */
+ protected String appDescription = CDAPComponentsConstants.COMMON_DEFAULT_DCAE_CDAP_DESCRIPTION_APP;
+
+
+ /**
+ * Returns DCAE Analytics CDAP Application name
+ *
+ * @return CDAP application name
+ */
+ @Override
+ public String getAppName() {
+ return appName;
+ }
+
+ /**
+ * Returns DCAE Analytics CDAP Application descrption
+ *
+ * @return CDAP application description
+ */
+ @Override
+ public String getAppDescription() {
+ return appDescription;
+ }
+}
diff --git a/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/settings/CDAPBasePluginConfig.java b/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/settings/CDAPBasePluginConfig.java
new file mode 100644
index 0000000..a293175
--- /dev/null
+++ b/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/settings/CDAPBasePluginConfig.java
@@ -0,0 +1,53 @@
+/*
+ * ===============================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.common.settings;
+
+import co.cask.cdap.api.annotation.Description;
+import co.cask.cdap.api.annotation.Macro;
+import co.cask.cdap.api.annotation.Name;
+import co.cask.cdap.api.plugin.PluginConfig;
+import org.openecomp.dcae.apod.analytics.cdap.common.CDAPPluginConstants;
+
+/**
+ * <p>
+ * Base class for all DCAE Analytics CDAP Plugin config
+ * </p>
+ * <p>
+ * @author Rajiv Singla . Creation Date: 1/17/2017.
+ */
+public abstract class CDAPBasePluginConfig extends PluginConfig implements CDAPPluginSettings {
+
+ @Name(CDAPPluginConstants.Reference.REFERENCE_NAME)
+ @Description(CDAPPluginConstants.Reference.REFERENCE_NAME_DESCRIPTION)
+ @Macro
+ protected String referenceName;
+
+ /**
+ * Provides Reference Name that can be used to trace lineage or meta data information inside CDAP container
+ *
+ * @return reference name
+ */
+ public String getReferenceName() {
+ return referenceName;
+ }
+
+
+}
diff --git a/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/settings/CDAPPluginSettings.java b/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/settings/CDAPPluginSettings.java
new file mode 100644
index 0000000..dcb0218
--- /dev/null
+++ b/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/settings/CDAPPluginSettings.java
@@ -0,0 +1,31 @@
+/*
+ * ===============================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.common.settings;
+
+/**
+ * <p>
+ * A marker interface for all CDAP Plugin related Settings.
+ * </p>
+ *
+ * @author Rajiv Singla . Creation Date: 1/17/2017.
+ */
+public interface CDAPPluginSettings extends CDAPAppSettings {
+}
diff --git a/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/utils/DMaaPMRUtils.java b/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/utils/DMaaPMRUtils.java
new file mode 100644
index 0000000..37acf9c
--- /dev/null
+++ b/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/utils/DMaaPMRUtils.java
@@ -0,0 +1,144 @@
+/*
+ * ===============================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.common.utils;
+
+import co.cask.cdap.api.metrics.Metrics;
+import com.google.common.base.Optional;
+import com.google.common.base.Stopwatch;
+import org.openecomp.dcae.apod.analytics.cdap.common.CDAPMetricsConstants;
+import org.openecomp.dcae.apod.analytics.common.exception.DCAEAnalyticsRuntimeException;
+import org.openecomp.dcae.apod.analytics.common.utils.HTTPUtils;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.response.DMaaPMRSubscriberResponse;
+import org.openecomp.dcae.apod.analytics.dmaap.service.subscriber.DMaaPMRSubscriber;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.List;
+
+/**
+ * Utility common methods for DMaaP MR functionality
+ *
+ * @author Rajiv Singla . Creation Date: 2/6/2017.
+ */
+public abstract class DMaaPMRUtils {
+
+ private static final Logger LOG = LoggerFactory.getLogger(DMaaPMRUtils.class);
+
+ private DMaaPMRUtils() {
+ // private constructor
+ }
+
+
+ /**
+ * Returns messages fetched from DMaaP MR Subscriber.
+ *
+ * @param subscriber DMaaP MR Subscriber instance
+ * @param metrics CDAP metrics
+ *
+ * @return messages fetched from DMaaP MR topic
+ */
+ public static Optional<List<String>> getSubscriberMessages(final DMaaPMRSubscriber subscriber,
+ final Metrics metrics) {
+
+ final Optional<DMaaPMRSubscriberResponse> subscriberResponseOptional =
+ getSubscriberResponse(subscriber, metrics);
+
+ // If response is not present, unable to proceed
+ if (!subscriberResponseOptional.isPresent()) {
+ return Optional.absent();
+ }
+
+ final DMaaPMRSubscriberResponse subscriberResponse = subscriberResponseOptional.get();
+
+ // If response code return by the subscriber call is not successful, unable to do proceed
+ if (!HTTPUtils.isSuccessfulResponseCode(subscriberResponse.getResponseCode())) {
+ LOG.error("Subscriber was unable to fetch messages properly.Subscriber Response Code: {} " +
+ "Unable to proceed further....", subscriberResponse.getResponseCode());
+ metrics.count(CDAPMetricsConstants.DMAAP_MR_SUBSCRIBER_UNSUCCESSFUL_RESPONSES_METRIC, 1);
+ return Optional.absent();
+ }
+
+ LOG.debug("Subscriber HTTP Response Status Code match successful: {}", subscriberResponse,
+ HTTPUtils.HTTP_SUCCESS_STATUS_CODE);
+
+ final List<String> actualMessages = subscriberResponse.getFetchedMessages();
+
+ // If there are no message returned during from Subscriber, nothing to write to CDAP Stream
+ if (actualMessages.isEmpty()) {
+ LOG.debug("Subscriber Response has no messages. Nothing to write....");
+ metrics.count(CDAPMetricsConstants.DMAAP_MR_SUBSCRIBER_RESPONSES_WITH_NO_MESSAGES_METRIC, 1);
+ return Optional.absent();
+ }
+
+ LOG.debug("DMaaP MR Subscriber found new messages in DMaaP Topic. Message count: {}", actualMessages.size());
+ metrics.count(CDAPMetricsConstants.DMAAP_MR_SUBSCRIBER_TOTAL_MESSAGES_PROCESSED_METRIC, actualMessages.size());
+
+ return Optional.of(actualMessages);
+
+ }
+
+
+ /**
+ * Get Subscriber response and records time taken to fetch messages. Returns Optional.None if Subscriber response
+ * is null or response status code is not present
+ *
+ * @param subscriber - DMaaP Subscriber
+ * @param metrics - CDAP Metrics collector
+ *
+ * @return - Optional of Subscriber Response
+ */
+ public static Optional<DMaaPMRSubscriberResponse> getSubscriberResponse(final DMaaPMRSubscriber subscriber,
+ final Metrics metrics) {
+
+ // Record all response count from subscriber
+ metrics.count(CDAPMetricsConstants.DMAAP_MR_SUBSCRIBER_ALL_RESPONSES_COUNT_METRIC, 1);
+
+ // Check how long it took for subscriber to respond
+ final Stopwatch stopwatch = new Stopwatch();
+ stopwatch.start();
+
+ // Fetch messages from DMaaP MR Topic
+ DMaaPMRSubscriberResponse subscriberResponse = null;
+ try {
+ subscriberResponse = subscriber.fetchMessages();
+ } catch (DCAEAnalyticsRuntimeException e) {
+ LOG.error("Error while fetching messages for DMaaP MR Topic: {}", e);
+ }
+
+ stopwatch.stop();
+ final long subscriberResponseTimeMS = stopwatch.elapsedMillis();
+
+ // If response is null is null or response code is null, unable to proceed nothing to do
+ if (subscriberResponse == null || subscriberResponse.getResponseCode() == null) {
+ LOG.error("Subscriber Response is null or subscriber Response code is null. Unable to proceed further...");
+ return Optional.absent();
+ }
+
+ LOG.debug("Subscriber Response:{}, Subscriber HTTP Response Status Code {}, Subscriber Response Time(ms): {}",
+ subscriberResponse, subscriberResponse.getResponseCode(), subscriberResponseTimeMS);
+
+ // Record subscriber response time
+ metrics.gauge(CDAPMetricsConstants.DMAAP_MR_SUBSCRIBER_RESPONSE_TIME_MS_METRIC, subscriberResponseTimeMS);
+
+ return Optional.of(subscriberResponse);
+ }
+
+}
diff --git a/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/utils/ValidationUtils.java b/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/utils/ValidationUtils.java
new file mode 100644
index 0000000..b987caf
--- /dev/null
+++ b/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/utils/ValidationUtils.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.common.utils;
+
+
+import org.openecomp.dcae.apod.analytics.cdap.common.exception.CDAPSettingsException;
+import org.openecomp.dcae.apod.analytics.cdap.common.settings.CDAPAppSettings;
+import org.openecomp.dcae.apod.analytics.cdap.common.validation.CDAPAppSettingsValidator;
+import org.openecomp.dcae.apod.analytics.common.validation.ValidationResponse;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+
+/**
+ * Utility methods to validate null checks, empty string etc
+ *
+ * @author Rajiv Singla . Creation Date: 10/24/2016.
+ */
+public abstract class ValidationUtils {
+
+ private static final Logger LOG = LoggerFactory.getLogger(ValidationUtils.class);
+
+ private ValidationUtils() {
+
+ }
+
+ /**
+ * Checks if String is empty. For null string true is returned
+ *
+ * @param stringValue string value
+ * @return returns true is string is empty or null
+ */
+ public static boolean isEmpty(@Nullable final String stringValue) {
+ return stringValue == null || stringValue.isEmpty() || stringValue.trim().isEmpty();
+ }
+
+
+ /**
+ * Checks if String value is present. A null, empty, or blank values of string
+ * are considered not present.
+ *
+ * @param stringValue string value to check if it is present or not
+ *
+ * @return true if string value is not null, empty or blank
+ */
+ public static boolean isPresent(@Nullable final String stringValue) {
+ return !isEmpty(stringValue);
+ }
+
+
+ /**
+ * Provides common functionality to Validates CDAP App Settings. Throws Runtime exception if validation fails
+ *
+ * @param appSettings app Settings e.g. App Config, App Preferences etc
+ * @param appSettingsValidator app Settings validator
+ *
+ * @param <T> Settings type e.g. AppConfig or AppPreferences
+ * @param <R> Validation Response type
+ * @param <V> Validator Type
+ */
+ public static <T extends CDAPAppSettings, R extends ValidationResponse<T>,
+ V extends CDAPAppSettingsValidator<T, R>> void validateSettings(@Nonnull final T appSettings,
+ @Nonnull final V appSettingsValidator) {
+ checkNotNull(appSettings, "App Settings must not be null");
+ checkNotNull(appSettingsValidator, "App Settings validator must not be null");
+
+ final String appSettingsClassName = appSettings.getClass().getSimpleName();
+ final String appSettingsClassValidator = appSettingsValidator.getClass().getSimpleName();
+
+ LOG.debug("Validating App Settings for: {}, with App Settings Validator: {} ",
+ appSettingsClassName, appSettingsClassValidator);
+
+ final R validationResponse = appSettingsValidator.validateAppSettings(appSettings);
+
+ // If setting validation fails throw an exception
+ if (validationResponse.hasErrors()) {
+ throw new CDAPSettingsException(
+ validationResponse.getAllErrorMessage(), LOG, new IllegalArgumentException());
+ }
+
+ LOG.debug("App Settings Validation Successful for app Settings: {} with validator: {}", appSettingsClassName,
+ appSettingsClassValidator);
+ }
+
+}
diff --git a/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/validation/CDAPAppSettingsValidator.java b/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/validation/CDAPAppSettingsValidator.java
new file mode 100644
index 0000000..48689f7
--- /dev/null
+++ b/dcae-analytics-cdap-common/src/main/java/org/openecomp/dcae/apod/analytics/cdap/common/validation/CDAPAppSettingsValidator.java
@@ -0,0 +1,52 @@
+/*
+ * ===============================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.common.validation;
+
+import org.openecomp.dcae.apod.analytics.cdap.common.settings.CDAPAppSettings;
+import org.openecomp.dcae.apod.analytics.common.validation.DCAEValidator;
+import org.openecomp.dcae.apod.analytics.common.validation.ValidationResponse;
+
+/**
+ * <p>
+ * Validates CDAP Application Settings (AppConfig, Preferences etc)
+ * <p>
+ *
+ * @param <T> {@link CDAPAppSettings} DCAE Analytics App Settings (e.g. AppConfig, Preferences)
+ * @param <R> {@link ValidationResponse} Validator response implementations
+ *
+ * @author Rajiv Singla . Creation Date: 11/2/2016.
+ */
+public interface CDAPAppSettingsValidator<T extends CDAPAppSettings, R extends ValidationResponse<T>>
+ extends DCAEValidator {
+
+ /**
+ * Validates DCAE Analytics App Settings and return Validation response which can be
+ * checked for any app setting issues
+ *
+ * @param appSettings DCAE CDAP Application Settings (e.g. AppConfig, Preferences etc.)
+ * @return validation response
+ */
+ R validateAppSettings(T appSettings);
+
+
+}
+
+
diff --git a/dcae-analytics-cdap-common/src/test/java/org/openecomp/dcae/apod/analytics/cdap/common/BaseAnalyticsCDAPCommonUnitTest.java b/dcae-analytics-cdap-common/src/test/java/org/openecomp/dcae/apod/analytics/cdap/common/BaseAnalyticsCDAPCommonUnitTest.java
new file mode 100644
index 0000000..825cdf0
--- /dev/null
+++ b/dcae-analytics-cdap-common/src/test/java/org/openecomp/dcae/apod/analytics/cdap/common/BaseAnalyticsCDAPCommonUnitTest.java
@@ -0,0 +1,89 @@
+/*
+ * ===============================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.common;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.google.common.base.Suppliers;
+import org.openecomp.dcae.apod.analytics.cdap.common.settings.CDAPAppSettings;
+import org.openecomp.dcae.apod.analytics.cdap.common.settings.CDAPBaseAppConfig;
+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.common.validation.GenericValidationResponse;
+import org.openecomp.dcae.apod.analytics.model.util.json.AnalyticsModelObjectMapperSupplier;
+import org.openecomp.dcae.apod.analytics.test.BaseDCAEAnalyticsUnitTest;
+
+/**
+ * @author Rajiv Singla . Creation Date: 1/12/2017.
+ */
+public abstract class BaseAnalyticsCDAPCommonUnitTest extends BaseDCAEAnalyticsUnitTest {
+
+ protected static final String CEF_MESSAGE_FILE_LOCATION = "data/json/cef_message.json";
+ protected static final String TCA_POLICY_FILE_LOCATION = "data/json/tca_policy.json";
+ protected static final ObjectMapper ANALYTICS_MODEL_OBJECT_MAPPER =
+ Suppliers.memoize(new AnalyticsModelObjectMapperSupplier()).get();
+
+ /**
+ * Test Implementation for {@link CDAPBaseAppConfig}
+ */
+ public class CDAPBaseAppConfigImp extends CDAPBaseAppConfig {
+ }
+
+
+ /**
+ * Test implementation for {@link CDAPAppSettings}
+ */
+ public class CDAPTestAppSettings implements CDAPAppSettings {
+
+ private String settingsField;
+
+ public String getSettingsField() {
+ return settingsField;
+ }
+
+ public void setSettingsField(String settingsField) {
+ this.settingsField = settingsField;
+ }
+ }
+
+
+ /**
+ * Test implementation for {@link CDAPAppSettingsValidator}
+ */
+ public class CDAPTestAppSettingsValidator implements CDAPAppSettingsValidator<CDAPTestAppSettings,
+ GenericValidationResponse<CDAPTestAppSettings>> {
+
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public GenericValidationResponse<CDAPTestAppSettings>
+ validateAppSettings(CDAPTestAppSettings cdapTestAppSettings) {
+ GenericValidationResponse<CDAPTestAppSettings> validationResponse = new
+ GenericValidationResponse<>();
+ if (ValidationUtils.isEmpty(cdapTestAppSettings.getSettingsField())) {
+ validationResponse
+ .addErrorMessage("settingsField", "Settings Field must not be empty");
+ }
+ return validationResponse;
+ }
+ }
+
+
+}
diff --git a/dcae-analytics-cdap-common/src/test/java/org/openecomp/dcae/apod/analytics/cdap/common/persistance/tca/TCACalculatorMessageTypeTest.java b/dcae-analytics-cdap-common/src/test/java/org/openecomp/dcae/apod/analytics/cdap/common/persistance/tca/TCACalculatorMessageTypeTest.java
new file mode 100644
index 0000000..ce2fc21
--- /dev/null
+++ b/dcae-analytics-cdap-common/src/test/java/org/openecomp/dcae/apod/analytics/cdap/common/persistance/tca/TCACalculatorMessageTypeTest.java
@@ -0,0 +1,38 @@
+/*
+ * ===============================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.common.persistance.tca;
+
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.cdap.common.BaseAnalyticsCDAPCommonUnitTest;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+/**
+ * @author Rajiv Singla . Creation Date: 2/16/2017.
+ */
+public class TCACalculatorMessageTypeTest extends BaseAnalyticsCDAPCommonUnitTest {
+
+ @Test
+ public void testCalculatorMessageType() throws Exception {
+ assertThat("There must be 3 calculator message type", TCACalculatorMessageType.values().length, is(3));
+ }
+}
diff --git a/dcae-analytics-cdap-common/src/test/java/org/openecomp/dcae/apod/analytics/cdap/common/persistance/tca/TCAMessageStatusPersisterTest.java b/dcae-analytics-cdap-common/src/test/java/org/openecomp/dcae/apod/analytics/cdap/common/persistance/tca/TCAMessageStatusPersisterTest.java
new file mode 100644
index 0000000..a062b37
--- /dev/null
+++ b/dcae-analytics-cdap-common/src/test/java/org/openecomp/dcae/apod/analytics/cdap/common/persistance/tca/TCAMessageStatusPersisterTest.java
@@ -0,0 +1,127 @@
+/*
+ * ===============================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.common.persistance.tca;
+
+import co.cask.cdap.api.dataset.DatasetProperties;
+import co.cask.cdap.api.dataset.lib.ObjectMappedTable;
+import com.google.common.collect.ImmutableList;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.cdap.common.BaseAnalyticsCDAPCommonUnitTest;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.CommonEventHeader;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.Event;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.EventListener;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.EventSeverity;
+import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.Direction;
+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.TCACEFProcessorContext;
+import org.openecomp.dcae.apod.analytics.tca.utils.TCAUtils;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyString;
+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/16/2017.
+ */
+public class TCAMessageStatusPersisterTest extends BaseAnalyticsCDAPCommonUnitTest {
+
+ private static final int TEST_INSTANCE_ID = 0;
+ private static final String TEST_DOMAIN = "TEST_DOMAIN";
+ private static final String TEST_FUNCTIONAL_ROLE = "TEST_FUNCIONAL_ROLE";
+
+ private ObjectMappedTable<TCAMessageStatusEntity> vesMessageStatusTable;
+ private TCACEFProcessorContext processorContext;
+ private EventListener eventListener;
+ private Event event;
+ private CommonEventHeader commonEventHeader;
+ private String functionalRole;
+
+
+ @Before
+ public void before() {
+ vesMessageStatusTable = mock(ObjectMappedTable.class);
+ processorContext = mock(TCACEFProcessorContext.class);
+ eventListener = mock(EventListener.class);
+ event = mock(Event.class);
+ commonEventHeader = mock(CommonEventHeader.class);
+ when(processorContext.getMessage()).thenReturn("testMessage");
+ when(processorContext.getCEFEventListener()).thenReturn(eventListener);
+ when(eventListener.getEvent()).thenReturn(event);
+ when(event.getCommonEventHeader()).thenReturn(commonEventHeader);
+ when(commonEventHeader.getFunctionalRole()).thenReturn(TEST_FUNCTIONAL_ROLE);
+ when(commonEventHeader.getDomain()).thenReturn(TEST_DOMAIN);
+ }
+
+
+ @Test
+ public void testPersistWithInApplicableMessage() throws Exception {
+ TCAMessageStatusPersister.persist
+ (processorContext, TEST_INSTANCE_ID, TCACalculatorMessageType.INAPPLICABLE, vesMessageStatusTable);
+ verify(vesMessageStatusTable, times(1)).write(anyString(),
+ any(TCAMessageStatusEntity.class));
+ }
+
+ @Test
+ public void testPersistWithNonCompliantMessage() throws Exception {
+ final MetricsPerFunctionalRole metricsPerFunctionalRole = mock(MetricsPerFunctionalRole.class);
+ final Threshold threshold = mock(Threshold.class);
+ when(processorContext.getMetricsPerFunctionalRole()).thenReturn(metricsPerFunctionalRole);
+ when((metricsPerFunctionalRole.getThresholds())).thenReturn(ImmutableList.of(threshold));
+ when(threshold.getDirection()).thenReturn(Direction.GREATER);
+ when(threshold.getSeverity()).thenReturn(EventSeverity.CRITICAL);
+ TCAMessageStatusPersister.persist(
+ processorContext, TEST_INSTANCE_ID, TCACalculatorMessageType.NON_COMPLIANT,
+ vesMessageStatusTable, "testAlert");
+ verify(vesMessageStatusTable, times(1)).write(anyString(),
+ any(TCAMessageStatusEntity.class));
+ }
+
+ @Test
+ public void testPersistWithCompliantMessage() throws Exception {
+ final String cefMessage = fromStream(CEF_MESSAGE_FILE_LOCATION);
+ final String tcaPolicyString = fromStream(TCA_POLICY_FILE_LOCATION);
+
+ final TCAPolicy tcaPolicy = ANALYTICS_MODEL_OBJECT_MAPPER.readValue(tcaPolicyString, TCAPolicy.class);
+ final TCACEFProcessorContext tcacefProcessorContext = TCAUtils.filterCEFMessage(cefMessage, tcaPolicy);
+ final TCACEFProcessorContext finalProcessorContext =
+ TCAUtils.computeThresholdViolations(tcacefProcessorContext);
+
+ TCAMessageStatusPersister.persist(finalProcessorContext, TEST_INSTANCE_ID,
+ TCACalculatorMessageType.COMPLIANT, vesMessageStatusTable, "testAlert");
+ verify(vesMessageStatusTable, times(1)).write(anyString(),
+ any(TCAMessageStatusEntity.class));
+ }
+
+ @Test
+ public void testGetDatasetProperties() throws Exception {
+ final DatasetProperties datasetProperties = TCAMessageStatusPersister.getDatasetProperties(20000);
+ Assert.assertNotNull(datasetProperties);
+
+ }
+
+}
diff --git a/dcae-analytics-cdap-common/src/test/java/org/openecomp/dcae/apod/analytics/cdap/common/persistance/tca/TCAVESAlertsPersisterTest.java b/dcae-analytics-cdap-common/src/test/java/org/openecomp/dcae/apod/analytics/cdap/common/persistance/tca/TCAVESAlertsPersisterTest.java
new file mode 100644
index 0000000..97fea09
--- /dev/null
+++ b/dcae-analytics-cdap-common/src/test/java/org/openecomp/dcae/apod/analytics/cdap/common/persistance/tca/TCAVESAlertsPersisterTest.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.common.persistance.tca;
+
+import co.cask.cdap.api.dataset.DatasetProperties;
+import co.cask.cdap.api.dataset.lib.ObjectMappedTable;
+import org.junit.Assert;
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.openecomp.dcae.apod.analytics.cdap.common.BaseAnalyticsCDAPCommonUnitTest;
+
+import java.util.Date;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+
+/**
+ * @author Rajiv Singla . Creation Date: 2/16/2017.
+ */
+public class TCAVESAlertsPersisterTest extends BaseAnalyticsCDAPCommonUnitTest {
+
+ @Test
+ public void testPersist() throws Exception {
+ final ObjectMappedTable<TCAVESAlertEntity> tcaVESAlertTable = Mockito.mock(ObjectMappedTable.class);
+ TCAVESAlertsPersister.persist("test alert message", tcaVESAlertTable);
+ verify(tcaVESAlertTable, times(1)).write(anyString(),
+ any(TCAVESAlertEntity.class));
+ }
+
+ @Test
+ public void testGetDatasetProperties() throws Exception {
+ final DatasetProperties datasetProperties = TCAVESAlertsPersister.getDatasetProperties(20000);
+ Assert.assertNotNull(datasetProperties);
+ }
+
+ @Test
+ public void testCreateRowKey() throws Exception {
+ final String rowKey = TCAVESAlertsPersister.createRowKey(new Date());
+ Assert.assertThat(rowKey.toCharArray().length, is(25));
+ }
+
+}
diff --git a/dcae-analytics-cdap-common/src/test/java/org/openecomp/dcae/apod/analytics/cdap/common/settings/CDAPBaseAppConfigTest.java b/dcae-analytics-cdap-common/src/test/java/org/openecomp/dcae/apod/analytics/cdap/common/settings/CDAPBaseAppConfigTest.java
new file mode 100644
index 0000000..d22f736
--- /dev/null
+++ b/dcae-analytics-cdap-common/src/test/java/org/openecomp/dcae/apod/analytics/cdap/common/settings/CDAPBaseAppConfigTest.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.common.settings;
+
+import org.hamcrest.CoreMatchers;
+import org.junit.Before;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.cdap.common.BaseAnalyticsCDAPCommonUnitTest;
+import org.openecomp.dcae.apod.analytics.cdap.common.CDAPComponentsConstants;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+/**
+ * @author Rajiv Singla . Creation Date: 12/12/2016.
+ */
+public class CDAPBaseAppConfigTest extends BaseAnalyticsCDAPCommonUnitTest {
+
+ private CDAPBaseAppConfigImp cdapBaseAppConfigImp = null;
+
+ @Before
+ public void before() {
+ cdapBaseAppConfigImp = new CDAPBaseAppConfigImp();
+ }
+
+ @Test
+ public void testGetAppName() throws Exception {
+ assertThat("Common Default Name must match",
+ cdapBaseAppConfigImp.getAppName(),
+ CoreMatchers.is(CDAPComponentsConstants.COMMON_DEFAULT_DCAE_CDAP_NAME_APP));
+ }
+
+ @Test
+ public void testGetAppDescription() throws Exception {
+ assertThat("Default App Description must match",
+ cdapBaseAppConfigImp.getAppDescription(),
+ is(CDAPComponentsConstants.COMMON_DEFAULT_DCAE_CDAP_DESCRIPTION_APP));
+ }
+
+}
diff --git a/dcae-analytics-cdap-common/src/test/java/org/openecomp/dcae/apod/analytics/cdap/common/utils/DMaaPMRUtilsTest.java b/dcae-analytics-cdap-common/src/test/java/org/openecomp/dcae/apod/analytics/cdap/common/utils/DMaaPMRUtilsTest.java
new file mode 100644
index 0000000..f9c7eaf
--- /dev/null
+++ b/dcae-analytics-cdap-common/src/test/java/org/openecomp/dcae/apod/analytics/cdap/common/utils/DMaaPMRUtilsTest.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.common.utils;
+
+import co.cask.cdap.api.metrics.Metrics;
+import com.google.common.collect.ImmutableList;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.ArgumentMatchers;
+import org.mockito.Mockito;
+import org.openecomp.dcae.apod.analytics.cdap.common.BaseAnalyticsCDAPCommonUnitTest;
+import org.openecomp.dcae.apod.analytics.cdap.common.CDAPMetricsConstants;
+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 java.util.Collections;
+
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+/**
+ * @author Rajiv Singla . Creation Date: 2/6/2017.
+ */
+public class DMaaPMRUtilsTest extends BaseAnalyticsCDAPCommonUnitTest {
+
+ private DMaaPMRSubscriber subscriber;
+ private Metrics metrics;
+
+
+ @Before
+ public void before() throws Exception {
+ metrics = mock(Metrics.class);
+ doNothing().when(metrics).count(anyString(), anyInt());
+ subscriber = mock(DMaaPMRSubscriber.class);
+ }
+
+ @Test
+ public void testGetSubscriberMessagesWhenMessagesAreFound() throws Exception {
+ final DMaaPMRSubscriberResponse subscriberResponse = mock(DMaaPMRSubscriberResponse.class);
+ when(subscriberResponse.getResponseCode()).thenReturn(200);
+ when(subscriberResponse.getResponseMessage()).thenReturn("testMessage");
+ when(subscriberResponse.getFetchedMessages()).thenReturn(ImmutableList.of("testMessage1", "testMessage1"));
+ when(subscriber.fetchMessages()).thenReturn(subscriberResponse);
+ DMaaPMRUtils.getSubscriberMessages(subscriber, metrics);
+ verify(metrics, Mockito.times(1)).count(ArgumentMatchers.eq(CDAPMetricsConstants
+ .DMAAP_MR_SUBSCRIBER_TOTAL_MESSAGES_PROCESSED_METRIC), eq(2));
+ }
+
+ @Test
+ public void testSubscriberMessagesWhenSubscriberResponseCodeIsNull() throws Exception {
+ final DMaaPMRSubscriberResponse subscriberResponse = mock(DMaaPMRSubscriberResponse.class);
+ when(subscriberResponse.getResponseCode()).thenReturn(null);
+ when(subscriber.fetchMessages()).thenReturn(subscriberResponse);
+ DMaaPMRUtils.getSubscriberMessages(subscriber, metrics);
+ }
+
+ @Test
+ public void testSubscriberMessagesWhenNoMessagesFound() throws Exception {
+ final DMaaPMRSubscriberResponse subscriberResponse = mock(DMaaPMRSubscriberResponse.class);
+ when(subscriberResponse.getResponseCode()).thenReturn(200);
+ when(subscriberResponse.getResponseMessage()).thenReturn("no messages");
+ when(subscriberResponse.getFetchedMessages()).thenReturn(Collections.<String>emptyList());
+ when(subscriber.fetchMessages()).thenReturn(subscriberResponse);
+ DMaaPMRUtils.getSubscriberMessages(subscriber, metrics);
+ verify(metrics, Mockito.times(1)).count(eq(CDAPMetricsConstants
+ .DMAAP_MR_SUBSCRIBER_RESPONSES_WITH_NO_MESSAGES_METRIC), eq(1));
+ }
+
+
+ @Test
+ public void testWhenSubscriberReturnNonSuccessfulReturnCode() throws Exception {
+ final DMaaPMRSubscriberResponse subscriberResponse = mock(DMaaPMRSubscriberResponse.class);
+ when(subscriberResponse.getResponseCode()).thenReturn(500);
+ when(subscriber.fetchMessages()).thenReturn(subscriberResponse);
+ DMaaPMRUtils.getSubscriberMessages(subscriber, metrics);
+ verify(metrics, Mockito.times(1)).count(eq(CDAPMetricsConstants
+ .DMAAP_MR_SUBSCRIBER_UNSUCCESSFUL_RESPONSES_METRIC), eq(1));
+ }
+
+ @Test
+ public void testWhenSubscriberThrowsException() throws Exception {
+ final DMaaPMRSubscriberResponse subscriberResponse = mock(DMaaPMRSubscriberResponse.class);
+ when(subscriberResponse.getResponseCode()).thenReturn(500);
+ when(subscriber.fetchMessages()).thenThrow(DCAEAnalyticsRuntimeException.class);
+ DMaaPMRUtils.getSubscriberMessages(subscriber, metrics);
+ }
+
+}
diff --git a/dcae-analytics-cdap-common/src/test/java/org/openecomp/dcae/apod/analytics/cdap/common/utils/ValidationUtilsTest.java b/dcae-analytics-cdap-common/src/test/java/org/openecomp/dcae/apod/analytics/cdap/common/utils/ValidationUtilsTest.java
new file mode 100644
index 0000000..4441451
--- /dev/null
+++ b/dcae-analytics-cdap-common/src/test/java/org/openecomp/dcae/apod/analytics/cdap/common/utils/ValidationUtilsTest.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.common.utils;
+
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.cdap.common.BaseAnalyticsCDAPCommonUnitTest;
+import org.openecomp.dcae.apod.analytics.cdap.common.exception.CDAPSettingsException;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+/**
+ * @author Rajiv Singla . Creation Date: 12/12/2016.
+ */
+public class ValidationUtilsTest extends BaseAnalyticsCDAPCommonUnitTest {
+
+ @Test
+ public void testIsEmptyWhenStringIsNull() throws Exception {
+ assertTrue(ValidationUtils.isEmpty(null));
+ }
+
+ @Test
+ public void testIsEmptyWhenStringIsEmpty() throws Exception {
+ String emptyString = "";
+ assertTrue(ValidationUtils.isEmpty(emptyString));
+ }
+
+ @Test
+ public void testIsEmptyWhenStringIsEmptyWithBlanks() throws Exception {
+ String blankString = " ";
+ assertTrue(ValidationUtils.isEmpty(blankString));
+ }
+
+
+ @Test
+ public void testIsNotPresent() throws Exception {
+ assertFalse(ValidationUtils.isPresent(null));
+ String emptyString = "";
+ assertFalse(ValidationUtils.isPresent(emptyString));
+ String blankString = " ";
+ assertFalse(ValidationUtils.isPresent(blankString));
+ String validString = "SomeValue";
+ assertTrue(ValidationUtils.isPresent(validString));
+ }
+
+ @Test
+ public void testValidateSettingsWhenValidationPasses() throws Exception {
+ CDAPTestAppSettings cdapTestAppSettings = new CDAPTestAppSettings();
+ cdapTestAppSettings.setSettingsField("testValue");
+ ValidationUtils.validateSettings(cdapTestAppSettings, new CDAPTestAppSettingsValidator());
+ }
+
+ @Test(expected = CDAPSettingsException.class)
+ public void testValidateSettingsWhenValidationFails() throws Exception {
+
+ CDAPTestAppSettings cdapTestAppSettings = new CDAPTestAppSettings();
+ cdapTestAppSettings.setSettingsField("");
+ ValidationUtils.validateSettings(cdapTestAppSettings, new CDAPTestAppSettingsValidator());
+ }
+
+}
+
diff --git a/dcae-analytics-cdap-common/src/test/resources/data/json/cef_message.json b/dcae-analytics-cdap-common/src/test/resources/data/json/cef_message.json
new file mode 100644
index 0000000..52cf53b
--- /dev/null
+++ b/dcae-analytics-cdap-common/src/test/resources/data/json/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-common/src/test/resources/data/json/tca_policy.json b/dcae-analytics-cdap-common/src/test/resources/data/json/tca_policy.json
new file mode 100644
index 0000000..1bf9e83
--- /dev/null
+++ b/dcae-analytics-cdap-common/src/test/resources/data/json/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-common/src/test/resources/logback-test.xml b/dcae-analytics-cdap-common/src/test/resources/logback-test.xml
new file mode 100644
index 0000000..f6d96bf
--- /dev/null
+++ b/dcae-analytics-cdap-common/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>
+
+ <!--
+ 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/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"
+ }
+ }
+ ]
+}
diff --git a/dcae-analytics-cdap-tca/pom.xml b/dcae-analytics-cdap-tca/pom.xml
new file mode 100644
index 0000000..05c793c
--- /dev/null
+++ b/dcae-analytics-cdap-tca/pom.xml
@@ -0,0 +1,145 @@
+<?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-tca</artifactId>
+ <packaging>jar</packaging>
+
+ <!-- THIS MODULE CONTAINS CDAP CODE FOR TCA (THRESHOLD CROSSING ALERT) IMPLEMENTED AS CDAP FLOWLETS -->
+ <name>DCAE Analytics TCA Flowlets</name>
+ <description>DCAE Analytics TCA (THRESHOLD CROSSING ALERT) implemented as CDAP Flowlets</description>
+
+ <properties>
+ <main.basedir>${project.parent.basedir}</main.basedir>
+ <app.main.class>org.openecomp.dcae.apod.analytics.cdap.tca.TCAAnalyticsApplication</app.main.class>
+ </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>
+
+ <!-- CDAP -->
+ <dependency>
+ <groupId>co.cask.cdap</groupId>
+ <artifactId>cdap-api</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>
+
+ <!-- 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>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>
+ <_exportcontents>
+ com.fasterxml.jackson.core.*
+ </_exportcontents>
+ </instructions>
+ <archive>
+ <manifest>
+ <mainClass>${app.main.class}</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
diff --git a/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/TCAAnalyticsApplication.java b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/TCAAnalyticsApplication.java
new file mode 100644
index 0000000..1a8cb5e
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/TCAAnalyticsApplication.java
@@ -0,0 +1,104 @@
+/*
+ * ===============================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.tca;
+
+import co.cask.cdap.api.app.AbstractApplication;
+import co.cask.cdap.api.data.stream.Stream;
+import co.cask.cdap.api.dataset.DatasetProperties;
+import co.cask.cdap.api.dataset.lib.ObjectMappedTable;
+import org.openecomp.dcae.apod.analytics.cdap.common.CDAPComponentsConstants;
+import org.openecomp.dcae.apod.analytics.cdap.common.persistance.tca.TCAMessageStatusPersister;
+import org.openecomp.dcae.apod.analytics.cdap.common.persistance.tca.TCAVESAlertsPersister;
+import org.openecomp.dcae.apod.analytics.cdap.common.utils.ValidationUtils;
+import org.openecomp.dcae.apod.analytics.cdap.tca.flow.TCAVESCollectorFlow;
+import org.openecomp.dcae.apod.analytics.cdap.tca.settings.TCAAppConfig;
+import org.openecomp.dcae.apod.analytics.cdap.tca.validator.TCAAppConfigValidator;
+import org.openecomp.dcae.apod.analytics.cdap.tca.worker.TCADMaaPMockSubscriberWorker;
+import org.openecomp.dcae.apod.analytics.cdap.tca.worker.TCADMaaPPublisherWorker;
+import org.openecomp.dcae.apod.analytics.cdap.tca.worker.TCADMaaPSubscriberWorker;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * @author Rajiv Singla . Creation Date: 10/21/2016.
+ */
+public class TCAAnalyticsApplication extends AbstractApplication<TCAAppConfig> {
+
+ private static final Logger LOG = LoggerFactory.getLogger(TCAAnalyticsApplication.class);
+
+ @Override
+ public void configure() {
+
+
+ // ========= Application configuration Setup ============== //
+ final TCAAppConfig tcaAppConfig = getConfig();
+
+ LOG.info("Configuring TCA Application with startup application configuration: {}", tcaAppConfig);
+
+ // Validate application configuration
+ ValidationUtils.validateSettings(tcaAppConfig, new TCAAppConfigValidator());
+
+ // App Setup
+ setName(tcaAppConfig.getAppName());
+ setDescription(tcaAppConfig.getAppDescription());
+
+ // ========== Streams Setup ============== //
+ // Create DMaaP MR Subscriber CDAP output stream
+ final String tcaSubscriberOutputStreamName = tcaAppConfig.getTcaSubscriberOutputStreamName();
+ LOG.info("Creating TCA VES Output Stream: {}", tcaSubscriberOutputStreamName);
+ final Stream subscriberOutputStream = new Stream(tcaSubscriberOutputStreamName,
+ CDAPComponentsConstants.TCA_FIXED_SUBSCRIBER_OUTPUT_DESCRIPTION_STREAM);
+ addStream(subscriberOutputStream);
+
+
+ // ============ Datasets Setup ======== //
+ // Create TCA Message Status Table
+ final String tcaVESMessageStatusTableName = tcaAppConfig.getTcaVESMessageStatusTableName();
+ final Integer messageStatusTableTTLSeconds = tcaAppConfig.getTcaVESMessageStatusTableTTLSeconds();
+ LOG.info("Creating TCA Message Status Table: {} with TTL: {}",
+ tcaVESMessageStatusTableName, messageStatusTableTTLSeconds);
+ final DatasetProperties messageStatusTableProperties =
+ TCAMessageStatusPersister.getDatasetProperties(messageStatusTableTTLSeconds);
+ createDataset(tcaVESMessageStatusTableName, ObjectMappedTable.class, messageStatusTableProperties);
+
+ // Create TCA VES Alerts Table
+ final String tcaVESAlertsTableName = tcaAppConfig.getTcaVESAlertsTableName();
+ final Integer alertsTableTTLSeconds = tcaAppConfig.getTcaVESAlertsTableTTLSeconds();
+ LOG.info("Creating TCA Alerts Table: {} with TTL: {}",
+ tcaVESAlertsTableName, alertsTableTTLSeconds);
+ final DatasetProperties alertTableProperties =
+ TCAVESAlertsPersister.getDatasetProperties(alertsTableTTLSeconds);
+ createDataset(tcaVESAlertsTableName, ObjectMappedTable.class, alertTableProperties);
+
+ // =========== Flow Setup ============= //
+ addFlow(new TCAVESCollectorFlow(tcaAppConfig));
+
+ // ========== Workers Setup =========== //
+ LOG.info("Creating TCA DMaaP Subscriber Worker");
+ addWorker(new TCADMaaPSubscriberWorker(tcaAppConfig.getTcaSubscriberOutputStreamName()));
+ LOG.info("Creating TCA DMaaP Publisher Worker");
+ addWorker(new TCADMaaPPublisherWorker(tcaAppConfig.getTcaVESAlertsTableName()));
+ // TODO: Remove this before going to production
+ addWorker(new TCADMaaPMockSubscriberWorker(tcaAppConfig.getTcaSubscriberOutputStreamName()));
+ }
+
+
+}
diff --git a/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/flow/TCAVESCollectorFlow.java b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/flow/TCAVESCollectorFlow.java
new file mode 100644
index 0000000..d880a12
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/flow/TCAVESCollectorFlow.java
@@ -0,0 +1,69 @@
+/*
+ * ===============================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.tca.flow;
+
+import co.cask.cdap.api.flow.AbstractFlow;
+import org.openecomp.dcae.apod.analytics.cdap.common.CDAPComponentsConstants;
+import org.openecomp.dcae.apod.analytics.cdap.tca.flowlet.TCAVESAlertsSinkFlowlet;
+import org.openecomp.dcae.apod.analytics.cdap.tca.flowlet.TCAVESMessageRouterFlowlet;
+import org.openecomp.dcae.apod.analytics.cdap.tca.flowlet.TCAVESThresholdViolationCalculatorFlowlet;
+import org.openecomp.dcae.apod.analytics.cdap.tca.settings.TCAAppConfig;
+
+/**
+ * TCA Flow for VES (Virtual Event Streaming) Collector Flow
+ *
+ * @author Rajiv Singla . Creation Date: 11/3/2016.
+ */
+public class TCAVESCollectorFlow extends AbstractFlow {
+
+ private final TCAAppConfig tcaAppConfig;
+
+ public TCAVESCollectorFlow(TCAAppConfig tcaAppConfig) {
+ this.tcaAppConfig = tcaAppConfig;
+ }
+
+ @Override
+ protected void configure() {
+
+ setName(CDAPComponentsConstants.TCA_FIXED_VES_COLLECTOR_NAME_FLOW);
+ setDescription(CDAPComponentsConstants.TCA_FIXED_VES_COLLECTOR_DESCRIPTION_FLOW);
+
+ final TCAVESMessageRouterFlowlet messageRouterFlowlet = new TCAVESMessageRouterFlowlet();
+ addFlowlet(messageRouterFlowlet);
+
+ final TCAVESThresholdViolationCalculatorFlowlet thresholdViolationCalculatorFlowlet =
+ new TCAVESThresholdViolationCalculatorFlowlet(tcaAppConfig.getTcaVESMessageStatusTableName());
+ addFlowlet(thresholdViolationCalculatorFlowlet, tcaAppConfig.getThresholdCalculatorFlowletInstances());
+
+ final TCAVESAlertsSinkFlowlet alertsSinkFlowlet =
+ new TCAVESAlertsSinkFlowlet(tcaAppConfig.getTcaVESAlertsTableName());
+ addFlowlet(alertsSinkFlowlet);
+
+
+ // connect DMaaP MR VES Subscriber output stream to VES Message Router Flowlet
+ connectStream(tcaAppConfig.getTcaSubscriberOutputStreamName(), messageRouterFlowlet);
+ // connect message router to VES threshold calculator
+ connect(messageRouterFlowlet, thresholdViolationCalculatorFlowlet);
+ // connect VES threshold calculator flowlet to Alerts Sink Flowlet
+ connect(thresholdViolationCalculatorFlowlet, alertsSinkFlowlet);
+
+ }
+}
diff --git a/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/flowlet/TCAVESAlertsSinkFlowlet.java b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/flowlet/TCAVESAlertsSinkFlowlet.java
new file mode 100644
index 0000000..c2da943
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/flowlet/TCAVESAlertsSinkFlowlet.java
@@ -0,0 +1,71 @@
+/*
+ * ===============================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.tca.flowlet;
+
+import co.cask.cdap.api.annotation.ProcessInput;
+import co.cask.cdap.api.annotation.Property;
+import co.cask.cdap.api.dataset.lib.ObjectMappedTable;
+import co.cask.cdap.api.flow.flowlet.AbstractFlowlet;
+import co.cask.cdap.api.flow.flowlet.FlowletContext;
+import org.openecomp.dcae.apod.analytics.cdap.common.CDAPComponentsConstants;
+import org.openecomp.dcae.apod.analytics.cdap.common.persistance.tca.TCAVESAlertEntity;
+import org.openecomp.dcae.apod.analytics.cdap.common.persistance.tca.TCAVESAlertsPersister;
+
+/**
+ * Saves TCA VES Alert Messages in a Time series Table
+ *
+ * @author Rajiv Singla . Creation Date: 11/15/2016.
+ */
+public class TCAVESAlertsSinkFlowlet extends AbstractFlowlet {
+
+ @Property
+ private final String tcaVESAlertsTableName;
+
+ private ObjectMappedTable<TCAVESAlertEntity> tcaVESAlertsTable;
+
+ public TCAVESAlertsSinkFlowlet(String tcaVESAlertsTableName) {
+ this.tcaVESAlertsTableName = tcaVESAlertsTableName;
+ }
+
+ @Override
+ public void configure() {
+ setName(CDAPComponentsConstants.TCA_FIXED_VES_ALERTS_SINK_NAME_FLOWLET);
+ setDescription(CDAPComponentsConstants.TCA_FIXED_VES_ALERTS_SINK_DESCRIPTION_FLOWLET);
+ }
+
+ @Override
+ public void initialize(FlowletContext flowletContext) throws Exception {
+ super.initialize(flowletContext);
+ tcaVESAlertsTable = getContext().getDataset(tcaVESAlertsTableName);
+ }
+
+ /**
+ * Saves messages to Alerts table
+ *
+ * @param alertMessage alert message
+ */
+ @ProcessInput(CDAPComponentsConstants.TCA_FIXED_VES_TCA_CALCULATOR_NAME_OUTPUT)
+ public void saveAlerts(String alertMessage) {
+ // Saves alert message in alerts table
+ TCAVESAlertsPersister.persist(alertMessage, tcaVESAlertsTable);
+ }
+
+}
diff --git a/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/flowlet/TCAVESMessageRouterFlowlet.java b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/flowlet/TCAVESMessageRouterFlowlet.java
new file mode 100644
index 0000000..3023c90
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/flowlet/TCAVESMessageRouterFlowlet.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.tca.flowlet;
+
+import co.cask.cdap.api.annotation.Output;
+import co.cask.cdap.api.annotation.ProcessInput;
+import co.cask.cdap.api.flow.flowlet.AbstractFlowlet;
+import co.cask.cdap.api.flow.flowlet.OutputEmitter;
+import co.cask.cdap.api.flow.flowlet.StreamEvent;
+import com.google.common.base.Charsets;
+import org.openecomp.dcae.apod.analytics.cdap.common.CDAPComponentsConstants;
+
+import static org.openecomp.dcae.apod.analytics.common.AnalyticsConstants.TCA_VES_MESSAGE_ROUTER_PARTITION_KEY;
+
+
+/**
+ * TCA Message Router Flowlet emits VES Message to {@link TCAVESThresholdViolationCalculatorFlowlet} instances
+ *
+ * @author Rajiv Singla . Creation Date: 11/14/2016.
+ */
+public class TCAVESMessageRouterFlowlet extends AbstractFlowlet {
+
+ /**
+ * Emits ves message to TCA Calculator Instances
+ */
+ @Output(CDAPComponentsConstants.TCA_FIXED_VES_MESSAGE_ROUTER_OUTPUT)
+ protected OutputEmitter<String> vesMessageEmitter;
+
+
+ @Override
+ public void configure() {
+ setName(CDAPComponentsConstants.TCA_FIXED_VES_MESSAGE_ROUTER_NAME_FLOWLET);
+ setDescription(CDAPComponentsConstants.TCA_FIXED_VES_MESSAGE_ROUTER_DESCRIPTION_FLOWLET);
+ }
+
+ @ProcessInput
+ public void routeVESMessage(StreamEvent vesMessageStreamEvent) {
+ final String vesMessage = Charsets.UTF_8.decode(vesMessageStreamEvent.getBody()).toString();
+ vesMessageEmitter.emit(vesMessage, TCA_VES_MESSAGE_ROUTER_PARTITION_KEY, vesMessage.hashCode());
+ }
+}
diff --git a/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/flowlet/TCAVESThresholdViolationCalculatorFlowlet.java b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/flowlet/TCAVESThresholdViolationCalculatorFlowlet.java
new file mode 100644
index 0000000..b8460dc
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/flowlet/TCAVESThresholdViolationCalculatorFlowlet.java
@@ -0,0 +1,149 @@
+/*
+ * ===============================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.tca.flowlet;
+
+import co.cask.cdap.api.annotation.Output;
+import co.cask.cdap.api.annotation.ProcessInput;
+import co.cask.cdap.api.annotation.Property;
+import co.cask.cdap.api.annotation.RoundRobin;
+import co.cask.cdap.api.dataset.lib.ObjectMappedTable;
+import co.cask.cdap.api.flow.flowlet.AbstractFlowlet;
+import co.cask.cdap.api.flow.flowlet.FlowletContext;
+import co.cask.cdap.api.flow.flowlet.OutputEmitter;
+import co.cask.cdap.api.metrics.Metrics;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import org.openecomp.dcae.apod.analytics.cdap.common.CDAPComponentsConstants;
+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.persistance.tca.TCAMessageStatusEntity;
+import org.openecomp.dcae.apod.analytics.cdap.tca.settings.TCAAppPreferences;
+import org.openecomp.dcae.apod.analytics.cdap.tca.utils.CDAPTCAUtils;
+import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.TCAPolicy;
+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;
+
+import static org.openecomp.dcae.apod.analytics.cdap.common.persistance.tca.TCAMessageStatusPersister.persist;
+
+/**
+ * TCA VES Message Filter filters out messages which are not applicable for TCA as per TCA Policy
+ *
+ * @author Rajiv Singla . Creation Date: 11/3/2016.
+ */
+public class TCAVESThresholdViolationCalculatorFlowlet extends AbstractFlowlet {
+
+ private static final Logger LOG = LoggerFactory.getLogger(TCAVESThresholdViolationCalculatorFlowlet.class);
+
+ @Output(CDAPComponentsConstants.TCA_FIXED_VES_TCA_CALCULATOR_NAME_OUTPUT)
+ protected OutputEmitter<String> tcaAlertOutputEmitter;
+ protected Metrics metrics;
+ private ObjectMappedTable<TCAMessageStatusEntity> vesMessageStatusTable;
+
+ @Property
+ private final String messageStatusTableName;
+ private Boolean enableAlertCEFFormat;
+
+ private TCAPolicy tcaPolicy;
+
+ /**
+ * Creates an instance of TCA VES Threshold violation calculator flowlet with give message status table name
+ *
+ * @param messageStatusTableName message status table name
+ */
+ public TCAVESThresholdViolationCalculatorFlowlet(String messageStatusTableName) {
+ this.messageStatusTableName = messageStatusTableName;
+ }
+
+ @Override
+ public void configure() {
+ setName(CDAPComponentsConstants.TCA_FIXED_VES_THRESHOLD_VIOLATION_CALCULATOR_NAME_FLOWLET);
+ setDescription(CDAPComponentsConstants.TCA_FIXED_VES_THRESHOLD_VIOLATION_CALCULATOR_DESCRIPTION_FLOWLET);
+ }
+
+
+ @Override
+ public void initialize(FlowletContext flowletContext) throws Exception {
+ super.initialize(flowletContext);
+
+ // parse Runtime Arguments to tca policy preferences
+ tcaPolicy = CDAPTCAUtils.getValidatedTCAPolicyPreferences(flowletContext);
+ // Parse runtime arguments
+ final TCAAppPreferences tcaAppPreferences = CDAPTCAUtils.getValidatedTCAAppPreferences(flowletContext);
+ enableAlertCEFFormat = tcaAppPreferences.getEnableAlertCEFFormat();
+ vesMessageStatusTable = getContext().getDataset(messageStatusTableName);
+
+ }
+
+ /**
+ * Filters VES Messages that violates TCA Policy
+ *
+ * @param vesMessage VES Message
+ * @throws JsonProcessingException if alert message cannot be parsed into JSON object
+ */
+ @ProcessInput(CDAPComponentsConstants.TCA_FIXED_VES_MESSAGE_ROUTER_OUTPUT)
+ @RoundRobin
+ public void filterVESMessages(String vesMessage) throws JsonProcessingException {
+
+ TCACalculatorMessageType calculatorMessageType = TCACalculatorMessageType.INAPPLICABLE;
+ String alertMessage = null;
+
+ // Step 1: Filter incoming messages
+ final TCACEFProcessorContext processorContext = TCAUtils.filterCEFMessage(vesMessage, tcaPolicy);
+
+ if (processorContext.canProcessingContinue()) {
+
+ // Step 2: Check if CEF Message violate any thresholds
+ final TCACEFProcessorContext processorContextWithViolations =
+ TCAUtils.computeThresholdViolations(processorContext);
+
+ if (processorContextWithViolations.canProcessingContinue()) {
+
+ // Step 3: Create Alert Message
+ final String tcaAppName = getContext().getApplicationSpecification().getName();
+ alertMessage =
+ TCAUtils.createTCAAlertString(processorContextWithViolations, tcaAppName, enableAlertCEFFormat);
+ calculatorMessageType = TCACalculatorMessageType.NON_COMPLIANT;
+ LOG.debug("VES Threshold Violation Detected. An alert message is be generated. {}", alertMessage);
+
+ metrics.count(CDAPMetricsConstants.TCA_VES_NON_COMPLIANT_MESSAGES_METRIC, 1);
+
+ // Step 4: Emit message to Alert Sink Flowlet
+ tcaAlertOutputEmitter.emit(alertMessage);
+
+ } else {
+
+ calculatorMessageType = TCACalculatorMessageType.COMPLIANT;
+ metrics.count(CDAPMetricsConstants.TCA_VES_COMPLIANT_MESSAGES_METRIC, 1);
+ }
+
+ } else {
+
+ metrics.count(CDAPMetricsConstants.TCA_VES_INAPPLICABLE_MESSAGES_METRIC, 1);
+ }
+
+ // save message to message status table
+ final int instanceId = getContext().getInstanceId();
+ persist(processorContext, instanceId, calculatorMessageType, vesMessageStatusTable, alertMessage);
+ }
+
+
+}
diff --git a/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/settings/TCAAppConfig.java b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/settings/TCAAppConfig.java
new file mode 100644
index 0000000..78ef877
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/settings/TCAAppConfig.java
@@ -0,0 +1,96 @@
+/*
+ * ===============================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.tca.settings;
+
+import com.google.common.base.Objects;
+import org.openecomp.dcae.apod.analytics.cdap.common.CDAPComponentsConstants;
+import org.openecomp.dcae.apod.analytics.cdap.common.settings.CDAPBaseAppConfig;
+import org.openecomp.dcae.apod.analytics.common.AnalyticsConstants;
+
+
+/**
+ * Contains CDAP App Config Settings for TCA Application
+ *
+ * @author Rajiv Singla . Creation Date: 11/2/2016.
+ */
+public class TCAAppConfig extends CDAPBaseAppConfig {
+
+
+ private static final long serialVersionUID = 1L;
+
+ protected String tcaSubscriberOutputStreamName;
+ protected Integer thresholdCalculatorFlowletInstances;
+
+ protected String tcaVESMessageStatusTableName;
+ protected Integer tcaVESMessageStatusTableTTLSeconds;
+ protected String tcaVESAlertsTableName;
+ protected Integer tcaVESAlertsTableTTLSeconds;
+
+
+ public TCAAppConfig() {
+ appName = CDAPComponentsConstants.TCA_DEFAULT_NAME_APP;
+ appDescription = CDAPComponentsConstants.TCA_DEFAULT_DESCRIPTION_APP;
+ tcaSubscriberOutputStreamName = CDAPComponentsConstants.TCA_DEFAULT_SUBSCRIBER_OUTPUT_NAME_STREAM;
+ thresholdCalculatorFlowletInstances = AnalyticsConstants.TCA_DEFAULT_THRESHOLD_CALCULATOR_FLOWLET_INSTANCES;
+ tcaVESMessageStatusTableName = CDAPComponentsConstants.TCA_DEFAULT_VES_MESSAGE_STATUS_NAME_TABLE;
+ tcaVESMessageStatusTableTTLSeconds = AnalyticsConstants.TCA_DEFAULT_VES_MESSAGE_STATUS_TTL_TABLE;
+ tcaVESAlertsTableName = CDAPComponentsConstants.TCA_DEFAULT_VES_ALERTS_NAME_TABLE;
+ tcaVESAlertsTableTTLSeconds = AnalyticsConstants.TCA_DEFAULT_VES_ALERTS_TTL_TABLE;
+ }
+
+ public String getTcaSubscriberOutputStreamName() {
+ return tcaSubscriberOutputStreamName;
+ }
+
+ public String getTcaVESMessageStatusTableName() {
+ return tcaVESMessageStatusTableName;
+ }
+
+ public Integer getTcaVESMessageStatusTableTTLSeconds() {
+ return tcaVESMessageStatusTableTTLSeconds;
+ }
+
+ public String getTcaVESAlertsTableName() {
+ return tcaVESAlertsTableName;
+ }
+
+ public Integer getTcaVESAlertsTableTTLSeconds() {
+ return tcaVESAlertsTableTTLSeconds;
+ }
+
+ public Integer getThresholdCalculatorFlowletInstances() {
+ return thresholdCalculatorFlowletInstances;
+ }
+
+ @Override
+ public String toString() {
+ return Objects.toStringHelper(this)
+ .add("appName", appName)
+ .add("appDescription", appDescription)
+ .add("tcaSubscriberOutputStreamName", tcaSubscriberOutputStreamName)
+ .add("thresholdCalculatorFlowletInstances", thresholdCalculatorFlowletInstances)
+ .add("tcaVESMessageStatusTableName", tcaVESMessageStatusTableName)
+ .add("tcaVESMessageStatusTableTTLSeconds", tcaVESMessageStatusTableTTLSeconds)
+ .add("tcaVESAlertsTableName", tcaVESAlertsTableName)
+ .add("tcaVESAlertsTableTTLSeconds", tcaVESAlertsTableTTLSeconds)
+ .toString();
+ }
+}
diff --git a/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/settings/TCAAppPreferences.java b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/settings/TCAAppPreferences.java
new file mode 100644
index 0000000..c29b7ce
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/settings/TCAAppPreferences.java
@@ -0,0 +1,223 @@
+/*
+ * ===============================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.tca.settings;
+
+import com.google.common.base.Objects;
+import org.openecomp.dcae.apod.analytics.cdap.common.settings.CDAPAppPreferences;
+
+import static org.openecomp.dcae.apod.analytics.common.AnalyticsConstants.TCA_DEFAULT_PUBLISHER_MAX_BATCH_QUEUE_SIZE;
+import static org.openecomp.dcae.apod.analytics.common.AnalyticsConstants.TCA_DEFAULT_PUBLISHER_MAX_RECOVERY_QUEUE_SIZE;
+import static org.openecomp.dcae.apod.analytics.common.AnalyticsConstants.TCA_DEFAULT_PUBLISHER_POLLING_INTERVAL_MS;
+import static org.openecomp.dcae.apod.analytics.common.AnalyticsConstants.TCA_DEFAULT_SUBSCRIBER_POLLING_INTERVAL_MS;
+
+/**
+ * <p>
+ * App Preferences for Analytics TCA (Threshold Crossing Alert) App
+ * <p>
+ * @author Rajiv Singla . Creation Date: 10/4/2016.
+ */
+public class TCAAppPreferences implements CDAPAppPreferences {
+
+ private static final long serialVersionUID = 1L;
+
+ // subscriber preferences
+ protected String subscriberHostName;
+
+ protected Integer subscriberHostPort;
+
+ protected String subscriberTopicName;
+
+ protected String subscriberProtocol;
+
+ protected String subscriberUserName;
+
+ protected String subscriberUserPassword;
+
+ protected String subscriberContentType;
+
+ protected String subscriberConsumerId;
+
+ protected String subscriberConsumerGroup;
+
+ protected Integer subscriberTimeoutMS;
+
+ protected Integer subscriberMessageLimit;
+
+ protected Integer subscriberPollingInterval;
+
+ // publisher preferences
+ protected String publisherHostName;
+
+ protected Integer publisherHostPort;
+
+ protected String publisherTopicName;
+
+ protected String publisherProtocol;
+
+ protected String publisherUserName;
+
+ protected String publisherUserPassword;
+
+ protected String publisherContentType;
+
+ protected Integer publisherMaxBatchSize;
+
+ protected Integer publisherMaxRecoveryQueueSize;
+
+ protected Integer publisherPollingInterval;
+
+ protected Boolean enableAlertCEFFormat;
+
+ /**
+ * Default constructor to setup default values for TCA App Preferences
+ */
+ public TCAAppPreferences() {
+
+ // subscriber defaults
+ subscriberPollingInterval = TCA_DEFAULT_SUBSCRIBER_POLLING_INTERVAL_MS;
+
+ // publisher defaults
+ publisherMaxBatchSize = TCA_DEFAULT_PUBLISHER_MAX_BATCH_QUEUE_SIZE;
+ publisherMaxRecoveryQueueSize = TCA_DEFAULT_PUBLISHER_MAX_RECOVERY_QUEUE_SIZE;
+ publisherPollingInterval = TCA_DEFAULT_PUBLISHER_POLLING_INTERVAL_MS;
+
+ enableAlertCEFFormat = false;
+
+ }
+
+ public String getSubscriberHostName() {
+ return subscriberHostName;
+ }
+
+ public Integer getSubscriberHostPort() {
+ return subscriberHostPort;
+ }
+
+ public String getSubscriberTopicName() {
+ return subscriberTopicName;
+ }
+
+ public String getSubscriberProtocol() {
+ return subscriberProtocol;
+ }
+
+ public String getSubscriberUserName() {
+ return subscriberUserName;
+ }
+
+ public String getSubscriberUserPassword() {
+ return subscriberUserPassword;
+ }
+
+ public String getSubscriberContentType() {
+ return subscriberContentType;
+ }
+
+ public String getSubscriberConsumerId() {
+ return subscriberConsumerId;
+ }
+
+ public String getSubscriberConsumerGroup() {
+ return subscriberConsumerGroup;
+ }
+
+ public Integer getSubscriberTimeoutMS() {
+ return subscriberTimeoutMS;
+ }
+
+ public Integer getSubscriberMessageLimit() {
+ return subscriberMessageLimit;
+ }
+
+ public Integer getSubscriberPollingInterval() {
+ return subscriberPollingInterval;
+ }
+
+ public String getPublisherHostName() {
+ return publisherHostName;
+ }
+
+ public Integer getPublisherHostPort() {
+ return publisherHostPort;
+ }
+
+ public String getPublisherTopicName() {
+ return publisherTopicName;
+ }
+
+ public String getPublisherProtocol() {
+ return publisherProtocol;
+ }
+
+ public String getPublisherUserName() {
+ return publisherUserName;
+ }
+
+ public String getPublisherUserPassword() {
+ return publisherUserPassword;
+ }
+
+ public String getPublisherContentType() {
+ return publisherContentType;
+ }
+
+ public Integer getPublisherMaxBatchSize() {
+ return publisherMaxBatchSize;
+ }
+
+ public Integer getPublisherMaxRecoveryQueueSize() {
+ return publisherMaxRecoveryQueueSize;
+ }
+
+ public Integer getPublisherPollingInterval() {
+ return publisherPollingInterval;
+ }
+
+ public Boolean getEnableAlertCEFFormat() {
+ return enableAlertCEFFormat;
+ }
+
+ @Override
+ public String toString() {
+ return Objects.toStringHelper(this)
+ .add("subscriberHostName", subscriberHostName)
+ .add("subscriberHostPort", subscriberHostPort)
+ .add("subscriberTopicName", subscriberTopicName)
+ .add("subscriberProtocol", subscriberProtocol)
+ .add("subscriberUserName", subscriberUserName)
+ .add("subscriberContentType", subscriberContentType)
+ .add("subscriberConsumerId", subscriberConsumerId)
+ .add("subscriberConsumerGroup", subscriberConsumerGroup)
+ .add("subscriberTimeoutMS", subscriberTimeoutMS)
+ .add("subscriberMessageLimit", subscriberMessageLimit)
+ .add("subscriberPollingInterval", subscriberPollingInterval)
+ .add("publisherHostName", publisherHostName)
+ .add("publisherHostPort", publisherHostPort)
+ .add("publisherTopicName", publisherTopicName)
+ .add("publisherProtocol", publisherProtocol)
+ .add("publisherUserName", publisherUserName)
+ .add("publisherContentType", publisherContentType)
+ .add("publisherMaxBatchSize", publisherMaxBatchSize)
+ .add("publisherMaxRecoveryQueueSize", publisherMaxRecoveryQueueSize)
+ .add("publisherPollingInterval", publisherPollingInterval)
+ .toString();
+ }
+}
diff --git a/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/settings/TCAPolicyPreferences.java b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/settings/TCAPolicyPreferences.java
new file mode 100644
index 0000000..9e27f22
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/settings/TCAPolicyPreferences.java
@@ -0,0 +1,36 @@
+/*
+ * ===============================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.tca.settings;
+
+import org.openecomp.dcae.apod.analytics.cdap.common.settings.CDAPAppPreferences;
+import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.TCAPolicy;
+
+/**
+ * A wrapper over {@link TCAPolicy} to act as app Preferences as TCA Policy is passed
+ * by controller as runtime arguments from CDAP app preferences
+ * <p>
+ * @author Rajiv Singla . Creation Date: 11/29/2016.
+ */
+public class TCAPolicyPreferences extends TCAPolicy implements CDAPAppPreferences {
+
+ private static final long serialVersionUID = 1L;
+
+}
diff --git a/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/utils/AppPreferencesToPublisherConfigMapper.java b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/utils/AppPreferencesToPublisherConfigMapper.java
new file mode 100644
index 0000000..808b8ca
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/utils/AppPreferencesToPublisherConfigMapper.java
@@ -0,0 +1,97 @@
+/*
+ * ===============================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.tca.utils;
+
+import com.google.common.base.Function;
+import org.openecomp.dcae.apod.analytics.cdap.tca.settings.TCAAppPreferences;
+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.isPresent;
+
+
+/**
+ * Function which translates {@link TCAAppPreferences} to {@link DMaaPMRPublisherConfig}
+ * <p>
+ * @author Rajiv Singla . Creation Date: 11/17/2016.
+ */
+public class AppPreferencesToPublisherConfigMapper implements Function<TCAAppPreferences, DMaaPMRPublisherConfig> {
+
+ /**
+ * Factory method to convert {@link TCAAppPreferences} to {@link DMaaPMRPublisherConfig} object
+ *
+ * @param tcaAppPreferences tca App Preferences
+ *
+ * @return publisher config object
+ */
+ public static DMaaPMRPublisherConfig map(final TCAAppPreferences tcaAppPreferences) {
+ return new AppPreferencesToPublisherConfigMapper().apply(tcaAppPreferences);
+ }
+
+ /**
+ * Implementation to convert {@link TCAAppPreferences} to {@link DMaaPMRPublisherConfig} object
+ *
+ * @param tcaAppPreferences tca App Preferences
+ *
+ * @return publisher config object
+ */
+ @Nonnull
+ @Override
+ public DMaaPMRPublisherConfig apply(@Nonnull TCAAppPreferences tcaAppPreferences) {
+
+ // Create a new publisher settings builder
+ final DMaaPMRPublisherConfig.Builder publisherConfigBuilder = new DMaaPMRPublisherConfig.Builder(
+ tcaAppPreferences.getPublisherHostName(), tcaAppPreferences.getPublisherTopicName());
+
+ // Setup up any optional publisher parameters if they are present
+ final Integer publisherHostPort = tcaAppPreferences.getPublisherHostPort();
+ if (publisherHostPort != null) {
+ publisherConfigBuilder.setPortNumber(publisherHostPort);
+ }
+ final String publisherProtocol = tcaAppPreferences.getPublisherProtocol();
+ if (isPresent(publisherProtocol)) {
+ publisherConfigBuilder.setProtocol(publisherProtocol);
+ }
+ final String publisherUserName = tcaAppPreferences.getPublisherUserName();
+ if (isPresent(publisherUserName)) {
+ publisherConfigBuilder.setUserName(publisherUserName);
+ }
+ final String publisherUserPassword = tcaAppPreferences.getPublisherUserPassword();
+ if (isPresent(publisherUserPassword)) {
+ publisherConfigBuilder.setUserPassword(publisherUserPassword);
+ }
+ final String publisherContentType = tcaAppPreferences.getPublisherContentType();
+ if (isPresent(publisherContentType)) {
+ publisherConfigBuilder.setContentType(publisherContentType);
+ }
+ final Integer publisherMaxBatchSize = tcaAppPreferences.getPublisherMaxBatchSize();
+ if (publisherMaxBatchSize != null) {
+ publisherConfigBuilder.setMaxBatchSize(publisherMaxBatchSize);
+ }
+ final Integer publisherMaxRecoveryQueueSize = tcaAppPreferences.getPublisherMaxRecoveryQueueSize();
+ if (publisherMaxRecoveryQueueSize != null) {
+ publisherConfigBuilder.setMaxRecoveryQueueSize(publisherMaxRecoveryQueueSize);
+ }
+
+ return publisherConfigBuilder.build();
+ }
+}
diff --git a/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/utils/AppPreferencesToSubscriberConfigMapper.java b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/utils/AppPreferencesToSubscriberConfigMapper.java
new file mode 100644
index 0000000..e017b81
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/utils/AppPreferencesToSubscriberConfigMapper.java
@@ -0,0 +1,113 @@
+/*
+ * ===============================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.tca.utils;
+
+import com.google.common.base.Function;
+import org.openecomp.dcae.apod.analytics.cdap.tca.settings.TCAAppPreferences;
+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.isPresent;
+
+
+/**
+ * Function which translates {@link TCAAppPreferences} to {@link DMaaPMRSubscriberConfig}
+ *
+ * @author Rajiv Singla . Creation Date: 11/17/2016.
+ */
+public class AppPreferencesToSubscriberConfigMapper implements Function<TCAAppPreferences, DMaaPMRSubscriberConfig> {
+
+ /**
+ * Factory Method to converts {@link TCAAppPreferences} to {@link DMaaPMRSubscriberConfig} object
+ *
+ * @param tcaAppPreferences tca app preferences
+ * @return DMaaP Subscriber Config
+ */
+ public static DMaaPMRSubscriberConfig map(final TCAAppPreferences tcaAppPreferences) {
+ return new AppPreferencesToSubscriberConfigMapper().apply(tcaAppPreferences);
+ }
+
+ /**
+ * Implementation to convert {@link TCAAppPreferences} to {@link DMaaPMRSubscriberConfig} object
+ *
+ * @param tcaAppPreferences tca app preferences
+ *
+ * @return DMaaP Subscriber Config
+ */
+ @Nonnull
+ @Override
+ public DMaaPMRSubscriberConfig apply(@Nonnull TCAAppPreferences tcaAppPreferences) {
+
+ // Create a new subscriber settings builder
+ final DMaaPMRSubscriberConfig.Builder subscriberConfigBuilder = new DMaaPMRSubscriberConfig.Builder(
+ tcaAppPreferences.getSubscriberHostName(), tcaAppPreferences.getSubscriberTopicName());
+
+ // Setup up any optional subscriber parameters if they are present
+ final Integer subscriberHostPortNumber = tcaAppPreferences.getSubscriberHostPort();
+ if (subscriberHostPortNumber != null) {
+ subscriberConfigBuilder.setPortNumber(subscriberHostPortNumber);
+ }
+
+ final String subscriberProtocol = tcaAppPreferences.getSubscriberProtocol();
+ if (isPresent(subscriberProtocol)) {
+ subscriberConfigBuilder.setProtocol(subscriberProtocol);
+ }
+
+ final String subscriberUserName = tcaAppPreferences.getSubscriberUserName();
+ if (isPresent(subscriberUserName)) {
+ subscriberConfigBuilder.setUserName(subscriberUserName);
+ }
+
+ final String subscriberUserPassword = tcaAppPreferences.getSubscriberUserPassword();
+ if (isPresent(subscriberUserPassword)) {
+ subscriberConfigBuilder.setUserPassword(subscriberUserPassword);
+ }
+
+ final String subscriberContentType = tcaAppPreferences.getSubscriberContentType();
+ if (isPresent(subscriberContentType)) {
+ subscriberConfigBuilder.setContentType(subscriberContentType);
+ }
+
+ final String subscriberConsumerId = tcaAppPreferences.getSubscriberConsumerId();
+ if (isPresent(subscriberConsumerId)) {
+ subscriberConfigBuilder.setConsumerId(subscriberConsumerId);
+ }
+
+ final String subscriberConsumerGroup = tcaAppPreferences.getSubscriberConsumerGroup();
+ if (isPresent(subscriberConsumerGroup)) {
+ subscriberConfigBuilder.setConsumerGroup(subscriberConsumerGroup);
+ }
+
+ final Integer subscriberTimeoutMS = tcaAppPreferences.getSubscriberTimeoutMS();
+ if (subscriberTimeoutMS != null) {
+ subscriberConfigBuilder.setTimeoutMS(subscriberTimeoutMS);
+ }
+ final Integer subscriberMessageLimit = tcaAppPreferences.getSubscriberMessageLimit();
+ if (subscriberMessageLimit != null) {
+ subscriberConfigBuilder.setMessageLimit(subscriberMessageLimit);
+ }
+
+ // return Subscriber settings
+ return subscriberConfigBuilder.build();
+
+ }
+}
diff --git a/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/utils/CDAPTCAUtils.java b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/utils/CDAPTCAUtils.java
new file mode 100644
index 0000000..29d42d5
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/utils/CDAPTCAUtils.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.tca.utils;
+
+import co.cask.cdap.api.RuntimeContext;
+import com.google.common.base.Function;
+import com.google.common.collect.Lists;
+import org.openecomp.dcae.apod.analytics.cdap.common.exception.CDAPSettingsException;
+import org.openecomp.dcae.apod.analytics.cdap.common.persistance.tca.TCAVESAlertEntity;
+import org.openecomp.dcae.apod.analytics.cdap.tca.settings.TCAAppPreferences;
+import org.openecomp.dcae.apod.analytics.cdap.tca.settings.TCAPolicyPreferences;
+import org.openecomp.dcae.apod.analytics.cdap.tca.validator.TCAPolicyPreferencesValidator;
+import org.openecomp.dcae.apod.analytics.cdap.tca.validator.TCAPreferencesValidator;
+import org.openecomp.dcae.apod.analytics.common.AnalyticsConstants;
+import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.TCAPolicy;
+import org.openecomp.dcae.apod.analytics.tca.utils.TCAUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+
+import static com.google.common.collect.Lists.newArrayList;
+import static org.openecomp.dcae.apod.analytics.cdap.common.utils.ValidationUtils.validateSettings;
+import static org.openecomp.dcae.apod.analytics.common.AnalyticsConstants.TCA_POLICY_METRICS_PER_FUNCTIONAL_ROLE_PATH;
+
+/**
+ * Utility Helper methods for CDAP TCA sub module.
+ *
+ * <p>
+ * @author Rajiv Singla . Creation Date: 10/24/2016.
+ */
+public abstract class CDAPTCAUtils extends TCAUtils {
+
+ private static final Logger LOG = LoggerFactory.getLogger(CDAPTCAUtils.class);
+
+ /**
+ * Function that extracts alert message string from {@link TCAVESAlertEntity}
+ */
+ public static final Function<TCAVESAlertEntity, String> MAP_ALERT_ENTITY_TO_ALERT_STRING_FUNCTION =
+ new Function<TCAVESAlertEntity, String>() {
+ @Override
+ public String apply(TCAVESAlertEntity alertEntity) {
+ return alertEntity == null ? null : alertEntity.getAlertMessage();
+ }
+ };
+
+
+ /**
+ * Parses and validates Runtime Arguments to {@link TCAAppPreferences} object
+ *
+ * @param runtimeContext Runtime Context
+ *
+ * @return validated runtime arguments as {@link TCAAppPreferences} object
+ */
+ public static TCAAppPreferences getValidatedTCAAppPreferences(final RuntimeContext runtimeContext) {
+ // Parse runtime arguments
+ final Map<String, String> runtimeArguments = runtimeContext.getRuntimeArguments();
+ final TCAAppPreferences tcaAppPreferences =
+ ANALYTICS_MODEL_OBJECT_MAPPER.convertValue(runtimeArguments, TCAAppPreferences.class);
+
+ // Validate runtime arguments
+ validateSettings(tcaAppPreferences, new TCAPreferencesValidator());
+
+ return tcaAppPreferences;
+ }
+
+
+ /**
+ * Extracts alert message strings from {@link TCAVESAlertEntity}
+ *
+ * @param alertEntities collection of alert entities
+ *
+ * @return List of alert message strings
+ */
+ public static List<String> extractAlertFromAlertEntities(final Collection<TCAVESAlertEntity> alertEntities) {
+ return Lists.transform(newArrayList(alertEntities), MAP_ALERT_ENTITY_TO_ALERT_STRING_FUNCTION);
+ }
+
+
+ /**
+ * Converts Runtime Arguments to {@link TCAPolicyPreferences} object
+ *
+ * @param runtimeContext CDAP Runtime Arguments
+ *
+ * @return TCA Policy Preferences
+ */
+ public static TCAPolicy getValidatedTCAPolicyPreferences(final RuntimeContext runtimeContext) {
+
+ final Map<String, String> runtimeArguments = runtimeContext.getRuntimeArguments();
+ final TreeMap<String, String> sortedRuntimeArguments = new TreeMap<>(runtimeArguments);
+
+ LOG.debug("Printing all Received Runtime Arguments:");
+ for (Map.Entry<String, String> runtimeArgsEntry : sortedRuntimeArguments.entrySet()) {
+ LOG.debug("{}:{}", runtimeArgsEntry.getKey(), runtimeArgsEntry.getValue());
+ }
+
+ TCAPolicyPreferences tcaPolicyPreferences = new TCAPolicyPreferences();
+
+ final String tcaPolicy = sortedRuntimeArguments.get(AnalyticsConstants.TCA_POLICY_JSON_KEY);
+
+ if (tcaPolicy != null) {
+
+ LOG.debug(" tcaPolicy is being read from JSON String");
+
+ // initialize unquotedTCAPolicy
+ String unquotedTCAPolicy = tcaPolicy;
+
+ //remove starting and ending quote from tcaPolicy
+ if (tcaPolicy.trim().startsWith(AnalyticsConstants.TCA_POLICY_STRING_DELIMITER) && tcaPolicy.trim().endsWith
+ (AnalyticsConstants.TCA_POLICY_STRING_DELIMITER)) {
+ unquotedTCAPolicy = tcaPolicy.trim().substring(1, tcaPolicy.trim().length() - 1);
+ }
+
+ try {
+ tcaPolicyPreferences = readValue(unquotedTCAPolicy , TCAPolicyPreferences.class);
+ } catch (IOException e) {
+ throw new CDAPSettingsException("Invalid tca policy format", LOG, e);
+ }
+
+ } else { // old controller is being used. Validate preferences as received from old controller
+
+ // extract TCA Policy Domain from Runtime Arguments
+ final String policyDomain = sortedRuntimeArguments.get(AnalyticsConstants.TCA_POLICY_DOMAIN_PATH);
+
+ // create new TCA Policy object
+ tcaPolicyPreferences.setDomain(policyDomain);
+
+ // filter out other non relevant fields which are not related to tca policy
+ final Map<String, String> tcaPolicyMap = filterMapByKeyNamePrefix(sortedRuntimeArguments,
+ TCA_POLICY_METRICS_PER_FUNCTIONAL_ROLE_PATH);
+
+ // determine functional Roles
+ final Map<String, Map<String, String>> functionalRolesMap =
+ extractSubTree(tcaPolicyMap, 2, 3, AnalyticsConstants.TCA_POLICY_DELIMITER);
+
+ // create metrics per functional role list
+ tcaPolicyPreferences.setMetricsPerFunctionalRole(
+ createTCAPolicyMetricsPerFunctionalRoleList(functionalRolesMap));
+
+ }
+
+ // validate tca Policy Preferences
+ validateSettings(tcaPolicyPreferences, new TCAPolicyPreferencesValidator());
+
+ LOG.info("Printing Effective TCA Policy: {}", tcaPolicyPreferences);
+
+ return tcaPolicyPreferences;
+ }
+}
diff --git a/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/validator/TCAAppConfigValidator.java b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/validator/TCAAppConfigValidator.java
new file mode 100644
index 0000000..23e4c8a
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/validator/TCAAppConfigValidator.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.tca.validator;
+
+import org.openecomp.dcae.apod.analytics.cdap.common.validation.CDAPAppSettingsValidator;
+import org.openecomp.dcae.apod.analytics.cdap.tca.settings.TCAAppConfig;
+import org.openecomp.dcae.apod.analytics.common.validation.GenericValidationResponse;
+
+import static org.openecomp.dcae.apod.analytics.cdap.common.utils.ValidationUtils.isEmpty;
+
+/**
+ * <p>
+ * TCA App Config Validator validates any TCA App Config parameter values
+ * </p>
+ *
+ * @author Rajiv Singla . Creation Date: 10/24/2016.
+ */
+public class TCAAppConfigValidator implements CDAPAppSettingsValidator<TCAAppConfig,
+ GenericValidationResponse<TCAAppConfig>> {
+
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public GenericValidationResponse<TCAAppConfig> validateAppSettings(TCAAppConfig tcaAppConfig) {
+
+ final GenericValidationResponse<TCAAppConfig> validationResponse = new GenericValidationResponse<>();
+
+ if (isEmpty(tcaAppConfig.getTcaSubscriberOutputStreamName())) {
+ validationResponse.addErrorMessage("tcaSubscriberOutputStreamName",
+ "tcaSubscriberOutputStreamName must be present");
+ }
+
+ if (isEmpty(tcaAppConfig.getTcaVESMessageStatusTableName())) {
+ validationResponse.addErrorMessage("tcaVESMessageStatusTableName",
+ "tcaVESMessageStatusTableName must be present");
+ }
+ if (isEmpty(tcaAppConfig.getTcaVESAlertsTableName())) {
+ validationResponse.addErrorMessage("tcaVESAlertsTableName",
+ "tcaVESAlertsTableName must be present");
+ }
+
+ return validationResponse;
+ }
+}
diff --git a/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/validator/TCAPolicyPreferencesValidator.java b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/validator/TCAPolicyPreferencesValidator.java
new file mode 100644
index 0000000..858204a
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/validator/TCAPolicyPreferencesValidator.java
@@ -0,0 +1,96 @@
+/*
+ * ===============================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.tca.validator;
+
+import org.openecomp.dcae.apod.analytics.cdap.common.validation.CDAPAppSettingsValidator;
+import org.openecomp.dcae.apod.analytics.cdap.tca.settings.TCAPolicyPreferences;
+import org.openecomp.dcae.apod.analytics.common.validation.GenericValidationResponse;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.EventSeverity;
+import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.Direction;
+import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.MetricsPerFunctionalRole;
+import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.Threshold;
+import org.openecomp.dcae.apod.analytics.tca.utils.TCAUtils;
+
+import java.util.List;
+
+import static org.openecomp.dcae.apod.analytics.cdap.common.utils.ValidationUtils.isEmpty;
+
+/**
+ * Validates TCA Policy Preferences
+ * <p>
+ * @author Rajiv Singla . Creation Date: 11/29/2016.
+ */
+public class TCAPolicyPreferencesValidator implements CDAPAppSettingsValidator<TCAPolicyPreferences,
+ GenericValidationResponse<TCAPolicyPreferences>> {
+
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public GenericValidationResponse<TCAPolicyPreferences> validateAppSettings(
+ final TCAPolicyPreferences tcaPolicyPreferences) {
+
+ final GenericValidationResponse<TCAPolicyPreferences> validationResponse = new GenericValidationResponse<>();
+
+ // validate TCA Policy must domain present
+ final String domain = tcaPolicyPreferences.getDomain();
+ if (isEmpty(domain)) {
+ validationResponse.addErrorMessage("domain", "TCA Policy must have only one domain present");
+ }
+
+ // validate TCA Policy must have at least one functional role
+ final List<String> policyFunctionalRoles = TCAUtils.getPolicyFunctionalRoles(tcaPolicyPreferences);
+ if (policyFunctionalRoles.isEmpty()) {
+ validationResponse.addErrorMessage("metricsPerFunctionalRoles",
+ "TCA Policy must have at least one or more functional roles");
+ }
+
+ final List<MetricsPerFunctionalRole> metricsPerFunctionalRoles =
+ tcaPolicyPreferences.getMetricsPerFunctionalRole();
+
+ // validate each Functional Role must have at least one threshold
+ for (MetricsPerFunctionalRole metricsPerFunctionalRole : metricsPerFunctionalRoles) {
+ if (metricsPerFunctionalRole.getThresholds().isEmpty()) {
+ validationResponse.addErrorMessage("thresholds",
+ "TCA Policy Functional Role must have at least one threshold. " +
+ "Functional Role causing this validation error:" + metricsPerFunctionalRole);
+ }
+ }
+
+ // validate each threshold must have non null - fieldPath, thresholdValue, direction and severity
+ for (MetricsPerFunctionalRole metricsPerFunctionalRole : metricsPerFunctionalRoles) {
+ final List<Threshold> functionalRoleThresholds = metricsPerFunctionalRole.getThresholds();
+ for (Threshold functionalRoleThreshold : functionalRoleThresholds) {
+ final String fieldPath = functionalRoleThreshold.getFieldPath();
+ final Long thresholdValue = functionalRoleThreshold.getThresholdValue();
+ final Direction direction = functionalRoleThreshold.getDirection();
+ final EventSeverity severity = functionalRoleThreshold.getSeverity();
+ if (isEmpty(fieldPath) || thresholdValue == null || direction == null || severity == null) {
+ validationResponse.addErrorMessage("threshold",
+ "TCA Policy threshold must have fieldPath, thresholdValue, direction and severity present."
+ + "Threshold causing this validation error:" + functionalRoleThreshold);
+ }
+ }
+ }
+
+
+ return validationResponse;
+ }
+}
diff --git a/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/validator/TCAPreferencesValidator.java b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/validator/TCAPreferencesValidator.java
new file mode 100644
index 0000000..c74463b
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/validator/TCAPreferencesValidator.java
@@ -0,0 +1,65 @@
+/*
+ * ===============================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.tca.validator;
+
+import org.openecomp.dcae.apod.analytics.cdap.common.validation.CDAPAppSettingsValidator;
+import org.openecomp.dcae.apod.analytics.cdap.tca.settings.TCAAppPreferences;
+import org.openecomp.dcae.apod.analytics.common.validation.GenericValidationResponse;
+
+import static org.openecomp.dcae.apod.analytics.cdap.common.utils.ValidationUtils.isEmpty;
+
+/**
+ *
+ * @author Rajiv Singla . Creation Date: 11/3/2016.
+ */
+public class TCAPreferencesValidator implements CDAPAppSettingsValidator<TCAAppPreferences,
+ GenericValidationResponse<TCAAppPreferences>> {
+
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public GenericValidationResponse<TCAAppPreferences> validateAppSettings(TCAAppPreferences appPreferences) {
+
+ final GenericValidationResponse<TCAAppPreferences> validationResponse = new GenericValidationResponse<>();
+
+ // subscriber validations
+ final String subscriberHostName = appPreferences.getSubscriberHostName();
+ if (isEmpty(subscriberHostName)) {
+ validationResponse.addErrorMessage("subscriberHostName", "Subscriber host name must be present");
+ }
+ final String subscriberTopicName = appPreferences.getSubscriberTopicName();
+ if (isEmpty(subscriberTopicName)) {
+ validationResponse.addErrorMessage("subscriberTopicName", "Subscriber topic name must be present");
+ }
+
+ // publisher validations
+ final String publisherHostName = appPreferences.getPublisherHostName();
+ if (isEmpty(publisherHostName)) {
+ validationResponse.addErrorMessage("publisherHostName", "Publisher host name must be present");
+ }
+ final String publisherTopicName = appPreferences.getPublisherTopicName();
+ if (isEmpty(publisherTopicName)) {
+ validationResponse.addErrorMessage("publisherTopicName", "Publisher topic name must be present");
+ }
+
+ return validationResponse;
+ }
+}
diff --git a/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/BaseTCADMaaPMRWorker.java b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/BaseTCADMaaPMRWorker.java
new file mode 100644
index 0000000..6623321
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/BaseTCADMaaPMRWorker.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.tca.worker;
+
+import co.cask.cdap.api.worker.AbstractWorker;
+import com.google.common.base.Preconditions;
+import org.openecomp.dcae.apod.analytics.common.AnalyticsConstants;
+import org.openecomp.dcae.apod.analytics.common.exception.DCAEAnalyticsRuntimeException;
+import org.quartz.Scheduler;
+import org.quartz.SchedulerException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.concurrent.atomic.AtomicBoolean;
+
+import static java.lang.String.format;
+
+/**
+ * Base logic for DMaaP Workers which uses scheduler to poll DMaaP MR topics at frequent intervals
+ * <p>
+ * @author Rajiv Singla . Creation Date: 12/19/2016.
+ */
+public abstract class BaseTCADMaaPMRWorker extends AbstractWorker {
+
+ private static final Logger LOG = LoggerFactory.getLogger(BaseTCADMaaPMRWorker.class);
+
+ /**
+ * Quartz Scheduler
+ */
+ protected Scheduler scheduler;
+ /**
+ * Determines if scheduler is shutdown
+ */
+ protected AtomicBoolean isSchedulerShutdown;
+
+
+ @Override
+ public void run() {
+
+ Preconditions.checkNotNull(scheduler, "Scheduler must not be null");
+ String schedulerName = "";
+
+ // Start scheduler
+ try {
+ schedulerName = scheduler.getSchedulerName();
+ scheduler.start();
+ isSchedulerShutdown.getAndSet(false);
+
+ } catch (SchedulerException e) {
+ final String errorMessage =
+ format("Error while starting TCA DMaaP MR scheduler name: %s, error: %s", schedulerName, e);
+ throw new DCAEAnalyticsRuntimeException(errorMessage, LOG, e);
+ }
+
+ LOG.info("Successfully started DMaaP MR Scheduler: {}", schedulerName);
+
+ // indefinite loop which wakes up and confirms scheduler is indeed running
+ while (!isSchedulerShutdown.get()) {
+ try {
+
+ Thread.sleep(AnalyticsConstants.TCA_DEFAULT_WORKER_SHUTDOWN_CHECK_INTERVAL_MS);
+
+ } catch (InterruptedException e) {
+
+ final String errorMessage =
+ format("Error while checking TCA DMaaP MR Scheduler worker status name: %s, error: %s",
+ schedulerName, e);
+ throw new DCAEAnalyticsRuntimeException(errorMessage, LOG, e);
+ }
+ }
+
+ LOG.info("Finished execution of TCA DMaaP MR worker thread: {}", schedulerName);
+
+ }
+
+ @Override
+ public void stop() {
+
+ Preconditions.checkNotNull(scheduler, "Scheduler must not be null");
+ String schedulerName = "";
+
+ // Stop Scheduler
+ try {
+ schedulerName = scheduler.getSchedulerName();
+ LOG.info("Shutting TCA DMaaP MR Scheduler: {}", schedulerName);
+ scheduler.shutdown();
+ isSchedulerShutdown.getAndSet(true);
+
+ } catch (SchedulerException e) {
+
+ final String errorMessage =
+ format("Error while shutting down TCA DMaaP MR Scheduler: name: %s, error: %s", schedulerName, e);
+ throw new DCAEAnalyticsRuntimeException(errorMessage, LOG, e);
+ }
+ }
+
+
+}
diff --git a/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/TCADMaaPMRPublisherJob.java b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/TCADMaaPMRPublisherJob.java
new file mode 100644
index 0000000..ce4ccbe
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/TCADMaaPMRPublisherJob.java
@@ -0,0 +1,200 @@
+/*
+ * ===============================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.tca.worker;
+
+import co.cask.cdap.api.TxRunnable;
+import co.cask.cdap.api.common.Bytes;
+import co.cask.cdap.api.data.DatasetContext;
+import co.cask.cdap.api.dataset.lib.CloseableIterator;
+import co.cask.cdap.api.dataset.lib.KeyValue;
+import co.cask.cdap.api.dataset.lib.ObjectMappedTable;
+import co.cask.cdap.api.metrics.Metrics;
+import co.cask.cdap.api.worker.WorkerContext;
+import com.google.common.base.Joiner;
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
+import org.apache.tephra.TransactionFailureException;
+import org.openecomp.dcae.apod.analytics.cdap.common.CDAPMetricsConstants;
+import org.openecomp.dcae.apod.analytics.cdap.common.persistance.tca.TCAVESAlertEntity;
+import org.openecomp.dcae.apod.analytics.cdap.common.persistance.tca.TCAVESAlertsPersister;
+import org.openecomp.dcae.apod.analytics.cdap.tca.utils.CDAPTCAUtils;
+import org.openecomp.dcae.apod.analytics.common.exception.DCAEAnalyticsRuntimeException;
+import org.openecomp.dcae.apod.analytics.common.utils.HTTPUtils;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.response.DMaaPMRPublisherResponse;
+import org.openecomp.dcae.apod.analytics.dmaap.service.publisher.DMaaPMRPublisher;
+import org.quartz.DisallowConcurrentExecution;
+import org.quartz.Job;
+import org.quartz.JobDataMap;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.quartz.PersistJobDataAfterExecution;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.Date;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import static org.openecomp.dcae.apod.analytics.common.AnalyticsConstants.CDAP_ALERTS_TABLE_VARIABLE_NAME;
+import static org.openecomp.dcae.apod.analytics.common.AnalyticsConstants.DMAAP_METRICS_VARIABLE_NAME;
+import static org.openecomp.dcae.apod.analytics.common.AnalyticsConstants.DMAAP_PUBLISHER_VARIABLE_NAME;
+import static org.openecomp.dcae.apod.analytics.common.AnalyticsConstants.WORKER_CONTEXT_VARIABLE_NAME;
+
+/**
+ * Quartz Job that will monitor any new alert messages in given TCA Alerts table and if any found publish them to
+ * DMaaP MR topic
+ *<p>
+ * @author Rajiv Singla . Creation Date: 11/17/2016.
+ */
+@DisallowConcurrentExecution
+@PersistJobDataAfterExecution
+@SuppressFBWarnings("SIC_INNER_SHOULD_BE_STATIC_ANON")
+public class TCADMaaPMRPublisherJob implements Job {
+
+ private static final Logger LOG = LoggerFactory.getLogger(TCADMaaPMRPublisherJob.class);
+
+ @Override
+ public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
+
+ LOG.debug("Starting DMaaP MR Topic Publisher fetch Job. Next firing time will be: {}",
+ jobExecutionContext.getNextFireTime());
+
+ // Get Job Data Map
+ final JobDataMap jobDataMap = jobExecutionContext.getMergedJobDataMap();
+
+ // Fetch all Job Params from Job Data Map
+ final String cdapAlertsTableName = jobDataMap.getString(CDAP_ALERTS_TABLE_VARIABLE_NAME);
+ final WorkerContext workerContext = (WorkerContext) jobDataMap.get(WORKER_CONTEXT_VARIABLE_NAME);
+ final DMaaPMRPublisher publisher = (DMaaPMRPublisher) jobDataMap.get(DMAAP_PUBLISHER_VARIABLE_NAME);
+ final Metrics metrics = (Metrics) jobDataMap.get(DMAAP_METRICS_VARIABLE_NAME);
+
+ LOG.debug("Start looking for new message in Alerts Table: {}", cdapAlertsTableName);
+
+ // Get new alerts from alerts table
+ final Map<String, TCAVESAlertEntity> newAlertsMap = getNewAlertsMap(cdapAlertsTableName, workerContext);
+
+ // If no new alerts are found - nothing to publish
+ if (newAlertsMap.isEmpty()) {
+ LOG.debug("No new alerts found in Alerts Table name: {}. Nothing to Publisher....", cdapAlertsTableName);
+ metrics.count(CDAPMetricsConstants.TCA_PUBLISHER_NO_NEW_ALERTS_LOOKUP_METRIC, 1);
+ return;
+ }
+
+ final int newAlertsCount = newAlertsMap.size();
+ LOG.debug("Found new alerts in Alerts Table name: {}. No of new alerts: {}", cdapAlertsTableName,
+ newAlertsCount);
+ metrics.count(CDAPMetricsConstants.TCA_PUBLISHER_NEW_ALERTS_METRIC, newAlertsCount);
+
+ // Get alert message strings from alert Entities
+ final List<String> newAlertsMessages = CDAPTCAUtils.extractAlertFromAlertEntities(newAlertsMap.values());
+
+ // Publish messages to DMaaP MR Topic
+ try {
+
+ final DMaaPMRPublisherResponse publisherResponse = publisher.publish(newAlertsMessages);
+
+ final Integer responseCode = publisherResponse.getResponseCode();
+ final String responseMessage = publisherResponse.getResponseMessage();
+ final int pendingMessagesCount = publisherResponse.getPendingMessagesCount();
+
+ LOG.debug("Publisher Response Code: {}, Publisher message: {}, Pending Messages Count: {}", responseCode,
+ responseMessage, pendingMessagesCount);
+
+ if (HTTPUtils.isSuccessfulResponseCode(responseCode)) {
+ LOG.debug("Successfully Published alerts to DMaaP MR Topic.");
+ metrics.count(CDAPMetricsConstants.TCA_PUBLISHER_SUCCESSFUL_DMAAP_RESPONSE_METRIC, 1);
+ } else {
+ LOG.warn("Unable to publish alerts to DMaaP MR Topic. Publisher will try to send it later....");
+ metrics.count(CDAPMetricsConstants.TCA_PUBLISHER_UNSUCCESSFUL_DMAAP_RESPONSE_METRIC, 1);
+ }
+
+ } catch (DCAEAnalyticsRuntimeException e) {
+ LOG.error("Exception while publishing messages to DMaaP MR Topic: {}", e);
+ } finally {
+ // delete send message from alerts table
+ deleteAlertsByKey(cdapAlertsTableName, workerContext, newAlertsMap.keySet(), metrics);
+ }
+
+ LOG.debug("Finished DMaaP MR Topic Publisher fetch Job.");
+
+ }
+
+ /**
+ * Gets New Messages from alerts table as Map with row keys as keys and {@link TCAVESAlertEntity} as values
+ *
+ * @param cdapAlertsTableName alerts table name
+ * @param workerContext worker context
+ * @return Map with row keys as keys and {@link TCAVESAlertEntity} as values
+ */
+ protected Map<String, TCAVESAlertEntity> getNewAlertsMap(final String cdapAlertsTableName,
+ final WorkerContext workerContext) {
+ final Map<String, TCAVESAlertEntity> newAlertsMap = new LinkedHashMap<>();
+ try {
+ workerContext.execute(new TxRunnable() {
+ @Override
+ public void run(DatasetContext context) throws Exception {
+ final ObjectMappedTable<TCAVESAlertEntity> alertsTable = context.getDataset(cdapAlertsTableName);
+ final Date currentTime = new Date();
+ final String rowKey = TCAVESAlertsPersister.createRowKey(currentTime);
+ final CloseableIterator<KeyValue<byte[], TCAVESAlertEntity>> scan = alertsTable.scan(null, rowKey);
+ while (scan.hasNext()) {
+ final KeyValue<byte[], TCAVESAlertEntity> alertEntityKeyValue = scan.next();
+ newAlertsMap.put(Bytes.toString(alertEntityKeyValue.getKey()), alertEntityKeyValue.getValue());
+ }
+ }
+ });
+ } catch (TransactionFailureException e) {
+ final String errorMessage = "Transaction Error while getting new alerts from alerts table: " + e.toString();
+ throw new DCAEAnalyticsRuntimeException(errorMessage, LOG, e);
+ }
+ return newAlertsMap;
+ }
+
+ /**
+ * Deletes rows in Alerts table for give rowKeys
+ *
+ * @param cdapAlertsTableName CDAP Alerts Table Name
+ * @param workerContext Worker Context
+ * @param rowKeys Row Key Set
+ * @param metrics CDAP metrics
+ */
+ protected void deleteAlertsByKey(final String cdapAlertsTableName, final WorkerContext workerContext,
+ final Set<String> rowKeys, final Metrics metrics) {
+ LOG.debug("Deleting Published Alerts from alerts table with rowKeys: {}", Joiner.on(",").join(rowKeys));
+ try {
+ workerContext.execute(new TxRunnable() {
+ @Override
+ public void run(DatasetContext context) throws Exception {
+ final ObjectMappedTable<TCAVESAlertEntity> alertsTable = context.getDataset(cdapAlertsTableName);
+ for (String rowKey : rowKeys) {
+ alertsTable.delete(rowKey);
+ metrics.count(CDAPMetricsConstants.TCA_PUBLISHER_DELETED_ALERTS_METRIC, 1);
+ }
+ }
+ });
+ } catch (TransactionFailureException e) {
+ final String errorMessage =
+ "Transaction Error while deleting published alerts in alerts table: " + e.toString();
+ throw new DCAEAnalyticsRuntimeException(errorMessage, LOG, e);
+ }
+ }
+}
diff --git a/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/TCADMaaPMRSubscriberJob.java b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/TCADMaaPMRSubscriberJob.java
new file mode 100644
index 0000000..9fb9d83
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/TCADMaaPMRSubscriberJob.java
@@ -0,0 +1,114 @@
+/*
+ * ===============================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.tca.worker;
+
+import co.cask.cdap.api.metrics.Metrics;
+import co.cask.cdap.api.worker.WorkerContext;
+import com.google.common.base.Optional;
+import org.openecomp.dcae.apod.analytics.cdap.common.CDAPMetricsConstants;
+import org.openecomp.dcae.apod.analytics.cdap.common.utils.DMaaPMRUtils;
+import org.openecomp.dcae.apod.analytics.common.AnalyticsConstants;
+import org.openecomp.dcae.apod.analytics.common.exception.DCAEAnalyticsRuntimeException;
+import org.openecomp.dcae.apod.analytics.dmaap.service.subscriber.DMaaPMRSubscriber;
+import org.quartz.DisallowConcurrentExecution;
+import org.quartz.Job;
+import org.quartz.JobDataMap;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.quartz.PersistJobDataAfterExecution;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.List;
+
+import static java.lang.String.format;
+
+/**
+ * Quartz Job which polls DMaaP MR VES Collector Topic for messages and writes them to
+ * a given CDAP Stream
+ *
+ * @author Rajiv Singla . Creation Date: 10/24/2016.
+ */
+@DisallowConcurrentExecution
+@PersistJobDataAfterExecution
+public class TCADMaaPMRSubscriberJob implements Job {
+
+ private static final Logger LOG = LoggerFactory.getLogger(TCADMaaPMRSubscriberJob.class);
+
+ @Override
+ public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
+
+ LOG.debug("Starting DMaaP MR Topic Subscriber fetch Job. Next firing time will be: {}",
+ jobExecutionContext.getNextFireTime());
+
+ // Get Job Data Map
+ final JobDataMap jobDataMap = jobExecutionContext.getMergedJobDataMap();
+
+ // Fetch all Job Params from Job Data Map
+ final String cdapStreamName = jobDataMap.getString(AnalyticsConstants.CDAP_STREAM_VARIABLE_NAME);
+ final WorkerContext workerContext =
+ (WorkerContext) jobDataMap.get(AnalyticsConstants.WORKER_CONTEXT_VARIABLE_NAME);
+ final DMaaPMRSubscriber subscriber =
+ (DMaaPMRSubscriber) jobDataMap.get(AnalyticsConstants.DMAAP_SUBSCRIBER_VARIABLE_NAME);
+ final Metrics metrics = (Metrics) jobDataMap.get(AnalyticsConstants.DMAAP_METRICS_VARIABLE_NAME);
+
+ final Optional<List<String>> subscriberMessagesOptional =
+ DMaaPMRUtils.getSubscriberMessages(subscriber, metrics);
+
+ // Write message to CDAP Stream using Stream Writer
+ if (subscriberMessagesOptional.isPresent()) {
+ writeMessageToCDAPStream(subscriberMessagesOptional.get(), cdapStreamName, workerContext, metrics);
+ }
+ }
+
+
+ /**
+ * Writes given messages to CDAP Stream
+ *
+ * @param actualMessages List of messages that need to written to cdap stream
+ * @param cdapStreamName cdap stream name
+ * @param workerContext cdap worker context
+ * @param metrics cdap metrics
+ */
+ private void writeMessageToCDAPStream(final List<String> actualMessages, final String cdapStreamName,
+ final WorkerContext workerContext, final Metrics metrics) {
+ LOG.debug("Writing message to CDAP Stream: {}, Message Count: {}", cdapStreamName, actualMessages.size());
+ try {
+
+ for (String message : actualMessages) {
+ workerContext.write(cdapStreamName, message);
+ }
+
+ } catch (IOException e) {
+ metrics.count(CDAPMetricsConstants.TCA_SUBSCRIBER_FAILURE_TO_WRITE_TO_STREAM_METRIC, 1);
+ final String errorMessage =
+ format("Error while DMaaP message router subscriber attempting to write to CDAP Stream: %s, " +
+ "Exception: %s", cdapStreamName, e);
+ throw new DCAEAnalyticsRuntimeException(errorMessage, LOG, e);
+ }
+
+ LOG.debug("DMaaP MR Subscriber successfully finished writing messages to CDAP Stream: {}, Message count: {}",
+ cdapStreamName, actualMessages.size());
+
+ }
+
+}
diff --git a/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/TCADMaaPMockSubscriberWorker.java b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/TCADMaaPMockSubscriberWorker.java
new file mode 100644
index 0000000..4d721e2
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/TCADMaaPMockSubscriberWorker.java
@@ -0,0 +1,141 @@
+/*
+ * ===============================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.tca.worker;
+
+import co.cask.cdap.api.annotation.Property;
+import co.cask.cdap.api.worker.AbstractWorker;
+import co.cask.cdap.api.worker.WorkerContext;
+import com.fasterxml.jackson.core.type.TypeReference;
+import org.openecomp.dcae.apod.analytics.cdap.tca.settings.TCAAppPreferences;
+import org.openecomp.dcae.apod.analytics.cdap.tca.utils.CDAPTCAUtils;
+import org.openecomp.dcae.apod.analytics.common.exception.DCAEAnalyticsRuntimeException;
+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 static org.openecomp.dcae.apod.analytics.tca.utils.TCAUtils.readValue;
+import static org.openecomp.dcae.apod.analytics.tca.utils.TCAUtils.writeValueAsString;
+
+/**
+ * CDAP Worker which mocks fetching VES Messages from DMaaP MR topic.
+ * The mock instead of making DMaaP MR calls will actually take messages
+ * from file and send them to stream at subscriber polling interval
+ *
+ * TODO: To be removed before going to production - only for testing purposes
+ *
+ * @author Rajiv Singla . Creation Date: 11/4/2016.
+ */
+public class TCADMaaPMockSubscriberWorker extends AbstractWorker {
+
+ private static final Logger LOG = LoggerFactory.getLogger(TCADMaaPMockSubscriberWorker.class);
+
+ // TODO: Remove this file before going to production - only for mocking purposes
+ 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 TCAAppPreferences tcaAppPreferences;
+ private boolean stopSendingMessages;
+ @Property
+ private final String tcaSubscriberOutputStreamName;
+
+ public TCADMaaPMockSubscriberWorker(final String tcaSubscriberOutputStreamName) {
+ this.tcaSubscriberOutputStreamName = tcaSubscriberOutputStreamName;
+ }
+
+ @Override
+ public void configure() {
+ setName("MockTCASubscriberWorker");
+ setDescription("Writes Mocked VES messages to CDAP Stream");
+ LOG.info("Configuring Mock TCA MR DMaaP Subscriber worker with name: {}", "MockTCASubscriberWorker");
+ }
+
+ @Override
+ public void initialize(WorkerContext context) throws Exception {
+ super.initialize(context);
+
+ final TCAAppPreferences appPreferences = CDAPTCAUtils.getValidatedTCAAppPreferences(context);
+ LOG.info("Initializing Mock TCA MR DMaaP Subscriber worker with preferences: {}", appPreferences);
+ this.tcaAppPreferences = appPreferences;
+ this.stopSendingMessages = false;
+ }
+
+
+ @Override
+ public void run() {
+ final Integer subscriberPollingInterval = tcaAppPreferences.getSubscriberPollingInterval();
+ LOG.debug("Mock TCA Subscriber Polling interval: {}", subscriberPollingInterval);
+
+ final 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());
+ }
+
+
+ try {
+ 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 (stopSendingMessages) {
+ LOG.debug("Stop sending messages......");
+ break;
+ }
+ final String eventListenerString = writeValueAsString(eventListener);
+ LOG.debug("=======>> Writing message to cdap stream no: {} of {}", i, totalMessageCount);
+ getContext().write(tcaSubscriberOutputStreamName, eventListenerString);
+ i++;
+
+ try {
+ Thread.sleep(subscriberPollingInterval);
+ } 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);
+ }
+
+
+ }
+
+ @Override
+ public void stop() {
+ stopSendingMessages = true;
+ }
+}
diff --git a/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/TCADMaaPPublisherWorker.java b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/TCADMaaPPublisherWorker.java
new file mode 100644
index 0000000..90e458a
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/TCADMaaPPublisherWorker.java
@@ -0,0 +1,146 @@
+/*
+ * ===============================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.tca.worker;
+
+import co.cask.cdap.api.annotation.Property;
+import co.cask.cdap.api.metrics.Metrics;
+import co.cask.cdap.api.worker.WorkerContext;
+import org.openecomp.dcae.apod.analytics.cdap.common.CDAPComponentsConstants;
+import org.openecomp.dcae.apod.analytics.cdap.tca.settings.TCAAppPreferences;
+import org.openecomp.dcae.apod.analytics.cdap.tca.utils.AppPreferencesToPublisherConfigMapper;
+import org.openecomp.dcae.apod.analytics.cdap.tca.utils.CDAPTCAUtils;
+import org.openecomp.dcae.apod.analytics.common.AnalyticsConstants;
+import org.openecomp.dcae.apod.analytics.common.exception.DCAEAnalyticsRuntimeException;
+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 org.openecomp.dcae.apod.analytics.tca.utils.TCAUtils;
+import org.quartz.JobDataMap;
+import org.quartz.SchedulerException;
+import org.quartz.impl.StdSchedulerFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.concurrent.atomic.AtomicBoolean;
+
+import static java.lang.String.format;
+
+/**
+ * TCA DMaaP Publisher will monitor alerts table at regular intervals and publish any alerts to DMaaP MR Publishing
+ * Topic
+ * <p>
+ * @author Rajiv Singla . Creation Date: 11/16/2016.
+ */
+public class TCADMaaPPublisherWorker extends BaseTCADMaaPMRWorker {
+
+ private static final Logger LOG = LoggerFactory.getLogger(TCADMaaPPublisherWorker.class);
+
+ private DMaaPMRPublisher publisher;
+ private Metrics metrics;
+ @Property
+ private final String tcaVESAlertsTableName;
+
+ public TCADMaaPPublisherWorker(final String tcaVESAlertsTableName) {
+ this.tcaVESAlertsTableName = tcaVESAlertsTableName;
+ }
+
+ @Override
+ public void configure() {
+ setName(CDAPComponentsConstants.TCA_FIXED_DMAAP_PUBLISHER_WORKER);
+ setDescription(CDAPComponentsConstants.TCA_FIXED_DMAAP_PUBLISHER_DESCRIPTION_WORKER);
+ LOG.debug("Configuring TCA MR DMaaP Publisher worker with name: {}",
+ CDAPComponentsConstants.TCA_FIXED_DMAAP_PUBLISHER_WORKER);
+ }
+
+
+ @Override
+ public void initialize(WorkerContext context) throws Exception {
+ super.initialize(context);
+
+ // Parse runtime arguments
+ final TCAAppPreferences tcaAppPreferences = CDAPTCAUtils.getValidatedTCAAppPreferences(context);
+
+ LOG.info("Initializing TCA MR DMaaP Publisher worker with preferences: {}", tcaAppPreferences);
+
+ // Map TCA App Preferences to DMaaP MR Publisher Config
+ final DMaaPMRPublisherConfig publisherConfig = AppPreferencesToPublisherConfigMapper.map(tcaAppPreferences);
+
+ LOG.info("TCA DMaaP MR Publisher worker will be polling TCA Alerts Table Name: {}", tcaVESAlertsTableName);
+
+ // Create an instance of DMaaP MR Publisher
+ LOG.debug("Creating an instance of DMaaP Publisher");
+ publisher = DMaaPMRFactory.create().createPublisher(publisherConfig);
+
+ // initialize a new Quartz scheduler
+ initializeScheduler(tcaAppPreferences, new StdSchedulerFactory());
+
+ // initialize scheduler state
+ isSchedulerShutdown = new AtomicBoolean(true);
+ }
+
+
+ /**
+ * Stop DMaaP Publisher
+ */
+ @Override
+ public void stop() {
+ // Close Publisher - which will flush any batch messages if present in batch queue
+ if (publisher != null) {
+ try {
+ publisher.close();
+ } catch (Exception e) {
+ final String errorMessage = format("Error while shutting down DMaaP MR Publisher: %s", e);
+ throw new DCAEAnalyticsRuntimeException(errorMessage, LOG, e);
+ }
+ }
+ // Shut down scheduler
+ super.stop();
+ }
+
+
+ /**
+ * Initializes a scheduler instance for DMaaP MR Publisher Job
+ *
+ * @throws SchedulerException SchedulerException
+ */
+ private void initializeScheduler(final TCAAppPreferences tcaAnalyticsAppConfig,
+ final StdSchedulerFactory stdSchedulerFactory) throws SchedulerException {
+
+ // Get Publisher polling interval
+ final Integer publisherPollingInterval = tcaAnalyticsAppConfig.getPublisherPollingInterval();
+
+ // Publisher Quartz Properties file
+ final String quartzPublisherPropertiesFileName = AnalyticsConstants.TCA_QUARTZ_PUBLISHER_PROPERTIES_FILE_NAME;
+
+ // Create a new JobDataMap containing information required by TCA DMaaP Publisher Job
+ final JobDataMap jobDataMap = new JobDataMap();
+ jobDataMap.put(AnalyticsConstants.CDAP_ALERTS_TABLE_VARIABLE_NAME, tcaVESAlertsTableName);
+ jobDataMap.put(AnalyticsConstants.WORKER_CONTEXT_VARIABLE_NAME, getContext());
+ jobDataMap.put(AnalyticsConstants.DMAAP_PUBLISHER_VARIABLE_NAME, publisher);
+ jobDataMap.put(AnalyticsConstants.DMAAP_METRICS_VARIABLE_NAME, metrics);
+
+ // Create new publisher scheduler
+ scheduler = TCAUtils.createQuartzScheduler(publisherPollingInterval, stdSchedulerFactory,
+ quartzPublisherPropertiesFileName, jobDataMap, TCADMaaPMRPublisherJob.class,
+ AnalyticsConstants.TCA_DMAAP_PUBLISHER_QUARTZ_JOB_NAME,
+ AnalyticsConstants.TCA_DMAAP_PUBLISHER_QUARTZ_TRIGGER_NAME);
+ }
+}
diff --git a/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/TCADMaaPSubscriberWorker.java b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/TCADMaaPSubscriberWorker.java
new file mode 100644
index 0000000..900d62e
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/main/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/TCADMaaPSubscriberWorker.java
@@ -0,0 +1,124 @@
+/*
+ * ===============================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.tca.worker;
+
+import co.cask.cdap.api.annotation.Property;
+import co.cask.cdap.api.metrics.Metrics;
+import co.cask.cdap.api.worker.WorkerContext;
+import org.openecomp.dcae.apod.analytics.cdap.common.CDAPComponentsConstants;
+import org.openecomp.dcae.apod.analytics.cdap.tca.settings.TCAAppPreferences;
+import org.openecomp.dcae.apod.analytics.cdap.tca.utils.AppPreferencesToSubscriberConfigMapper;
+import org.openecomp.dcae.apod.analytics.cdap.tca.utils.CDAPTCAUtils;
+import org.openecomp.dcae.apod.analytics.common.AnalyticsConstants;
+import org.openecomp.dcae.apod.analytics.dmaap.DMaaPMRFactory;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRSubscriberConfig;
+import org.openecomp.dcae.apod.analytics.dmaap.service.subscriber.DMaaPMRSubscriber;
+import org.openecomp.dcae.apod.analytics.tca.utils.TCAUtils;
+import org.quartz.JobDataMap;
+import org.quartz.SchedulerException;
+import org.quartz.impl.StdSchedulerFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.concurrent.atomic.AtomicBoolean;
+
+/**
+ * TCA DMaaP Subscriber will read messages and post them to cdap stream at regular intervals
+ * <p>
+ * @author Rajiv Singla . Creation Date: 10/14/2016.
+ */
+public class TCADMaaPSubscriberWorker extends BaseTCADMaaPMRWorker {
+
+ private static final Logger LOG = LoggerFactory.getLogger(TCADMaaPSubscriberWorker.class);
+
+ private DMaaPMRSubscriber subscriber;
+ private Metrics metrics;
+ @Property
+ private final String tcaSubscriberOutputStreamName;
+
+ public TCADMaaPSubscriberWorker(final String tcaSubscriberOutputStreamName) {
+ this.tcaSubscriberOutputStreamName = tcaSubscriberOutputStreamName;
+ }
+
+
+ @Override
+ public void configure() {
+ setName(CDAPComponentsConstants.TCA_FIXED_DMAAP_SUBSCRIBER_WORKER);
+ setDescription(CDAPComponentsConstants.TCA_FIXED_DMAAP_SUBSCRIBER_DESCRIPTION_WORKER);
+ LOG.debug("Configuring TCA MR DMaaP Subscriber worker with name: {}",
+ CDAPComponentsConstants.TCA_FIXED_DMAAP_SUBSCRIBER_WORKER);
+ }
+
+ @Override
+ public void initialize(WorkerContext context) throws Exception {
+ super.initialize(context);
+
+ // Parse runtime arguments
+ final TCAAppPreferences tcaAppPreferences = CDAPTCAUtils.getValidatedTCAAppPreferences(context);
+
+ LOG.info("Initializing TCA MR DMaaP Subscriber worker with preferences: {}", tcaAppPreferences);
+
+ // Map TCA App Preferences to DMaaP MR Subscriber Config
+ final DMaaPMRSubscriberConfig subscriberConfig = AppPreferencesToSubscriberConfigMapper.map(tcaAppPreferences);
+
+ LOG.info("TCA DMaaP MR Subscriber worker will be writing to CDAP Stream: {}", tcaSubscriberOutputStreamName);
+
+ // Create an instance of DMaaP MR Subscriber
+ LOG.debug("Creating an instance of DMaaP Subscriber");
+ subscriber = DMaaPMRFactory.create().createSubscriber(subscriberConfig);
+
+ // initialize a new Quartz scheduler
+ initializeScheduler(tcaAppPreferences, new StdSchedulerFactory());
+
+ // initialize scheduler state
+ isSchedulerShutdown = new AtomicBoolean(true);
+ }
+
+ /**
+ * Initializes a scheduler instance for DMaaP MR Subscriber Job
+ *
+ * @throws SchedulerException SchedulerException
+ */
+ private void initializeScheduler(final TCAAppPreferences tcaAppPreferences,
+ final StdSchedulerFactory stdSchedulerFactory) throws SchedulerException {
+
+ // Get Subscriber polling interval
+ final Integer subscriberPollingInterval = tcaAppPreferences.getSubscriberPollingInterval();
+
+ // Subscriber Quartz Properties file
+ final String quartzSubscriberPropertiesFileName = AnalyticsConstants.TCA_QUARTZ_SUBSCRIBER_PROPERTIES_FILE_NAME;
+
+ // Create a new JobDataMap containing information required by TCA DMaaP Subscriber Job
+ final JobDataMap jobDataMap = new JobDataMap();
+ jobDataMap.put(AnalyticsConstants.CDAP_STREAM_VARIABLE_NAME, tcaSubscriberOutputStreamName);
+ jobDataMap.put(AnalyticsConstants.WORKER_CONTEXT_VARIABLE_NAME, getContext());
+ jobDataMap.put(AnalyticsConstants.DMAAP_SUBSCRIBER_VARIABLE_NAME, subscriber);
+ jobDataMap.put(AnalyticsConstants.DMAAP_METRICS_VARIABLE_NAME, metrics);
+
+ // Create new publisher scheduler
+ scheduler = TCAUtils.createQuartzScheduler(subscriberPollingInterval, stdSchedulerFactory,
+ quartzSubscriberPropertiesFileName, jobDataMap, TCADMaaPMRSubscriberJob.class,
+ AnalyticsConstants.TCA_DMAAP_SUBSCRIBER_QUARTZ_JOB_NAME,
+ AnalyticsConstants.TCA_DMAAP_SUBSCRIBER_QUARTZ_TRIGGER_NAME);
+ }
+
+
+}
diff --git a/dcae-analytics-cdap-tca/src/main/resources/quartz-publisher.properties b/dcae-analytics-cdap-tca/src/main/resources/quartz-publisher.properties
new file mode 100644
index 0000000..3fd71fb
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/main/resources/quartz-publisher.properties
@@ -0,0 +1,24 @@
+#
+# ===============================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===========================================
+#
+
+org.quartz.scheduler.instanceName=TCA_Test_Scheduler
+org.quartz.threadPool.threadCount=1
+org.quartz.jobStore.class=org.quartz.simpl.RAMJobStore
+org.quartz.scheduler.skipUpdateCheck=true
diff --git a/dcae-analytics-cdap-tca/src/main/resources/quartz-subscriber.properties b/dcae-analytics-cdap-tca/src/main/resources/quartz-subscriber.properties
new file mode 100644
index 0000000..e8e1bdd
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/main/resources/quartz-subscriber.properties
@@ -0,0 +1,24 @@
+#
+# ===============================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===========================================
+#
+
+org.quartz.scheduler.instanceName=TCA_DMaaPMRSubscriber_Scheduler
+org.quartz.threadPool.threadCount=3
+org.quartz.jobStore.class=org.quartz.simpl.RAMJobStore
+org.quartz.scheduler.skipUpdateCheck=true
diff --git a/dcae-analytics-cdap-tca/src/main/resources/ves_mock_messages.json b/dcae-analytics-cdap-tca/src/main/resources/ves_mock_messages.json
new file mode 100644
index 0000000..bc7a924
--- /dev/null
+++ b/dcae-analytics-cdap-tca/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-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/BaseAnalyticsCDAPTCAIT.java b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/BaseAnalyticsCDAPTCAIT.java
new file mode 100644
index 0000000..df5bb06
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/BaseAnalyticsCDAPTCAIT.java
@@ -0,0 +1,95 @@
+/*
+ * ===============================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.tca;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
+import com.google.common.base.Suppliers;
+import org.junit.BeforeClass;
+import org.openecomp.dcae.apod.analytics.cdap.tca.settings.TCATestAppConfig;
+import org.openecomp.dcae.apod.analytics.cdap.tca.settings.TCATestAppPreferences;
+import org.openecomp.dcae.apod.analytics.model.util.AnalyticsModelIOUtils;
+import org.openecomp.dcae.apod.analytics.model.util.json.AnalyticsModelObjectMapperSupplier;
+import org.openecomp.dcae.apod.analytics.test.BaseDCAEAnalyticsIT;
+
+import java.util.Map;
+import java.util.Properties;
+import java.util.TreeMap;
+
+/**
+ *
+ * @author Rajiv Singla . Creation Date: 10/25/2016.
+ */
+public abstract class BaseAnalyticsCDAPTCAIT extends BaseDCAEAnalyticsIT {
+
+ protected static ObjectMapper objectMapper;
+
+ @BeforeClass
+ public static void beforeClass() {
+ final AnalyticsModelObjectMapperSupplier analyticsModelObjectMapperSupplier =
+ new AnalyticsModelObjectMapperSupplier();
+ objectMapper = Suppliers.memoize(analyticsModelObjectMapperSupplier).get();
+ objectMapper.enable(SerializationFeature.INDENT_OUTPUT);
+ }
+
+ protected static final String TCA_CONTROLLER_POLICY_FILE_LOCATION =
+ "data/properties/tca_controller_policy.properties";
+
+ // App Settings
+ protected static final String DCAE_ANALYTICS_TCA_TEST_APP_NAME = "dcae-tca";
+ protected static final String DCAE_ANALYTICS_TCA_TEST_APP_DESC =
+ "DCAE Analytics Threshold Crossing Alert Application";
+
+
+ protected static TCATestAppConfig getTCATestAppConfig() {
+ final TCATestAppConfig tcaTestAppConfig = new TCATestAppConfig();
+ tcaTestAppConfig.setAppName(DCAE_ANALYTICS_TCA_TEST_APP_NAME);
+ tcaTestAppConfig.setAppDescription(DCAE_ANALYTICS_TCA_TEST_APP_DESC);
+ return tcaTestAppConfig;
+ }
+
+ protected static TCATestAppPreferences getTCATestAppPreferences() {
+ final TCATestAppPreferences tcaTestAppPreferences = new TCATestAppPreferences(getTCAPolicyPreferences());
+ tcaTestAppPreferences.setSubscriberPollingInterval(null);
+ tcaTestAppPreferences.setPublisherMaxBatchSize(null);
+ tcaTestAppPreferences.setPublisherMaxRecoveryQueueSize(null);
+ tcaTestAppPreferences.setEnableAlertCEFFormat(null);
+ tcaTestAppPreferences.setPublisherPollingInterval(null);
+ return tcaTestAppPreferences;
+ }
+
+
+ protected static Map<String, String> getTCAPolicyPreferences() {
+ final Map<String, String> policyPreferences = new TreeMap<>();
+ final Properties policyPreferencesProps =
+ AnalyticsModelIOUtils.loadPropertiesFile(TCA_CONTROLLER_POLICY_FILE_LOCATION, new Properties());
+ for (Map.Entry<Object, Object> propEntry : policyPreferencesProps.entrySet()) {
+ policyPreferences.put(propEntry.getKey().toString(), propEntry.getValue().toString());
+ }
+
+ return policyPreferences;
+ }
+
+ protected static String serializeModelToJson(Object model) throws JsonProcessingException {
+ return objectMapper.writeValueAsString(model);
+ }
+}
diff --git a/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/BaseAnalyticsCDAPTCAUnitTest.java b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/BaseAnalyticsCDAPTCAUnitTest.java
new file mode 100644
index 0000000..6d84561
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/BaseAnalyticsCDAPTCAUnitTest.java
@@ -0,0 +1,288 @@
+/*
+ * ===============================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.tca;
+
+import co.cask.cdap.api.flow.flowlet.AbstractFlowlet;
+import co.cask.cdap.api.flow.flowlet.FlowletContext;
+import co.cask.cdap.internal.flow.DefaultFlowletConfigurer;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.google.common.base.Suppliers;
+import org.junit.Assert;
+import org.openecomp.dcae.apod.analytics.cdap.tca.settings.TCAPolicyPreferences;
+import org.openecomp.dcae.apod.analytics.cdap.tca.settings.TCATestAppConfig;
+import org.openecomp.dcae.apod.analytics.cdap.tca.settings.TCATestAppPreferences;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.EventListener;
+import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.TCAPolicy;
+import org.openecomp.dcae.apod.analytics.model.util.AnalyticsModelIOUtils;
+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.InputStream;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+/**
+ * @author Rajiv Singla . Creation Date: 10/25/2016.
+ */
+public abstract class BaseAnalyticsCDAPTCAUnitTest extends BaseDCAEAnalyticsUnitTest {
+
+ /**
+ * Object mapper to be used for all TCA Json Parsing
+ */
+ 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_MESSAGES_JSON_FILE_LOCATION = "data/json/cef/cef_messages.json";
+ protected static final String CEF_MESSAGE_JSON_FILE_LOCATION = "data/json/cef/cef_message.json";
+ protected static final String CEF_MESSAGE_WITH_THRESHOLD_VIOLATION_JSON_FILE_LOCATION =
+ "data/json/cef/cef_message_with_threshold_violation.json";
+
+ protected static final String TCA_CONTROLLER_POLICY_FILE_LOCATION =
+ "data/properties/tca_controller_policy.properties";
+
+ protected static final String TCA_CONTROLLER_POLICY_FROM_JSON_FILE_LOCATION =
+ "data/properties/tca_controller_policy_from_json.properties";
+
+
+ protected static final String TCA_TEST_APP_CONFIG_NAME = "testTCAAppName";
+ protected static final String TCA_TEST_APP_CONFIG_DESCRIPTION = "testTCAAppDescription";
+ protected static final String TCA_TEST_APP_CONFIG_SUBSCRIBER_OUTPUT_STREAM_NAME =
+ "testTcaSubscriberOutputStreamName";
+ protected static final String TCA_TEST_APP_CONFIG_VES_ALERT_TABLE_NAME = "testTcaVESAlertsTableName";
+ protected static final String TCA_TEST_APP_CONFIG_VES_MESSAGE_STATUS_TABLE_NAME =
+ "testTcaVESMessageStatusTableName";
+
+
+ /**
+ * Provides TCA Policy that can be used for testing
+ *
+ * @return test TCA Policy Object
+ */
+ protected TCAPolicy getSampleTCAPolicy() {
+ return deserializeJsonFileToModel(TCA_POLICY_JSON_FILE_LOCATION, TCAPolicy.class);
+ }
+
+ /**
+ * Provides TCA Policy that can be used for testing
+ *
+ * @return test {@link TCAPolicyPreferences}
+ */
+ protected TCAPolicyPreferences getSampleTCAPolicyPreferences() {
+ return deserializeJsonFileToModel(TCA_POLICY_JSON_FILE_LOCATION, TCAPolicyPreferences.class);
+ }
+
+ /**
+ * Provides list containing 350 CEF messages
+ *
+ * @return CEF Test Message
+ *
+ * @throws Exception Exception
+ */
+ protected List<EventListener> getCEFMessages() throws Exception {
+ final String cefMessageAsString = fromStream(CEF_MESSAGES_JSON_FILE_LOCATION);
+ final TypeReference<List<EventListener>> eventListenerListTypeReference =
+ new TypeReference<List<EventListener>>() {
+ };
+ return ANALYTICS_MODEL_OBJECT_MAPPER.readValue(cefMessageAsString, eventListenerListTypeReference);
+ }
+
+ /**
+ * Provides 1 valid CEF messages which does not violate Threshold as String
+ *
+ * @return CEF Test Message String
+ *
+ * @throws Exception Exception
+ */
+ protected String getValidCEFMessage() throws Exception {
+ return fromStream(CEF_MESSAGE_JSON_FILE_LOCATION);
+ }
+
+
+ /**
+ * Provides single CEF Test Message
+ *
+ * @return CEF Test Message
+ *
+ * @throws Exception Exception
+ */
+ protected EventListener getCEFEventListener() throws Exception {
+ final String cefMessageAsString = fromStream(CEF_MESSAGE_JSON_FILE_LOCATION);
+ return ANALYTICS_MODEL_OBJECT_MAPPER.readValue(cefMessageAsString, EventListener.class);
+ }
+
+ /**
+ * Deserialize given Json file location to given model class and returns it back without any validation check
+ *
+ * @param jsonFileLocation Classpath location of the json file
+ * @param modelClass Model Class type
+ * @param <T> Json Model Type
+ *
+ * @return Json model object
+ */
+ public static <T> T deserializeJsonFileToModel(String jsonFileLocation, Class<T> modelClass) {
+ final InputStream jsonFileInputStream =
+ BaseDCAEAnalyticsUnitTest.class.getClassLoader().getResourceAsStream(jsonFileLocation);
+ Assert.assertNotNull("Json File Location must be valid", jsonFileInputStream);
+ try {
+ return ANALYTICS_MODEL_OBJECT_MAPPER.readValue(jsonFileInputStream, modelClass);
+ } catch (IOException ex) {
+ LOG.error("Error while doing assert Json for fileLocation: {}, modelClass: {}, Exception {}",
+ jsonFileLocation, modelClass, ex);
+ throw new RuntimeException(ex);
+ } finally {
+ try {
+ jsonFileInputStream.close();
+ } catch (IOException e) {
+ LOG.error("Error while closing input stream at file location: {}", jsonFileLocation);
+ throw new RuntimeException(e);
+ }
+ }
+ }
+
+ protected static TCATestAppConfig getTCATestAppConfig() {
+ final TCATestAppConfig tcaAppConfig = new TCATestAppConfig();
+ tcaAppConfig.setAppName(TCA_TEST_APP_CONFIG_NAME);
+ tcaAppConfig.setAppDescription(TCA_TEST_APP_CONFIG_DESCRIPTION);
+ tcaAppConfig.setTcaSubscriberOutputStreamName(TCA_TEST_APP_CONFIG_SUBSCRIBER_OUTPUT_STREAM_NAME);
+ tcaAppConfig.setTcaVESAlertsTableName(TCA_TEST_APP_CONFIG_VES_ALERT_TABLE_NAME);
+ tcaAppConfig.setTcaVESMessageStatusTableName(TCA_TEST_APP_CONFIG_VES_MESSAGE_STATUS_TABLE_NAME);
+ return tcaAppConfig;
+ }
+
+ /**
+ * Provides a test application preference for unit testing
+ *
+ * @return tca app preferences
+ */
+ protected static TCATestAppPreferences getTCATestAppPreferences() {
+ final TCATestAppPreferences tcaTestAppPreferences = new TCATestAppPreferences();
+ tcaTestAppPreferences.setSubscriberHostName("SUBSCRIBER_HOST_NAME");
+ tcaTestAppPreferences.setSubscriberHostPortNumber(10000);
+ tcaTestAppPreferences.setSubscriberTopicName("SUBSCRIBER_TOPIC_NAME");
+ tcaTestAppPreferences.setSubscriberUserName("SUBSCRIBER_USERNAME");
+ tcaTestAppPreferences.setSubscriberUserPassword("SUBSCRIBER_PASSWORD");
+ tcaTestAppPreferences.setSubscriberProtocol("https");
+ tcaTestAppPreferences.setSubscriberContentType("application/json");
+ tcaTestAppPreferences.setSubscriberConsumerId("SUBSCRIBER_CONSUMER_ID");
+ tcaTestAppPreferences.setSubscriberConsumerGroup("SUBSCRIBER_CONSUMER_GROUP_NAME");
+ tcaTestAppPreferences.setSubscriberTimeoutMS(10);
+ tcaTestAppPreferences.setSubscriberMessageLimit(100);
+ tcaTestAppPreferences.setSubscriberPollingInterval(1000);
+
+ tcaTestAppPreferences.setPublisherHostName("PUBLISHER_HOST_NAME");
+ tcaTestAppPreferences.setPublisherHostPort(1234);
+ tcaTestAppPreferences.setPublisherTopicName("PUBLISHER_TOPIC_NAME");
+ tcaTestAppPreferences.setPublisherUserName("PUBLISHER_USERNAME");
+ tcaTestAppPreferences.setPublisherUserPassword("PUBLISHER_PASSWORD");
+ tcaTestAppPreferences.setPublisherProtocol("https");
+ tcaTestAppPreferences.setPublisherContentType("application/json");
+ tcaTestAppPreferences.setPublisherMaxBatchSize(100);
+ tcaTestAppPreferences.setPublisherMaxRecoveryQueueSize(100);
+ tcaTestAppPreferences.setPublisherPollingInterval(6000);
+ return tcaTestAppPreferences;
+ }
+
+ protected static Map<String, String> getPreferenceMap() {
+ Map<String, String> preference = new HashMap<>();
+ preference.put("subscriberHostName", "mrlocal-mtnjftle01.homer.com");
+ preference.put("subscriberHostPort", "3905");
+ preference.put("subscriberTopicName", "com.dcae.dmaap.mtnje2.DcaeTestVESPub");
+ preference.put("subscriberProtocol", "https");
+ preference.put("subscriberUserName", "USER");
+ preference.put("subscriberUserPassword", "PASSWORD");
+ preference.put("subscriberContentType", "application/json");
+ preference.put("subscriberConsumerId", "123");
+ preference.put("subscriberConsumerGroup", "testTCAConsumerName-123");
+ preference.put("subscriberTimeoutMS", "-1");
+ preference.put("subscriberMessageLimit", "-1");
+ preference.put("subscriberPollingInterval", "30000");
+
+ preference.put("publisherHostName", "publisherHostName");
+ preference.put("publisherHostPort", "3905");
+ preference.put("publisherTopicName", "publisherTopicName");
+ preference.put("publisherProtocol", "https");
+ preference.put("publisherUserName", "publisherUserName");
+ preference.put("publisherContentType", "application/json");
+ preference.put("publisherMaxBatchSize", "1000");
+ preference.put("publisherMaxRecoveryQueueSize", "100");
+ preference.put("publisherPollingInterval", "6000");
+ return preference;
+ }
+
+ protected static <T extends AbstractFlowlet> void assertFlowletNameAndDescription(
+ final String expectedName, final String expectedDescription, final T flowlet) {
+ final DefaultFlowletConfigurer defaultFlowletConfigurer =
+ new DefaultFlowletConfigurer(flowlet);
+ flowlet.configure(defaultFlowletConfigurer);
+
+ final String flowletName = getPrivateFiledValue(defaultFlowletConfigurer, "name", String.class);
+ final String flowletDescription =
+ getPrivateFiledValue(defaultFlowletConfigurer, "description", String.class);
+
+ assertThat("Flowlet name must match with CDAPComponentsConstants",
+ flowletName, is(expectedName));
+
+ assertThat("Flowlet description must match with CDAPComponentsConstants",
+ flowletDescription, is(expectedDescription));
+
+ }
+
+ protected static FlowletContext getTestFlowletContextWithValidPolicy() {
+ final Properties controllerProperties =
+ AnalyticsModelIOUtils.loadPropertiesFile(TCA_CONTROLLER_POLICY_FILE_LOCATION, new Properties());
+
+ Map<String, String> runtimeArgs = new LinkedHashMap<>();
+ for (Map.Entry<Object, Object> property : controllerProperties.entrySet()) {
+ runtimeArgs.put(property.getKey().toString(), property.getValue().toString());
+ }
+
+ final FlowletContext flowletContext = mock(FlowletContext.class);
+ when(flowletContext.getRuntimeArguments()).thenReturn(runtimeArgs);
+ return flowletContext;
+ }
+
+ protected static FlowletContext getTestFlowletContextWithValidPolicyFromJSON() {
+ final Properties controllerProperties =
+ AnalyticsModelIOUtils.loadPropertiesFile(TCA_CONTROLLER_POLICY_FROM_JSON_FILE_LOCATION,
+ new Properties());
+
+ Map<String, String> runtimeArgs = new LinkedHashMap<>();
+ for (Map.Entry<Object, Object> property : controllerProperties.entrySet()) {
+ runtimeArgs.put(property.getKey().toString(), property.getValue().toString());
+ }
+
+ final FlowletContext flowletContext = mock(FlowletContext.class);
+ when(flowletContext.getRuntimeArguments()).thenReturn(runtimeArgs);
+ return flowletContext;
+ }
+
+}
diff --git a/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/TCAAnalyticsApplicationTest.java b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/TCAAnalyticsApplicationTest.java
new file mode 100644
index 0000000..564ce91
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/TCAAnalyticsApplicationTest.java
@@ -0,0 +1,47 @@
+/*
+ * ===============================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.tca;
+
+import co.cask.cdap.app.DefaultApplicationContext;
+import co.cask.cdap.app.MockAppConfigurer;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.cdap.tca.settings.TCAAppConfig;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+/**
+ * @author Rajiv Singla . Creation Date: 1/12/2017.
+ */
+public class TCAAnalyticsApplicationTest extends BaseAnalyticsCDAPTCAUnitTest {
+
+ @Test
+ public void testConfigure() throws Exception {
+ final TCAAnalyticsApplication tcaAnalyticsApplication = new TCAAnalyticsApplication();
+ MockAppConfigurer mockAppConfigurer = new MockAppConfigurer(tcaAnalyticsApplication);
+ final DefaultApplicationContext<TCAAppConfig> applicationContext =
+ new DefaultApplicationContext<TCAAppConfig>(getTCATestAppConfig());
+ tcaAnalyticsApplication.configure(mockAppConfigurer, applicationContext);
+ assertThat(TCA_TEST_APP_CONFIG_NAME, is(mockAppConfigurer.getName()));
+ }
+
+
+}
diff --git a/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/flow/TCAVESCollectorFlowTest.java b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/flow/TCAVESCollectorFlowTest.java
new file mode 100644
index 0000000..05444d7
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/flow/TCAVESCollectorFlowTest.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.tca.flow;
+
+import co.cask.cdap.AllProgramsApp;
+import co.cask.cdap.api.flow.FlowletConnection;
+import co.cask.cdap.api.flow.FlowletDefinition;
+import co.cask.cdap.internal.app.runtime.flow.DefaultFlowConfigurer;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.cdap.common.CDAPComponentsConstants;
+import org.openecomp.dcae.apod.analytics.cdap.tca.BaseAnalyticsCDAPTCAUnitTest;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.Matchers.containsInAnyOrder;
+import static org.junit.Assert.assertThat;
+
+/**
+ * @author Rajiv Singla . Creation Date: 1/12/2017.
+ */
+public class TCAVESCollectorFlowTest extends BaseAnalyticsCDAPTCAUnitTest {
+
+ @Test
+ public void testConfigure() throws Exception {
+
+ final TCAVESCollectorFlow tcavesCollectorFlow = new TCAVESCollectorFlow(getTCATestAppConfig());
+ final DefaultFlowConfigurer configurer = new DefaultFlowConfigurer(new AllProgramsApp.NoOpFlow());
+ tcavesCollectorFlow.configure(configurer);
+ final String flowName = getPrivateFiledValue(configurer, "name", String.class);
+ final String flowDescription = getPrivateFiledValue(configurer, "description", String.class);
+
+ assertThat("TCAVESCollectorFlow Name must match with what is defined in CDAPComponents Constants",
+ flowName, is(CDAPComponentsConstants.TCA_FIXED_VES_COLLECTOR_NAME_FLOW));
+
+ assertThat("TCAVESCollectorFlow Description must match with what is defined in CDAPComponents Constants",
+ flowDescription, is(CDAPComponentsConstants.TCA_FIXED_VES_COLLECTOR_DESCRIPTION_FLOW));
+
+ final Map<String, FlowletDefinition> flowlets =
+ (Map<String, FlowletDefinition>) getPrivateFiledValue(configurer, "flowlets", HashMap.class);
+
+ assertThat("TCAVESCollector must contain all TCA VES flowlets", flowlets.keySet(),
+ containsInAnyOrder(CDAPComponentsConstants.TCA_FIXED_VES_MESSAGE_ROUTER_NAME_FLOWLET,
+ CDAPComponentsConstants.TCA_FIXED_VES_THRESHOLD_VIOLATION_CALCULATOR_NAME_FLOWLET,
+ CDAPComponentsConstants.TCA_FIXED_VES_ALERTS_SINK_NAME_FLOWLET));
+
+ final List<FlowletConnection> connections =
+ (List<FlowletConnection>) getPrivateFiledValue(configurer, "connections", ArrayList.class);
+
+ assertThat("There must be three connections in VES Collector Flow", connections.size(), is(3));
+
+ }
+
+
+}
diff --git a/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/flowlet/TCAVESAlertsSinkFlowletTest.java b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/flowlet/TCAVESAlertsSinkFlowletTest.java
new file mode 100644
index 0000000..57e0c2a
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/flowlet/TCAVESAlertsSinkFlowletTest.java
@@ -0,0 +1,78 @@
+/*
+ * ===============================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.tca.flowlet;
+
+import co.cask.cdap.api.dataset.lib.ObjectMappedTable;
+import co.cask.cdap.api.flow.flowlet.FlowletContext;
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.openecomp.dcae.apod.analytics.cdap.common.CDAPComponentsConstants;
+import org.openecomp.dcae.apod.analytics.cdap.common.persistance.tca.TCAVESAlertEntity;
+import org.openecomp.dcae.apod.analytics.cdap.tca.BaseAnalyticsCDAPTCAUnitTest;
+
+import static org.junit.Assert.assertTrue;
+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: 12/16/2016.
+ */
+public class TCAVESAlertsSinkFlowletTest extends BaseAnalyticsCDAPTCAUnitTest {
+
+
+ @Test
+ public void testConfigure() throws Exception {
+ final TCAVESAlertsSinkFlowlet tcavesAlertsSinkFlowlet =
+ new TCAVESAlertsSinkFlowlet("testTCAVESAlertTableName");
+ assertFlowletNameAndDescription(CDAPComponentsConstants.TCA_FIXED_VES_ALERTS_SINK_NAME_FLOWLET,
+ CDAPComponentsConstants.TCA_FIXED_VES_ALERTS_SINK_DESCRIPTION_FLOWLET, tcavesAlertsSinkFlowlet);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test
+ public void saveAlerts() throws Exception {
+
+ final String testAlertTableName = "testTCAVESAlertTableName";
+
+ final TCAVESAlertsSinkFlowlet tcavesAlertsSinkFlowlet = new TCAVESAlertsSinkFlowlet(testAlertTableName);
+
+ final FlowletContext mockFlowletContext = Mockito.mock(FlowletContext.class);
+ final ObjectMappedTable mockObjectMappedTable = Mockito.mock(ObjectMappedTable.class);
+ when(mockFlowletContext.getDataset(eq(testAlertTableName))).thenReturn(mockObjectMappedTable);
+ tcavesAlertsSinkFlowlet.initialize(mockFlowletContext);
+ final ObjectMappedTable tcaVESAlertsTableName =
+ getPrivateFiledValue(tcavesAlertsSinkFlowlet, "tcaVESAlertsTable", ObjectMappedTable.class);
+ assertTrue(tcaVESAlertsTableName == mockObjectMappedTable);
+
+ doNothing().when(mockObjectMappedTable).write(any(String.class), any(TCAVESAlertEntity.class));
+ final String testAlertMessage = "testMessage";
+ tcavesAlertsSinkFlowlet.saveAlerts(testAlertMessage);
+
+ verify(mockObjectMappedTable,
+ times(1)).write(any(String.class), any(TCAVESAlertEntity.class));
+
+ }
+
+}
diff --git a/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/flowlet/TCAVESMessageRouterFlowletTest.java b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/flowlet/TCAVESMessageRouterFlowletTest.java
new file mode 100644
index 0000000..6961405
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/flowlet/TCAVESMessageRouterFlowletTest.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.tca.flowlet;
+
+import co.cask.cdap.api.flow.flowlet.OutputEmitter;
+import co.cask.cdap.api.flow.flowlet.StreamEvent;
+import com.google.common.base.Charsets;
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.openecomp.dcae.apod.analytics.cdap.common.CDAPComponentsConstants;
+import org.openecomp.dcae.apod.analytics.cdap.tca.BaseAnalyticsCDAPTCAUnitTest;
+import org.openecomp.dcae.apod.analytics.common.AnalyticsConstants;
+
+import java.nio.ByteBuffer;
+
+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: 12/19/2016.
+ */
+public class TCAVESMessageRouterFlowletTest extends BaseAnalyticsCDAPTCAUnitTest {
+
+ private static final String TEST_MESSAGE = "test message";
+ private final OutputEmitter mockOutputEmitter = Mockito.mock(OutputEmitter.class);
+
+ private class TCATestVESMessageRouterFlowlet extends TCAVESMessageRouterFlowlet {
+
+ @SuppressWarnings("unchecked")
+ public TCATestVESMessageRouterFlowlet() {
+ this.vesMessageEmitter = mockOutputEmitter;
+ doNothing().when(mockOutputEmitter).emit(eq(TEST_MESSAGE),
+ eq(AnalyticsConstants.TCA_VES_MESSAGE_ROUTER_PARTITION_KEY),
+ eq(TEST_MESSAGE.hashCode()));
+ }
+ }
+
+ @Test
+ public void testConfigure() throws Exception {
+ final TCAVESMessageRouterFlowlet tcavesMessageRouterFlowlet = new TCAVESMessageRouterFlowlet();
+ assertFlowletNameAndDescription(CDAPComponentsConstants.TCA_FIXED_VES_MESSAGE_ROUTER_NAME_FLOWLET,
+ CDAPComponentsConstants.TCA_FIXED_VES_MESSAGE_ROUTER_DESCRIPTION_FLOWLET, tcavesMessageRouterFlowlet);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test
+ public void routeVESMessage() throws Exception {
+ final TCATestVESMessageRouterFlowlet tcavesMessageRouterFlowlet = new TCATestVESMessageRouterFlowlet();
+ final StreamEvent mockStreamEvent = Mockito.mock(StreamEvent.class);
+ final ByteBuffer testMessage = Charsets.UTF_8.encode(TEST_MESSAGE);
+ when(mockStreamEvent.getBody()).thenReturn(testMessage);
+ tcavesMessageRouterFlowlet.routeVESMessage(mockStreamEvent);
+ verify(mockOutputEmitter,
+ times(1)).emit(eq(TEST_MESSAGE),
+ eq(AnalyticsConstants.TCA_VES_MESSAGE_ROUTER_PARTITION_KEY),
+ eq(TEST_MESSAGE.hashCode()));
+ }
+
+}
diff --git a/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/flowlet/TCAVESThresholdViolationCalculatorFlowletTest.java b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/flowlet/TCAVESThresholdViolationCalculatorFlowletTest.java
new file mode 100644
index 0000000..b70234a
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/flowlet/TCAVESThresholdViolationCalculatorFlowletTest.java
@@ -0,0 +1,161 @@
+/*
+ * ===============================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.tca.flowlet;
+
+import co.cask.cdap.api.app.ApplicationSpecification;
+import co.cask.cdap.api.dataset.lib.ObjectMappedTable;
+import co.cask.cdap.api.flow.flowlet.FlowletContext;
+import co.cask.cdap.api.flow.flowlet.OutputEmitter;
+import co.cask.cdap.api.metrics.Metrics;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.openecomp.dcae.apod.analytics.cdap.common.CDAPComponentsConstants;
+import org.openecomp.dcae.apod.analytics.cdap.common.persistance.tca.TCAMessageStatusEntity;
+import org.openecomp.dcae.apod.analytics.cdap.tca.BaseAnalyticsCDAPTCAUnitTest;
+import org.openecomp.dcae.apod.analytics.cdap.tca.utils.CDAPTCAUtils;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.EventListener;
+import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.TCAPolicy;
+import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.Threshold;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyString;
+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: 12/19/2016.
+ */
+@SuppressWarnings("unchecked")
+public class TCAVESThresholdViolationCalculatorFlowletTest extends BaseAnalyticsCDAPTCAUnitTest {
+
+ private static final String messageStatusTableName = "TEST_MESSAGE_STATUS_TABLE";
+
+ private TCAVESThresholdViolationCalculatorFlowlet violationCalculatorFlowlet;
+ private Metrics metrics;
+ private OutputEmitter outputEmitter;
+ private ObjectMappedTable<TCAMessageStatusEntity> vesMessageStatusTable;
+
+ private static class TCATestVESThresholdViolationCalculatorFlowlet extends
+ TCAVESThresholdViolationCalculatorFlowlet {
+ public TCATestVESThresholdViolationCalculatorFlowlet(
+ final String messageStatusTableName,
+ final OutputEmitter tcaAlertOutputEmitter,
+ ObjectMappedTable<TCAMessageStatusEntity> vesMessageStatusTable,
+ Metrics metrics) {
+ super(messageStatusTableName);
+ this.tcaAlertOutputEmitter = tcaAlertOutputEmitter;
+ this.metrics = metrics;
+ }
+ }
+
+ @Before
+ public void before() {
+ violationCalculatorFlowlet = new TCAVESThresholdViolationCalculatorFlowlet(messageStatusTableName);
+ vesMessageStatusTable = Mockito.mock(ObjectMappedTable.class);
+ outputEmitter = Mockito.mock(OutputEmitter.class);
+ metrics = Mockito.mock(Metrics.class);
+ }
+
+ @Test
+ public void testConfigure() throws Exception {
+ assertFlowletNameAndDescription(
+ CDAPComponentsConstants.TCA_FIXED_VES_THRESHOLD_VIOLATION_CALCULATOR_NAME_FLOWLET,
+ CDAPComponentsConstants.TCA_FIXED_VES_THRESHOLD_VIOLATION_CALCULATOR_DESCRIPTION_FLOWLET,
+ violationCalculatorFlowlet);
+ }
+
+ @Test
+ public void testInitialize() throws Exception {
+ final FlowletContext mockFlowletContext = initializeFlowlet(violationCalculatorFlowlet, vesMessageStatusTable);
+ verify(mockFlowletContext, times(1)).getDataset(anyString());
+ }
+
+ @Test
+ public void testFilterVESMessagesWhenVESMessageIsInApplicable() throws Exception {
+ final TCATestVESThresholdViolationCalculatorFlowlet thresholdViolationCalculatorFlowlet =
+ createTestViolationCalculator(vesMessageStatusTable, outputEmitter, metrics);
+ initializeFlowlet(thresholdViolationCalculatorFlowlet, vesMessageStatusTable);
+ thresholdViolationCalculatorFlowlet.filterVESMessages("inapplicable");
+ verify(vesMessageStatusTable, times(1)).write(anyString(),
+ any(TCAMessageStatusEntity.class));
+ }
+
+ @Test
+ public void testFilterVESMessagesWhenVESMessageIsCompliant() throws Exception {
+ final TCATestVESThresholdViolationCalculatorFlowlet thresholdViolationCalculatorFlowlet =
+ createTestViolationCalculator(vesMessageStatusTable, outputEmitter, metrics);
+ initializeFlowlet(thresholdViolationCalculatorFlowlet, vesMessageStatusTable);
+ thresholdViolationCalculatorFlowlet.filterVESMessages(getValidCEFMessage());
+ verify(vesMessageStatusTable, times(1)).write(anyString(),
+ any(TCAMessageStatusEntity.class));
+ }
+
+ @Test
+ public void testFilterVESMessagesWhenVESMessageNonCompliant() throws Exception {
+ final TCATestVESThresholdViolationCalculatorFlowlet thresholdViolationCalculatorFlowlet =
+ createTestViolationCalculator(vesMessageStatusTable, outputEmitter, metrics);
+ final FlowletContext flowletContext =
+ initializeFlowlet(thresholdViolationCalculatorFlowlet, vesMessageStatusTable);
+ final TCAPolicy policy = CDAPTCAUtils.getValidatedTCAPolicyPreferences(flowletContext);
+ final Threshold threshold = policy.getMetricsPerFunctionalRole().get(0).getThresholds().get(0);
+ final Long thresholdValue = threshold.getThresholdValue();
+ final EventListener thresholdViolatingMessage = getCEFEventListener();
+ thresholdViolatingMessage.getEvent().getMeasurementsForVfScalingFields().getVNicUsageArray().get(0).setBytesIn
+ (thresholdValue - 1);
+ thresholdViolationCalculatorFlowlet.filterVESMessages(
+ ANALYTICS_MODEL_OBJECT_MAPPER.writeValueAsString(thresholdViolatingMessage));
+ verify(vesMessageStatusTable, times(1)).write(anyString(),
+ any(TCAMessageStatusEntity.class));
+ verify(outputEmitter, times(1)).emit(anyString());
+ }
+
+ private static TCATestVESThresholdViolationCalculatorFlowlet createTestViolationCalculator(
+ final ObjectMappedTable<TCAMessageStatusEntity> vesMessageStatusTable,
+ final OutputEmitter outputEmitter, final Metrics metrics) {
+ doNothing().when(outputEmitter).emit(anyString());
+ doNothing().when(metrics).count(anyString(), anyInt());
+ doNothing().when(vesMessageStatusTable).write(anyString(), any(TCAMessageStatusEntity.class));
+ return new TCATestVESThresholdViolationCalculatorFlowlet(messageStatusTableName, outputEmitter,
+ vesMessageStatusTable, metrics);
+ }
+
+ private static <T extends TCAVESThresholdViolationCalculatorFlowlet> FlowletContext initializeFlowlet(
+ T calculatorFlowlet, ObjectMappedTable<TCAMessageStatusEntity> vesMessageStatusTable) {
+ final FlowletContext mockFlowletContext = getTestFlowletContextWithValidPolicy();
+ when(mockFlowletContext.getDataset(anyString())).thenReturn(vesMessageStatusTable);
+ when(mockFlowletContext.getInstanceId()).thenReturn(1);
+ ApplicationSpecification mockApplicationSpecification = Mockito.mock(ApplicationSpecification.class);
+ when(mockFlowletContext.getApplicationSpecification()).thenReturn(mockApplicationSpecification);
+ when(mockApplicationSpecification.getName()).thenReturn("TestTCAAppName");
+ try {
+ calculatorFlowlet.initialize(mockFlowletContext);
+ return mockFlowletContext;
+ } catch (Exception e) {
+ LOG.error("error while flowlet initialization");
+ throw new RuntimeException(e);
+ }
+ }
+
+}
diff --git a/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/it/TCAnalyticsAppConfigIT.java b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/it/TCAnalyticsAppConfigIT.java
new file mode 100644
index 0000000..aa1d413
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/it/TCAnalyticsAppConfigIT.java
@@ -0,0 +1,52 @@
+/*
+ * ===============================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.tca.it;
+
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.cdap.tca.BaseAnalyticsCDAPTCAIT;
+import org.openecomp.dcae.apod.analytics.cdap.tca.settings.TCATestAppConfig;
+import org.openecomp.dcae.apod.analytics.cdap.tca.settings.TCATestAppConfigHolder;
+import org.openecomp.dcae.apod.analytics.cdap.tca.settings.TCATestAppPreferences;
+
+/**
+ * @author Rajiv Singla . Creation Date: 10/25/2016.
+ */
+public class TCAnalyticsAppConfigIT extends BaseAnalyticsCDAPTCAIT {
+
+
+ @Test
+ public void createTestAppConfigJson() throws Exception {
+ final TCATestAppConfig tcaTestAppConfig = getTCATestAppConfig();
+ final TCATestAppConfigHolder appConfigHolder = new TCATestAppConfigHolder(tcaTestAppConfig);
+ final String appConfigJson = serializeModelToJson(appConfigHolder);
+ LOG.info("AppConfigJson: \n{}", appConfigJson);
+ writeToOutputTextFile("appSettings/tca_app_config.json", appConfigJson, TCAnalyticsAppConfigIT.class);
+ }
+
+ @Test
+ public void createTestAppPreferencesJson() throws Exception {
+ final TCATestAppPreferences tcaTestAppPreferences = getTCATestAppPreferences();
+ final String appPreferencesJson = serializeModelToJson(tcaTestAppPreferences);
+ LOG.info("AppPreferences: \n{}", appPreferencesJson);
+ writeToOutputTextFile("appSettings/tca_app_preferences.json",
+ appPreferencesJson, TCAnalyticsAppConfigIT.class);
+ }
+}
diff --git a/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/settings/TCATestAppConfig.java b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/settings/TCATestAppConfig.java
new file mode 100644
index 0000000..4376df0
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/settings/TCATestAppConfig.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.tca.settings;
+
+/**
+ * TCA Test App Config is used for testing purposes only
+ *
+ * @author Rajiv Singla . Creation Date: 11/3/2016.
+ */
+public class TCATestAppConfig extends TCAAppConfig {
+
+ public void setAppName(String appName) {
+ this.appName = appName;
+ }
+
+ public void setAppDescription(String appDescription) {
+ this.appDescription = appDescription;
+ }
+
+ public void setTcaSubscriberOutputStreamName(String tcaSubscriberOutputStreamName) {
+ this.tcaSubscriberOutputStreamName = tcaSubscriberOutputStreamName;
+ }
+
+ public void setThresholdCalculatorFlowletInstances(Integer thresholdCalculatorFlowletInstances) {
+ this.thresholdCalculatorFlowletInstances = thresholdCalculatorFlowletInstances;
+ }
+
+ public void setTcaVESMessageStatusTableName(String tcaVESMessageStatusTableName) {
+ this.tcaVESMessageStatusTableName = tcaVESMessageStatusTableName;
+ }
+
+ public void setTcaVESMessageStatusTableTTLSeconds(Integer tcaVESMessageStatusTableTTLSeconds) {
+ this.tcaVESMessageStatusTableTTLSeconds = tcaVESMessageStatusTableTTLSeconds;
+ }
+
+ public void setTcaVESAlertsTableName(String tcaVESAlertsTableName) {
+ this.tcaVESAlertsTableName = tcaVESAlertsTableName;
+ }
+
+ public void setTcaVESAlertsTableTTLSeconds(Integer tcaVESAlertsTableTTLSeconds) {
+ this.tcaVESAlertsTableTTLSeconds = tcaVESAlertsTableTTLSeconds;
+ }
+
+}
diff --git a/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/settings/TCATestAppConfigHolder.java b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/settings/TCATestAppConfigHolder.java
new file mode 100644
index 0000000..88d0207
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/settings/TCATestAppConfigHolder.java
@@ -0,0 +1,40 @@
+/*
+ * ===============================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.tca.settings;
+
+/**
+ * Holder for TCA Test App Config
+ *
+ * @author Rajiv Singla . Creation Date: 11/3/2016.
+ */
+public class TCATestAppConfigHolder {
+
+ private final TCATestAppConfig config;
+
+ public TCATestAppConfigHolder(TCATestAppConfig config) {
+ this.config = config;
+ }
+
+ public TCATestAppConfig getConfig() {
+ return config;
+ }
+
+}
diff --git a/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/settings/TCATestAppPreferences.java b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/settings/TCATestAppPreferences.java
new file mode 100644
index 0000000..6dd2d38
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/settings/TCATestAppPreferences.java
@@ -0,0 +1,140 @@
+/*
+ * ===============================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.tca.settings;
+
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+
+import java.util.Map;
+
+/**
+ * TCA Test App Preferences are used for testing purposes only
+ *
+ * @author Rajiv Singla . Creation Date: 11/3/2016.
+ */
+public class TCATestAppPreferences extends TCAAppPreferences {
+
+ private Map<String, String> policyPreferences;
+
+ public TCATestAppPreferences() {
+ }
+
+ public TCATestAppPreferences(final Map<String, String> policyPreferences) {
+ this.policyPreferences = policyPreferences;
+ }
+
+ @JsonAnyGetter
+ public Map<String, String> getPolicyPreferences() {
+ return policyPreferences;
+ }
+
+ public void setSubscriberHostName(String subscriberHostName) {
+ this.subscriberHostName = subscriberHostName;
+ }
+
+ public void setSubscriberHostPortNumber(Integer subscriberHostPort) {
+ this.subscriberHostPort = subscriberHostPort;
+ }
+
+ public void setSubscriberTopicName(String subscriberTopicName) {
+ this.subscriberTopicName = subscriberTopicName;
+ }
+
+ public void setSubscriberProtocol(String subscriberProtocol) {
+ this.subscriberProtocol = subscriberProtocol;
+ }
+
+ public void setSubscriberUserName(String subscriberUserName) {
+ this.subscriberUserName = subscriberUserName;
+ }
+
+ public void setSubscriberUserPassword(String subscriberUserPassword) {
+ this.subscriberUserPassword = subscriberUserPassword;
+ }
+
+ public void setSubscriberContentType(String subscriberContentType) {
+ this.subscriberContentType = subscriberContentType;
+ }
+
+ public void setSubscriberConsumerId(String subscriberConsumerId) {
+ this.subscriberConsumerId = subscriberConsumerId;
+ }
+
+ public void setSubscriberConsumerGroup(String subscriberConsumerGroup) {
+ this.subscriberConsumerGroup = subscriberConsumerGroup;
+ }
+
+ public void setSubscriberTimeoutMS(Integer subscriberTimeoutMS) {
+ this.subscriberTimeoutMS = subscriberTimeoutMS;
+ }
+
+ public void setSubscriberMessageLimit(Integer subscriberMessageLimit) {
+ this.subscriberMessageLimit = subscriberMessageLimit;
+ }
+
+ public void setSubscriberPollingInterval(Integer subscriberPollingInterval) {
+ this.subscriberPollingInterval = subscriberPollingInterval;
+ }
+
+ public void setPublisherHostName(String publisherHostName) {
+ this.publisherHostName = publisherHostName;
+ }
+
+ public void setPublisherHostPort(Integer publisherHostPort) {
+ this.publisherHostPort = publisherHostPort;
+ }
+
+ public void setPublisherTopicName(String publisherTopicName) {
+ this.publisherTopicName = publisherTopicName;
+ }
+
+ public void setPublisherProtocol(String publisherProtocol) {
+ this.publisherProtocol = publisherProtocol;
+ }
+
+ public void setPublisherUserName(String publisherUserName) {
+ this.publisherUserName = publisherUserName;
+ }
+
+ public void setPublisherUserPassword(String publisherUserPassword) {
+ this.publisherUserPassword = publisherUserPassword;
+ }
+
+ public void setPublisherContentType(String publisherContentType) {
+ this.publisherContentType = publisherContentType;
+ }
+
+ public void setPublisherMaxBatchSize(Integer publisherMaxBatchSize) {
+ this.publisherMaxBatchSize = publisherMaxBatchSize;
+ }
+
+ public void setPublisherMaxRecoveryQueueSize(Integer publisherMaxRecoveryQueueSize) {
+ this.publisherMaxRecoveryQueueSize = publisherMaxRecoveryQueueSize;
+ }
+
+ public void setPublisherPollingInterval(Integer publisherPollingInterval) {
+ this.publisherPollingInterval = publisherPollingInterval;
+ }
+
+ public void setEnableAlertCEFFormat(Boolean enableAlertCEFFormat) {
+ this.enableAlertCEFFormat = enableAlertCEFFormat;
+ }
+}
diff --git a/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/settings/TCATestAppPreferencesTest.java b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/settings/TCATestAppPreferencesTest.java
new file mode 100644
index 0000000..4272c61
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/settings/TCATestAppPreferencesTest.java
@@ -0,0 +1,41 @@
+/*
+ * ===============================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.tca.settings;
+
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.cdap.tca.BaseAnalyticsCDAPTCAUnitTest;
+
+import static org.junit.Assert.assertTrue;
+
+/**
+ * @author Rajiv Singla . Creation Date: 12/16/2016.
+ */
+public class TCATestAppPreferencesTest extends BaseAnalyticsCDAPTCAUnitTest {
+
+ @Test
+ public void testToString() throws Exception {
+ final TCATestAppPreferences tcaTestAppPreferences = getTCATestAppPreferences();
+ assertTrue(tcaTestAppPreferences.toString().contains("subscriberHostName"));
+ assertTrue(tcaTestAppPreferences.toString().contains("subscriberHostPort"));
+ assertTrue(tcaTestAppPreferences.toString().contains("publisherHostName"));
+ assertTrue(tcaTestAppPreferences.toString().contains("publisherHostPort"));
+ }
+}
diff --git a/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/utils/AppPreferencesToPublisherConfigMapperTest.java b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/utils/AppPreferencesToPublisherConfigMapperTest.java
new file mode 100644
index 0000000..79cca96
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/utils/AppPreferencesToPublisherConfigMapperTest.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.tca.utils;
+
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.cdap.tca.BaseAnalyticsCDAPTCAUnitTest;
+import org.openecomp.dcae.apod.analytics.cdap.tca.settings.TCATestAppPreferences;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRPublisherConfig;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+/**
+ * @author Manjesh Gowda. Creation Date: 11/21/2016.
+ */
+public class AppPreferencesToPublisherConfigMapperTest extends BaseAnalyticsCDAPTCAUnitTest {
+ @Test
+ public void testMapTCAConfigToPublisherConfigFunctionGood() {
+ DMaaPMRPublisherConfig dMaaPMRPublisherConfig =
+ (new AppPreferencesToPublisherConfigMapper()).apply(getTCATestAppPreferences());
+ assertEquals(dMaaPMRPublisherConfig.getHostName(), "PUBLISHER_HOST_NAME");
+ }
+
+ @Test
+ public void testMapTCAConfigToPublisherConfigFunctionMap() {
+ DMaaPMRPublisherConfig dMaaPMRPublisherConfig = AppPreferencesToPublisherConfigMapper.map(
+ getTCATestAppPreferences());
+ assertEquals(dMaaPMRPublisherConfig.getHostName(), "PUBLISHER_HOST_NAME");
+ }
+
+ @Test
+ public void testMapTCAConfigToPublisherConfigFunction() {
+ final TCATestAppPreferences tcaAppPreferences = new TCATestAppPreferences();
+ final String publisherHostName = "publisherHostName";
+ final String publisherTopicName = "publisherTopicName";
+ tcaAppPreferences.setPublisherHostName(publisherHostName);
+ tcaAppPreferences.setPublisherTopicName(publisherTopicName);
+ DMaaPMRPublisherConfig dMaaPMRPublisherConfig =
+ (new AppPreferencesToPublisherConfigMapper()).apply(tcaAppPreferences);
+ assertTrue(publisherHostName.equals(dMaaPMRPublisherConfig.getHostName()));
+ assertTrue(publisherTopicName.equals(dMaaPMRPublisherConfig.getTopicName()));
+
+ }
+}
diff --git a/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/utils/AppPreferencesToSubscriberConfigMapperTest.java b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/utils/AppPreferencesToSubscriberConfigMapperTest.java
new file mode 100644
index 0000000..b600caf
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/utils/AppPreferencesToSubscriberConfigMapperTest.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.tca.utils;
+
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.cdap.tca.BaseAnalyticsCDAPTCAUnitTest;
+import org.openecomp.dcae.apod.analytics.cdap.tca.settings.TCATestAppPreferences;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRSubscriberConfig;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+/**
+ * @author Manjesh Gowda. Creation Date: 11/21/2016.
+ */
+public class AppPreferencesToSubscriberConfigMapperTest extends BaseAnalyticsCDAPTCAUnitTest {
+
+ @Test
+ public void testMapTCAConfigToSubscriberConfigFunctionGood() {
+ DMaaPMRSubscriberConfig dMaaPMRSubscriberConfig =
+ (new AppPreferencesToSubscriberConfigMapper()).apply(getTCATestAppPreferences());
+ assertEquals(dMaaPMRSubscriberConfig.getHostName(), "SUBSCRIBER_HOST_NAME");
+ }
+
+ @Test
+ public void testMapTCAConfigToSubscriberConfigFunctionMap() {
+ DMaaPMRSubscriberConfig dMaaPMRSubscriberConfig =
+ AppPreferencesToSubscriberConfigMapper.map(getTCATestAppPreferences());
+ assertEquals(dMaaPMRSubscriberConfig.getHostName(), "SUBSCRIBER_HOST_NAME");
+ }
+
+ @Test
+ public void testMapTCAConfigToSubscriberConfigFunction() {
+ final TCATestAppPreferences tcaAppPreferences = new TCATestAppPreferences();
+ final String subscriberHostname = "subscriberHostname";
+ tcaAppPreferences.setSubscriberHostName(subscriberHostname);
+ final String subscriberTopicName = "subscriberTopicName";
+ tcaAppPreferences.setSubscriberTopicName(subscriberTopicName);
+ DMaaPMRSubscriberConfig dMaaPMRSubscriberConfig =
+ (new AppPreferencesToSubscriberConfigMapper()).apply(tcaAppPreferences);
+ assertTrue(subscriberHostname.equals(dMaaPMRSubscriberConfig.getHostName()));
+ assertTrue(subscriberTopicName.equals(dMaaPMRSubscriberConfig.getTopicName()));
+ }
+}
diff --git a/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/utils/CDAPTCAUtilsTest.java b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/utils/CDAPTCAUtilsTest.java
new file mode 100644
index 0000000..75f336d
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/utils/CDAPTCAUtilsTest.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.tca.utils;
+
+import co.cask.cdap.api.RuntimeContext;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.cdap.tca.BaseAnalyticsCDAPTCAUnitTest;
+import org.openecomp.dcae.apod.analytics.cdap.tca.settings.TCAAppPreferences;
+import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.TCAPolicy;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertThat;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+/**
+ * @author Rajiv Singla . Creation Date: 11/9/2016.
+ */
+public class CDAPTCAUtilsTest extends BaseAnalyticsCDAPTCAUnitTest {
+
+ @Test
+ public void testGetValidatedTCAAppPreferences() throws Exception {
+ RuntimeContext runtimeContext = mock(RuntimeContext.class);
+ when(runtimeContext.getRuntimeArguments()).thenReturn(getPreferenceMap());
+ TCAAppPreferences validatedTCAAppPreferences = CDAPTCAUtils.getValidatedTCAAppPreferences(runtimeContext);
+ assertEquals(validatedTCAAppPreferences.getSubscriberHostName(), "mrlocal-mtnjftle01.homer.com");
+ }
+
+ @Test
+ public void testConvertRuntimeContextToTCAPolicy() throws Exception {
+
+ final TCAPolicy tcaPolicy =
+ CDAPTCAUtils.getValidatedTCAPolicyPreferences(getTestFlowletContextWithValidPolicy());
+ assertThat("Policy Domain must be measurementsForVfScaling",
+ tcaPolicy.getDomain(), is("measurementsForVfScaling"));
+ assertThat("Policy must have 2 metrics per functional roles",
+ tcaPolicy.getMetricsPerFunctionalRole().size(), is(2));
+ }
+
+ @Test
+ public void testConvertRuntimeContextToTCAPolicyFromJSON() throws Exception {
+
+ final TCAPolicy tcaPolicy =
+ CDAPTCAUtils.getValidatedTCAPolicyPreferences(getTestFlowletContextWithValidPolicyFromJSON());
+ assertThat("Policy Domain must be measurementsForVfScaling",
+ tcaPolicy.getDomain(), is("measurementsForVfScaling"));
+ assertThat("Policy must have 2 metrics per functional roles",
+ tcaPolicy.getMetricsPerFunctionalRole().size(), is(2));
+ }
+
+}
diff --git a/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/validator/TCAAppConfigValidatorTest.java b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/validator/TCAAppConfigValidatorTest.java
new file mode 100644
index 0000000..fb82d33
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/validator/TCAAppConfigValidatorTest.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.tca.validator;
+
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.cdap.tca.BaseAnalyticsCDAPTCAUnitTest;
+import org.openecomp.dcae.apod.analytics.cdap.tca.settings.TCAAppConfig;
+import org.openecomp.dcae.apod.analytics.cdap.tca.settings.TCATestAppConfig;
+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: 12/16/2016.
+ */
+public class TCAAppConfigValidatorTest extends BaseAnalyticsCDAPTCAUnitTest {
+
+
+ @Test
+ public void validateAppSettingsWhenAppConfigIsValid() throws Exception {
+ final TCAAppConfigValidator tcaAppConfigValidator = new TCAAppConfigValidator();
+ final TCATestAppConfig tcaTestAppConfig = getTCATestAppConfig();
+ final GenericValidationResponse<TCAAppConfig> validationResponse =
+ tcaAppConfigValidator.validateAppSettings(tcaTestAppConfig);
+ assertFalse(validationResponse.hasErrors());
+ }
+
+ @Test
+ public void testWhenSubscriberOutputStreamIsNull() throws Exception {
+ final TCAAppConfigValidator tcaAppConfigValidator = new TCAAppConfigValidator();
+ final TCATestAppConfig tcaTestAppConfig = getTCATestAppConfig();
+ tcaTestAppConfig.setTcaSubscriberOutputStreamName(null);
+ final GenericValidationResponse<TCAAppConfig> validationResponse =
+ tcaAppConfigValidator.validateAppSettings(tcaTestAppConfig);
+ assertTrue(validationResponse.hasErrors());
+ }
+
+ @Test
+ public void testWhenVESMessageStatusTableNameIsNull() throws Exception {
+ final TCAAppConfigValidator tcaAppConfigValidator = new TCAAppConfigValidator();
+ final TCATestAppConfig tcaTestAppConfig = getTCATestAppConfig();
+ tcaTestAppConfig.setTcaVESMessageStatusTableName(null);
+ final GenericValidationResponse<TCAAppConfig> validationResponse =
+ tcaAppConfigValidator.validateAppSettings(tcaTestAppConfig);
+ assertTrue(validationResponse.hasErrors());
+ }
+
+ @Test
+ public void testWhenVESAlertsTableNameIsNull() throws Exception {
+ final TCAAppConfigValidator tcaAppConfigValidator = new TCAAppConfigValidator();
+ final TCATestAppConfig tcaTestAppConfig = getTCATestAppConfig();
+ tcaTestAppConfig.setTcaVESAlertsTableName(null);
+ final GenericValidationResponse<TCAAppConfig> validationResponse =
+ tcaAppConfigValidator.validateAppSettings(tcaTestAppConfig);
+ assertTrue(validationResponse.hasErrors());
+ }
+
+}
diff --git a/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/validator/TCAPolicyPreferencesValidatorTest.java b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/validator/TCAPolicyPreferencesValidatorTest.java
new file mode 100644
index 0000000..bfe288f
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/validator/TCAPolicyPreferencesValidatorTest.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.tca.validator;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.cdap.tca.BaseAnalyticsCDAPTCAUnitTest;
+import org.openecomp.dcae.apod.analytics.cdap.tca.settings.TCAPolicyPreferences;
+import org.openecomp.dcae.apod.analytics.common.validation.GenericValidationResponse;
+import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.MetricsPerFunctionalRole;
+import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.Threshold;
+
+import java.util.Collections;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+/**
+ * @author Rajiv Singla . Creation Date: 12/16/2016.
+ */
+public class TCAPolicyPreferencesValidatorTest extends BaseAnalyticsCDAPTCAUnitTest {
+
+ private TCAPolicyPreferencesValidator tcaPolicyPreferencesValidator;
+ private TCAPolicyPreferences tcaPolicyPreferences;
+
+ @Before
+ public void before() {
+ tcaPolicyPreferencesValidator = new TCAPolicyPreferencesValidator();
+ tcaPolicyPreferences = getSampleTCAPolicyPreferences();
+ }
+
+ @Test
+ public void testValidateAppSettingsWhenSettingsAreValid() throws Exception {
+ final GenericValidationResponse<TCAPolicyPreferences> validationResponse =
+ tcaPolicyPreferencesValidator.validateAppSettings(tcaPolicyPreferences);
+ assertFalse(validationResponse.hasErrors());
+ }
+
+ @Test
+ public void testValidateAppSettingsWhenDomainIsNullAndFunctionRoleIsEmpty() throws Exception {
+ tcaPolicyPreferences.setDomain(null);
+ tcaPolicyPreferences.setMetricsPerFunctionalRole(Collections.<MetricsPerFunctionalRole>emptyList());
+ final GenericValidationResponse<TCAPolicyPreferences> validationResponse =
+ tcaPolicyPreferencesValidator.validateAppSettings(tcaPolicyPreferences);
+ assertTrue(validationResponse.hasErrors());
+ assertTrue(validationResponse.getErrorMessages().size() == 2);
+ }
+
+ @Test
+ public void testValidateAppSettingsWhenThresholdIsEmpty() throws Exception {
+ tcaPolicyPreferences.getMetricsPerFunctionalRole().get(0).setThresholds(Collections.<Threshold>emptyList());
+ final GenericValidationResponse<TCAPolicyPreferences> validationResponse =
+ tcaPolicyPreferencesValidator.validateAppSettings(tcaPolicyPreferences);
+ assertTrue(validationResponse.hasErrors());
+ assertTrue(validationResponse.getErrorMessages().size() == 1);
+ }
+
+ @Test
+ public void testValidateAppSettingsWhenThresholdPathIsMissing() throws Exception {
+ tcaPolicyPreferences.getMetricsPerFunctionalRole().get(0).getThresholds().get(0).setFieldPath(null);
+ final GenericValidationResponse<TCAPolicyPreferences> validationResponse =
+ tcaPolicyPreferencesValidator.validateAppSettings(tcaPolicyPreferences);
+ assertTrue(validationResponse.hasErrors());
+ assertTrue(validationResponse.getErrorMessages().size() == 1);
+ }
+
+}
diff --git a/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/validator/TCAPreferencesValidatorTest.java b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/validator/TCAPreferencesValidatorTest.java
new file mode 100644
index 0000000..1cc30b9
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/validator/TCAPreferencesValidatorTest.java
@@ -0,0 +1,74 @@
+/*
+ * ===============================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.tca.validator;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.cdap.tca.BaseAnalyticsCDAPTCAUnitTest;
+import org.openecomp.dcae.apod.analytics.cdap.tca.settings.TCAAppPreferences;
+import org.openecomp.dcae.apod.analytics.cdap.tca.settings.TCATestAppPreferences;
+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: 12/19/2016.
+ */
+public class TCAPreferencesValidatorTest extends BaseAnalyticsCDAPTCAUnitTest {
+
+ private TCAPreferencesValidator tcaPreferencesValidator;
+ private TCATestAppPreferences tcaTestAppPreferences;
+
+ @Before
+ public void before() {
+ tcaPreferencesValidator = new TCAPreferencesValidator();
+ tcaTestAppPreferences = getTCATestAppPreferences();
+ }
+
+ @Test
+ public void validateAppSettingsWithValidParameters() throws Exception {
+ final GenericValidationResponse<TCAAppPreferences> validationResponse =
+ tcaPreferencesValidator.validateAppSettings(tcaTestAppPreferences);
+ assertFalse(validationResponse.hasErrors());
+ }
+
+ @Test
+ public void validateAppSettingsWhenSubscriberHostOrTopicNameIsNotPresent() throws Exception {
+ tcaTestAppPreferences.setSubscriberHostName(null);
+ tcaTestAppPreferences.setSubscriberTopicName(null);
+ final GenericValidationResponse<TCAAppPreferences> validationResponse =
+ tcaPreferencesValidator.validateAppSettings(tcaTestAppPreferences);
+ assertTrue(validationResponse.hasErrors());
+ assertTrue(validationResponse.getErrorMessages().size() == 2);
+ }
+
+ @Test
+ public void validateAppSettingsWhenPublisherHostOrTopicNameIsNotPresent() throws Exception {
+ tcaTestAppPreferences.setPublisherHostName(null);
+ tcaTestAppPreferences.setPublisherTopicName(null);
+ final GenericValidationResponse<TCAAppPreferences> validationResponse =
+ tcaPreferencesValidator.validateAppSettings(tcaTestAppPreferences);
+ assertTrue(validationResponse.hasErrors());
+ assertTrue(validationResponse.getErrorMessages().size() == 2);
+ }
+
+}
diff --git a/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/BaseTCADMaaPMRWorkerTest.java b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/BaseTCADMaaPMRWorkerTest.java
new file mode 100644
index 0000000..fa48ea8
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/BaseTCADMaaPMRWorkerTest.java
@@ -0,0 +1,99 @@
+/*
+ * ===============================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.tca.worker;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.cdap.tca.BaseAnalyticsCDAPTCAUnitTest;
+import org.openecomp.dcae.apod.analytics.common.AnalyticsConstants;
+import org.quartz.Scheduler;
+
+import java.util.concurrent.atomic.AtomicBoolean;
+
+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: 12/19/2016.
+ */
+public class BaseTCADMaaPMRWorkerTest extends BaseAnalyticsCDAPTCAUnitTest {
+
+ private static final String SCHEDULER_NAME = "testSchedulerName";
+
+ private Scheduler mockScheduler;
+ private AtomicBoolean mockIsSchedulerShutdown;
+ private BaseTestTCADMaaPMRWorker baseTestTCADMaaPMRWorker;
+
+ private static class BaseTestTCADMaaPMRWorker extends BaseTCADMaaPMRWorker {
+
+ public BaseTestTCADMaaPMRWorker(final Scheduler scheduler, final AtomicBoolean isSchedulerShutdown) {
+ this.scheduler = scheduler;
+ this.isSchedulerShutdown = isSchedulerShutdown;
+ }
+
+ }
+
+ @Before
+ public void before() throws Exception {
+ mockScheduler = mock(Scheduler.class);
+ mockIsSchedulerShutdown = mock(AtomicBoolean.class);
+ baseTestTCADMaaPMRWorker = new BaseTestTCADMaaPMRWorker(mockScheduler, mockIsSchedulerShutdown);
+ when(mockScheduler.getSchedulerName()).thenReturn(SCHEDULER_NAME);
+ doNothing().when(mockScheduler).start();
+ doNothing().when(mockScheduler).shutdown();
+ }
+
+ @Test
+ public void testRun() throws Exception {
+ createShutdownHookThread();
+ baseTestTCADMaaPMRWorker.run();
+ verify(mockScheduler, times(1)).start();
+ }
+
+ @Test
+ public void testStop() throws Exception {
+ baseTestTCADMaaPMRWorker.stop();
+ verify(mockScheduler, times(1)).shutdown();
+ }
+
+ /**
+ * A helper thread which shuts down the scheduler after some time
+ */
+ public void createShutdownHookThread() {
+ new Thread(new Runnable() {
+ @Override
+ public void run() {
+ try {
+ Thread.yield();
+ Thread.sleep(AnalyticsConstants.TCA_DEFAULT_WORKER_SHUTDOWN_CHECK_INTERVAL_MS * 2);
+ } catch (InterruptedException e) {
+ LOG.error("Interrupted Exception while running test: {}", e);
+ throw new RuntimeException(e);
+ }
+ mockIsSchedulerShutdown.getAndSet(true);
+ }
+ }).start();
+ }
+
+}
diff --git a/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/TCADMaaPMRPublisherJobTest.java b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/TCADMaaPMRPublisherJobTest.java
new file mode 100644
index 0000000..5f7e989
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/TCADMaaPMRPublisherJobTest.java
@@ -0,0 +1,158 @@
+/*
+ * ===============================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.tca.worker;
+
+import co.cask.cdap.api.TxRunnable;
+import co.cask.cdap.api.metrics.Metrics;
+import co.cask.cdap.api.worker.WorkerContext;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.ArgumentMatchers;
+import org.openecomp.dcae.apod.analytics.cdap.common.CDAPMetricsConstants;
+import org.openecomp.dcae.apod.analytics.cdap.common.persistance.tca.TCAVESAlertEntity;
+import org.openecomp.dcae.apod.analytics.cdap.tca.BaseAnalyticsCDAPTCAUnitTest;
+import org.openecomp.dcae.apod.analytics.common.AnalyticsConstants;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.response.DMaaPMRPublisherResponse;
+import org.openecomp.dcae.apod.analytics.dmaap.service.publisher.DMaaPMRPublisher;
+import org.quartz.JobDataMap;
+import org.quartz.JobExecutionContext;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
+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: 12/20/2016.
+ */
+public class TCADMaaPMRPublisherJobTest extends BaseAnalyticsCDAPTCAUnitTest {
+
+ private JobExecutionContext jobExecutionContext;
+ private TCADMaaPMRPublisherJob publisherJob;
+ private JobDataMap jobDataMap;
+ private WorkerContext workerContext;
+ private DMaaPMRPublisher publisher;
+ private Metrics metrics;
+
+ private class TCATestDMaaPMRPublisherJob extends TCADMaaPMRPublisherJob {
+
+ private Map<String, TCAVESAlertEntity> alertEntityMap;
+
+ public TCATestDMaaPMRPublisherJob(Map<String, TCAVESAlertEntity> alertEntityMap) {
+ this.alertEntityMap = alertEntityMap;
+ }
+
+ @Override
+ protected Map<String, TCAVESAlertEntity> getNewAlertsMap(
+ String cdapAlertsTableName, WorkerContext workerContext) {
+ return alertEntityMap;
+ }
+
+ @Override
+ protected void deleteAlertsByKey(String cdapAlertsTableName, WorkerContext workerContext,
+ Set<String> rowKeys, Metrics metrics) {
+ // do nothing
+ }
+ }
+
+ @Before
+ public void before() throws Exception {
+
+ jobExecutionContext = mock(JobExecutionContext.class);
+ workerContext = mock(WorkerContext.class);
+
+ metrics = mock(Metrics.class);
+ doNothing().when(metrics).count(anyString(), anyInt());
+ publisher = mock(DMaaPMRPublisher.class);
+
+ jobDataMap = mock(JobDataMap.class);
+ when(jobDataMap.getString(eq(AnalyticsConstants.CDAP_ALERTS_TABLE_VARIABLE_NAME))).thenReturn
+ ("testAlertTableName");
+ when(jobDataMap.get(eq(AnalyticsConstants.WORKER_CONTEXT_VARIABLE_NAME))).thenReturn(workerContext);
+ when(jobDataMap.get(eq(AnalyticsConstants.DMAAP_PUBLISHER_VARIABLE_NAME))).thenReturn(publisher);
+ when(jobDataMap.get(AnalyticsConstants.DMAAP_METRICS_VARIABLE_NAME)).thenReturn(metrics);
+ when(jobExecutionContext.getMergedJobDataMap()).thenReturn(jobDataMap);
+
+
+ publisherJob = new TCADMaaPMRPublisherJob();
+ }
+
+ @Test
+ public void testExecuteWhenNoAlertsFoundInAlertsTable() throws Exception {
+ doNothing().when(workerContext).execute(any(TxRunnable.class));
+ publisherJob.execute(jobExecutionContext);
+ verify(metrics, times(1))
+ .count(eq(CDAPMetricsConstants.TCA_PUBLISHER_NO_NEW_ALERTS_LOOKUP_METRIC), eq(1));
+ }
+
+ @Test
+ public void testExecuteWhenAlertsWereFoundInAlertsTable() throws Exception {
+
+ final DMaaPMRPublisherResponse publisherResponse = mock(DMaaPMRPublisherResponse.class);
+ when(publisherResponse.getResponseCode()).thenReturn(200);
+ when(publisherResponse.getResponseMessage()).thenReturn("success");
+ when(publisherResponse.getPendingMessagesCount()).thenReturn(0);
+ when(publisher.publish(ArgumentMatchers.<String>anyList())).thenReturn(publisherResponse);
+
+ final TCAVESAlertEntity tcavesAlertEntity = mock(TCAVESAlertEntity.class);
+ when(tcavesAlertEntity.getAlertMessage()).thenReturn("testAlertMessage");
+ Map<String, TCAVESAlertEntity> alertEntityMap = new HashMap<>();
+ alertEntityMap.put("key1", tcavesAlertEntity);
+ final TCATestDMaaPMRPublisherJob testPublisherJob = new TCATestDMaaPMRPublisherJob(alertEntityMap);
+ testPublisherJob.execute(jobExecutionContext);
+ verify(metrics, times(1))
+ .count(eq(CDAPMetricsConstants.TCA_PUBLISHER_NEW_ALERTS_METRIC), eq(1));
+ verify(metrics, times(1))
+ .count(eq(CDAPMetricsConstants.TCA_PUBLISHER_SUCCESSFUL_DMAAP_RESPONSE_METRIC), eq(1));
+ }
+
+ @Test
+ public void testExecuteWhenAlertsWereFoundButPublisherReturnedNon200ResponseCode() throws Exception {
+
+ final DMaaPMRPublisherResponse publisherResponse = mock(DMaaPMRPublisherResponse.class);
+ when(publisherResponse.getResponseCode()).thenReturn(500);
+ when(publisherResponse.getResponseMessage()).thenReturn("failed");
+ when(publisherResponse.getPendingMessagesCount()).thenReturn(0);
+ when(publisher.publish(ArgumentMatchers.<String>anyList())).thenReturn(publisherResponse);
+
+ final TCAVESAlertEntity tcavesAlertEntity = mock(TCAVESAlertEntity.class);
+ when(tcavesAlertEntity.getAlertMessage()).thenReturn("testAlertMessage");
+ Map<String, TCAVESAlertEntity> alertEntityMap = new HashMap<>();
+ alertEntityMap.put("key1", tcavesAlertEntity);
+ final TCATestDMaaPMRPublisherJob testPublisherJob = new TCATestDMaaPMRPublisherJob(alertEntityMap);
+ testPublisherJob.execute(jobExecutionContext);
+ verify(metrics, times(1))
+ .count(eq(CDAPMetricsConstants.TCA_PUBLISHER_NEW_ALERTS_METRIC), eq(1));
+ verify(metrics, times(1))
+ .count(eq(CDAPMetricsConstants.TCA_PUBLISHER_UNSUCCESSFUL_DMAAP_RESPONSE_METRIC), eq(1));
+ }
+
+
+}
diff --git a/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/TCADMaaPMRSubscriberJobTest.java b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/TCADMaaPMRSubscriberJobTest.java
new file mode 100644
index 0000000..d28dff0
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/TCADMaaPMRSubscriberJobTest.java
@@ -0,0 +1,135 @@
+/*
+ * ===============================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.tca.worker;
+
+import co.cask.cdap.api.metrics.Metrics;
+import co.cask.cdap.api.worker.WorkerContext;
+import com.google.common.collect.ImmutableList;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.openecomp.dcae.apod.analytics.cdap.common.CDAPComponentsConstants;
+import org.openecomp.dcae.apod.analytics.cdap.common.CDAPMetricsConstants;
+import org.openecomp.dcae.apod.analytics.cdap.tca.BaseAnalyticsCDAPTCAUnitTest;
+import org.openecomp.dcae.apod.analytics.common.AnalyticsConstants;
+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 org.quartz.JobDataMap;
+import org.quartz.JobExecutionContext;
+
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.Collections;
+
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.doThrow;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+/**
+ * @author Rajiv Singla . Creation Date: 12/20/2016.
+ */
+public class TCADMaaPMRSubscriberJobTest extends BaseAnalyticsCDAPTCAUnitTest {
+
+ private JobExecutionContext jobExecutionContext;
+ private TCADMaaPMRSubscriberJob subscriberJob;
+ private JobDataMap jobDataMap;
+ private WorkerContext workerContext;
+ private DMaaPMRSubscriber subscriber;
+ private Metrics metrics;
+
+
+ @Before
+ public void before() throws Exception {
+
+ jobExecutionContext = mock(JobExecutionContext.class);
+ workerContext = mock(WorkerContext.class);
+
+ metrics = mock(Metrics.class);
+ doNothing().when(metrics).count(anyString(), anyInt());
+ subscriber = mock(DMaaPMRSubscriber.class);
+
+ jobDataMap = mock(JobDataMap.class);
+ when(jobDataMap.getString(eq(AnalyticsConstants.CDAP_STREAM_VARIABLE_NAME))).thenReturn
+ (CDAPComponentsConstants.TCA_DEFAULT_SUBSCRIBER_OUTPUT_NAME_STREAM);
+ when(jobDataMap.get(eq(AnalyticsConstants.WORKER_CONTEXT_VARIABLE_NAME))).thenReturn(workerContext);
+ when(jobDataMap.get(eq(AnalyticsConstants.DMAAP_SUBSCRIBER_VARIABLE_NAME))).thenReturn(subscriber);
+ when(jobDataMap.get(AnalyticsConstants.DMAAP_METRICS_VARIABLE_NAME)).thenReturn(metrics);
+ when(jobExecutionContext.getMergedJobDataMap()).thenReturn(jobDataMap);
+
+ doNothing().when(workerContext).write(anyString(), anyString());
+
+ subscriberJob = new TCADMaaPMRSubscriberJob();
+ }
+
+ @Test
+ public void testExecuteWhenMessagesAreFound() throws Exception {
+ final DMaaPMRSubscriberResponse subscriberResponse = mock(DMaaPMRSubscriberResponse.class);
+ when(subscriberResponse.getResponseCode()).thenReturn(200);
+ when(subscriberResponse.getResponseMessage()).thenReturn("testMessage");
+ when(subscriberResponse.getFetchedMessages()).thenReturn(ImmutableList.of("testMessage1", "testMessage1"));
+ when(subscriber.fetchMessages()).thenReturn(subscriberResponse);
+ subscriberJob.execute(jobExecutionContext);
+ verify(metrics, Mockito.times(1)).count(eq(CDAPMetricsConstants
+ .DMAAP_MR_SUBSCRIBER_TOTAL_MESSAGES_PROCESSED_METRIC), eq(2));
+ }
+
+ @Test
+ public void testExecuteWhenNoMessagesFound() throws Exception {
+ final DMaaPMRSubscriberResponse subscriberResponse = mock(DMaaPMRSubscriberResponse.class);
+ when(subscriberResponse.getResponseCode()).thenReturn(200);
+ when(subscriberResponse.getResponseMessage()).thenReturn("no messages");
+ when(subscriberResponse.getFetchedMessages()).thenReturn(Collections.<String>emptyList());
+ when(subscriber.fetchMessages()).thenReturn(subscriberResponse);
+ subscriberJob.execute(jobExecutionContext);
+ verify(metrics, Mockito.times(1)).count(eq(CDAPMetricsConstants
+ .DMAAP_MR_SUBSCRIBER_RESPONSES_WITH_NO_MESSAGES_METRIC), eq(1));
+ }
+
+
+ @Test
+ public void testExecuteWhenSubscriberReturnNonSuccessfulReturnCode() throws Exception {
+ final DMaaPMRSubscriberResponse subscriberResponse = mock(DMaaPMRSubscriberResponse.class);
+ when(subscriberResponse.getResponseCode()).thenReturn(500);
+ when(subscriber.fetchMessages()).thenReturn(subscriberResponse);
+ subscriberJob.execute(jobExecutionContext);
+ verify(metrics, Mockito.times(1)).count(eq(CDAPMetricsConstants
+ .DMAAP_MR_SUBSCRIBER_UNSUCCESSFUL_RESPONSES_METRIC), eq(1));
+ }
+
+ @Test(expected = DCAEAnalyticsRuntimeException.class)
+ public void testExecuteWhenWritingToCDAPStreamThrowsException() throws Exception {
+ final DMaaPMRSubscriberResponse subscriberResponse = mock(DMaaPMRSubscriberResponse.class);
+ when(subscriberResponse.getResponseCode()).thenReturn(200);
+ when(subscriberResponse.getFetchedMessages()).thenReturn(Arrays.asList("TestMessage"));
+ when(subscriber.fetchMessages()).thenReturn(subscriberResponse);
+ doThrow(new IOException()).when(workerContext).write(anyString(), anyString());
+ subscriberJob.execute(jobExecutionContext);
+ }
+
+
+
+}
diff --git a/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/TCADMaaPPublisherWorkerTest.java b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/TCADMaaPPublisherWorkerTest.java
new file mode 100644
index 0000000..f2eeef8
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/TCADMaaPPublisherWorkerTest.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.tca.worker;
+
+import co.cask.cdap.api.worker.WorkerConfigurer;
+import co.cask.cdap.api.worker.WorkerContext;
+import org.junit.Before;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.cdap.common.CDAPComponentsConstants;
+import org.openecomp.dcae.apod.analytics.cdap.common.exception.CDAPSettingsException;
+import org.openecomp.dcae.apod.analytics.cdap.tca.BaseAnalyticsCDAPTCAUnitTest;
+
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
+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: 12/20/2016.
+ */
+public class TCADMaaPPublisherWorkerTest extends BaseAnalyticsCDAPTCAUnitTest {
+
+ private static final String VES_ALERTS_TABLE_NAME = "vesAlertsTable";
+
+ private WorkerConfigurer workerConfigurer;
+ private WorkerContext workerContext;
+ private TCADMaaPPublisherWorker publisherWorker;
+
+ @Before
+ public void before() throws Exception {
+ workerConfigurer = mock(WorkerConfigurer.class);
+ workerContext = mock(WorkerContext.class);
+ doNothing().when(workerConfigurer).setName(anyString());
+ doNothing().when(workerConfigurer).setDescription(anyString());
+ publisherWorker = new TCADMaaPPublisherWorker(VES_ALERTS_TABLE_NAME);
+
+ }
+
+ @Test
+ public void testConfigure() throws Exception {
+ publisherWorker.configure(workerConfigurer);
+ verify(workerConfigurer, times(1))
+ .setName(eq(CDAPComponentsConstants.TCA_FIXED_DMAAP_PUBLISHER_WORKER));
+ verify(workerConfigurer, times(1))
+ .setDescription(eq(CDAPComponentsConstants.TCA_FIXED_DMAAP_PUBLISHER_DESCRIPTION_WORKER));
+ }
+
+ @Test(expected = CDAPSettingsException.class)
+ public void testInitializeWhenSettingsHaveErrors() throws Exception {
+ publisherWorker.initialize(workerContext);
+ }
+
+ @Test
+ public void testInitializeWhenSettingsAreValid() throws Exception {
+ when(workerContext.getRuntimeArguments()).thenReturn(getPreferenceMap());
+ publisherWorker.initialize(workerContext);
+ }
+
+}
diff --git a/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/TCADMaaPSubscriberWorkerTest.java b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/TCADMaaPSubscriberWorkerTest.java
new file mode 100644
index 0000000..d74669b
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/test/java/org/openecomp/dcae/apod/analytics/cdap/tca/worker/TCADMaaPSubscriberWorkerTest.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.tca.worker;
+
+import co.cask.cdap.api.worker.WorkerConfigurer;
+import co.cask.cdap.api.worker.WorkerContext;
+import org.junit.Before;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.cdap.common.CDAPComponentsConstants;
+import org.openecomp.dcae.apod.analytics.cdap.common.exception.CDAPSettingsException;
+import org.openecomp.dcae.apod.analytics.cdap.tca.BaseAnalyticsCDAPTCAUnitTest;
+
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
+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: 12/20/2016.
+ */
+public class TCADMaaPSubscriberWorkerTest extends BaseAnalyticsCDAPTCAUnitTest {
+
+ private static final String TEST_SUBSCRIBER_OUTPUT_STREAM_NAME = "testSubscriberOutputStream";
+
+ private WorkerConfigurer workerConfigurer;
+ private WorkerContext workerContext;
+ private TCADMaaPSubscriberWorker subscriberWorker;
+
+ @Before
+ public void before() throws Exception {
+ workerConfigurer = mock(WorkerConfigurer.class);
+ workerContext = mock(WorkerContext.class);
+ doNothing().when(workerConfigurer).setName(anyString());
+ doNothing().when(workerConfigurer).setDescription(anyString());
+ subscriberWorker =
+ new TCADMaaPSubscriberWorker(TEST_SUBSCRIBER_OUTPUT_STREAM_NAME);
+
+ }
+
+ @Test
+ public void testConfigure() throws Exception {
+ subscriberWorker.configure(workerConfigurer);
+ verify(workerConfigurer, times(1))
+ .setName(eq(CDAPComponentsConstants.TCA_FIXED_DMAAP_SUBSCRIBER_WORKER));
+ verify(workerConfigurer, times(1))
+ .setDescription(eq(CDAPComponentsConstants.TCA_FIXED_DMAAP_SUBSCRIBER_DESCRIPTION_WORKER));
+ }
+
+ @Test(expected = CDAPSettingsException.class)
+ public void testInitializeWhenSettingsHaveErrors() throws Exception {
+ subscriberWorker.initialize(workerContext);
+ }
+
+ @Test
+ public void testInitializeWhenSettingsAreValid() throws Exception {
+ when(workerContext.getRuntimeArguments()).thenReturn(getPreferenceMap());
+ subscriberWorker.initialize(workerContext);
+ }
+
+}
diff --git a/dcae-analytics-cdap-tca/src/test/resources/data/json/cef/cef_message.json b/dcae-analytics-cdap-tca/src/test/resources/data/json/cef/cef_message.json
new file mode 100644
index 0000000..52cf53b
--- /dev/null
+++ b/dcae-analytics-cdap-tca/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-tca/src/test/resources/data/json/cef/cef_message_with_threshold_violation.json b/dcae-analytics-cdap-tca/src/test/resources/data/json/cef/cef_message_with_threshold_violation.json
new file mode 100644
index 0000000..bfb1672
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/test/resources/data/json/cef/cef_message_with_threshold_violation.json
@@ -0,0 +1,37 @@
+{
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 20000,
+ "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-tca/src/test/resources/data/json/cef/cef_messages.json b/dcae-analytics-cdap-tca/src/test/resources/data/json/cef/cef_messages.json
new file mode 100644
index 0000000..bc7a924
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/test/resources/data/json/cef/cef_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-tca/src/test/resources/data/json/policy/tca_policy.json b/dcae-analytics-cdap-tca/src/test/resources/data/json/policy/tca_policy.json
new file mode 100644
index 0000000..1bf9e83
--- /dev/null
+++ b/dcae-analytics-cdap-tca/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-tca/src/test/resources/data/properties/tca_controller_policy.properties b/dcae-analytics-cdap-tca/src/test/resources/data/properties/tca_controller_policy.properties
new file mode 100644
index 0000000..2f6921f
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/test/resources/data/properties/tca_controller_policy.properties
@@ -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===========================================
+#
+
+domain=measurementsForVfScaling
+
+configuration.metricsPerFunctionalRole.vFirewall.policy.functionalRole=vFirewall
+configuration.metricsPerFunctionalRole.vFirewall.policyName=configuration.dcae.microservice.tca.xml
+configuration.metricsPerFunctionalRole.vFirewall.policyVersion=v0.0.1
+configuration.metricsPerFunctionalRole.vFirewall.policyScope=resource=vFirewall;type=configuration
+
+configuration.metricsPerFunctionalRole.vFirewall.thresholds.0.policy.closedLoopControlName=CL-FRWL-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8
+configuration.metricsPerFunctionalRole.vFirewall.thresholds.0.policy.fieldPath=$.event.measurementsForVfScalingFields.vNicUsageArray[*].bytesIn
+configuration.metricsPerFunctionalRole.vFirewall.thresholds.0.policy.thresholdValue=4000
+configuration.metricsPerFunctionalRole.vFirewall.thresholds.0.policy.direction=LESS_OR_EQUAL
+configuration.metricsPerFunctionalRole.vFirewall.thresholds.0.policy.severity=MAJOR
+configuration.metricsPerFunctionalRole.vFirewall.thresholds.0.policy.version=1.0.2
+
+configuration.metricsPerFunctionalRole.vFirewall.thresholds.1.policy.closedLoopControlName=L-FRWL-HIGH-TRAFFIC-SIG-EA36FE84-9342-5E13-A656-EC5F21309A09
+configuration.metricsPerFunctionalRole.vFirewall.thresholds.1.policy.fieldPath=$.event.measurementsForVfScalingFields.vNicUsageArray[*].bytesIn
+configuration.metricsPerFunctionalRole.vFirewall.thresholds.1.policy.thresholdValue=20000
+configuration.metricsPerFunctionalRole.vFirewall.thresholds.1.policy.direction=GREATER_OR_EQUAL
+configuration.metricsPerFunctionalRole.vFirewall.thresholds.1.policy.severity=CRITICAL
+configuration.metricsPerFunctionalRole.vFirewall.thresholds.1.policy.version=1.0.2
+
+configuration.metricsPerFunctionalRole.vLoadBalancer.policy.functionalRole=vLoadBalancer
+configuration.metricsPerFunctionalRole.vLoadBalancer.policyName=configuration.dcae.microservice.tca.xml
+configuration.metricsPerFunctionalRole.vLoadBalancer.policyVersion=v0.0.1
+configuration.metricsPerFunctionalRole.vLoadBalancer.policyScope=resource=vLoadBalancer;type=configuration
+
+configuration.metricsPerFunctionalRole.vLoadBalancer.thresholds.0.policy.closedLoopControlName=CL-LBAL-LOW-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241AB1A
+configuration.metricsPerFunctionalRole.vLoadBalancer.thresholds.0.policy.fieldPath=$.event.measurementsForVfScalingFields.vNicUsageArray[*].packetsIn
+configuration.metricsPerFunctionalRole.vLoadBalancer.thresholds.0.policy.thresholdValue=500
+configuration.metricsPerFunctionalRole.vLoadBalancer.thresholds.0.policy.direction=LESS_OR_EQUAL
+configuration.metricsPerFunctionalRole.vLoadBalancer.thresholds.0.policy.severity=MAJOR
+configuration.metricsPerFunctionalRole.vLoadBalancer.thresholds.0.policy.version=1.0.2
+
+configuration.metricsPerFunctionalRole.vLoadBalancer.thresholds.1.policy.closedLoopControlName=CL-LBAL-LOW-TRAFFIC-SIG-0C5920A6-B564-8035-C878-0E814352BC2B
+configuration.metricsPerFunctionalRole.vLoadBalancer.thresholds.1.policy.fieldPath=$.event.measurementsForVfScalingFields.vNicUsageArray[*].packetsIn
+configuration.metricsPerFunctionalRole.vLoadBalancer.thresholds.1.policy.thresholdValue=5000
+configuration.metricsPerFunctionalRole.vLoadBalancer.thresholds.1.policy.direction=GREATER_OR_EQUAL
+configuration.metricsPerFunctionalRole.vLoadBalancer.thresholds.1.policy.severity=CRITICAL
+configuration.metricsPerFunctionalRole.vLoadBalancer.thresholds.1.policy.version=1.0.2
+
+subscriberHostName=dcae-msrt-ftl.homer.com
+subscriberHostPort=3905
+subscriberTopicName=com.dcae.dmaap.FTL.DcaeTestVESSub
+subscriberProtocol=https
+subscriberUserName=USER
+subscriberUserPassword=PASSWORD
+subscriberContentType=application/json
+subscriberConsumerId=c12
+subscriberConsumerGroup=OpenDCAE-c12
+subscriberTimeoutMS=-1
+subscriberMessageLimit=-1
+subscriberPollingInterval=20000
+publisherHostName=dcae-msrt-ftl.homer.com
+publisherHostPort=3905
+publisherTopicName=com.dcae.dmaap.FTL.DcaeTestVESPub
+publisherProtocol=https
+publisherUserName=USER
+publisherUserPassword=PASSWORD
+publisherContentType=application/json
+publisherMaxBatchSize=10
+publisherMaxRecoveryQueueSize=100000
+publisherPollingInterval=20000
+enableAlertCEFFormat=false
diff --git a/dcae-analytics-cdap-tca/src/test/resources/data/properties/tca_controller_policy_from_json.properties b/dcae-analytics-cdap-tca/src/test/resources/data/properties/tca_controller_policy_from_json.properties
new file mode 100644
index 0000000..5e2bb2a
--- /dev/null
+++ b/dcae-analytics-cdap-tca/src/test/resources/data/properties/tca_controller_policy_from_json.properties
@@ -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=========================================================
+#
+
+
+domain=measurementsForVfScaling
+
+configuration.metricsPerFunctionalRole.vFirewall.policy.functionalRole=vFirewall
+configuration.metricsPerFunctionalRole.vFirewall.policyName=configuration.dcae.microservice.tca.xml
+configuration.metricsPerFunctionalRole.vFirewall.policyVersion=v0.0.1
+configuration.metricsPerFunctionalRole.vFirewall.policyScope=resource=vFirewall;type=configuration
+
+configuration.metricsPerFunctionalRole.vFirewall.thresholds.0.policy.closedLoopControlName=CL-FRWL-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8
+configuration.metricsPerFunctionalRole.vFirewall.thresholds.0.policy.fieldPath=$.event.measurementsForVfScalingFields.vNicUsageArray[*].bytesIn
+configuration.metricsPerFunctionalRole.vFirewall.thresholds.0.policy.thresholdValue=4000
+configuration.metricsPerFunctionalRole.vFirewall.thresholds.0.policy.direction=LESS_OR_EQUAL
+configuration.metricsPerFunctionalRole.vFirewall.thresholds.0.policy.severity=MAJOR
+configuration.metricsPerFunctionalRole.vFirewall.thresholds.0.policy.version=1.0.2
+
+configuration.metricsPerFunctionalRole.vFirewall.thresholds.1.policy.closedLoopControlName=L-FRWL-HIGH-TRAFFIC-SIG-EA36FE84-9342-5E13-A656-EC5F21309A09
+configuration.metricsPerFunctionalRole.vFirewall.thresholds.1.policy.fieldPath=$.event.measurementsForVfScalingFields.vNicUsageArray[*].bytesIn
+configuration.metricsPerFunctionalRole.vFirewall.thresholds.1.policy.thresholdValue=20000
+configuration.metricsPerFunctionalRole.vFirewall.thresholds.1.policy.direction=GREATER_OR_EQUAL
+configuration.metricsPerFunctionalRole.vFirewall.thresholds.1.policy.severity=CRITICAL
+configuration.metricsPerFunctionalRole.vFirewall.thresholds.1.policy.version=1.0.2
+
+configuration.metricsPerFunctionalRole.vLoadBalancer.policy.functionalRole=vLoadBalancer
+configuration.metricsPerFunctionalRole.vLoadBalancer.policyName=configuration.dcae.microservice.tca.xml
+configuration.metricsPerFunctionalRole.vLoadBalancer.policyVersion=v0.0.1
+configuration.metricsPerFunctionalRole.vLoadBalancer.policyScope=resource=vLoadBalancer;type=configuration
+
+configuration.metricsPerFunctionalRole.vLoadBalancer.thresholds.0.policy.closedLoopControlName=CL-LBAL-LOW-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241AB1A
+configuration.metricsPerFunctionalRole.vLoadBalancer.thresholds.0.policy.fieldPath=$.event.measurementsForVfScalingFields.vNicUsageArray[*].packetsIn
+configuration.metricsPerFunctionalRole.vLoadBalancer.thresholds.0.policy.thresholdValue=500
+configuration.metricsPerFunctionalRole.vLoadBalancer.thresholds.0.policy.direction=LESS_OR_EQUAL
+configuration.metricsPerFunctionalRole.vLoadBalancer.thresholds.0.policy.severity=MAJOR
+configuration.metricsPerFunctionalRole.vLoadBalancer.thresholds.0.policy.version=1.0.2
+
+configuration.metricsPerFunctionalRole.vLoadBalancer.thresholds.1.policy.closedLoopControlName=CL-LBAL-LOW-TRAFFIC-SIG-0C5920A6-B564-8035-C878-0E814352BC2B
+configuration.metricsPerFunctionalRole.vLoadBalancer.thresholds.1.policy.fieldPath=$.event.measurementsForVfScalingFields.vNicUsageArray[*].packetsIn
+configuration.metricsPerFunctionalRole.vLoadBalancer.thresholds.1.policy.thresholdValue=5000
+configuration.metricsPerFunctionalRole.vLoadBalancer.thresholds.1.policy.direction=GREATER_OR_EQUAL
+configuration.metricsPerFunctionalRole.vLoadBalancer.thresholds.1.policy.severity=CRITICAL
+configuration.metricsPerFunctionalRole.vLoadBalancer.thresholds.1.policy.version=1.0.2
+
+tca_policy='{\"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\"}]}]}'
+
+subscriberHostName=dcae-msrt-ftl.homer.com
+subscriberHostPort=3905
+subscriberTopicName=com.dcae.dmaap.FTL.DcaeTestVESSub
+subscriberProtocol=https
+subscriberUserName=USER
+subscriberUserPassword=PASSWORD
+subscriberContentType=application/json
+subscriberConsumerId=c12
+subscriberConsumerGroup=OpenDCAE-c12
+subscriberTimeoutMS=-1
+subscriberMessageLimit=-1
+subscriberPollingInterval=20000
+publisherHostName=dcae-msrt-ftl.homer.com
+publisherHostPort=3905
+publisherTopicName=com.dcae.dmaap.FTL.DcaeTestVESPub
+publisherProtocol=https
+publisherUserName=USER
+publisherUserPassword=PASSWORD
+publisherContentType=application/json
+publisherMaxBatchSize=10
+publisherMaxRecoveryQueueSize=100000
+publisherPollingInterval=20000
+enableAlertCEFFormat=false
+
diff --git a/dcae-analytics-cdap-tca/src/test/resources/logback-test.xml b/dcae-analytics-cdap-tca/src/test/resources/logback-test.xml
new file mode 100644
index 0000000..255532f
--- /dev/null
+++ b/dcae-analytics-cdap-tca/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="WARN"/>
+ <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-common/pom.xml b/dcae-analytics-common/pom.xml
new file mode 100644
index 0000000..bd5f808
--- /dev/null
+++ b/dcae-analytics-common/pom.xml
@@ -0,0 +1,115 @@
+<!--
+ ~ ===============================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>
+ <groupId>org.openecomp.dcae.apod.analytics</groupId>
+ <artifactId>dcae-analytics</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>dcae-analytics-common</artifactId>
+ <packaging>jar</packaging>
+
+ <!-- THIS MODULE CONTAINS CODE COMMON FOR ALL DCAE ANALYTICS MODULES -->
+ <name>DCAE Analytics Common</name>
+ <description>Contains Components common to all DCAE Analytics Modules</description>
+
+
+ <properties>
+ <main.basedir>${project.parent.basedir}</main.basedir>
+ </properties>
+
+ <dependencies>
+
+ <!-- DCAE PROJECT DEPENDENCIES -->
+ <dependency>
+ <groupId>org.openecomp.dcae.apod.analytics</groupId>
+ <artifactId>dcae-analytics-model</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ </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>
+
+ <!-- UTILITIES -->
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.google.code.findbugs</groupId>
+ <artifactId>jsr305</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.google.code.findbugs</groupId>
+ <artifactId>annotations</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ </dependency>
+
+
+ <!-- DEPENDENCY INJECTION -->
+ <dependency>
+ <groupId>com.google.inject</groupId>
+ <artifactId>guice</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.google.inject.extensions</groupId>
+ <artifactId>guice-assistedinject</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.google.inject.extensions</groupId>
+ <artifactId>guice-multibindings</artifactId>
+ </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>
+
+
+ </dependencies>
+
+</project>
diff --git a/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/AnalyticsConstants.java b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/AnalyticsConstants.java
new file mode 100644
index 0000000..ec6a9b5
--- /dev/null
+++ b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/AnalyticsConstants.java
@@ -0,0 +1,148 @@
+/*
+ * ===============================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.common;
+
+/**
+ * Contains static variable for all DCAE Components.
+ *
+ * @author Rajiv Singla . Creation Date: 10/21/2016.
+ */
+public abstract class AnalyticsConstants {
+
+ // =============== Common Constants for all DCAE Analytics Modules ==================== //
+
+
+ // =============== DMaaP Constants for all DCAE Analytics Modules ==================== //
+
+ // DMaaP Config Constants
+ public static final Integer DEFAULT_PORT_NUMBER = 80; // default port number
+ public static final String DEFAULT_USER_NAME = null; // default to no username
+ public static final String DEFAULT_USER_PASSWORD = null; // defaults to no userPassword
+ public static final String DEFAULT_PROTOCOL = "https"; // defaults to using https protocol
+ public static final String DEFAULT_CONTENT_TYPE = "application/json"; // defaults to json content type
+
+ public static final String DMAAP_URI_PATH_PREFIX = "/events/";
+ public static final String DMAAP_GROUP_PREFIX = "OpenDCAE-";
+
+ // ================== DMaaP MR Constants ============================== //
+ // Publisher Constants
+ public static final int DEFAULT_PUBLISHER_MAX_BATCH_SIZE = 1; // disable batching by default
+ public static final int DEFAULT_PUBLISHER_MAX_RECOVERY_QUEUE_SIZE = 100000; // default recovery messages size
+ public static final int PUBLISHER_MAX_FLUSH_RETRIES_ON_CLOSE = 5; // number of retries when flushing messages
+ public static final int PUBLISHER_DELAY_MS_ON_RETRIES_ON_CLOSE = 5000; // delay in retrying for flushing messages
+ // Subscriber Constants
+ public static final int DEFAULT_SUBSCRIBER_TIMEOUT_MS = -1;
+ public static final int DEFAULT_SUBSCRIBER_MESSAGE_LIMIT = -1;
+ public static final String DEFAULT_SUBSCRIBER_GROUP_PREFIX = DMAAP_GROUP_PREFIX + "DMaaPSub-";
+ public static final String SUBSCRIBER_TIMEOUT_QUERY_PARAM_NAME = "timeout";
+ public static final String SUBSCRIBER_MSG_LIMIT_QUERY_PARAM_NAME = "limit";
+
+
+ // ================== TCA Constants ============================== //
+
+ // Default subscriber polling interval
+ public static final Integer TCA_DEFAULT_SUBSCRIBER_POLLING_INTERVAL_MS = 30000;
+
+ // Default publisher polling interval
+ public static final Integer TCA_DEFAULT_PUBLISHER_POLLING_INTERVAL_MS = 30000;
+
+ // Default publisher max batch queue size determines the minimum number of messages that need to be published in
+ // batch mode
+ public static final Integer TCA_DEFAULT_PUBLISHER_MAX_BATCH_QUEUE_SIZE = 10;
+
+ // Default publisher max recovery queue size determines max number of messages can be cached in memory
+ // in case publisher is not responding
+ public static final Integer TCA_DEFAULT_PUBLISHER_MAX_RECOVERY_QUEUE_SIZE = 100000;
+
+ // Default interval during which TCA DMaaP Worker checks if scheduler is shut down
+ public static final Integer TCA_DEFAULT_WORKER_SHUTDOWN_CHECK_INTERVAL_MS = 5000;
+
+ // ***** TCA Quartz Scheduler Settings ******//
+
+ public static final String TCA_QUARTZ_SUBSCRIBER_PROPERTIES_FILE_NAME = "quartz-subscriber.properties";
+
+ public static final String TCA_QUARTZ_PUBLISHER_PROPERTIES_FILE_NAME = "quartz-publisher.properties";
+
+ // TCA Quartz Group Settings
+ public static final String TCA_QUARTZ_GROUP_NAME = "TCAQuartzGroup";
+ // TCA Quartz Trigger Settings
+ public static final String TCA_DMAAP_SUBSCRIBER_QUARTZ_TRIGGER_NAME = "TCADMaaPSubscriberTrigger";
+ public static final String TCA_DMAAP_PUBLISHER_QUARTZ_TRIGGER_NAME = "TCADMaaPPublisherTrigger";
+
+ // TCA Quartz DMaaP Subscriber Job Settings
+ public static final String TCA_DMAAP_SUBSCRIBER_QUARTZ_JOB_NAME = "TCADMaaPSubscriberJob";
+ public static final String TCA_DMAAP_PUBLISHER_QUARTZ_JOB_NAME = "TCADMaaPPublisherJob";
+
+ // TCA Quartz Publisher and Subscriber Job Parameters
+ // Common Job parameters for both Publisher and Subscriber
+ public static final String WORKER_CONTEXT_VARIABLE_NAME = "WORKER_CONTEXT";
+ public static final String DMAAP_METRICS_VARIABLE_NAME = "DMAAP_METRICS";
+ // TCA Quartz DMaaP Subscriber Job Parameter Settings
+ public static final String CDAP_STREAM_VARIABLE_NAME = "CDAP_STREAM_NAME";
+ public static final String DMAAP_SUBSCRIBER_VARIABLE_NAME = "DMAAP_SUBSCRIBER";
+ // TCA Quartz DMaaP Publisher Job Parameter Settings
+ public static final String CDAP_ALERTS_TABLE_VARIABLE_NAME = "CDAP_TCA_ALERTS_TABLE_NAME";
+ public static final String DMAAP_PUBLISHER_VARIABLE_NAME = "DMAAP_PUBLISHER";
+
+ // TCA VES Response Constants
+ public static final String TCA_VES_RESPONSE_TARGET_TYPE = "VNF";
+ public static final String TCA_VES_RESPONSE_TARGET = "generic-vnf.vnf-id";
+ public static final String TCA_VES_RESPONSE_FROM = "DCAE";
+ public static final String TCA_VES_RESPONSE_CLOSED_LOOP_EVENT_STATUS = "ONSET";
+
+ // TCA VES Response Constants for vLoadBalancer
+ public static final String LOAD_BALANCER_FUNCTIONAL_ROLE = "vLoadBalancer";
+ public static final String LOAD_BALANCER_TCA_VES_RESPONSE_TARGET_TYPE = "VM";
+ public static final String LOAD_BALANCER_TCA_VES_RESPONSE_TARGET = "vserver.vserver-name";
+
+ // TCA VES Message Router Partition Key
+ public static final String TCA_VES_MESSAGE_ROUTER_PARTITION_KEY = "VESMessageHash";
+
+ /**
+ * Default Number of instances for Threshold violation calculator flowlet
+ */
+ public static final Integer TCA_DEFAULT_THRESHOLD_CALCULATOR_FLOWLET_INSTANCES = 2;
+
+ /**
+ * Default TTL for TCA VES Message status table which contain status of all messages processed by TCA
+ */
+ public static final Integer TCA_DEFAULT_VES_MESSAGE_STATUS_TTL_TABLE = 60 * 60 * 24 * 10; // 10 Days
+
+ /**
+ * Default TTL for TCA VES Alerts table which contains alerts that can be send to downstream systems
+ */
+ public static final Integer TCA_DEFAULT_VES_ALERTS_TTL_TABLE = 60 * 60 * 24 * 20; // 20 Days
+
+
+ // TCA Policy Runtime Argument Paths
+ public static final String TCA_POLICY_DELIMITER = ".";
+ public static final String TCA_POLICY_DOMAIN_PATH = "domain";
+ public static final String TCA_POLICY_METRICS_PER_FUNCTIONAL_ROLE_PATH = "configuration.metricsPerFunctionalRole";
+ public static final String TCA_POLICY_THRESHOLDS_PATH_POSTFIX = "thresholds";
+
+ public static final String TCA_POLICY_JSON_KEY = "tca_policy";
+ public static final String TCA_POLICY_STRING_DELIMITER = "'";
+
+ private AnalyticsConstants() {
+
+ }
+
+}
diff --git a/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/exception/DCAEAnalyticsRuntimeException.java b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/exception/DCAEAnalyticsRuntimeException.java
new file mode 100644
index 0000000..4b515ab
--- /dev/null
+++ b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/exception/DCAEAnalyticsRuntimeException.java
@@ -0,0 +1,54 @@
+/*
+ * ===============================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.common.exception;
+
+import org.slf4j.Logger;
+
+/**
+ * Runtime Exception for DCAE Analytics Exceptions. All DCAE Analytics
+ * runtime Exceptions must be wrapped inside this exception
+ * <p>
+ * @author Rajiv Singla . Creation Date: 10/5/2016.
+ */
+public class DCAEAnalyticsRuntimeException extends RuntimeException {
+
+
+ /**
+ * @param message - Error Message for Exception
+ * @param cause - Actual Exception which caused {@link DCAEAnalyticsRuntimeException}
+ */
+ public DCAEAnalyticsRuntimeException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ /**
+ * Creates and logs the DCAE Runtime Exception to given logger
+ *
+ * @param message - Error Message for Exception and logging
+ * @param logger - Logger used for logging exception
+ * @param cause - Actual exception which caused {@link DCAEAnalyticsRuntimeException}
+ */
+ public DCAEAnalyticsRuntimeException(String message, Logger logger, Throwable cause) {
+ super(message, cause);
+ logger.error(message);
+ }
+
+}
diff --git a/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/exception/MessageProcessingException.java b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/exception/MessageProcessingException.java
new file mode 100644
index 0000000..825f94a
--- /dev/null
+++ b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/exception/MessageProcessingException.java
@@ -0,0 +1,51 @@
+/*
+ * ===============================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.common.exception;
+
+import org.openecomp.dcae.apod.analytics.common.service.processor.MessageProcessor;
+import org.slf4j.Logger;
+
+/**
+ * Runtime Exception caused due to {@link MessageProcessor} failure while processing a message.
+ *
+ * @author Rajiv Singla . Creation Date: 11/7/2016.
+ */
+public class MessageProcessingException extends DCAEAnalyticsRuntimeException {
+
+ /**
+ * @param message - Error Message for Exception
+ * @param cause - Actual Exception which caused {@link DCAEAnalyticsRuntimeException}
+ */
+ public MessageProcessingException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ /**
+ * Creates and logs the DCAE Runtime Exception to given logger
+ *
+ * @param message - Error Message for Exception and logging
+ * @param logger - Logger used for logging exception
+ * @param cause - Actual exception which caused {@link DCAEAnalyticsRuntimeException}
+ */
+ public MessageProcessingException(String message, Logger logger, Throwable cause) {
+ super(message, logger, cause);
+ }
+}
diff --git a/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/filter/GenericJsonMessageFilter.java b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/filter/GenericJsonMessageFilter.java
new file mode 100644
index 0000000..8583b9c
--- /dev/null
+++ b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/filter/GenericJsonMessageFilter.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.common.service.filter;
+
+import com.google.common.collect.ImmutableSet;
+import com.jayway.jsonpath.DocumentContext;
+import com.jayway.jsonpath.JsonPath;
+import com.jayway.jsonpath.PathNotFoundException;
+import org.apache.commons.lang3.StringUtils;
+import org.openecomp.dcae.apod.analytics.common.service.processor.AbstractMessageProcessor;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.Set;
+
+/**
+ * A Generic Json Message Filter which filter the json message based on given json Path and list of expected values
+ * for that json path. The {@link JsonMessageFilterProcessorContext#isMatched} flag will be changed as per table below:
+ * <pre>
+ * Incoming message is blank or invalid Json = null
+ * Incoming message path is matches expected values = true
+ * Incoming message does not match expected values or path does not exist = false
+ * </pre>
+ * <p>
+ * @author Rajiv Singla . Creation Date: 2/10/2017.
+ */
+public class GenericJsonMessageFilter extends AbstractMessageProcessor<JsonMessageFilterProcessorContext> {
+
+ private static final Logger LOG = LoggerFactory.getLogger(GenericJsonMessageFilter.class);
+ private static final long serialVersionUID = 1L;
+
+ private final String filterName;
+ private final String jsonPath;
+ private final Set<String> expectedValues;
+
+ public GenericJsonMessageFilter(final String filterName, final String jsonPath, final Set<String> expectedValues) {
+ this.filterName = filterName;
+ this.jsonPath = jsonPath;
+ this.expectedValues = expectedValues;
+ }
+
+ public GenericJsonMessageFilter(final String filterName, final String jsonPath, final String expectedValue) {
+ this(filterName, jsonPath, ImmutableSet.of(expectedValue));
+ }
+
+ @Override
+ public String getProcessorDescription() {
+ return filterName;
+ }
+
+ @Override
+ public JsonMessageFilterProcessorContext processMessage(final JsonMessageFilterProcessorContext processorContext) {
+
+ final String jsonMessage = processorContext.getMessage().trim();
+
+ if (StringUtils.isNotBlank(jsonMessage) && jsonMessage.startsWith("{") && jsonMessage.endsWith("}")) {
+
+ // locate json path value
+ final DocumentContext documentContext = JsonPath.parse(jsonMessage);
+ String jsonPathValue = null;
+ try {
+ jsonPathValue = documentContext.read(jsonPath, String.class);
+ } catch (PathNotFoundException ex) {
+ LOG.info("Unable to find json Path: {}. Exception: {}, Json Message: {}", jsonPath, ex, jsonMessage);
+ }
+
+ LOG.debug("Value for jsonPath: {}, jsonPathValue: {}, expected Values: {}",
+ jsonPath, jsonPathValue, expectedValues);
+
+ // if json path value is null or we json value is not present in expect values then terminate early
+ if (jsonPathValue == null || !expectedValues.contains(jsonPathValue)) {
+ final String terminatingMessage = String.format("Filter match unsuccessful. " +
+ "JsonPath: %s, Actual JsonPathValue: %s, Excepted Json Path Values: %s",
+ jsonPath, jsonPathValue, expectedValues);
+ processorContext.setMatched(false);
+ setTerminatingProcessingMessage(terminatingMessage, processorContext);
+ } else {
+ final String finishProcessingMessage = String.format("Filter match successful. " +
+ "JsonPath: %s, Actual JsonPathValue: %s, Excepted Json Path Values: %s",
+ jsonPath, jsonPathValue, expectedValues);
+ processorContext.setMatched(true);
+ setFinishedProcessingMessage(finishProcessingMessage, processorContext);
+ }
+ } else {
+ // if incoming message is blank of valid Json then matched flag will be null
+ final String terminatingMessage = "Incoming json message is blank or not json. " +
+ "Json filter cannot be applied";
+ processorContext.setMatched(null);
+ setTerminatingProcessingMessage(terminatingMessage, processorContext);
+ }
+
+ return processorContext;
+ }
+}
diff --git a/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/filter/JsonMessageFilterProcessorContext.java b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/filter/JsonMessageFilterProcessorContext.java
new file mode 100644
index 0000000..d27c363
--- /dev/null
+++ b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/filter/JsonMessageFilterProcessorContext.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.common.service.filter;
+
+import org.openecomp.dcae.apod.analytics.common.service.processor.AbstractProcessorContext;
+
+/**
+ * A processor context for Json Message Filter Processor
+ * <p>
+ * @author Rajiv Singla . Creation Date: 2/10/2017.
+ */
+public class JsonMessageFilterProcessorContext extends AbstractProcessorContext {
+
+ private static final long serialVersionUID = 1L;
+
+ private Boolean isMatched;
+
+ public JsonMessageFilterProcessorContext(final String jsonMessageString) {
+ super(jsonMessageString, true);
+ }
+
+ /**
+ * Returns true if Json Message Filter match was successful
+ *
+ * @return true if Json Message Filter match was successful, false if filter was match was unsuccessful
+ */
+ public Boolean getMatched() {
+ return isMatched;
+ }
+
+ /**
+ * Sets the value for Json Message Filter match
+ *
+ * @param matched new value for json message filter match
+ */
+ public void setMatched(final Boolean matched) {
+ isMatched = matched;
+ }
+}
diff --git a/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/processor/AbstractMessageProcessor.java b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/processor/AbstractMessageProcessor.java
new file mode 100644
index 0000000..fdaa6cb
--- /dev/null
+++ b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/processor/AbstractMessageProcessor.java
@@ -0,0 +1,162 @@
+/*
+ * ===============================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.common.service.processor;
+
+import com.google.common.base.Optional;
+import org.openecomp.dcae.apod.analytics.common.exception.MessageProcessingException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.annotation.Nonnull;
+
+import static java.lang.String.format;
+
+/**
+ * An abstract Message Processor which can be extended by {@link MessageProcessor} implementations
+ * to get default behavior for Message Processors
+ *
+ * @param <P> Processor Context sub classes
+ *
+ * @author Rajiv Singla . Creation Date: 11/8/2016.
+ */
+public abstract class AbstractMessageProcessor<P extends ProcessorContext> implements MessageProcessor<P> {
+
+ private static final Logger LOG = LoggerFactory.getLogger(AbstractMessageProcessor.class);
+
+ /**
+ * By Default there is no processing message
+ */
+ private String processingMessage = null;
+
+ /**
+ * By Default Processing State is set to not required - subclasses must
+ * set processing state to {@link ProcessingState#PROCESSING_FINISHED_SUCCESSFULLY} on successful processing
+ * or {@link ProcessingState#PROCESSING_TERMINATED_EARLY} if processing fails
+ */
+ protected ProcessingState processingState = ProcessingState.PROCESSING_NOT_REQUIRED;
+
+ /**
+ * Sub classes must provide a description of a processor
+ *
+ * @return description of processor
+ *
+ */
+ public abstract String getProcessorDescription();
+
+
+ /**
+ * Sub classes must provide implementation to process Message
+ *
+ * @param processorContext incoming {@link ProcessorContext}
+ * @return outgoing {@link ProcessorContext}
+ */
+ public abstract P processMessage(P processorContext);
+
+ @Override
+ public ProcessorInfo getProcessorInfo() {
+ // by default the class of the Processor is assigned as Processor Name
+ final String processorClassName = getClass().getSimpleName();
+ return new GenericProcessorInfo(processorClassName, getProcessorDescription());
+ }
+
+ @Override
+ public P preProcessor(P processorContext) {
+ LOG.debug("Processing Started for Processor: {}", getProcessorInfo().getProcessorName());
+ // by default check to see if continue processing Flag is not false
+ final boolean okToContinue = processorContext.canProcessingContinue();
+ if (!okToContinue) {
+ final String errorMessage =
+ format("Processor: %s. Processing Context flag okToContinue is false. Unable to proceed...",
+ getProcessorInfo().getProcessorName());
+ throw new MessageProcessingException(errorMessage, LOG, new IllegalStateException(errorMessage));
+ }
+ processingState = ProcessingState.PROCESSING_STARTED;
+ return processorContext;
+ }
+
+ @Override
+ public ProcessingState getProcessingState() {
+ return processingState;
+ }
+
+ @Override
+ public Optional<String> getProcessingMessage() {
+ return Optional.fromNullable(processingMessage);
+ }
+
+ @Override
+ public P postProcessor(P processorContext) {
+ // Default implementation updates the post processing flag if processing did not
+ // completed successfully
+ if (processingState != ProcessingState.PROCESSING_FINISHED_SUCCESSFULLY) {
+ LOG.debug("Processor: {}, Update Process Context State to stop Processing.",
+ getProcessorInfo().getProcessorName());
+ processorContext.setProcessingContinueFlag(false);
+ }
+ // attaches itself to message processor context
+ processorContext.getMessageProcessors().add(this);
+ LOG.debug("Processing Completed for Processor: {}", getProcessorInfo());
+ return processorContext;
+ }
+
+
+ @Override
+ public final P apply(@Nonnull P processorContext) {
+ final P preProcessedProcessorContext = preProcessor(processorContext);
+ final P processedProcessorContext = processMessage(preProcessedProcessorContext);
+ return postProcessor(processedProcessorContext);
+ }
+
+
+ /**
+ * Helper method that updates processing state in case of early termination, logs the processing
+ * termination reason, updates Processor processing state as Terminated and sets it processing message
+ *
+ * @param terminatingMessage error Message
+ * @param processorContext message processor context
+ */
+ protected void setTerminatingProcessingMessage(final String terminatingMessage,
+ final P processorContext) {
+
+ final String message = processorContext.getMessage();
+ this.processingState = ProcessingState.PROCESSING_TERMINATED_EARLY;
+ this.processingMessage = terminatingMessage;
+ LOG.debug("Processor: {}, Early Terminating Message: {}, Incoming Message: {}",
+ getProcessorInfo().getProcessorName(), terminatingMessage, message);
+ }
+
+ /**
+ * Helper method that updates Processing state and logs completion message
+ * passed
+ *
+ * @param processorPassingMessage Processor passing message
+ * @param processorContext message processor context
+ */
+ protected void setFinishedProcessingMessage(final String processorPassingMessage, P processorContext) {
+ final String message = processorContext.getMessage();
+ processingState = ProcessingState.PROCESSING_FINISHED_SUCCESSFULLY;
+ this.processingMessage = processorPassingMessage;
+ LOG.debug("Processor: {}, Successful Completion Message: {}, Incoming Message: {}",
+ getProcessorInfo().getProcessorName(), processorPassingMessage, message);
+ }
+
+
+}
diff --git a/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/processor/AbstractProcessorContext.java b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/processor/AbstractProcessorContext.java
new file mode 100644
index 0000000..a2501e3
--- /dev/null
+++ b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/processor/AbstractProcessorContext.java
@@ -0,0 +1,96 @@
+/*
+ * ===============================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.common.service.processor;
+
+import com.google.common.base.Objects;
+
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * <p>
+ * An abstract implementation for {@link ProcessorContext} which other DCAE Analytics Modules
+ * can extend to add module specific functionality
+ * </p>
+ *
+ * @author Rajiv Singla . Creation Date: 11/7/2016.
+ */
+public abstract class AbstractProcessorContext implements ProcessorContext {
+
+ private final String message;
+ private List<? super MessageProcessor<? extends ProcessorContext>> messageProcessors;
+ private boolean canProcessingContinue;
+
+ public AbstractProcessorContext(final String message,
+ boolean canProcessingContinue) {
+ this.message = message;
+ this.canProcessingContinue = canProcessingContinue;
+ this.messageProcessors = new LinkedList<>();
+ }
+
+ /**
+ * Returns JSON String of incoming CEF Message that needs to be processed
+ *
+ * @return incoming CEF message that needs to be processed
+ */
+ @Override
+ public String getMessage() {
+ return message;
+ }
+
+ /**
+ * Sets if it is ok to continue processing normally
+ *
+ * @return boolean which determines if it is ok to continue processing normally
+ */
+ @Override
+ public boolean canProcessingContinue() {
+ return canProcessingContinue;
+ }
+
+
+ /**
+ * Set if it is ok to continue processing normally
+ *
+ * @param canProcessingContinue sets boolean which determines if it is ok to continue processing normally
+ */
+ @Override
+ public void setProcessingContinueFlag(boolean canProcessingContinue) {
+ this.canProcessingContinue = canProcessingContinue;
+ }
+
+ /**
+ * Provides List of message processors which were used in processing CEF message
+ *
+ * @return List of message processors which were used in processing CEF message
+ */
+ @Override
+ public List<? super MessageProcessor<? extends ProcessorContext>> getMessageProcessors() {
+ return messageProcessors;
+ }
+
+ @Override
+ public String toString() {
+ return Objects.toStringHelper(this)
+ .add("canProcessingContinue", canProcessingContinue)
+ .toString();
+ }
+}
diff --git a/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/processor/GenericMessageChainProcessor.java b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/processor/GenericMessageChainProcessor.java
new file mode 100644
index 0000000..982641d
--- /dev/null
+++ b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/processor/GenericMessageChainProcessor.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.common.service.processor;
+
+import org.openecomp.dcae.apod.analytics.common.utils.MessageProcessorUtils.MessageProcessorFunction;
+
+import java.util.List;
+
+import static org.openecomp.dcae.apod.analytics.common.utils.MessageProcessorUtils.computeMessageProcessorChain;
+
+/**
+ * <p>
+ * A Generic Message Processor which passes the {@link ProcessorContext} from first to second
+ * {@link MessageProcessor}
+ * </p>
+ *
+ * @param <P> Processor Context sub classes
+ *
+ * @author Rajiv Singla . Creation Date: 11/8/2016.
+ */
+public class GenericMessageChainProcessor<P extends ProcessorContext> {
+
+ private final List<? extends MessageProcessor<P>> messageProcessors;
+ private final P initialProcessorContext;
+
+ public GenericMessageChainProcessor(List<? extends MessageProcessor<P>> messageProcessors,
+ P initialProcessorContext) {
+ this.messageProcessors = messageProcessors;
+ this.initialProcessorContext = initialProcessorContext;
+ }
+
+ /**
+ * Process a processor chain
+ *
+ * @return Processor Context after processing the processor chain
+ */
+ public P processChain() {
+
+ final MessageProcessorFunction<P> messageProcessorFunction =
+ new MessageProcessorFunction<P>() {
+ @Override
+ public <M extends MessageProcessor<P>> P apply(P context, M processor) {
+ return processor.apply(context);
+ }
+ };
+
+ return computeMessageProcessorChain(messageProcessors, initialProcessorContext,
+ messageProcessorFunction);
+
+ }
+
+}
diff --git a/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/processor/GenericProcessorInfo.java b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/processor/GenericProcessorInfo.java
new file mode 100644
index 0000000..69d817f
--- /dev/null
+++ b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/processor/GenericProcessorInfo.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.common.service.processor;
+
+import javax.annotation.Nonnull;
+
+/**
+ * A Generic Implementation of {@link ProcessorInfo}
+ *
+ * @author Rajiv Singla . Creation Date: 11/7/2016.
+ */
+public class GenericProcessorInfo implements ProcessorInfo {
+
+ private static final long serialVersionUID = 1L;
+
+ private final String processorName;
+ private final String processorDescription;
+
+ public GenericProcessorInfo(@Nonnull String processorName, @Nonnull String processorDescription) {
+ this.processorName = processorName;
+ this.processorDescription = processorDescription;
+ }
+
+ @Override
+ public String getProcessorName() {
+ return processorName;
+ }
+
+ @Override
+ public String getProcessorDescription() {
+ return processorDescription;
+ }
+
+
+ @Override
+ public String toString() {
+ return processorName;
+ }
+}
diff --git a/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/processor/MessageProcessor.java b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/processor/MessageProcessor.java
new file mode 100644
index 0000000..6af34f3
--- /dev/null
+++ b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/processor/MessageProcessor.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.common.service.processor;
+
+import com.google.common.base.Function;
+import com.google.common.base.Optional;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * A message processor can be used to process incoming messages.
+ * It uses implementations of {@link ProcessorContext} as input and output
+ * </p>
+ *
+ * @param <P> Message Processor Context implementations
+ *
+ * @author Rajiv Singla . Creation Date: 11/7/2016.
+ */
+public interface MessageProcessor<P extends ProcessorContext> extends Function<P, P>, Serializable {
+
+ /**
+ * Returns processor information
+ *
+ * @return processor Information
+ */
+ ProcessorInfo getProcessorInfo();
+
+
+ /**
+ * Does pre-processing of {@link ProcessorContext} e.g. validate input conditions and return
+ * pre processed context
+ *
+ * @param processorContext incoming Processor Context
+ * @return Pre processed Processor Context
+ */
+ P preProcessor(P processorContext);
+
+
+ /**
+ * Return processing state of a processor
+ *
+ * @return Processing State
+ */
+ ProcessingState getProcessingState();
+
+
+ /**
+ * May return a message from a processor which indicates the reason for {@link ProcessingState} especially if
+ * there was some failure in processing
+ *
+ * @return processing Message
+ */
+ Optional<String> getProcessingMessage();
+
+
+ /**
+ * Does post-processing of {@link ProcessorContext}
+ *
+ * @param processorContext incoming Processor Context
+ * @return processor Context after post processing is finished
+ */
+ P postProcessor(P processorContext);
+
+
+}
diff --git a/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/processor/ProcessingState.java b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/processor/ProcessingState.java
new file mode 100644
index 0000000..cc6127d
--- /dev/null
+++ b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/processor/ProcessingState.java
@@ -0,0 +1,36 @@
+/*
+ * ===============================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.common.service.processor;
+
+/**
+ * <p>
+ * Processing state of a {@link MessageProcessor}
+ * </p>
+ * @author Rajiv Singla . Creation Date: 11/5/2016.
+ */
+public enum ProcessingState {
+
+ PROCESSING_STARTED,
+ PROCESSING_FINISHED_SUCCESSFULLY,
+ PROCESSING_TERMINATED_EARLY,
+ PROCESSING_NOT_REQUIRED;
+
+}
diff --git a/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/processor/ProcessorContext.java b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/processor/ProcessorContext.java
new file mode 100644
index 0000000..2dde5e1
--- /dev/null
+++ b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/processor/ProcessorContext.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.common.service.processor;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * <p>
+ * A Processor Context is used a an input and output to a {@link MessageProcessor}
+ * <br>
+ * DCAE Analytics sub projects should extend this interface and add specific fields
+ * required for input and output
+ * </p>
+ *
+ * @author Rajiv Singla . Creation Date: 11/7/2016.
+ */
+public interface ProcessorContext extends Serializable {
+
+ /**
+ * Returns Processor Context message that will be processed by Chain of Processors
+ *
+ * @return message that need to be processed by processors
+ */
+ String getMessage();
+
+ /**
+ * Processing Context flag which determines if Processing can continue in a processing
+ * chain
+ *
+ * @return true if ok to continue processing normally
+ */
+ boolean canProcessingContinue();
+
+
+ /**
+ * Sets new value for ProcessingContinue flag which will cause early termination of processing in chain if
+ * set to false
+ *
+ * @param canProcessingContinue set new value for canProcessing Continue flag
+ */
+ void setProcessingContinueFlag(boolean canProcessingContinue);
+
+
+ /**
+ * Provides a List of previous processors which have completed processing
+ *
+ * @return list of previous processors
+ */
+ List<? super MessageProcessor<? extends ProcessorContext>> getMessageProcessors();
+
+}
diff --git a/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/processor/ProcessorInfo.java b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/processor/ProcessorInfo.java
new file mode 100644
index 0000000..c7045d8
--- /dev/null
+++ b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/service/processor/ProcessorInfo.java
@@ -0,0 +1,49 @@
+/*
+ * ===============================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.common.service.processor;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * Contains Information about a processor. For e.g. Processor name, processor description etc
+ * </p>
+ *
+ * @author Rajiv Singla . Creation Date: 11/7/2016.
+ */
+public interface ProcessorInfo extends Serializable {
+
+ /**
+ * Returns a name which should uniquely identify a particular {@link MessageProcessor}
+ *
+ * @return processor name
+ */
+ String getProcessorName();
+
+
+ /**
+ * Returns description of a {@link MessageProcessor}
+ *
+ * @return processor description
+ */
+ String getProcessorDescription();
+
+}
diff --git a/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/utils/HTTPUtils.java b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/utils/HTTPUtils.java
new file mode 100644
index 0000000..149aaee
--- /dev/null
+++ b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/utils/HTTPUtils.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.common.utils;
+
+/**
+ * Contains common utils to check HTTP Related Utils
+ *
+ * @author Rajiv Singla . Creation Date: 11/2/2016.
+ */
+public abstract class HTTPUtils {
+
+ /**
+ * HTTP Status code for successful HTTP call
+ */
+ public static final Integer HTTP_SUCCESS_STATUS_CODE = 200;
+
+ /**
+ * HTTP Response code when request has been accepted for processing, but the processing has not been completed
+ */
+ public static final Integer HTTP_ACCEPTED_RESPONSE_CODE = 202;
+
+ /**
+ * HTTP Response code when there is no content
+ */
+ public static final Integer HTTP_NO_CONTENT_RESPONSE_CODE = 204;
+
+
+ public static final String JSON_APPLICATION_TYPE = "application/json";
+
+
+ private HTTPUtils() {
+
+ }
+
+ /**
+ * Checks if HTTP Status code is less than or equal to 200 but less then 300
+ *
+ * @param statusCode http status code
+ * @return true if response code between 200 and 300
+ */
+ public static boolean isSuccessfulResponseCode(Integer statusCode) {
+ return statusCode >= 200 && statusCode < 300;
+ }
+}
diff --git a/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/utils/MessageProcessorUtils.java b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/utils/MessageProcessorUtils.java
new file mode 100644
index 0000000..71f4bab
--- /dev/null
+++ b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/utils/MessageProcessorUtils.java
@@ -0,0 +1,162 @@
+/*
+ * ===============================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.common.utils;
+
+import com.google.common.base.Preconditions;
+import org.openecomp.dcae.apod.analytics.common.exception.MessageProcessingException;
+import org.openecomp.dcae.apod.analytics.common.service.filter.GenericJsonMessageFilter;
+import org.openecomp.dcae.apod.analytics.common.service.filter.JsonMessageFilterProcessorContext;
+import org.openecomp.dcae.apod.analytics.common.service.processor.GenericMessageChainProcessor;
+import org.openecomp.dcae.apod.analytics.common.service.processor.MessageProcessor;
+import org.openecomp.dcae.apod.analytics.common.service.processor.ProcessorContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import javax.annotation.Nonnull;
+
+
+/**
+ *
+ * @author Rajiv Singla . Creation Date: 11/8/2016.
+ */
+public abstract class MessageProcessorUtils {
+
+ private static final Logger LOG = LoggerFactory.getLogger(MessageProcessorUtils.class);
+
+ /**
+ * Provides an abstraction how to apply {@link ProcessorContext} to next {@link MessageProcessor}
+ * in the message processor chain
+ *
+ * @param <P> Sub classes of Processor Context
+ */
+ public interface MessageProcessorFunction<P extends ProcessorContext> {
+
+ /**
+ * Method which provides accumulated {@link ProcessorContext} from previous processors and a reference
+ * to next processor in the chain
+ *
+ * @param p accumulated {@link ProcessorContext} from previous processors
+ * @param m current {@link MessageProcessor} in the chain
+ * @param <M> Message processor sub classes
+ *
+ * @return processing context after computing the current Message Processor
+ */
+ <M extends MessageProcessor<P>> P apply(P p, M m);
+ }
+
+
+ /**
+ * Provides an abstraction to compute a chain of {@link MessageProcessor}
+ *
+ * @param messageProcessors An iterable containing one or more {@link MessageProcessor}s
+ * @param initialProcessorContext An initial processing Context
+ * @param messageProcessorFunction messageProcessor Function
+ * @param <P> Sub classes for Processor Context
+ *
+ * @return processing context which results after computing the whole chain
+ */
+ public static <P extends ProcessorContext> P computeMessageProcessorChain(
+ final Iterable<? extends MessageProcessor<P>> messageProcessors,
+ final P initialProcessorContext,
+ final MessageProcessorFunction<P> messageProcessorFunction) {
+
+ // Get message processor iterator
+ final Iterator<? extends MessageProcessor<P>> processorIterator = messageProcessors.iterator();
+
+ // If no next message processor - return initial processor context
+ if (!processorIterator.hasNext()) {
+ return initialProcessorContext;
+ }
+
+ // An accumulator for processor Context
+ P processorContextAccumulator = initialProcessorContext;
+
+ while (processorIterator.hasNext()) {
+
+ final MessageProcessor<P> nextProcessor = processorIterator.next();
+
+ // If Initial Processor Context is null
+ if (processorContextAccumulator == null) {
+ final String errorMessage =
+ String.format("Processor Context must not be null for Message Process: %s",
+ nextProcessor.getProcessorInfo().getProcessorName());
+ throw new MessageProcessingException(errorMessage, LOG, new IllegalStateException(errorMessage));
+ }
+
+
+ if (!processorContextAccumulator.canProcessingContinue()) {
+ LOG.debug("Triggering Early Termination, before Message Processor: {}, Incoming Message: {}",
+ nextProcessor.getProcessorInfo().getProcessorName(), processorContextAccumulator.getMessage());
+ break;
+ }
+ processorContextAccumulator = messageProcessorFunction.apply(processorContextAccumulator, nextProcessor);
+ }
+
+ return processorContextAccumulator;
+ }
+
+
+ /**
+ * Utility method to process Json Filter Mappings. Processes incoming json message and applies a list of json
+ * filter mappings and returns the resulting {@link JsonMessageFilterProcessorContext}
+ *
+ * @param jsonMessage json message to which filter mappings will be applies
+ * @param jsonFilterMappings Filter mappings contains a Map containing keys as filter json path
+ * and values as set of expected value corresponding to filter path
+ *
+ * @return json message processor context which contains the {@link JsonMessageFilterProcessorContext#isMatched}
+ * status after applying all filter mappings
+ */
+ public static JsonMessageFilterProcessorContext processJsonFilterMappings(
+ final String jsonMessage, @Nonnull final Map<String, Set<String>> jsonFilterMappings) {
+
+ Preconditions.checkState(jsonFilterMappings.size() > 0, "Json Filter Mappings must not be empty");
+
+ // create initial processor context containing the json message that need to be processed
+ final JsonMessageFilterProcessorContext initialProcessorContext =
+ new JsonMessageFilterProcessorContext(jsonMessage);
+
+ // Create Json Message Filters
+ final List<GenericJsonMessageFilter> jsonMessageFilters = new LinkedList<>();
+
+ int i = 0;
+ for (Map.Entry<String, Set<String>> jsonFilterMapping : jsonFilterMappings.entrySet()) {
+ jsonMessageFilters.add(new GenericJsonMessageFilter("Filter-" + i, jsonFilterMapping.getKey(),
+ jsonFilterMapping.getValue()));
+ i++;
+ }
+
+ // Create Generic Message Chain Processor
+ final GenericMessageChainProcessor<JsonMessageFilterProcessorContext> messageChainProcessor =
+ new GenericMessageChainProcessor<>(jsonMessageFilters, initialProcessorContext);
+
+ // Process chain and return resulting json Message Filter Processor Context
+ return messageChainProcessor.processChain();
+ }
+
+
+}
diff --git a/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/utils/PersistenceUtils.java b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/utils/PersistenceUtils.java
new file mode 100644
index 0000000..36fea2d
--- /dev/null
+++ b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/utils/PersistenceUtils.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.common.utils;
+
+import java.util.Date;
+
+/**
+ * Contains Utility methods for creating persistence row keys etc.
+ *
+ * @author Rajiv Singla . Creation Date: 11/16/2016.
+ */
+public abstract class PersistenceUtils {
+
+
+ /**
+ * Name of the column which will contain Table Key
+ */
+ public static final String TABLE_ROW_KEY_COLUMN_NAME = "key";
+
+ /**
+ * Delimited to be used when creating a row key with multiple fields
+ */
+ public static final String ROW_KEY_DELIMITER = "-";
+
+
+ private PersistenceUtils() {
+
+ }
+
+ /**
+ * Creates a decreasing number using current timestamp. Handy when you want to keep records most recent records
+ * close to the top of column table like HBase
+ *
+ * @return decreasing number
+ */
+ public static String getCurrentTimeReverseSubKey() {
+ final long timeReverseLong = Long.MAX_VALUE - new Date().getTime();
+ return String.format("%025d", timeReverseLong);
+ }
+
+}
diff --git a/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/validation/DCAEValidator.java b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/validation/DCAEValidator.java
new file mode 100644
index 0000000..c8d3549
--- /dev/null
+++ b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/validation/DCAEValidator.java
@@ -0,0 +1,31 @@
+/*
+ * ===============================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.common.validation;
+
+import java.io.Serializable;
+
+/**
+ * Marker interface for all DCAE Validators
+ *
+ * @author Rajiv Singla . Creation Date: 10/24/2016.
+ */
+public interface DCAEValidator extends Serializable {
+}
diff --git a/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/validation/GenericValidationResponse.java b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/validation/GenericValidationResponse.java
new file mode 100644
index 0000000..06237f0
--- /dev/null
+++ b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/validation/GenericValidationResponse.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.common.validation;
+
+import com.google.common.base.Joiner;
+import com.google.common.base.Objects;
+
+import java.util.Collection;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * A generic implementation of Validation Response
+ *
+ * @param <T> Validation Entity Type
+ *
+ * @author Rajiv Singla . Creation Date: 10/24/2016.
+ */
+public class GenericValidationResponse<T> implements ValidationResponse<T> {
+
+ private LinkedHashMap<String, String> errorMessageMap = new LinkedHashMap<>();
+
+ @Override
+ public boolean hasErrors() {
+ return errorMessageMap.size() != 0;
+ }
+
+ @Override
+ public Set<String> getFieldNamesWithError() {
+ return errorMessageMap.keySet();
+ }
+
+ @Override
+ public Collection<String> getErrorMessages() {
+ return errorMessageMap.values();
+ }
+
+ @Override
+ public Map<String, String> getValidationResultsAsMap() {
+ return errorMessageMap;
+ }
+
+ @Override
+ public String getAllErrorMessage() {
+ return getAllErrorMessage(",");
+ }
+
+ @Override
+ public String getAllErrorMessage(String delimiter) {
+ return Joiner.on(delimiter).join(errorMessageMap.values());
+ }
+
+ @Override
+ public void addErrorMessage(String fieldName, String filedErrorMessage) {
+ errorMessageMap.put(fieldName, filedErrorMessage);
+ }
+
+ @Override
+ public String toString() {
+ return Objects.toStringHelper(this)
+ .add("hasErrors", hasErrors())
+ .add("errorMessageMap", errorMessageMap)
+ .toString();
+ }
+}
diff --git a/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/validation/ValidationResponse.java b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/validation/ValidationResponse.java
new file mode 100644
index 0000000..f3ffa71
--- /dev/null
+++ b/dcae-analytics-common/src/main/java/org/openecomp/dcae/apod/analytics/common/validation/ValidationResponse.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.common.validation;
+
+import java.util.Collection;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * Validation Response contract
+ *
+ * @param <T> Entity class type which is being validated
+ *
+ * @author Rajiv Singla . Creation Date: 10/24/2016.
+ */
+public interface ValidationResponse<T> {
+
+ /**
+ * Returns true if validation resulted in one or more errors
+ *
+ * @return true if validation has errors
+ */
+ boolean hasErrors();
+
+ /**
+ * Returns all field names which have error
+ *
+ * @return names of fields which have error
+ */
+ Set<String> getFieldNamesWithError();
+
+ /**
+ * Returns list of all error messages
+ *
+ * @return list of error messages
+ */
+ Collection<String> getErrorMessages();
+
+
+ /**
+ * Returns all error messages as string delimited by comma
+ *
+ * @return all error messages delimited by given delimiter
+ */
+ String getAllErrorMessage();
+
+ /**
+ * Returns all error messages as string delimited by given delimited
+ *
+ * @param delimiter delimited to be used for error message
+ * @return all error messages delimited by given delimiter
+ */
+ String getAllErrorMessage(String delimiter);
+
+ /**
+ * Adds field name and error message to the validation response
+ *
+ * @param fieldName field name which has validation error
+ * @param filedErrorMessage validation error message
+ */
+ void addErrorMessage(String fieldName, String filedErrorMessage);
+
+
+ /**
+ * Returns validation results as map containing values as keys and values
+ * as error Message
+ *
+ * @return Map containing field names and error message associated with those fields
+ */
+ Map<String, String> getValidationResultsAsMap();
+
+}
diff --git a/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/BaseAnalyticsCommonUnitTest.java b/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/BaseAnalyticsCommonUnitTest.java
new file mode 100644
index 0000000..9a42a97
--- /dev/null
+++ b/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/BaseAnalyticsCommonUnitTest.java
@@ -0,0 +1,65 @@
+/*
+ * ===============================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.common;
+
+import org.openecomp.dcae.apod.analytics.common.service.processor.TestEarlyTerminatingProcessor;
+import org.openecomp.dcae.apod.analytics.common.service.processor.TestMessageProcessor1;
+import org.openecomp.dcae.apod.analytics.common.service.processor.TestMessageProcessor2;
+import org.openecomp.dcae.apod.analytics.test.BaseDCAEAnalyticsUnitTest;
+
+/**
+ * Base class from all DCEA Analytics Common Module Unit Tests
+ * <p>
+ * @author Rajiv Singla . Creation Date: 10/6/2016.
+ */
+public abstract class BaseAnalyticsCommonUnitTest extends BaseDCAEAnalyticsUnitTest {
+
+
+ protected static final String TEST_MESSAGE_PROCESSOR_MESSAGE = "Test Processor Message";
+
+ protected static final String CEF_MESSAGE_FILE_PATH = "data/json/cef_message.json";
+
+ /*
+ * Test implementation for {@link CDAPAppSettings}
+ */
+ protected class CDAPTestAppSettings {
+
+ private String settingsField;
+
+ public String getSettingsField() {
+ return settingsField;
+ }
+
+ public void setSettingsField(String settingsField) {
+ this.settingsField = settingsField;
+ }
+ }
+
+ protected TestMessageProcessor1 getTestMessageProcessor1() {
+ return new TestMessageProcessor1();
+ }
+ protected TestMessageProcessor2 getTestMessageProcessor2() {
+ return new TestMessageProcessor2();
+ }
+ protected TestEarlyTerminatingProcessor getTestEarlyTerminationProcessor() {
+ return new TestEarlyTerminatingProcessor();
+ }
+}
diff --git a/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/filter/GenericJsonMessageFilterTest.java b/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/filter/GenericJsonMessageFilterTest.java
new file mode 100644
index 0000000..3a0d8bd
--- /dev/null
+++ b/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/filter/GenericJsonMessageFilterTest.java
@@ -0,0 +1,151 @@
+/*
+ * ===============================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.common.service.filter;
+
+import com.google.common.collect.ImmutableList;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.common.BaseAnalyticsCommonUnitTest;
+import org.openecomp.dcae.apod.analytics.common.service.processor.GenericMessageChainProcessor;
+
+import static org.junit.Assert.assertEquals;
+
+/**
+ * @author Rajiv Singla . Creation Date: 2/10/2017.
+ */
+public class GenericJsonMessageFilterTest extends BaseAnalyticsCommonUnitTest {
+
+ private String jsonMessage;
+
+ @Before
+ public void before() throws Exception {
+ jsonMessage = fromStream(CEF_MESSAGE_FILE_PATH);
+
+ }
+
+ @Test
+ public void testJsonMessageFilterWhenAllFiltersPassed() throws Exception {
+
+ final JsonMessageFilterProcessorContext finalMessageProcessorContext =
+ processJsonMessageFilterChain(jsonMessage,
+ "domainFilter", "$.event.commonEventHeader.domain", "measurementsForVfScaling",
+ "functionalRoleFilter", "$.event.commonEventHeader.functionalRole", "vFirewall");
+
+ assertJsonMessageAssertions(jsonMessage, finalMessageProcessorContext, true, true, 2);
+
+ }
+
+ @Test
+ public void testJsonMessageFilterWhenJsonPathValueIsANumber() throws Exception {
+
+ final JsonMessageFilterProcessorContext finalMessageProcessorContext =
+ processJsonMessageFilterChain(jsonMessage,
+ "domainFilter", "$.event.commonEventHeader.sequence", "375",
+ "functionalRoleFilter", "$.event.commonEventHeader.functionalRole", "vFirewall");
+
+ assertJsonMessageAssertions(jsonMessage, finalMessageProcessorContext, true, true, 2);
+ }
+
+ @Test
+ public void testJsonMessageFilterWhenOneFilterDoesNotMatch() throws Exception {
+
+ final JsonMessageFilterProcessorContext finalMessageProcessorContext =
+ processJsonMessageFilterChain(jsonMessage,
+ "domainFilter", "$.event.commonEventHeader.domain", "xxxxxxxxxxx",
+ "functionalRoleFilter", "$.event.commonEventHeader.functionalRole", "vFirewall");
+
+ assertJsonMessageAssertions(jsonMessage, finalMessageProcessorContext, false, false, 1);
+ }
+
+ @Test
+ public void testJsonMessageFilterWhenJsonPathDoesNotExist() throws Exception {
+
+ final JsonMessageFilterProcessorContext finalMessageProcessorContext =
+ processJsonMessageFilterChain(jsonMessage,
+ "domainFilter", "$.event.commonEventHeader.xxxxxxx", "measurementsForVfScaling",
+ "functionalRoleFilter", "$.event.commonEventHeader.functionalRole", "vFirewall");
+
+ assertJsonMessageAssertions(jsonMessage, finalMessageProcessorContext, false, false, 1);
+ }
+
+ @Test
+ public void testJsonMessageFilterWhenIncomingMessageIsBlank() throws Exception {
+
+ final JsonMessageFilterProcessorContext finalMessageProcessorContext =
+ processJsonMessageFilterChain("",
+ "domainFilter", "$.event.commonEventHeader.domain", "measurementsForVfScaling",
+ "functionalRoleFilter", "$.event.commonEventHeader.functionalRole", "vFirewall");
+
+ assertJsonMessageAssertions("", finalMessageProcessorContext, false, null, 1);
+
+ }
+
+ @Test
+ public void testJsonMessageFilterWhenIncomingMessageIsNotValidJson() throws Exception {
+
+ final JsonMessageFilterProcessorContext finalMessageProcessorContext =
+ processJsonMessageFilterChain("invalidJson",
+ "domainFilter", "$.event.commonEventHeader.domain", "measurementsForVfScaling",
+ "functionalRoleFilter", "$.event.commonEventHeader.functionalRole", "vFirewall");
+
+ assertJsonMessageAssertions("invalidJson", finalMessageProcessorContext, false, null, 1);
+
+ }
+
+
+ private static void assertJsonMessageAssertions(
+ final String jsonMessage, final JsonMessageFilterProcessorContext finalMessageProcessorContext,
+ final Boolean canProcessingContinueFlag, final Boolean matchedFlag,
+ final int messageProcessorCount) throws Exception {
+
+ assertJson(jsonMessage, finalMessageProcessorContext.getMessage());
+ Assert.assertEquals(canProcessingContinueFlag, finalMessageProcessorContext.canProcessingContinue());
+ assertEquals(matchedFlag, finalMessageProcessorContext.getMatched());
+ Assert.assertEquals(finalMessageProcessorContext.getMessageProcessors().size(), messageProcessorCount);
+
+ }
+
+
+ private static JsonMessageFilterProcessorContext processJsonMessageFilterChain(
+ final String jsonMessage,
+ final String firstFilterName, final String firstFilterPath, final String firstFilterValue,
+ final String secondFilterName, final String secondFilterPath, final String secondFilterValue) {
+
+ // create processors
+ final GenericJsonMessageFilter firstFilter = new GenericJsonMessageFilter(firstFilterName, firstFilterPath,
+ firstFilterValue);
+ final GenericJsonMessageFilter secondFilter = new GenericJsonMessageFilter(secondFilterName,
+ secondFilterPath, secondFilterValue);
+
+ // create initial processor context containing the json message that need to be processed
+ final JsonMessageFilterProcessorContext initialProcessorContext =
+ new JsonMessageFilterProcessorContext(jsonMessage);
+
+ // create a generic message chain processor and feed it list of processors and initialProcessor context
+ final GenericMessageChainProcessor<JsonMessageFilterProcessorContext> messageChainProcessor =
+ new GenericMessageChainProcessor<>(ImmutableList.of(firstFilter, secondFilter),
+ initialProcessorContext);
+
+ // process the generic message chain
+ return messageChainProcessor.processChain();
+ }
+}
diff --git a/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/processor/AbstractMessageProcessorTest.java b/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/processor/AbstractMessageProcessorTest.java
new file mode 100644
index 0000000..6e8e146
--- /dev/null
+++ b/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/processor/AbstractMessageProcessorTest.java
@@ -0,0 +1,68 @@
+/*
+ * ===============================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.common.service.processor;
+
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.common.BaseAnalyticsCommonUnitTest;
+import org.openecomp.dcae.apod.analytics.common.exception.MessageProcessingException;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertTrue;
+
+/**
+ * @author Rajiv Singla . Creation Date: 12/12/2016.
+ */
+public class AbstractMessageProcessorTest extends BaseAnalyticsCommonUnitTest {
+
+
+ @Test
+ public void testPreProcessorWhenProcessingContextFlagIsTrue() throws Exception {
+ TestMessageProcessor1 messageProcessor1 = new TestMessageProcessor1();
+ final TestProcessorContext processorContext =
+ new TestProcessorContext(TEST_MESSAGE_PROCESSOR_MESSAGE, true);
+ final TestProcessorContext testProcessorContext = messageProcessor1.preProcessor(processorContext);
+ assertThat("Processing flag must be true",
+ testProcessorContext.canProcessingContinue(), is(true));
+ }
+
+ @Test(expected = MessageProcessingException.class)
+ public void testPreProcessorWhenProcessingContextFlagIsFalse() throws Exception {
+ TestMessageProcessor1 messageProcessor1 = new TestMessageProcessor1();
+ final TestProcessorContext testProcessorContext =
+ new TestProcessorContext(TEST_MESSAGE_PROCESSOR_MESSAGE, false);
+ messageProcessor1.preProcessor(testProcessorContext);
+ }
+
+ @Test
+ public void testPostProcessorWhenProcessingStateIsNotFinishedSuccessfully() throws Exception {
+ TestMessageProcessor1 messageProcessor1 = new TestMessageProcessor1();
+ final ProcessingState processingState = messageProcessor1.getProcessingState();
+ assertTrue("Processing state is not processing finished successfully",
+ processingState != ProcessingState.PROCESSING_FINISHED_SUCCESSFULLY);
+ final TestProcessorContext processorContext =
+ new TestProcessorContext(TEST_MESSAGE_PROCESSOR_MESSAGE, true);
+ final TestProcessorContext testProcessorContext = messageProcessor1.postProcessor(processorContext);
+ assertThat("Processing flag must be false",
+ testProcessorContext.canProcessingContinue(), is(false));
+ }
+
+}
diff --git a/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/processor/AbstractProcessorContextTest.java b/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/processor/AbstractProcessorContextTest.java
new file mode 100644
index 0000000..6a4b500
--- /dev/null
+++ b/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/processor/AbstractProcessorContextTest.java
@@ -0,0 +1,79 @@
+/*
+ * ===============================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.common.service.processor;
+
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.common.BaseAnalyticsCommonUnitTest;
+
+import java.util.List;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+/**
+ * @author Rajiv Singla . Creation Date: 12/12/2016.
+ */
+public class AbstractProcessorContextTest extends BaseAnalyticsCommonUnitTest {
+
+ class TestAbstractMessageProcessorContext extends AbstractProcessorContext {
+
+ public TestAbstractMessageProcessorContext(String message, boolean canProcessingContinue) {
+ super(message, canProcessingContinue);
+ }
+ }
+
+
+ @Test
+ public void testGetMessage() throws Exception {
+ TestAbstractMessageProcessorContext testProcessorContext =
+ new TestAbstractMessageProcessorContext(TEST_MESSAGE_PROCESSOR_MESSAGE, true);
+ final String message = testProcessorContext.getMessage();
+ assertThat("Message Processor message must match", message, is(TEST_MESSAGE_PROCESSOR_MESSAGE));
+ }
+
+ @Test
+ public void testCanProcessingContinue() throws Exception {
+ TestAbstractMessageProcessorContext testProcessorContext =
+ new TestAbstractMessageProcessorContext(TEST_MESSAGE_PROCESSOR_MESSAGE, true);
+ final boolean canProcessingContinue = testProcessorContext.canProcessingContinue();
+ assertThat("Message Can Processing flag must be true", canProcessingContinue, is(true));
+ }
+
+ @Test
+ public void testSetProcessingContinueFlag() throws Exception {
+ TestAbstractMessageProcessorContext testProcessorContext =
+ new TestAbstractMessageProcessorContext(TEST_MESSAGE_PROCESSOR_MESSAGE, true);
+ testProcessorContext.setProcessingContinueFlag(false);
+ assertThat("Message Can processing flag must be false",
+ testProcessorContext.canProcessingContinue(), is(false));
+
+ }
+
+ @Test
+ public void testGetMessageProcessors() throws Exception {
+ TestAbstractMessageProcessorContext testProcessorContext =
+ new TestAbstractMessageProcessorContext(TEST_MESSAGE_PROCESSOR_MESSAGE, true);
+ final List<? super MessageProcessor<? extends ProcessorContext>> messageProcessors =
+ testProcessorContext.getMessageProcessors();
+ assertThat("Message processor processing message must match", messageProcessors.size(), is(0));
+ }
+
+}
diff --git a/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/processor/GenericMessageChainProcessorTest.java b/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/processor/GenericMessageChainProcessorTest.java
new file mode 100644
index 0000000..2578406
--- /dev/null
+++ b/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/processor/GenericMessageChainProcessorTest.java
@@ -0,0 +1,96 @@
+/*
+ * ===============================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.common.service.processor;
+
+import com.google.common.collect.ImmutableList;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.common.BaseAnalyticsCommonUnitTest;
+import org.openecomp.dcae.apod.analytics.common.exception.MessageProcessingException;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertThat;
+
+
+/**
+ *
+ * @author Rajiv Singla . Creation Date: 11/8/2016.
+ */
+public class GenericMessageChainProcessorTest extends BaseAnalyticsCommonUnitTest {
+
+
+ @Test
+ public void testProcessChainWhenProcessChainHasNoEarlyTermination() throws Exception {
+
+ final TestMessageProcessor1 testMessageProcessor1 = getTestMessageProcessor1();
+ final TestMessageProcessor2 testMessageProcessor2 = getTestMessageProcessor2();
+ final ImmutableList<? extends MessageProcessor<TestProcessorContext>> testMessageChain =
+ ImmutableList.of(testMessageProcessor1, testMessageProcessor2);
+
+ final TestProcessorContext testProcessorContext = new TestProcessorContext("Hello", true);
+
+ final GenericMessageChainProcessor<TestProcessorContext> genericMessageChainProcessor =
+ new GenericMessageChainProcessor<>(testMessageChain, testProcessorContext);
+
+ final TestProcessorContext finalProcessorContext = genericMessageChainProcessor.processChain();
+
+ final String result = finalProcessorContext.getResult();
+ assertThat("Final Result must be Hello World! Again", result, is("Hello World! Again"));
+ assertThat("TestProcessor1 state is correct", testMessageProcessor1.getProcessingState(),
+ is(ProcessingState.PROCESSING_FINISHED_SUCCESSFULLY));
+ assertThat("TestProcessor2 state is correct", testMessageProcessor2.getProcessingState(),
+ is(ProcessingState.PROCESSING_FINISHED_SUCCESSFULLY));
+ }
+
+
+ @Test
+ public void testProcessChainWhenProcessChainEarlyTermination() throws Exception {
+
+ final TestEarlyTerminatingProcessor testEarlyTerminatingProcessor = getTestEarlyTerminationProcessor();
+ final ImmutableList<? extends MessageProcessor<TestProcessorContext>> testMessageChain =
+ ImmutableList.of(testEarlyTerminatingProcessor, getTestMessageProcessor2());
+ final TestProcessorContext testProcessorContext = new TestProcessorContext("Hello", true);
+
+ final GenericMessageChainProcessor<TestProcessorContext> genericMessageChainProcessor =
+ new GenericMessageChainProcessor<>(testMessageChain, testProcessorContext);
+
+ final TestProcessorContext finalProcessorContext = genericMessageChainProcessor.processChain();
+ final String result = finalProcessorContext.getResult();
+ assertNull("Final Result must be null", result);
+ assertThat("TestEarlyTerminatingProcessor state is correct",
+ testEarlyTerminatingProcessor.getProcessingState(), is(ProcessingState.PROCESSING_TERMINATED_EARLY));
+ }
+
+ @Test(expected = MessageProcessingException.class)
+ public void testProcessChainWhenIncomingMessageContextIsNull() throws Exception {
+
+ final TestEarlyTerminatingProcessor testEarlyTerminatingProcessor = getTestEarlyTerminationProcessor();
+ final ImmutableList<? extends MessageProcessor<TestProcessorContext>> testMessageChain =
+ ImmutableList.of(testEarlyTerminatingProcessor, getTestMessageProcessor2());
+ final TestProcessorContext testProcessorContext = null;
+
+ final GenericMessageChainProcessor<TestProcessorContext> genericMessageChainProcessor =
+ new GenericMessageChainProcessor<>(testMessageChain, testProcessorContext);
+
+ genericMessageChainProcessor.processChain();
+ }
+
+}
diff --git a/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/processor/GenericProcessorInfoTest.java b/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/processor/GenericProcessorInfoTest.java
new file mode 100644
index 0000000..d52789e
--- /dev/null
+++ b/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/processor/GenericProcessorInfoTest.java
@@ -0,0 +1,53 @@
+/*
+ * ===============================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.common.service.processor;
+
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.common.BaseAnalyticsCommonUnitTest;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+/**
+ * @author Rajiv Singla . Creation Date: 12/12/2016.
+ */
+public class GenericProcessorInfoTest extends BaseAnalyticsCommonUnitTest {
+
+
+ @Test
+ public void getProcessorName() throws Exception {
+ final String processorName = "testProcessorName";
+ final String processorDescription = "testProcessorDescription";
+ GenericProcessorInfo genericProcessorInfo = new GenericProcessorInfo(processorName, processorDescription);
+ assertThat("Processor Name must match", genericProcessorInfo.getProcessorName(), is(processorName));
+
+ }
+
+ @Test
+ public void getProcessorDescription() throws Exception {
+ final String processorName = "testProcessorName";
+ final String processorDescription = "testProcessorDescription";
+ GenericProcessorInfo genericProcessorInfo = new GenericProcessorInfo(processorName, processorDescription);
+ assertThat("Processor Description must match", genericProcessorInfo.getProcessorDescription(),
+ is(processorDescription));
+ }
+
+}
diff --git a/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/processor/TestEarlyTerminatingProcessor.java b/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/processor/TestEarlyTerminatingProcessor.java
new file mode 100644
index 0000000..814ea4b
--- /dev/null
+++ b/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/processor/TestEarlyTerminatingProcessor.java
@@ -0,0 +1,39 @@
+/*
+ * ===============================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.common.service.processor;
+
+/**
+ *
+ * @author Rajiv Singla . Creation Date: 11/8/2016.
+ */
+public class TestEarlyTerminatingProcessor extends AbstractMessageProcessor<TestProcessorContext> {
+
+ @Override
+ public String getProcessorDescription() {
+ return "Terminates the chain early";
+ }
+
+ @Override
+ public TestProcessorContext processMessage(TestProcessorContext processorContext) {
+ setTerminatingProcessingMessage("Terminating early", processorContext);
+ return processorContext;
+ }
+}
diff --git a/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/processor/TestMessageProcessor1.java b/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/processor/TestMessageProcessor1.java
new file mode 100644
index 0000000..e8f8b0e
--- /dev/null
+++ b/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/processor/TestMessageProcessor1.java
@@ -0,0 +1,41 @@
+/*
+ * ===============================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.common.service.processor;
+
+/**
+ *
+ * @author Rajiv Singla . Creation Date: 11/8/2016.
+ */
+public class TestMessageProcessor1 extends AbstractMessageProcessor<TestProcessorContext> {
+
+ @Override
+ public String getProcessorDescription() {
+ return "Appends \" World!\" to the message string and set it to result string";
+ }
+
+ @Override
+ public TestProcessorContext processMessage(TestProcessorContext processorContext) {
+ final String message = processorContext.getMessage();
+ processorContext.setResult(message + " World!");
+ setFinishedProcessingMessage("Finished Appending world", processorContext);
+ return processorContext;
+ }
+}
diff --git a/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/processor/TestMessageProcessor2.java b/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/processor/TestMessageProcessor2.java
new file mode 100644
index 0000000..ce3a2dc
--- /dev/null
+++ b/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/processor/TestMessageProcessor2.java
@@ -0,0 +1,41 @@
+/*
+ * ===============================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.common.service.processor;
+
+/**
+ *
+ * @author Rajiv Singla . Creation Date: 11/8/2016.
+ */
+public class TestMessageProcessor2 extends AbstractMessageProcessor<TestProcessorContext> {
+
+ @Override
+ public String getProcessorDescription() {
+ return "Appends \" Again\" to the result string";
+ }
+
+ @Override
+ public TestProcessorContext processMessage(TestProcessorContext processorContext) {
+ final String result = processorContext.getResult();
+ processorContext.setResult(result + " Again");
+ setFinishedProcessingMessage("Finished Appending again to result", processorContext);
+ return processorContext;
+ }
+}
diff --git a/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/processor/TestProcessorContext.java b/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/processor/TestProcessorContext.java
new file mode 100644
index 0000000..9ed7f4c
--- /dev/null
+++ b/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/processor/TestProcessorContext.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.common.service.processor;
+
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ *
+ * @author Rajiv Singla . Creation Date: 11/8/2016.
+ */
+public class TestProcessorContext implements ProcessorContext {
+
+ private String message;
+ private boolean continueProcessingFlag;
+ private String result;
+ private List<? super MessageProcessor<? extends ProcessorContext>> messageProcessors;
+
+ public TestProcessorContext(String message, boolean continueProcessingFlag) {
+ this.message = message;
+ this.continueProcessingFlag = continueProcessingFlag;
+ this.messageProcessors = new LinkedList<>();
+ }
+
+ @Override
+ public String getMessage() {
+ return message;
+ }
+
+ @Override
+ public boolean canProcessingContinue() {
+ return continueProcessingFlag;
+ }
+
+ @Override
+ public void setProcessingContinueFlag(boolean canProcessingContinue) {
+ this.continueProcessingFlag = canProcessingContinue;
+ }
+
+ @Override
+ public List<? super MessageProcessor<? extends ProcessorContext>> getMessageProcessors() {
+ return messageProcessors;
+ }
+
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isContinueProcessingFlag() {
+ return continueProcessingFlag;
+ }
+
+ public void setContinueProcessingFlag(boolean continueProcessingFlag) {
+ this.continueProcessingFlag = continueProcessingFlag;
+ }
+
+ public String getResult() {
+ return result;
+ }
+
+ public void setResult(String result) {
+ this.result = result;
+ }
+
+}
diff --git a/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/utils/HTTPUtilsTest.java b/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/utils/HTTPUtilsTest.java
new file mode 100644
index 0000000..23cc4fb
--- /dev/null
+++ b/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/utils/HTTPUtilsTest.java
@@ -0,0 +1,48 @@
+/*
+ * ===============================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.common.utils;
+
+import org.junit.Assert;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.common.BaseAnalyticsCommonUnitTest;
+
+import static org.hamcrest.CoreMatchers.is;
+
+/**
+ * @author Rajiv Singla . Creation Date: 12/12/2016.
+ */
+public class HTTPUtilsTest extends BaseAnalyticsCommonUnitTest {
+
+
+ @Test
+ public void testIsSuccessfulResponseCodeWhenResponseCodeIsSuccessful() throws Exception {
+ final boolean successfulResponseCode = HTTPUtils.isSuccessfulResponseCode(200);
+ Assert.assertThat("200 Response code must return true", successfulResponseCode, is(true));
+ }
+
+ @Test
+ public void testIsSuccessfulResponseCodeWhenResponseCodeIsNotSuccessful() throws Exception {
+ final boolean successfulResponseCode = HTTPUtils.isSuccessfulResponseCode(301);
+ Assert.assertThat("301 Response code must return false", successfulResponseCode, is(false));
+ }
+
+
+}
diff --git a/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/utils/MessageProcessorUtilsTest.java b/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/utils/MessageProcessorUtilsTest.java
new file mode 100644
index 0000000..8f8c68f
--- /dev/null
+++ b/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/utils/MessageProcessorUtilsTest.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.common.utils;
+
+import com.google.common.collect.ImmutableSet;
+import org.junit.Assert;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.common.BaseAnalyticsCommonUnitTest;
+import org.openecomp.dcae.apod.analytics.common.service.filter.JsonMessageFilterProcessorContext;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * @author Rajiv Singla . Creation Date: 3/3/2017.
+ */
+public class MessageProcessorUtilsTest extends BaseAnalyticsCommonUnitTest {
+
+
+ @Test
+ public void testProcessJsonFilterMappings() throws Exception {
+ final String jsonMessage = fromStream(CEF_MESSAGE_FILE_PATH);
+
+ final Map<String, Set<String>> jsonFilterMappings = new HashMap<>();
+ jsonFilterMappings.put("$.event.commonEventHeader.domain", ImmutableSet.of("measurementsForVfScaling"));
+ jsonFilterMappings.put(
+ "$.event.commonEventHeader.functionalRole", ImmutableSet.of("vFirewall", "vLoadBalancer"));
+
+ final JsonMessageFilterProcessorContext jsonMessageFilterProcessorContext =
+ MessageProcessorUtils.processJsonFilterMappings(jsonMessage, jsonFilterMappings);
+ final Boolean matched = jsonMessageFilterProcessorContext.getMatched();
+ Assert.assertNotNull(matched);
+ Assert.assertTrue(matched);
+ }
+
+ @Test(expected = IllegalStateException.class)
+ public void testProcessJsonFilterMappingsWhenMappingsAreEmpty() throws Exception {
+ final String jsonMessage = fromStream(CEF_MESSAGE_FILE_PATH);
+ final Map<String, Set<String>> jsonFilterMappings = new HashMap<>();
+ MessageProcessorUtils.processJsonFilterMappings(jsonMessage, jsonFilterMappings);
+ }
+
+}
diff --git a/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/utils/PersistenceUtilsTest.java b/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/utils/PersistenceUtilsTest.java
new file mode 100644
index 0000000..d6d4ded
--- /dev/null
+++ b/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/utils/PersistenceUtilsTest.java
@@ -0,0 +1,40 @@
+/*
+ * ===============================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.common.utils;
+
+import org.junit.Assert;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.common.BaseAnalyticsCommonUnitTest;
+
+/**
+ * @author Rajiv Singla . Creation Date: 12/12/2016.
+ */
+public class PersistenceUtilsTest extends BaseAnalyticsCommonUnitTest {
+
+ @Test
+ public void testGetCurrentTimeReverseSubKey() throws Exception {
+
+ final String currentTimeReverseSubKey = PersistenceUtils.getCurrentTimeReverseSubKey();
+ Assert.assertNotNull("Sub Key must not be null", currentTimeReverseSubKey);
+ Assert.assertTrue("Sub Key Length must be 25", currentTimeReverseSubKey.length() == 25);
+ }
+
+}
diff --git a/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/validation/GenericValidationResponseTest.java b/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/validation/GenericValidationResponseTest.java
new file mode 100644
index 0000000..fc2a27b
--- /dev/null
+++ b/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/validation/GenericValidationResponseTest.java
@@ -0,0 +1,129 @@
+/*
+ * ===============================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.common.validation;
+
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.common.BaseAnalyticsCommonUnitTest;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+/**
+ * @author Rajiv Singla . Creation Date: 12/12/2016.
+ */
+public class GenericValidationResponseTest extends BaseAnalyticsCommonUnitTest {
+
+
+ @Test
+ public void testHasErrorsWhenResponseHasErrors() throws Exception {
+
+ final String fieldName = "testField";
+ final String errorMessage = "Some error message";
+ final GenericValidationResponse<CDAPTestAppSettings> validationResponse =
+ createTestValidationResponse(fieldName, errorMessage);
+
+ validationResponse.addErrorMessage("testField", "Some error message");
+ assertThat("Validation Response must has errors", validationResponse.hasErrors(), is(true));
+ }
+
+ @Test
+ public void testHasErrorsWhenResponseDoesNotHaveErrors() throws Exception {
+ GenericValidationResponse<CDAPTestAppSettings> validationResponse = new
+ GenericValidationResponse<>();
+ assertThat("Validation Response must has errors", validationResponse.hasErrors(), is(false));
+ }
+
+ @Test
+ public void testGetFieldNamesWithError() throws Exception {
+
+ final String fieldName = "testField";
+ final String errorMessage = "Some error message";
+ final GenericValidationResponse<CDAPTestAppSettings> validationResponse =
+ createTestValidationResponse(fieldName, errorMessage);
+
+ assertThat("Validation Response must has errors", validationResponse.hasErrors(), is(true));
+ assertThat("Validation Field Name must match",
+ validationResponse.getFieldNamesWithError().iterator().next(), is(fieldName));
+ }
+
+ @Test
+ public void testGetErrorMessages() throws Exception {
+
+ final String fieldName = "testField";
+ final String errorMessage = "Some error message";
+ final GenericValidationResponse<CDAPTestAppSettings> validationResponse =
+ createTestValidationResponse(fieldName, errorMessage);
+
+ assertThat("Validation Response must has errors", validationResponse.hasErrors(), is(true));
+ assertThat("Validation Error Message must match",
+ validationResponse.getErrorMessages().iterator().next(), is(errorMessage));
+ }
+
+ @Test
+ public void getValidationResultsAsMap() throws Exception {
+ final String fieldName = "testField";
+ final String errorMessage = "Some error message";
+ final GenericValidationResponse<CDAPTestAppSettings> validationResponse =
+ createTestValidationResponse(fieldName, errorMessage);
+ assertThat("Validation Response must has errors", validationResponse.hasErrors(), is(true));
+ assertThat("Validation Field Name must match",
+ validationResponse.getValidationResultsAsMap().keySet().iterator().next(), is(fieldName));
+ assertThat("Validation Error Message must match",
+ validationResponse.getValidationResultsAsMap().values().iterator().next(), is(errorMessage));
+ }
+
+ @Test
+ public void getAllErrorMessage() throws Exception {
+ final String fieldName = "testField";
+ final String errorMessage = "Some error message";
+ final GenericValidationResponse<CDAPTestAppSettings> validationResponse =
+ createTestValidationResponse(fieldName, errorMessage);
+ final String allErrorMessage = validationResponse.getAllErrorMessage();
+ assertThat("All Error messages should match", allErrorMessage, is(errorMessage));
+ }
+
+ @Test
+ public void addErrorMessage() throws Exception {
+ final String fieldName = "testField";
+ final String errorMessage = "Some error message";
+ GenericValidationResponse<CDAPTestAppSettings> validationResponse = new
+ GenericValidationResponse<>();
+ validationResponse.addErrorMessage(fieldName, errorMessage);
+
+ assertThat("Validation Response must has errors", validationResponse.hasErrors(), is(true));
+ assertThat("Validation Field Name must match",
+ validationResponse.getValidationResultsAsMap().keySet().iterator().next(), is(fieldName));
+ assertThat("Validation Error Message must match",
+ validationResponse.getValidationResultsAsMap().values().iterator().next(), is(errorMessage));
+ }
+
+ private static GenericValidationResponse<CDAPTestAppSettings> createTestValidationResponse(
+ final String fieldName, final String errorMessage) {
+ GenericValidationResponse<CDAPTestAppSettings> validationResponse = new
+ GenericValidationResponse<>();
+ if (fieldName != null || errorMessage != null) {
+ validationResponse.addErrorMessage(fieldName, errorMessage);
+ }
+
+ return validationResponse;
+ }
+
+}
diff --git a/dcae-analytics-common/src/test/resources/data/json/cef_message.json b/dcae-analytics-common/src/test/resources/data/json/cef_message.json
new file mode 100644
index 0000000..52cf53b
--- /dev/null
+++ b/dcae-analytics-common/src/test/resources/data/json/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-common/src/test/resources/logback-test.xml b/dcae-analytics-common/src/test/resources/logback-test.xml
new file mode 100644
index 0000000..f6d96bf
--- /dev/null
+++ b/dcae-analytics-common/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>
+
+ <!--
+ 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-dmaap/pom.xml b/dcae-analytics-dmaap/pom.xml
new file mode 100644
index 0000000..75d2c3c
--- /dev/null
+++ b/dcae-analytics-dmaap/pom.xml
@@ -0,0 +1,114 @@
+<?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-dmaap</artifactId>
+ <packaging>jar</packaging>
+
+ <!-- THIS MODULE CONTAINS CODE FOR DMaaP API -->
+ <name>DCAE Analytics DMaaP</name>
+ <description>
+ DMaaP(Data Movement as a Platform) MR API using AAF(Authentication and Authorization Framework)
+ </description>
+
+
+ <properties>
+ <main.basedir>${project.parent.basedir}</main.basedir>
+ </properties>
+
+ <dependencies>
+
+ <!-- DCAE COMMON DEPENDENCIES -->
+ <dependency>
+ <groupId>org.openecomp.dcae.apod.analytics</groupId>
+ <artifactId>dcae-analytics-common</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ </dependency>
+
+ <!-- APACHE CLIENT -->
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpclient</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>
+
+ <dependency>
+ <groupId>com.google.code.findbugs</groupId>
+ <artifactId>jsr305</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.google.code.findbugs</groupId>
+ <artifactId>annotations</artifactId>
+ </dependency>
+
+
+ <!-- JACKSON JSON -->
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-annotations</artifactId>
+ </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>
+
+ </dependencies>
+
+
+</project>
diff --git a/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/DMaaPMRFactory.java b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/DMaaPMRFactory.java
new file mode 100644
index 0000000..fae3f74
--- /dev/null
+++ b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/DMaaPMRFactory.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.dmaap;
+
+import com.google.inject.AbstractModule;
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRPublisherConfig;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRSubscriberConfig;
+import org.openecomp.dcae.apod.analytics.dmaap.module.AnalyticsDMaaPModule;
+import org.openecomp.dcae.apod.analytics.dmaap.service.publisher.DMaaPMRPublisher;
+import org.openecomp.dcae.apod.analytics.dmaap.service.publisher.DMaaPMRPublisherFactory;
+import org.openecomp.dcae.apod.analytics.dmaap.service.subscriber.DMaaPMRSubscriber;
+import org.openecomp.dcae.apod.analytics.dmaap.service.subscriber.DMaaPMRSubscriberFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.annotation.Nonnull;
+
+/**
+ * Creates pre injected implementations for {@link DMaaPMRPublisher} and {@link DMaaPMRSubscriber}
+ * <p>
+ * Usage:
+ * <p>Create an instance of DMaaP MR Factory</p>
+ * <pre>
+ * DMaaPFactory dmaapFactory = DMaaPFactory.initalize()
+ * </pre>
+ * <p>Create a new DMaaP MR Publisher</p>
+ * <pre>
+ * DMaaPMRPublisher publisher = dmaapFactory.createPublisher(publisherConfig)
+ * </pre>
+ * <p>Create new DMaaP MR Subscriber</p>
+ * <pre>
+ * DMaaPMRSubscriber subscriber = dmaapFactory.createSubscriber(subscriberConfig)
+ * </pre>
+ * <p>
+ * <strong>All Clients must use this Factory to initalize DMaaP Message Router Publishers and Subscribers</strong>
+ * </p>
+ * <p>
+ * @author Rajiv Singla . Creation Date: 10/20/2016.
+ */
+public class DMaaPMRFactory {
+
+ private static final Logger LOG = LoggerFactory.getLogger(DMaaPMRFactory.class);
+
+ private final Injector injector;
+
+ public DMaaPMRFactory(AbstractModule guiceModule) {
+ injector = Guice.createInjector(guiceModule);
+ }
+
+ /**
+ * Returns configured instance of {@link DMaaPMRPublisher}
+ *
+ * @param publisherConfig Publisher Config
+ * @return configured instance of DMaaP MR Publisher
+ */
+ public DMaaPMRPublisher createPublisher(@Nonnull DMaaPMRPublisherConfig publisherConfig) {
+ final DMaaPMRPublisherFactory publisherFactory = injector.getInstance(DMaaPMRPublisherFactory.class);
+ LOG.debug("Creating new DMaaP MR Publisher Instance with configuration: {}", publisherConfig);
+ final DMaaPMRPublisher dMaaPMRPublisher = publisherFactory.create(publisherConfig);
+ LOG.info("Created new DMaaP MR Publisher Instance. Publisher creation time: {}",
+ dMaaPMRPublisher.getPublisherCreationTime());
+ return dMaaPMRPublisher;
+ }
+
+ /**
+ * Returns configured instance of {@link DMaaPMRSubscriber}
+ *
+ * @param subscriberConfig Subscriber Config
+ * @return configured instance of DMaaP MR Subscriber
+ */
+ public DMaaPMRSubscriber createSubscriber(@Nonnull DMaaPMRSubscriberConfig subscriberConfig) {
+ final DMaaPMRSubscriberFactory subscriberFactory = injector.getInstance(DMaaPMRSubscriberFactory.class);
+ LOG.debug("Creating new DMaaP MR Subscriber Instance with configuration: {}", subscriberConfig);
+ final DMaaPMRSubscriber dMaaPMRSubscriber = subscriberFactory.create(subscriberConfig);
+ LOG.info("Created new DMaaP MR Subscriber Instance. Subscriber creation time: {}",
+ dMaaPMRSubscriber.getSubscriberCreationTime());
+ return dMaaPMRSubscriber;
+ }
+
+ /**
+ * Creates an instance of {@link DMaaPMRFactory}
+ *
+ * @return {@link DMaaPMRFactory} factory instance
+ */
+ public static DMaaPMRFactory create() {
+ final DMaaPMRFactory dMaaPMRFactory = new DMaaPMRFactory(new AnalyticsDMaaPModule());
+ LOG.info("Created new instance of DMaaP MR Factory");
+ return dMaaPMRFactory;
+ }
+
+
+}
diff --git a/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/domain/config/DMaaPMRBaseConfig.java b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/domain/config/DMaaPMRBaseConfig.java
new file mode 100644
index 0000000..d732c9f
--- /dev/null
+++ b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/domain/config/DMaaPMRBaseConfig.java
@@ -0,0 +1,193 @@
+/*
+ * ===============================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.dmaap.domain.config;
+
+import com.google.common.base.Objects;
+import org.openecomp.dcae.apod.analytics.common.exception.DCAEAnalyticsRuntimeException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.Locale;
+
+import static org.openecomp.dcae.apod.analytics.common.utils.HTTPUtils.JSON_APPLICATION_TYPE;
+
+/**
+ * <p>
+ * Contains common parameters for both DMaaP Message Router Publisher and Subscriber Configs
+ * <p>
+ * @author Rajiv Singla . Creation Date: 10/12/2016.
+ */
+public abstract class DMaaPMRBaseConfig implements DMaaPMRConfig {
+
+ protected static final Logger LOG = LoggerFactory.getLogger(DMaaPMRBaseConfig.class);
+
+ protected String hostName;
+ protected Integer portNumber;
+ protected String topicName;
+ protected String protocol;
+ protected String userName;
+ protected String userPassword;
+ protected String contentType;
+
+ /**
+ * Provides host name e.g. mrlocal-mtnjftle01.homer.com
+ *
+ * @return host name
+ */
+ public String getHostName() {
+ return hostName;
+ }
+
+
+ /**
+ * Provides Port Number of DMaaP MR Topic Host. Defaults to 80
+ *
+ * @return host port number
+ */
+ public Integer getPortNumber() {
+ return portNumber;
+ }
+
+ /**
+ * Provides topic name e.g. com.dcae.dmaap.mtnje2.DcaeTestVES
+ *
+ * @return topic name
+ */
+ public String getTopicName() {
+ return topicName;
+ }
+
+ /**
+ * Provides protocol type e.g. http or https
+ *
+ * @return protocol type
+ */
+ public String getProtocol() {
+ return protocol;
+ }
+
+ /**
+ * Provides content type e.g. application/json
+ *
+ * @return content type
+ */
+ public String getContentType() {
+ return contentType;
+ }
+
+
+ /**
+ * Provides User name for the DMaaP MR Topic authentication
+ *
+ * @return user name
+ */
+ public String getUserName() {
+ return userName;
+ }
+
+ /**
+ * Provides User password for the DMaaP MR Topic authentication
+ *
+ * @return user Password
+ */
+ public String getUserPassword() {
+ return userPassword;
+ }
+
+
+ /**
+ * Trims, adjusts casing and validates user input String for protocol selection
+ *
+ * @param protocol - User input for protocol String
+ * @return - network protocol e.g http or https
+ */
+ protected static String normalizeValidateProtocol(final String protocol) {
+ // validate that only http and https are supported protocols are Supported for DMaaP MR
+ String normalizedProtocolString = protocol.trim().toLowerCase(Locale.ENGLISH);
+ if (normalizedProtocolString.isEmpty() ||
+ !("http".equals(normalizedProtocolString) || "https".equals(normalizedProtocolString))) {
+
+ final String errorMessage =
+ "Unsupported protocol selection. Only HTTPS and HTTPS are currently supported for DMaaP MR";
+
+ throw new DCAEAnalyticsRuntimeException(errorMessage, LOG, new IllegalArgumentException(errorMessage));
+ }
+ return normalizedProtocolString;
+ }
+
+
+ /**
+ * Trims, adjust casing and validates content type is supported by DMaaP.
+ *
+ * NOTE: DMaaP currently only support application/json content type
+ *
+ * @param contentType content type that needs to checked for DMaaP MR support
+ * @return true if content type is supported by DMaaP MR
+ */
+ protected static String normalizeValidateContentType(final String contentType) {
+ // Current DMaaP MR is only supporting "application/json" content type
+ String normalizedContentType = contentType.trim().toLowerCase(Locale.ENGLISH);
+ final boolean isSupported = contentType.equals(JSON_APPLICATION_TYPE);
+ if (!isSupported) {
+ final String errorMessage =
+ "Unsupported content type selection. Only application/json is currently supported for DMaaP MR";
+
+ throw new DCAEAnalyticsRuntimeException(errorMessage, LOG, new IllegalArgumentException(errorMessage));
+ }
+ return normalizedContentType;
+ }
+
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof DMaaPMRBaseConfig)) {
+ return false;
+ }
+ DMaaPMRBaseConfig that = (DMaaPMRBaseConfig) o;
+ return Objects.equal(hostName, that.hostName) &&
+ Objects.equal(portNumber, that.portNumber) &&
+ Objects.equal(topicName, that.topicName) &&
+ Objects.equal(protocol, that.protocol) &&
+ Objects.equal(userName, that.userName) &&
+ Objects.equal(userPassword, that.userPassword) &&
+ Objects.equal(contentType, that.contentType);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hashCode(hostName, portNumber, topicName, protocol, userName, userPassword, contentType);
+ }
+
+ @Override
+ public String toString() {
+ return Objects.toStringHelper(this)
+ .add("hostName", hostName)
+ .add("portNumber", portNumber)
+ .add("topicName", topicName)
+ .add("protocol", protocol)
+ .add("userName", userName)
+ .add("contentType", contentType)
+ .toString();
+ }
+}
diff --git a/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/domain/config/DMaaPMRConfig.java b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/domain/config/DMaaPMRConfig.java
new file mode 100644
index 0000000..93bc38a
--- /dev/null
+++ b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/domain/config/DMaaPMRConfig.java
@@ -0,0 +1,32 @@
+/*
+ * ===============================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.dmaap.domain.config;
+
+/**
+ * <p>
+ * Marker Interface for all DMaaP MR Configs.
+ * Holds Default configuration parameters for all Configs
+ * <p>
+ * @author Rajiv Singla . Creation Date: 10/12/2016.
+ */
+public interface DMaaPMRConfig {
+
+}
diff --git a/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/domain/config/DMaaPMRPublisherConfig.java b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/domain/config/DMaaPMRPublisherConfig.java
new file mode 100644
index 0000000..96577c6
--- /dev/null
+++ b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/domain/config/DMaaPMRPublisherConfig.java
@@ -0,0 +1,248 @@
+/*
+ * ===============================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.dmaap.domain.config;
+
+import com.google.common.base.Objects;
+import org.openecomp.dcae.apod.analytics.common.AnalyticsConstants;
+
+import javax.annotation.Nonnull;
+
+/**
+ * <p>
+ * Immutable DMaaP MR Configuration for DMaaP MR Publisher.
+ * <p>
+ * Use {@link DMaaPMRPublisherConfig.Builder} to construct Subscriber Configuration
+ * </p>
+ * <p>
+ * @author Rajiv Singla . Creation Date: 10/12/2016.
+ */
+public class DMaaPMRPublisherConfig extends DMaaPMRBaseConfig {
+
+ /**
+ * Publisher batching queue size
+ */
+ private int maxBatchSize;
+
+ /**
+ * Publisher Recovery Queue Size
+ */
+ private int maxRecoveryQueueSize;
+
+
+ private DMaaPMRPublisherConfig(@Nonnull String hostName,
+ @Nonnull Integer portNumber,
+ @Nonnull String topicName,
+ @Nonnull String protocol,
+ String userName,
+ String userPassword,
+ @Nonnull String contentType,
+ int maxBatchSize,
+ int maxRecoveryQueueSize) {
+ this.hostName = hostName;
+ this.portNumber = portNumber;
+ this.topicName = topicName;
+ this.protocol = protocol;
+ this.userName = userName;
+ this.userPassword = userPassword;
+ this.contentType = contentType;
+ this.maxBatchSize = maxBatchSize;
+ this.maxRecoveryQueueSize = maxRecoveryQueueSize;
+ }
+
+
+ /**
+ * Builder to initialize immutable {@link DMaaPMRPublisherConfig} object
+ */
+ public static class Builder {
+
+ private String hostName;
+ private Integer portNumber;
+ private String topicName;
+ private String userName;
+ private String userPassword;
+ private String protocol;
+ private String contentType;
+ private int maxBatchSize;
+ private int maxRecoveryQueueSize;
+
+ public Builder(@Nonnull String hostName, @Nonnull String topicName) {
+ // required values
+ this.hostName = hostName;
+ this.topicName = topicName;
+ // Default values
+ this.portNumber = AnalyticsConstants.DEFAULT_PORT_NUMBER;
+ this.userName = AnalyticsConstants.DEFAULT_USER_NAME;
+ this.userPassword = AnalyticsConstants.DEFAULT_USER_PASSWORD;
+ this.protocol = AnalyticsConstants.DEFAULT_PROTOCOL;
+ this.contentType = AnalyticsConstants.DEFAULT_CONTENT_TYPE;
+ this.maxBatchSize = AnalyticsConstants.DEFAULT_PUBLISHER_MAX_BATCH_SIZE;
+ this.maxRecoveryQueueSize = AnalyticsConstants.DEFAULT_PUBLISHER_MAX_RECOVERY_QUEUE_SIZE;
+ }
+
+ /**
+ * Setup for custom host port number - Defaults to 80.
+ *
+ * @param portNumber custom port number
+ * @return Builder object itself for chaining
+ */
+ public Builder setPortNumber(@Nonnull Integer portNumber) {
+ this.portNumber = portNumber;
+ return this;
+ }
+
+
+ /**
+ * Setup user name for authentication. If no username is provided authentication will be disabled
+ *
+ * @param userName user name for DMaaP Topic Authentication
+ * @return Builder object itself for chaining
+ */
+ public Builder setUserName(@Nonnull String userName) {
+ this.userName = userName;
+ return this;
+ }
+
+
+ /**
+ * Setup user password for authentication. If no password is provided authentication will be disabled
+ *
+ * @param userPassword user password for DMaaP Topic Authentication
+ * @return Builder object itself for chaining
+ */
+ public Builder setUserPassword(@Nonnull String userPassword) {
+ this.userPassword = userPassword;
+ return this;
+ }
+
+
+ /**
+ * Setup custom Publisher protocol - Defaults to https.
+ * Note: Only http and https are currently supported.
+ *
+ * @param protocol protocol e.g. https
+ * @return Builder object itself for chaining
+ */
+ public Builder setProtocol(@Nonnull String protocol) {
+ this.protocol = normalizeValidateProtocol(protocol);
+ return this;
+ }
+
+
+ /**
+ * Setup custom Publisher content-type - Defaults to application/json
+ *
+ * @param contentType content type e.g. application/json
+ * @return Builder object itself for chaining
+ */
+ public Builder setContentType(@Nonnull String contentType) {
+ final String normalizedContentType = normalizeValidateContentType(contentType);
+ this.contentType = normalizedContentType;
+ return this;
+ }
+
+
+ /**
+ * Setup custom Publisher Max Batch Size - Defaults to 100
+ *
+ * @param maxBatchSize max Batch Size
+ * @return Builder object itself for chaining
+ */
+ public Builder setMaxBatchSize(int maxBatchSize) {
+ this.maxBatchSize = maxBatchSize;
+ return this;
+ }
+
+
+ /**
+ * Setup custom Maximum Recovery Queue Size. Recovery Queue is used to hold messages temporarily in case
+ * DMaaP MR Publisher topic is not responding for any reason. Defaults to 100,000
+ *
+ * @param maxRecoveryQueueSize max recovery queue size
+ * @return Builder object itself for chaining
+ */
+ public Builder setMaxRecoveryQueueSize(int maxRecoveryQueueSize) {
+ this.maxRecoveryQueueSize = maxRecoveryQueueSize;
+ return this;
+ }
+
+ /**
+ * Creates immutable instance of {@link DMaaPMRPublisherConfig}
+ *
+ * @return Builds and returns thread safe, immutable {@link DMaaPMRPublisherConfig} object
+ */
+ public DMaaPMRPublisherConfig build() {
+ return new DMaaPMRPublisherConfig(hostName, portNumber, topicName, protocol, userName, userPassword,
+ contentType, maxBatchSize, maxRecoveryQueueSize);
+ }
+
+ }
+
+
+ /**
+ * Returns max Publisher Batch Queue Size
+ *
+ * @return max Publisher Batch Queue size
+ */
+ public int getMaxBatchSize() {
+ return maxBatchSize;
+ }
+
+ /**
+ * Returns max Publisher Recovery Queue Size
+ *
+ * @return max Recovery Queue size
+ */
+ public int getMaxRecoveryQueueSize() {
+ return maxRecoveryQueueSize;
+ }
+
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ if (!super.equals(o)) {
+ return false;
+ }
+ DMaaPMRPublisherConfig that = (DMaaPMRPublisherConfig) o;
+ return maxBatchSize == that.maxBatchSize &&
+ maxRecoveryQueueSize == that.maxRecoveryQueueSize;
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hashCode(super.hashCode(), maxBatchSize, maxRecoveryQueueSize);
+ }
+
+
+ @Override
+ public String toString() {
+ return Objects.toStringHelper(this)
+ .add("baseConfig", super.toString())
+ .add("maxBatchSize", maxBatchSize)
+ .add("maxRecoveryQueueSize", maxRecoveryQueueSize)
+ .toString();
+ }
+}
diff --git a/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/domain/config/DMaaPMRSubscriberConfig.java b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/domain/config/DMaaPMRSubscriberConfig.java
new file mode 100644
index 0000000..e2feeac
--- /dev/null
+++ b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/domain/config/DMaaPMRSubscriberConfig.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.dmaap.domain.config;
+
+import com.google.common.base.Objects;
+import org.openecomp.dcae.apod.analytics.common.AnalyticsConstants;
+
+import java.util.UUID;
+
+import javax.annotation.Nonnull;
+
+/**
+ * <p>
+ * Immutable DMaaP MR Configuration for Subscriber.
+ * <p>
+ * Use {@link DMaaPMRSubscriberConfig.Builder} to construct Subscriber Configuration
+ * <p>
+ *
+ * @author Rajiv Singla . Creation Date: 10/12/2016.
+ */
+public final class DMaaPMRSubscriberConfig extends DMaaPMRBaseConfig {
+
+ private final String consumerId;
+ private final String consumerGroup;
+ private final Integer timeoutMS;
+ private final Integer messageLimit;
+
+ private DMaaPMRSubscriberConfig(@Nonnull String hostName,
+ @Nonnull Integer portNumber,
+ @Nonnull String topicName,
+ @Nonnull String protocol,
+ String userName,
+ String userPassword,
+ @Nonnull String contentType,
+ @Nonnull String consumerId,
+ @Nonnull String consumerGroup,
+ @Nonnull Integer timeoutMS,
+ @Nonnull Integer messageLimit) {
+ this.hostName = hostName;
+ this.portNumber = portNumber;
+ this.topicName = topicName;
+ this.protocol = protocol;
+ this.userName = userName;
+ this.userPassword = userPassword;
+ this.contentType = contentType;
+ this.consumerId = consumerId;
+ this.consumerGroup = consumerGroup;
+ this.timeoutMS = timeoutMS;
+ this.messageLimit = messageLimit;
+ }
+
+ /**
+ * Builder to initialize immutable {@link DMaaPMRSubscriberConfig} object
+ */
+ public static class Builder {
+
+ private String hostName;
+ private Integer portNumber;
+ private String topicName;
+ private String userName;
+ private String userPassword;
+ private String protocol;
+ private String contentType;
+ private String consumerId;
+ private String consumerGroup;
+ private Integer timeoutMS;
+ private Integer messageLimit;
+
+ public Builder(@Nonnull String hostName,
+ @Nonnull String topicName) {
+ // Required Values
+ this.hostName = hostName;
+ this.topicName = topicName;
+
+ // Default values
+ this.portNumber = AnalyticsConstants.DEFAULT_PORT_NUMBER;
+ this.userName = AnalyticsConstants.DEFAULT_USER_NAME;
+ this.userPassword = AnalyticsConstants.DEFAULT_USER_PASSWORD;
+ this.protocol = AnalyticsConstants.DEFAULT_PROTOCOL;
+ this.contentType = AnalyticsConstants.DEFAULT_CONTENT_TYPE;
+ this.consumerId = UUID.randomUUID().toString(); // consumer is assigned a random id by default
+ this.consumerGroup = AnalyticsConstants.DEFAULT_SUBSCRIBER_GROUP_PREFIX + consumerId; // random group
+ this.timeoutMS = AnalyticsConstants.DEFAULT_SUBSCRIBER_TIMEOUT_MS; // defaults to 10ms timeout
+ this.messageLimit = AnalyticsConstants.DEFAULT_SUBSCRIBER_MESSAGE_LIMIT; // defaults to 1000 message limit
+ }
+
+
+ /**
+ * Setup for custom host port number - Defaults to 80.
+ *
+ * @param portNumber custom port number
+ * @return Builder object itself for chaining
+ */
+ public Builder setPortNumber(@Nonnull Integer portNumber) {
+ this.portNumber = portNumber;
+ return this;
+ }
+
+
+ /**
+ * Setup user name for authentication. If no username is provided authentication will be disabled
+ *
+ * @param userName user name for DMaaP Topic Authentication
+ * @return Builder object itself for chaining
+ */
+ public Builder setUserName(@Nonnull String userName) {
+ this.userName = userName;
+ return this;
+ }
+
+
+ /**
+ * Setup user password for authentication. If no password is provided authentication will be disabled
+ *
+ * @param userPassword user password for DMaaP Topic Authentication
+ * @return Builder object itself for chaining
+ */
+ public Builder setUserPassword(@Nonnull String userPassword) {
+ this.userPassword = userPassword;
+ return this;
+ }
+
+
+ /**
+ * Setup custom Subscriber protocol - Defaults to https.
+ * Note: Only http and https are currently supported.
+ *
+ * @param protocol protocol e.g. https or http
+ * @return Builder object itself for chaining
+ */
+ public Builder setProtocol(@Nonnull String protocol) {
+
+ this.protocol = normalizeValidateProtocol(protocol);
+ return this;
+ }
+
+ /**
+ * Setup custom Subscriber content-type - Defaults to application/json
+ *
+ * @param contentType content type e.g. application/json
+ * @return Builder object itself for chaining
+ */
+ public Builder setContentType(@Nonnull String contentType) {
+ final String normalizedContentType = normalizeValidateContentType(contentType);
+ this.contentType = normalizedContentType;
+ return this;
+ }
+
+
+ /**
+ * Setup custom Consumer Id - Defaults to random Id
+ *
+ * @param consumerId - custom consumer ID
+ * @return Builder object itself for chaining
+ */
+ public Builder setConsumerId(@Nonnull String consumerId) {
+ this.consumerId = consumerId;
+ return this;
+ }
+
+ /**
+ * Setup custom Consumer Group - Default to OpenDCAE-DMaaPSub-ConsumerID
+ *
+ * @param consumerGroup - custom Consumer Group
+ * @return Builder object itself for chaining
+ */
+ public Builder setConsumerGroup(@Nonnull String consumerGroup) {
+ this.consumerGroup = consumerGroup;
+ return this;
+ }
+
+ /**
+ * Setup Custom Subscriber timeout in ms - Default to no timeout limit
+ *
+ * @param timeoutMS timeout in milliseconds
+ * @return Builder object itself for chaining
+ */
+ public Builder setTimeoutMS(@Nonnull Integer timeoutMS) {
+ this.timeoutMS = timeoutMS;
+ return this;
+ }
+
+ /**
+ * Setup custom Subscriber Message Limit - Default to no limit
+ *
+ * @param messageLimit message Limit
+ * @return Builder object itself for chaining
+ */
+ public Builder setMessageLimit(@Nonnull Integer messageLimit) {
+ this.messageLimit = messageLimit;
+ return this;
+ }
+
+ /**
+ * Builds Immutable instance of {@link DMaaPMRSubscriberConfig}
+ *
+ * @return immutable DMaaP Subscriber Config Object
+ */
+ public DMaaPMRSubscriberConfig build() {
+ return new DMaaPMRSubscriberConfig(hostName, portNumber, topicName, protocol, userName, userPassword,
+ contentType, consumerId, consumerGroup, timeoutMS, messageLimit);
+ }
+
+ }
+
+
+ /**
+ * DMaaP MR Subscriber Consumer Id
+ *
+ * @return consumer Id
+ */
+ public String getConsumerId() {
+ return consumerId;
+ }
+
+ /**
+ * DMaaP MR Subscriber Consumer Group
+ *
+ * @return consumer group
+ */
+ public String getConsumerGroup() {
+ return consumerGroup;
+ }
+
+ /**
+ * DMaaP MR Subscriber Timeout in ms
+ *
+ * @return subscriber timeout ms
+ */
+ public Integer getTimeoutMS() {
+ return timeoutMS;
+ }
+
+ /**
+ * DMaaP MR Subscriber message limit
+ *
+ * @return subscriber message limit
+ */
+ public Integer getMessageLimit() {
+ return messageLimit;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ if (!super.equals(o)) {
+ return false;
+ }
+ DMaaPMRSubscriberConfig that = (DMaaPMRSubscriberConfig) o;
+ return Objects.equal(consumerId, that.consumerId) &&
+ Objects.equal(consumerGroup, that.consumerGroup) &&
+ Objects.equal(timeoutMS, that.timeoutMS) &&
+ Objects.equal(messageLimit, that.messageLimit);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hashCode(super.hashCode(), consumerId, consumerGroup, timeoutMS, messageLimit);
+ }
+
+
+ @Override
+ public String toString() {
+ return Objects.toStringHelper(this)
+ .add("baseConfig", super.toString())
+ .add("consumerId", consumerId)
+ .add("consumerGroup", consumerGroup)
+ .add("timeoutMS", timeoutMS)
+ .add("messageLimit", messageLimit)
+ .toString();
+ }
+}
diff --git a/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/domain/response/DMaaPMRPublisherResponse.java b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/domain/response/DMaaPMRPublisherResponse.java
new file mode 100644
index 0000000..6fc980e
--- /dev/null
+++ b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/domain/response/DMaaPMRPublisherResponse.java
@@ -0,0 +1,38 @@
+/*
+ * ===============================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.dmaap.domain.response;
+
+/**
+ * <p>
+ * Contract for all DMaaPMR Publisher Response
+ * <p>
+ * @author Rajiv Singla . Creation Date: 10/13/2016.
+ */
+public interface DMaaPMRPublisherResponse extends DMaaPMRResponse {
+
+
+ /**
+ * Gets number of pending messages
+ *
+ * @return pending messages in the batch queue
+ */
+ int getPendingMessagesCount();
+}
diff --git a/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/domain/response/DMaaPMRPublisherResponseImpl.java b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/domain/response/DMaaPMRPublisherResponseImpl.java
new file mode 100644
index 0000000..36a0388
--- /dev/null
+++ b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/domain/response/DMaaPMRPublisherResponseImpl.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.dmaap.domain.response;
+
+import com.google.common.base.Objects;
+
+import javax.annotation.Nonnull;
+
+/**
+ * <p>
+ * An simple implementation of {@link DMaaPMRPublisherResponse}
+ * <p>
+ * @author Rajiv Singla . Creation Date: 10/13/2016.
+ */
+public class DMaaPMRPublisherResponseImpl implements DMaaPMRPublisherResponse {
+
+ private final Integer responseCode;
+ private final String responseMessage;
+ private final int pendingMessagesCount;
+
+ public DMaaPMRPublisherResponseImpl(@Nonnull Integer responseCode,
+ @Nonnull String responseMessage,
+ int pendingMessagesCount) {
+ this.responseCode = responseCode;
+ this.responseMessage = responseMessage;
+ this.pendingMessagesCount = pendingMessagesCount;
+ }
+
+ @Override
+ public Integer getResponseCode() {
+ return responseCode;
+ }
+
+ @Override
+ public String getResponseMessage() {
+ return responseMessage;
+ }
+
+ @Override
+ public int getPendingMessagesCount() {
+ return pendingMessagesCount;
+ }
+
+ @Override
+ public String toString() {
+ return Objects.toStringHelper(this)
+ .add("responseCode", responseCode)
+ .add("responseMessage", responseMessage)
+ .add("pendingMessagesCount", pendingMessagesCount)
+ .toString();
+ }
+}
diff --git a/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/domain/response/DMaaPMRResponse.java b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/domain/response/DMaaPMRResponse.java
new file mode 100644
index 0000000..70d4af2
--- /dev/null
+++ b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/domain/response/DMaaPMRResponse.java
@@ -0,0 +1,46 @@
+/*
+ * ===============================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.dmaap.domain.response;
+
+/**
+ * <p>
+ * Contract for DMaaP MR Responses
+ * <p>
+ * @author Rajiv Singla . Creation Date: 10/13/2016.
+ */
+public interface DMaaPMRResponse {
+
+ /**
+ * Gets HTTP Response Code
+ *
+ * @return HTTP Response code as String
+ */
+ Integer getResponseCode();
+
+ /**
+ * Gets Response Message
+ *
+ * @return Response Message
+ */
+ String getResponseMessage();
+
+
+}
diff --git a/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/domain/response/DMaaPMRSubscriberResponse.java b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/domain/response/DMaaPMRSubscriberResponse.java
new file mode 100644
index 0000000..fb75fef
--- /dev/null
+++ b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/domain/response/DMaaPMRSubscriberResponse.java
@@ -0,0 +1,40 @@
+/*
+ * ===============================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.dmaap.domain.response;
+
+import java.util.List;
+
+/**
+ * <p>
+ * Contract for all DMaaP MR Subscriber Responses
+ * </p>
+ * @author Rajiv Singla . Creation Date: 10/13/2016.
+ */
+public interface DMaaPMRSubscriberResponse extends DMaaPMRResponse {
+
+ /**
+ * Returns message fetched from DMaaP MR Topic
+ *
+ * @return collection of actual message retrieved from DMaaP MR Topic
+ */
+ List<String> getFetchedMessages();
+
+}
diff --git a/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/domain/response/DMaaPMRSubscriberResponseImpl.java b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/domain/response/DMaaPMRSubscriberResponseImpl.java
new file mode 100644
index 0000000..fd84800
--- /dev/null
+++ b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/domain/response/DMaaPMRSubscriberResponseImpl.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.dmaap.domain.response;
+
+import com.google.common.base.Objects;
+import com.google.common.collect.ImmutableList;
+
+import java.util.List;
+
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
+import static java.util.Collections.unmodifiableList;
+
+/**
+ * <p>
+ * A simple implementation for {@link DMaaPMRSubscriberResponse}
+ * <p>
+ * @author Rajiv Singla . Creation Date: 10/13/2016.
+ */
+public class DMaaPMRSubscriberResponseImpl implements DMaaPMRSubscriberResponse {
+
+ private final Integer responseCode;
+ private final String responseMessage;
+ private final List<String> fetchedMessages;
+
+ public DMaaPMRSubscriberResponseImpl(@Nonnull Integer responseCode,
+ @Nonnull String responseMessage,
+ @Nullable List<String> fetchedMessages) {
+ this.responseCode = responseCode;
+ this.responseMessage = responseMessage;
+ this.fetchedMessages = fetchedMessages != null ? fetchedMessages : ImmutableList.<String>of();
+ }
+
+ public DMaaPMRSubscriberResponseImpl(Integer responseCode, String responseMessage) {
+ this(responseCode, responseMessage, null);
+ }
+
+ @Override
+ public Integer getResponseCode() {
+ return responseCode;
+ }
+
+ @Override
+ public String getResponseMessage() {
+ return responseMessage;
+ }
+
+ @Override
+ public List<String> getFetchedMessages() {
+ return unmodifiableList(fetchedMessages);
+ }
+
+ @Override
+ public String toString() {
+ return Objects.toStringHelper(this)
+ .add("responseCode", responseCode)
+ .add("responseMessage", responseMessage)
+ .add("fetchedMessages(size)", fetchedMessages.size())
+ .toString();
+ }
+}
diff --git a/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/module/AnalyticsDMaaPModule.java b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/module/AnalyticsDMaaPModule.java
new file mode 100644
index 0000000..04540e8
--- /dev/null
+++ b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/module/AnalyticsDMaaPModule.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.dmaap.module;
+
+import com.google.inject.AbstractModule;
+import com.google.inject.assistedinject.FactoryModuleBuilder;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.openecomp.dcae.apod.analytics.dmaap.service.publisher.DMaaPMRPublisher;
+import org.openecomp.dcae.apod.analytics.dmaap.service.publisher.DMaaPMRPublisherFactory;
+import org.openecomp.dcae.apod.analytics.dmaap.service.publisher.DMaaPMRPublisherImpl;
+import org.openecomp.dcae.apod.analytics.dmaap.service.publisher.DMaaPMRPublisherQueue;
+import org.openecomp.dcae.apod.analytics.dmaap.service.publisher.DMaaPMRPublisherQueueFactory;
+import org.openecomp.dcae.apod.analytics.dmaap.service.publisher.DMaaPMRPublisherQueueImpl;
+import org.openecomp.dcae.apod.analytics.dmaap.service.subscriber.DMaaPMRSubscriber;
+import org.openecomp.dcae.apod.analytics.dmaap.service.subscriber.DMaaPMRSubscriberFactory;
+import org.openecomp.dcae.apod.analytics.dmaap.service.subscriber.DMaaPMRSubscriberImpl;
+
+/**
+ * Guice Module to wire concrete implementations with interfaces
+ * <p>
+ * @author Rajiv Singla . Creation Date: 10/20/2016.
+ */
+public class AnalyticsDMaaPModule extends AbstractModule {
+
+
+ @Override
+ protected void configure() {
+
+ // Bind Http Client
+ bind(CloseableHttpClient.class).toInstance(HttpClients.createDefault());
+
+ // Bind Publishing queue
+ install(new FactoryModuleBuilder().implement(DMaaPMRPublisherQueue.class, DMaaPMRPublisherQueueImpl.class)
+ .build(DMaaPMRPublisherQueueFactory.class));
+
+ install(new FactoryModuleBuilder().implement(DMaaPMRPublisher.class, DMaaPMRPublisherImpl.class)
+ .build(DMaaPMRPublisherFactory.class));
+
+ install(new FactoryModuleBuilder().implement(DMaaPMRSubscriber.class, DMaaPMRSubscriberImpl.class)
+ .build(DMaaPMRSubscriberFactory.class));
+
+ }
+}
diff --git a/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/BaseDMaaPMRComponent.java b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/BaseDMaaPMRComponent.java
new file mode 100644
index 0000000..72f859c
--- /dev/null
+++ b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/BaseDMaaPMRComponent.java
@@ -0,0 +1,356 @@
+/*
+ * ===============================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.dmaap.service;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.google.common.base.Optional;
+import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.lang3.StringEscapeUtils;
+import org.apache.commons.lang3.tuple.ImmutablePair;
+import org.apache.commons.lang3.tuple.Pair;
+import org.apache.http.HttpEntity;
+import org.apache.http.HttpResponse;
+import org.apache.http.client.ResponseHandler;
+import org.apache.http.client.utils.URIBuilder;
+import org.apache.http.util.EntityUtils;
+import org.openecomp.dcae.apod.analytics.common.AnalyticsConstants;
+import org.openecomp.dcae.apod.analytics.common.exception.DCAEAnalyticsRuntimeException;
+import org.openecomp.dcae.apod.analytics.common.utils.HTTPUtils;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRPublisherConfig;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRSubscriberConfig;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.response.DMaaPMRPublisherResponse;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.response.DMaaPMRPublisherResponseImpl;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.response.DMaaPMRSubscriberResponse;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.response.DMaaPMRSubscriberResponseImpl;
+import org.openecomp.dcae.apod.analytics.dmaap.service.publisher.DMaaPMRPublisherQueue;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.nio.charset.Charset;
+import java.util.LinkedList;
+import java.util.List;
+
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
+import static java.lang.String.format;
+
+/**
+ * Base class for DMaaP MR Publishers and Subscriber Implementations containing various utility methods
+ *
+ * @author Rajiv Singla . Creation Date: 11/1/2016.
+ */
+public abstract class BaseDMaaPMRComponent implements DMaaPMRComponent {
+
+ private static final Logger LOG = LoggerFactory.getLogger(BaseDMaaPMRComponent.class);
+
+ private static final ObjectMapper objectMapper = new ObjectMapper();
+
+ /**
+ * Creates Base64 encoded Auth Header for given userName and Password
+ * If either user name of password are null return absent
+ *
+ * @param userName username
+ * @param userPassword user password
+ * @return base64 encoded auth header if username or password are both non null
+ */
+ protected static Optional<String> getAuthHeader(@Nullable final String userName,
+ @Nullable final String userPassword) {
+ if (userName == null || userPassword == null) {
+ return Optional.absent();
+ } else {
+ final String auth = userName + ":" + userPassword;
+ final Charset isoCharset = Charset.forName("ISO-8859-1");
+ byte[] encodedAuth = Base64.encodeBase64(auth.getBytes(isoCharset));
+ return Optional.of("Basic " + new String(encodedAuth, isoCharset));
+ }
+ }
+
+
+ /**
+ * Creates Publisher URI for given {@link DMaaPMRPublisherConfig}
+ *
+ * @param publisherConfig publisher settings
+ *
+ * @return DMaaP MR Publisher Topic URI that can be used to post messages to MR Topic
+ */
+ protected static URI createPublisherURI(final DMaaPMRPublisherConfig publisherConfig) {
+ final String hostName = publisherConfig.getHostName();
+ final Integer portNumber = publisherConfig.getPortNumber();
+ final String getProtocol = publisherConfig.getProtocol();
+ final String topicName = publisherConfig.getTopicName();
+ URI publisherURI = null;
+ try {
+ publisherURI = new URIBuilder().setScheme(getProtocol).setHost(hostName).setPort(portNumber)
+ .setPath(AnalyticsConstants.DMAAP_URI_PATH_PREFIX + topicName).build();
+ } catch (URISyntaxException e) {
+ final String errorMessage = format("Error while creating publisher URI: %s", e);
+ throw new DCAEAnalyticsRuntimeException(errorMessage, LOG, e);
+ }
+ LOG.info("Created DMaaP MR Publisher URI: {}", publisherURI);
+ return publisherURI;
+ }
+
+
+ /**
+ * Creates Subscriber URI for given {@link DMaaPMRSubscriberConfig}
+ *
+ * @param subscriberConfig subscriber settings
+ *
+ * @return DMaaP MR Subscriber Topic URI that can be used to fetch messages from MR topic
+ */
+ protected static URI createSubscriberURI(final DMaaPMRSubscriberConfig subscriberConfig) {
+ final String hostName = subscriberConfig.getHostName();
+ final Integer portNumber = subscriberConfig.getPortNumber();
+ final String getProtocol = subscriberConfig.getProtocol();
+ final String topicName = subscriberConfig.getTopicName();
+ final String consumerId = subscriberConfig.getConsumerId();
+ final String consumerGroup = subscriberConfig.getConsumerGroup();
+ final Integer timeoutMS = subscriberConfig.getTimeoutMS();
+ final Integer messageLimit = subscriberConfig.getMessageLimit();
+ URI subscriberURI = null;
+ try {
+ URIBuilder uriBuilder = new URIBuilder().setScheme(getProtocol).setHost(hostName).setPort(portNumber)
+ .setPath(AnalyticsConstants.DMAAP_URI_PATH_PREFIX
+ + topicName + "/"
+ + consumerGroup + "/" +
+ consumerId);
+ // add query params if present
+ if (timeoutMS > 0) {
+ uriBuilder.addParameter(AnalyticsConstants.SUBSCRIBER_TIMEOUT_QUERY_PARAM_NAME, timeoutMS.toString());
+ }
+ if (messageLimit > 0) {
+ uriBuilder.addParameter(AnalyticsConstants.SUBSCRIBER_MSG_LIMIT_QUERY_PARAM_NAME,
+ messageLimit.toString());
+ }
+ subscriberURI = uriBuilder.build();
+
+ } catch (URISyntaxException e) {
+ final String errorMessage = format("Error while creating subscriber URI: %s", e);
+ throw new DCAEAnalyticsRuntimeException(errorMessage, LOG, e);
+ }
+
+ LOG.info("Created DMaaP MR Subscriber URI: {}", subscriberURI);
+ return subscriberURI;
+ }
+
+
+ /**
+ * Creates 202 (Accepted) Response code message
+ *
+ * @param batchQueueSize batch Queue size
+ *
+ * @return response with 202 message code
+ */
+ protected static DMaaPMRPublisherResponse createPublisherAcceptedResponse(int batchQueueSize) {
+ return createPublisherResponse(HTTPUtils.HTTP_ACCEPTED_RESPONSE_CODE,
+ "Accepted - Messages queued for batch publishing to MR Topic", batchQueueSize);
+ }
+
+
+ /**
+ * Creates 204 (No Content) Response code message
+ *
+ * @return response with 204 message code
+ */
+ protected static DMaaPMRPublisherResponse createPublisherNoContentResponse() {
+ return createPublisherResponse(HTTPUtils.HTTP_NO_CONTENT_RESPONSE_CODE,
+ "No Content - No Messages in batch queue for flushing to MR Topic", 0);
+ }
+
+
+ /**
+ * Creates Publisher Response for given response code, response Message and pending Message Count
+ *
+ * @param responseCode HTTP Status Code
+ * @param responseMessage response message
+ * @param pendingMessages pending messages in batch queue
+ *
+ * @return DMaaP MR Publisher Response
+ */
+ protected static DMaaPMRPublisherResponse createPublisherResponse(int responseCode, String
+ responseMessage, int pendingMessages) {
+ return new DMaaPMRPublisherResponseImpl(responseCode, responseMessage, pendingMessages);
+ }
+
+
+ /**
+ * Returns weekly consistent pending messages in batch queue
+ *
+ * @param publisherQueue batch queue
+ * @param publisherConfig publisher settings
+ *
+ * @return pending messages to be published
+ */
+ protected static int getPendingMessages(@Nonnull final DMaaPMRPublisherQueue publisherQueue,
+ @Nonnull final DMaaPMRPublisherConfig publisherConfig) {
+ return publisherConfig.getMaxBatchSize() - publisherQueue.getBatchQueueRemainingSize();
+ }
+
+
+ /**
+ * Creates Subscriber Response for give response Code, response Message and fetch messages
+ *
+ * @param responseCode response Code
+ * @param responseMessage response Message
+ * @param fetchedMessages fetched messages
+ *
+ * @return DMaaP MR Subscriber Response
+ */
+ protected static DMaaPMRSubscriberResponse createSubscriberResponse(int responseCode, String
+ responseMessage, List<String> fetchedMessages) {
+ if (fetchedMessages == null) {
+ return new DMaaPMRSubscriberResponseImpl(responseCode, responseMessage);
+ } else {
+ return new DMaaPMRSubscriberResponseImpl(responseCode, responseMessage, fetchedMessages);
+ }
+ }
+
+
+ /**
+ * Custom response handler which extract status code and response body
+ *
+ * @return Pair containing Response code and response body
+ */
+ protected static ResponseHandler<Pair<Integer, String>> responseHandler() {
+ return new ResponseHandler<Pair<Integer, String>>() {
+ @Override
+ public Pair<Integer, String> handleResponse(HttpResponse response) throws IOException {
+ // Get Response status code
+ final int status = response.getStatusLine().getStatusCode();
+ final HttpEntity responseEntity = response.getEntity();
+ // If response entity is not null - extract response body as string
+ String responseEntityString = "";
+ if (responseEntity != null) {
+ responseEntityString = EntityUtils.toString(responseEntity);
+ }
+ return new ImmutablePair<>(status, responseEntityString);
+ }
+ };
+ }
+
+
+ /**
+ * Adds message to Publisher recovery queue. If recovery queue is full throws an error as messages will
+ * be lost
+ *
+ * @param publisherQueue publisher queue
+ * @param messages recoverable messages to be published to recovery queue
+ */
+ protected static void addMessagesToRecoveryQueue(DMaaPMRPublisherQueue publisherQueue,
+ List<String> messages) {
+ try {
+ publisherQueue.addRecoverableMessages(messages);
+
+ LOG.debug("Messages Added to Recovery Queue. Messages Size: {}, Recovery Queue Remaining Size: {}",
+ messages.size(), publisherQueue.getBatchQueueRemainingSize());
+
+ } catch (IllegalStateException e) {
+ final String errorMessage = format("Unable to put messages in recovery queue. Messages will be lost. " +
+ "Recovery Queue might be full. Message Size: %d, Recovery Queue Remaining Capacity: %d",
+ messages.size(), publisherQueue.getRecoveryQueueRemainingSize());
+ throw new DCAEAnalyticsRuntimeException(errorMessage, LOG, e);
+ }
+ }
+
+
+ /**
+ * Converts List of messages to Json String Array which can be published to DMaaP MR topic.
+ *
+ * @param messages messages that need to parsed to Json Array representation
+ * @return json string representation of message
+ */
+ protected static String convertToJsonString(@Nullable final List<String> messages) {
+ // If messages are null or empty just return empty array
+ if (messages == null || messages.isEmpty()) {
+ return "[]";
+ }
+
+
+ List<JsonNode> jsonMessageObjectsList = new LinkedList<>();
+
+ try {
+ for (String message : messages) {
+ final JsonNode jsonNode = objectMapper.readTree(message);
+ jsonMessageObjectsList.add(jsonNode);
+ }
+ return objectMapper.writeValueAsString(jsonMessageObjectsList);
+ } catch (JsonProcessingException e) {
+ final String errorMessage =
+ format("Unable to convert publisher messages to Json. Messages: %s, Json Error: %s",
+ messages, e);
+ throw new DCAEAnalyticsRuntimeException(errorMessage, LOG, e);
+
+ } catch (IOException e) {
+ final String errorMessage =
+ format("IO Exception while converting publisher messages to Json. Messages: %s, Json Error: %s",
+ messages, e);
+ throw new DCAEAnalyticsRuntimeException(errorMessage, LOG, e);
+ }
+ }
+
+
+ /**
+ * Converts subscriber messages json string to List of messages. If message Json String is empty
+ * or null
+ *
+ * @param messagesJsonString json messages String
+ *
+ * @return List containing DMaaP MR Messages
+ */
+ protected static List<String> convertJsonToStringMessages(@Nullable final String messagesJsonString) {
+
+ final LinkedList<String> messages = new LinkedList<>();
+
+ // If message string is not null or not empty parse json message array to List of string messages
+ if (messagesJsonString != null && !messagesJsonString.trim().isEmpty()
+ && !"[]".equals(messagesJsonString.trim())) {
+
+ try {
+ final List messageList = objectMapper.readValue(messagesJsonString, List.class);
+ for (Object message : messageList) {
+ final String jsonMessageString = objectMapper.writeValueAsString(message);
+ if (jsonMessageString.startsWith("\"") && jsonMessageString.endsWith("\"")) {
+ final String jsonSubString = jsonMessageString.substring(1, jsonMessageString.length() - 1);
+ messages.add(StringEscapeUtils.unescapeJson(jsonSubString));
+ } else {
+ messages.add(StringEscapeUtils.unescapeJson(jsonMessageString));
+ }
+ }
+
+ } catch (IOException e) {
+ final String errorMessage =
+ format("Unable to convert subscriber Json String to Messages. Subscriber Response String: %s," +
+ " Json Error: %s", messagesJsonString, e);
+ throw new DCAEAnalyticsRuntimeException(errorMessage, LOG, e);
+ }
+
+ }
+ return messages;
+ }
+
+
+}
diff --git a/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/DMaaPMRComponent.java b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/DMaaPMRComponent.java
new file mode 100644
index 0000000..30c244b
--- /dev/null
+++ b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/DMaaPMRComponent.java
@@ -0,0 +1,29 @@
+/*
+ * ===============================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.dmaap.service;
+
+/**
+ * Marker interface for all DMaaP MR Components e.g. MR Publishers, MR Subscribers
+ *
+ * @author Rajiv Singla . Creation Date: 11/1/2016.
+ */
+public interface DMaaPMRComponent {
+}
diff --git a/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisher.java b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisher.java
new file mode 100644
index 0000000..1d37786
--- /dev/null
+++ b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisher.java
@@ -0,0 +1,95 @@
+/*
+ * ===============================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.dmaap.service.publisher;
+
+import org.openecomp.dcae.apod.analytics.common.exception.DCAEAnalyticsRuntimeException;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRPublisherConfig;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.response.DMaaPMRPublisherResponse;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * <p>
+ * DMaaP MR Publisher can be used to publish messages to DMaaP MR Topics.
+ * <p>
+ *
+ * @author Rajiv Singla . Creation Date: 10/13/2016.
+ */
+public interface DMaaPMRPublisher extends AutoCloseable {
+
+
+ /**
+ * <p>
+ * Adds collection of messages to DMaaP MR Topic Publishing Queue.
+ * <p>
+ * Note: Invoking this method may or may not cause publishing immediately
+ * as publishing in done is batch mode by default. Parameter maxBatchSize
+ * in {@link DMaaPMRPublisherConfig} is used to determine max batch queue size.
+ * If the maxBatchSize is reached all message will be published automatically
+ * during subsequent call.
+ * </p>
+ *
+ * @param messages messages to publish to DMaaP MR Publisher
+ * @return response which may contain Http Response code 202 (Accepted) as publishing
+ * will proceed when max batch size is reached. Throws {@link DCAEAnalyticsRuntimeException}
+ * if publishing fails
+ */
+ DMaaPMRPublisherResponse publish(List<String> messages);
+
+
+ /**
+ * <p>
+ * Forces publishing of messages to DMaaP MR Topic and returns {@link DMaaPMRPublisherResponse}
+ * which can be inspected for HTTP status code of publishing call to DMaaP MR Topic.
+ * </p>
+ *
+ * @param messages messages to publish to DMaaP MR Publisher
+ * @return DMaaP Message Router Publisher Response. Throws {@link DCAEAnalyticsRuntimeException}
+ * if force publishing fails
+ *
+ */
+ DMaaPMRPublisherResponse forcePublish(List<String> messages);
+
+
+ /**
+ * <p>
+ * Forces publishing of messages in Publisher queue to DMaaP MR Topic and returns
+ * {@link DMaaPMRPublisherResponse}.If there are no messages were in the queue to
+ * be flushed response code 304 (Not Modified) will be returned
+ * </p>
+ *
+ * @return DMaaP Message Router Publisher Response
+ */
+ DMaaPMRPublisherResponse flush();
+
+
+ /**
+ * <p>
+ * Returns the creation time when Publisher instance was created.
+ * <p>
+ *
+ * @return creation time of Subscriber instance
+ */
+ Date getPublisherCreationTime();
+
+
+}
diff --git a/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisherFactory.java b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisherFactory.java
new file mode 100644
index 0000000..0e71559
--- /dev/null
+++ b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisherFactory.java
@@ -0,0 +1,49 @@
+/*
+ * ===============================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.dmaap.service.publisher;
+
+import org.openecomp.dcae.apod.analytics.dmaap.DMaaPMRFactory;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRPublisherConfig;
+
+/**
+ * <p>
+ * Factory to initialize instance of {@link DMaaPMRPublisher} for Guice DI injection purposes.
+ * <p>
+ * <strong>
+ * NOTE: Client should not use this Factory to initialize {@link DMaaPMRPublisher} unless they
+ * are wiring dependencies using Guice. Client must use {@link DMaaPMRFactory} to initialize
+ * guice injected Publisher instances
+ * </strong>
+ * <p>
+ * @author Rajiv Singla . Creation Date: 10/20/2016.
+ */
+public interface DMaaPMRPublisherFactory {
+
+ /**
+ * Guice Factory to create DMaaP MR Publisher
+ *
+ * @param publisherConfig publisher config
+ *
+ * @return DMaaP MR Publisher instance
+ */
+ DMaaPMRPublisher create(DMaaPMRPublisherConfig publisherConfig);
+
+}
diff --git a/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisherImpl.java b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisherImpl.java
new file mode 100644
index 0000000..1901189
--- /dev/null
+++ b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisherImpl.java
@@ -0,0 +1,209 @@
+/*
+ * ===============================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.dmaap.service.publisher;
+
+import com.google.common.base.Optional;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+import com.google.inject.Inject;
+import com.google.inject.assistedinject.Assisted;
+import org.apache.commons.lang3.tuple.Pair;
+import org.apache.http.HttpHeaders;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.ContentType;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.openecomp.dcae.apod.analytics.common.AnalyticsConstants;
+import org.openecomp.dcae.apod.analytics.common.exception.DCAEAnalyticsRuntimeException;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRPublisherConfig;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.response.DMaaPMRPublisherResponse;
+import org.openecomp.dcae.apod.analytics.dmaap.service.BaseDMaaPMRComponent;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.net.URI;
+import java.util.Date;
+import java.util.List;
+
+import static org.openecomp.dcae.apod.analytics.common.utils.HTTPUtils.isSuccessfulResponseCode;
+import static java.lang.String.format;
+
+/**
+ * Concrete Implementation of {@link DMaaPMRPublisher} which uses {@link HttpClient}
+ *
+ * @author Rajiv Singla . Creation Date: 10/13/2016.
+ */
+public class DMaaPMRPublisherImpl extends BaseDMaaPMRComponent implements DMaaPMRPublisher {
+
+ private static final Logger LOG = LoggerFactory.getLogger(DMaaPMRPublisherImpl.class);
+
+ private final DMaaPMRPublisherConfig publisherConfig;
+ private final CloseableHttpClient closeableHttpClient;
+ private final DMaaPMRPublisherQueue publisherQueue;
+ private final Date publisherCreationTime;
+ private URI publisherUri;
+
+ @Inject
+ public DMaaPMRPublisherImpl(@Assisted DMaaPMRPublisherConfig publisherConfig,
+ DMaaPMRPublisherQueueFactory dMaaPMRPublisherQueueFactory,
+ CloseableHttpClient closeableHttpClient) {
+
+ this.publisherConfig = publisherConfig;
+ this.publisherQueue = dMaaPMRPublisherQueueFactory.create(
+ publisherConfig.getMaxBatchSize(), publisherConfig.getMaxRecoveryQueueSize());
+ this.closeableHttpClient = closeableHttpClient;
+ this.publisherUri = createPublisherURI(publisherConfig);
+ this.publisherCreationTime = new Date();
+ }
+
+
+ @Override
+ public DMaaPMRPublisherResponse publish(List<String> messages) {
+
+ final int batchQueueRemainingSize = publisherQueue.getBatchQueueRemainingSize();
+
+ // if messages size is less than batch queue size - just queue them for batch publishing
+ if (batchQueueRemainingSize > messages.size()) {
+ LOG.debug("Adding messages to batch Queue. No flushing required. Messages Size:{}. Batch Queue Size:{}",
+ messages.size(), batchQueueRemainingSize);
+ final int batchQueueSize = publisherQueue.addBatchMessages(messages);
+ return createPublisherAcceptedResponse(batchQueueSize);
+
+ } else {
+
+ // grab all already queued messages, append current messages and force publish them to DMaaP MR topic
+ final List<String> queueMessages = publisherQueue.getMessageForPublishing();
+ LOG.debug("Batch Queue capacity exceeds messages size. Flushing of all pending messages to DMaaP MR " +
+ "Publisher Topic.");
+ return forcePublish(Lists.newLinkedList(Iterables.concat(queueMessages, messages)));
+ }
+
+ }
+
+ @Override
+ public DMaaPMRPublisherResponse forcePublish(List<String> messages) {
+
+ LOG.debug("Force publishing messages to DMaaP MR Topic. Messages Size: {}", messages.size());
+
+ final String contentType = publisherConfig.getContentType();
+ final String userName = publisherConfig.getUserName();
+ final String userPassword = publisherConfig.getUserPassword();
+ final HttpPost postRequest = new HttpPost(publisherUri);
+
+ // add Authorization Header if username and password are present
+ final Optional<String> authHeader = getAuthHeader(userName, userPassword);
+ if (authHeader.isPresent()) {
+ postRequest.addHeader(HttpHeaders.AUTHORIZATION, authHeader.get());
+ } else {
+ LOG.debug("DMaaP MR Publisher Authentication is disabled as username or password is not present.");
+ }
+
+ // Create post string entity
+ final String messagesJson = convertToJsonString(messages);
+ final StringEntity requestEntity =
+ new StringEntity(messagesJson, ContentType.create(contentType, "UTF-8"));
+ postRequest.setEntity(requestEntity);
+
+ try {
+ final Pair<Integer, String> responsePair = closeableHttpClient.execute(postRequest, responseHandler());
+ final Integer responseCode = responsePair.getLeft();
+ final String responseBody = responsePair.getRight();
+ // if messages were published successfully, return successful response
+ if (isSuccessfulResponseCode(responseCode)) {
+ LOG.debug("DMaaP MR Messages published successfully. DMaaP Response Code: {}. DMaaP Response " +
+ "Body: {}, Number of Messages published: {}",
+ responseCode, responseBody, messages.size());
+
+ } else {
+ LOG.warn("Unable to publish messages to DMaaP MR Topic. DMaaP Response Code: {}, DMaaP Response " +
+ "Body: {}. Messages will be queued in recovery queue", responseCode, responseBody);
+ addMessagesToRecoveryQueue(publisherQueue, messages);
+ }
+
+ return createPublisherResponse(responseCode, responseBody,
+ getPendingMessages(publisherQueue, publisherConfig));
+
+ } catch (IOException e) {
+ // If IO Error then we need to also put messages in recovery queue
+ addMessagesToRecoveryQueue(publisherQueue, messages);
+ final String errorMessage = format("IO Exception while publishing messages to DMaaP Topic. " +
+ "Messages will be queued in recovery queue. Messages Size: %d", messages.size());
+
+ throw new DCAEAnalyticsRuntimeException(errorMessage, LOG, e);
+ }
+
+ }
+
+
+ @Override
+ public DMaaPMRPublisherResponse flush() {
+ final List<String> queueMessages = publisherQueue.getMessageForPublishing();
+ // If there are no message return 204 (No Content) response code
+ if (queueMessages.isEmpty()) {
+ LOG.debug("No messages to publish to batch queue. Returning 204 status code");
+ return createPublisherNoContentResponse();
+ } else {
+ // force publish messages in queue
+ return forcePublish(queueMessages);
+ }
+ }
+
+ @Override
+ public Date getPublisherCreationTime() {
+ return new Date(publisherCreationTime.getTime());
+ }
+
+ @Override
+ public void close() throws Exception {
+
+ // flush current message in the queue
+ int retrialNumber = 0;
+ int flushResponseCode;
+
+ // automatic retries if messages cannot be flushed
+ do {
+ retrialNumber++;
+ DMaaPMRPublisherResponse flushResponse = flush();
+ flushResponseCode = flushResponse.getResponseCode();
+
+ if (!isSuccessfulResponseCode(flushResponseCode)) {
+ LOG.warn("Unable to flush batch messages to publisher due to DMaaP MR invalid Response: {}. " +
+ "Retrial No: {} of Max {} Retries", flushResponseCode, retrialNumber,
+ AnalyticsConstants.PUBLISHER_MAX_FLUSH_RETRIES_ON_CLOSE);
+
+ Thread.sleep(AnalyticsConstants.PUBLISHER_DELAY_MS_ON_RETRIES_ON_CLOSE);
+ }
+ } while (retrialNumber <= AnalyticsConstants.PUBLISHER_MAX_FLUSH_RETRIES_ON_CLOSE &&
+ !isSuccessfulResponseCode(flushResponseCode));
+
+ if (!isSuccessfulResponseCode(flushResponseCode)) {
+ LOG.error("Unable to flush batch messages to publisher. Messages loss cannot be prevented");
+ } else {
+ LOG.info("Successfully published all batched messages to publisher.");
+ }
+
+ // close http client
+ closeableHttpClient.close();
+
+ }
+}
diff --git a/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisherQueue.java b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisherQueue.java
new file mode 100644
index 0000000..281af53
--- /dev/null
+++ b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisherQueue.java
@@ -0,0 +1,87 @@
+/*
+ * ===============================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.dmaap.service.publisher;
+
+import java.util.List;
+
+/**
+ * <p>
+ * DMaaP MR Publisher Queue handles back pressure in case DMaaP MR Publisher topic
+ * is offline for some reason. It does so by having a recovery queue which keeps
+ * messages in order in case there is temporary interruption in DMaaP Publisher
+ * </p>
+ *
+ * @author Rajiv Singla . Creation Date: 11/1/2016.
+ */
+public interface DMaaPMRPublisherQueue {
+
+ /**
+ * <p>
+ * Add batchMessages to Batch Queue
+ * </p>
+ *
+ * @param batchMessages messages that needs to be added to batch queue
+ * @return current size of batch queue. Throws {@link IllegalStateException}
+ * if batch queue does not have enough space
+ */
+ int addBatchMessages(List<String> batchMessages);
+
+
+ /**
+ * <p>
+ * Add recoverable messages to Recoverable Queue
+ * </p>
+ *
+ * @param recoverableMessages messages that needs to be added to recoverable queue
+ * @return current size of the recoverable queue. Throws {@link IllegalStateException}
+ * if recoverable queue does not have enough space
+ */
+ int addRecoverableMessages(List<String> recoverableMessages);
+
+ /**
+ * <p>
+ * Get messages that need to be published to DMaaP topic. Messages in recoverable
+ * queue are appended if present.
+ * </p>
+ *
+ * @return List of messages from both batch and recovery queue
+ */
+ List<String> getMessageForPublishing();
+
+ /**
+ * <p>
+ * Remaining capacity of Batch Queue
+ * </p>
+ *
+ * @return Remaining Batch Queue Size
+ */
+ int getBatchQueueRemainingSize();
+
+ /**
+ * <p>
+ * Remaining capacity of Recovery Queue
+ * </p>
+ *
+ * @return Remaining Recovery Queue Size
+ */
+ int getRecoveryQueueRemainingSize();
+
+}
diff --git a/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisherQueueFactory.java b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisherQueueFactory.java
new file mode 100644
index 0000000..3ebc9dc
--- /dev/null
+++ b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisherQueueFactory.java
@@ -0,0 +1,45 @@
+/*
+ * ===============================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.dmaap.service.publisher;
+
+import com.google.inject.assistedinject.Assisted;
+
+/**
+ * <p>
+ * Factory to initialize instance of {@link DMaaPMRPublisherQueue} for Guice DI injection purposes.
+ * <p>
+ *
+ * @author Rajiv Singla . Creation Date: 11/1/2016.
+ */
+public interface DMaaPMRPublisherQueueFactory {
+
+ /**
+ * Guice Factory to create DMaaP MR Publisher Queue
+ *
+ * @param batchQueueSize batch queue size
+ * @param recoveryQueueSize recovery queue size
+ *
+ * @return instance of DMaaP MR Publisher Queue
+ */
+ DMaaPMRPublisherQueue create(@Assisted("batchQueueSize") int batchQueueSize,
+ @Assisted("recoveryQueueSize") int recoveryQueueSize);
+
+}
diff --git a/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisherQueueImpl.java b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisherQueueImpl.java
new file mode 100644
index 0000000..936abe3
--- /dev/null
+++ b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisherQueueImpl.java
@@ -0,0 +1,126 @@
+/*
+ * ===============================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.dmaap.service.publisher;
+
+import com.google.inject.Inject;
+import com.google.inject.assistedinject.Assisted;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.LinkedList;
+import java.util.List;
+import java.util.concurrent.LinkedBlockingDeque;
+
+import static com.google.common.collect.Iterables.concat;
+import static com.google.common.collect.Lists.newLinkedList;
+import static java.util.Collections.unmodifiableList;
+
+/**
+ * <p>
+ * An implementation of {@link DMaaPMRPublisherQueue} which uses {@link java.util.concurrent.BlockingDeque}
+ * for batch and recovery queues
+ * </p>
+ *
+ *
+ * @author Rajiv Singla . Creation Date: 11/1/2016.
+ */
+public class DMaaPMRPublisherQueueImpl implements DMaaPMRPublisherQueue {
+
+ private static final Logger LOG = LoggerFactory.getLogger(DMaaPMRPublisherQueueImpl.class);
+
+ private final LinkedBlockingDeque<String> batchQueue;
+ private final LinkedBlockingDeque<String> recoveryQueue;
+
+ @Inject
+ public DMaaPMRPublisherQueueImpl(@Assisted("batchQueueSize") int batchQueueSize,
+ @Assisted("recoveryQueueSize") int recoveryQueueSize) {
+ batchQueue = new LinkedBlockingDeque<>(batchQueueSize);
+ recoveryQueue = new LinkedBlockingDeque<>(recoveryQueueSize);
+ LOG.debug("Creating Instance of DMaaP Publisher Queue. BatchQueueSize: {}, RecoveryQueueSize: {}",
+ batchQueueSize, recoveryQueueSize);
+ }
+
+ @Override
+ public synchronized int addBatchMessages(List<String> batchMessages) {
+
+ // checks if batchMessages size does not exceed batch queue capacity
+ if (batchMessages.size() > batchQueue.remainingCapacity()) {
+ throw new IllegalStateException("Not enough capacity to add batchMessages in batch queue");
+ }
+
+ // Add batchMessages to batch queue
+ for (String message : batchMessages) {
+ batchQueue.add(message);
+ }
+
+ // returns current elements size in batch queue
+ return batchQueue.size();
+ }
+
+ @Override
+ public synchronized int addRecoverableMessages(List<String> recoverableMessages) {
+
+ // checks if messages size does not exceed recovery queue size
+ if (recoverableMessages.size() > recoveryQueue.remainingCapacity()) {
+ throw new IllegalStateException("Not enough capacity to add messages in recovery queue");
+ }
+
+ // add messages to recovery queue
+ for (String recoverableMessage : recoverableMessages) {
+ recoveryQueue.add(recoverableMessage);
+ }
+
+ // returns current size of recovery queue
+ return recoveryQueue.size();
+ }
+
+ @Override
+ public synchronized List<String> getMessageForPublishing() {
+
+ final List<String> recoveryMessageList = new LinkedList<>();
+ final List<String> batchMessagesList = new LinkedList<>();
+
+ // get messages from recovery queue if present
+ if (!recoveryQueue.isEmpty()) {
+ final int recoveryQueueSize = recoveryQueue.drainTo(recoveryMessageList);
+ LOG.debug("Drained Recovery Queue elements for flushing: {}", recoveryQueueSize);
+ }
+
+ // get messages from batch queue if present
+ if (!batchQueue.isEmpty()) {
+ final int batchQueueSize = batchQueue.drainTo(batchMessagesList);
+ LOG.debug("Drained Batch Queue elements for flushing: {}", batchQueueSize);
+ }
+
+ // concat recovery and batch queue elements
+ return unmodifiableList(newLinkedList(concat(recoveryMessageList, batchMessagesList)));
+ }
+
+ @Override
+ public synchronized int getBatchQueueRemainingSize() {
+ return batchQueue.remainingCapacity();
+ }
+
+ @Override
+ public synchronized int getRecoveryQueueRemainingSize() {
+ return recoveryQueue.remainingCapacity();
+ }
+}
diff --git a/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/subscriber/DMaaPMRSubscriber.java b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/subscriber/DMaaPMRSubscriber.java
new file mode 100644
index 0000000..7e4d040
--- /dev/null
+++ b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/subscriber/DMaaPMRSubscriber.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.dmaap.service.subscriber;
+
+import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRPublisherConfig;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.response.DMaaPMRSubscriberResponse;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * DMaaP MR Subscriber can be used to subscribe messages from DMaaP MR Topics.
+ * <p>
+ *
+ * @author Rajiv Singla . Creation Date: 10/13/2016.
+ */
+public interface DMaaPMRSubscriber extends AutoCloseable {
+
+ /**
+ * Fetches Messages from DMaaP MR Topic. {@link DMaaPMRPublisherConfig} settings parameters
+ * for messageLimit and message timeout are used
+ *
+ * @return DMaaP Message Router Subscriber Response
+ */
+ DMaaPMRSubscriberResponse fetchMessages();
+
+
+ /**
+ * Returns the Subscriber instance creation time
+ * <p>
+ * NOTE: Due to DMaaP API Design - Subscribers can only fetch messages which
+ * are published to the topic after the creation of the Subscriber.
+ *
+ * @return creation time of Subscriber instance
+ */
+ Date getSubscriberCreationTime();
+
+
+}
diff --git a/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/subscriber/DMaaPMRSubscriberFactory.java b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/subscriber/DMaaPMRSubscriberFactory.java
new file mode 100644
index 0000000..4232952
--- /dev/null
+++ b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/subscriber/DMaaPMRSubscriberFactory.java
@@ -0,0 +1,47 @@
+/*
+ * ===============================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.dmaap.service.subscriber;
+
+import org.openecomp.dcae.apod.analytics.dmaap.DMaaPMRFactory;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRSubscriberConfig;
+
+/**
+ * Factory to initialize instance of {@link DMaaPMRSubscriber} for Guice DI injection purposes.
+ * <p>
+ * <strong>
+ * NOTE: Client should not use this Factory to initialize {@link DMaaPMRSubscriber} unless they
+ * are wiring dependencies using Guice. Client must use {@link DMaaPMRFactory} to initialize
+ * guice injected Subscriber instances
+ * </strong>
+ * <p>
+ * @author Rajiv Singla . Creation Date: 10/20/2016.
+ */
+public interface DMaaPMRSubscriberFactory {
+
+ /**
+ * Guice Factory to create DMaaP MR Subscriber Instance
+ *
+ * @param subscriberConfig subscriber config
+ *
+ * @return DMaaP MR Subscriber instance
+ */
+ DMaaPMRSubscriber create(DMaaPMRSubscriberConfig subscriberConfig);
+}
diff --git a/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/subscriber/DMaaPMRSubscriberImpl.java b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/subscriber/DMaaPMRSubscriberImpl.java
new file mode 100644
index 0000000..fd92b9f
--- /dev/null
+++ b/dcae-analytics-dmaap/src/main/java/org/openecomp/dcae/apod/analytics/dmaap/service/subscriber/DMaaPMRSubscriberImpl.java
@@ -0,0 +1,129 @@
+/*
+ * ===============================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.dmaap.service.subscriber;
+
+import com.google.common.base.Optional;
+import com.google.inject.Inject;
+import com.google.inject.assistedinject.Assisted;
+import org.apache.commons.lang3.tuple.Pair;
+import org.apache.http.HttpHeaders;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.openecomp.dcae.apod.analytics.common.exception.DCAEAnalyticsRuntimeException;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRSubscriberConfig;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.response.DMaaPMRSubscriberResponse;
+import org.openecomp.dcae.apod.analytics.dmaap.service.BaseDMaaPMRComponent;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.net.URI;
+import java.util.Date;
+import java.util.LinkedList;
+import java.util.List;
+
+import static org.openecomp.dcae.apod.analytics.common.utils.HTTPUtils.isSuccessfulResponseCode;
+import static java.lang.String.format;
+
+/**
+ * Concrete Implementation of {@link DMaaPMRSubscriber} which uses {@link HttpClient}
+ *
+ * @author Rajiv Singla . Creation Date: 10/13/2016.
+ */
+public class DMaaPMRSubscriberImpl extends BaseDMaaPMRComponent implements DMaaPMRSubscriber {
+
+ private static final Logger LOG = LoggerFactory.getLogger(DMaaPMRSubscriberImpl.class);
+
+ private final DMaaPMRSubscriberConfig subscriberConfig;
+ private final CloseableHttpClient closeableHttpClient;
+ private final URI subscriberUri;
+ private final Date subscriberCreationTime;
+
+ @Inject
+ public DMaaPMRSubscriberImpl(@Assisted DMaaPMRSubscriberConfig subscriberConfig,
+ CloseableHttpClient closeableHttpClient) {
+ this.subscriberConfig = subscriberConfig;
+ this.closeableHttpClient = closeableHttpClient;
+ this.subscriberUri = createSubscriberURI(subscriberConfig);
+ this.subscriberCreationTime = new Date();
+ }
+
+ @Override
+ public DMaaPMRSubscriberResponse fetchMessages() {
+
+ final String userName = subscriberConfig.getUserName();
+ final String userPassword = subscriberConfig.getUserPassword();
+
+ final HttpGet getRequest = new HttpGet(subscriberUri);
+
+ // add Authorization Header if username and password are present
+ final Optional<String> authHeader = getAuthHeader(userName, userPassword);
+ if (authHeader.isPresent()) {
+ getRequest.addHeader(HttpHeaders.AUTHORIZATION, authHeader.get());
+ } else {
+ LOG.debug("DMaaP MR Subscriber Authentication is disabled as username or password is not present.");
+ }
+
+ try {
+
+ final Pair<Integer, String> responsePair = closeableHttpClient.execute(getRequest, responseHandler());
+ final Integer responseCode = responsePair.getLeft();
+ final String responseBody = responsePair.getRight();
+
+ List<String> fetchedMessages = new LinkedList<>();
+ String responseMessage = responseBody;
+
+ // if messages were published successfully, return successful response
+ if (isSuccessfulResponseCode(responseCode)) {
+ if (responseBody != null) {
+ fetchedMessages = convertJsonToStringMessages(responseBody);
+ responseMessage = "Messages Fetched Successfully";
+ } else {
+ responseMessage = "DMaaP Response Body had no messages";
+ }
+ } else {
+ LOG.error("Unable to fetch messages to DMaaP MR Topic. DMaaP MR unsuccessful Response Code: {}, " +
+ "DMaaP Response Body: {}", responseCode, responseBody);
+ }
+
+ return createSubscriberResponse(responseCode, responseMessage, fetchedMessages);
+
+ } catch (IOException e) {
+
+ final String errorMessage =
+ format("IO Exception while fetching messages from DMaaP Topic. Exception %s", e);
+ throw new DCAEAnalyticsRuntimeException(errorMessage, LOG, e);
+ }
+
+
+ }
+
+ @Override
+ public Date getSubscriberCreationTime() {
+ return new Date(subscriberCreationTime.getTime());
+ }
+
+ @Override
+ public void close() throws Exception {
+ closeableHttpClient.close();
+ }
+}
diff --git a/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/BaseAnalyticsDMaaPGuiceUnitTest.java b/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/BaseAnalyticsDMaaPGuiceUnitTest.java
new file mode 100644
index 0000000..94d287a
--- /dev/null
+++ b/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/BaseAnalyticsDMaaPGuiceUnitTest.java
@@ -0,0 +1,31 @@
+/*
+ * ===============================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.dmaap;
+
+import org.junit.runner.RunWith;
+import org.openecomp.dcae.apod.analytics.test.runner.GuiceJUnitRunner;
+
+/**
+ * @author Rajiv Singla . Creation Date: 10/20/2016.
+ */
+@RunWith(GuiceJUnitRunner.class)
+public abstract class BaseAnalyticsDMaaPGuiceUnitTest extends BaseAnalyticsDMaaPUnitTest {
+}
diff --git a/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/BaseAnalyticsDMaaPUnitTest.java b/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/BaseAnalyticsDMaaPUnitTest.java
new file mode 100644
index 0000000..be52fdd
--- /dev/null
+++ b/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/BaseAnalyticsDMaaPUnitTest.java
@@ -0,0 +1,99 @@
+/*
+ * ===============================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.dmaap;
+
+import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRPublisherConfig;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRSubscriberConfig;
+import org.openecomp.dcae.apod.analytics.test.BaseDCAEAnalyticsUnitTest;
+
+import java.util.List;
+
+import static com.google.common.collect.ImmutableList.of;
+
+/**
+ * @author Rajiv Singla . Creation Date: 10/14/2016.
+ */
+public abstract class BaseAnalyticsDMaaPUnitTest extends BaseDCAEAnalyticsUnitTest {
+
+ // Unit Test Settings
+ protected static final String HOST_NAME = "testHostName";
+ protected static final Integer PORT_NUMBER = 8080;
+ protected static final String TOPIC_NAME = "testTopicName";
+ protected static final String USERNAME = "testUserName";
+ protected static final String PASSWORD = "testPassword";
+ protected static final String HTTP_PROTOCOL = "https";
+ protected static final String CONTENT_TYPE = "application/json";
+
+ protected static final int PUBLISHER_MAX_BATCH_QUEUE_SIZE = 200;
+ protected static final int PUBLISHER_MAX_RECOVERY_QUEUE_SIZE = 2000;
+
+ protected static final String SUBSCRIBER_CONSUMER_ID = "123";
+ protected static final String SUBSCRIBER_CONSUMER_GROUP_NAME = "testGonsumerName-" + SUBSCRIBER_CONSUMER_ID;
+ protected static final int SUBSCRIBER_TIMEOUT_MS = 2000;
+ protected static final int SUBSCRIBER_MESSAGE_LIMIT = 20;
+
+ /**
+ * Creates Sample Publisher settings for unit testing purposes
+ *
+ * @return sample publisher settings for testing
+ */
+ protected static DMaaPMRPublisherConfig getPublisherConfig() {
+ return new DMaaPMRPublisherConfig.Builder(HOST_NAME, TOPIC_NAME)
+ .setPortNumber(PORT_NUMBER)
+ .setProtocol(HTTP_PROTOCOL)
+ .setUserName(USERNAME)
+ .setUserPassword(PASSWORD)
+ .setContentType(CONTENT_TYPE)
+ .setMaxRecoveryQueueSize(PUBLISHER_MAX_RECOVERY_QUEUE_SIZE)
+ .setMaxBatchSize(PUBLISHER_MAX_BATCH_QUEUE_SIZE).build();
+ }
+
+ /**
+ * Creates Sample Subscriber settings for unit testing purposes
+ *
+ * @return sample subscriber settings for testing
+ */
+ protected static DMaaPMRSubscriberConfig getSubscriberConfig(String consumerId, String consumerGroup) {
+ return new DMaaPMRSubscriberConfig.Builder(HOST_NAME, TOPIC_NAME)
+ .setPortNumber(PORT_NUMBER)
+ .setUserName(USERNAME)
+ .setUserPassword(PASSWORD)
+ .setProtocol(HTTP_PROTOCOL)
+ .setContentType(CONTENT_TYPE)
+ .setConsumerGroup(consumerGroup != null ? consumerGroup : SUBSCRIBER_CONSUMER_GROUP_NAME)
+ .setConsumerId(consumerId != null ? consumerId : SUBSCRIBER_CONSUMER_ID)
+ .setTimeoutMS(SUBSCRIBER_TIMEOUT_MS)
+ .setMessageLimit(SUBSCRIBER_MESSAGE_LIMIT).build();
+ }
+
+ /**
+ * Creates two sample message for publishing
+ *
+ * @return sample publish message list
+ */
+ protected static List<String> getTwoSampleMessages() {
+ String message1 = "{ \"message\" : \"Test Message1\"}";
+ String message2 = "{ \"message\" : \"Test Message2\"}";
+ return of(message1, message2);
+ }
+
+
+}
diff --git a/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/DMaaPMRFactoryTest.java b/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/DMaaPMRFactoryTest.java
new file mode 100644
index 0000000..9f83c60
--- /dev/null
+++ b/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/DMaaPMRFactoryTest.java
@@ -0,0 +1,67 @@
+/*
+ * ===============================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.dmaap;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.response.DMaaPMRPublisherResponse;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.response.DMaaPMRSubscriberResponse;
+import org.openecomp.dcae.apod.analytics.dmaap.module.AnalyticsDMaaPTestModule;
+import org.openecomp.dcae.apod.analytics.dmaap.service.publisher.DMaaPMRPublisher;
+import org.openecomp.dcae.apod.analytics.dmaap.service.subscriber.DMaaPMRSubscriber;
+import org.openecomp.dcae.apod.analytics.test.annotation.GuiceModules;
+
+import static org.hamcrest.Matchers.is;
+import static org.junit.Assert.assertThat;
+
+/**
+ * @author Manjesh Gowda. Creation Date: 11/7/2016.
+ */
+@GuiceModules(AnalyticsDMaaPTestModule.class)
+public class DMaaPMRFactoryTest extends BaseAnalyticsDMaaPGuiceUnitTest {
+
+ private DMaaPMRFactory dmaapMRFactory;
+
+ @Before
+ public void setUp() throws Exception {
+ dmaapMRFactory = new DMaaPMRFactory(new AnalyticsDMaaPTestModule());
+ }
+
+ @Test
+ public void createPublisher() throws Exception {
+ DMaaPMRPublisher publisher = dmaapMRFactory.createPublisher(getPublisherConfig());
+ DMaaPMRPublisherResponse response = publisher.publish(null);
+ assertThat(response.getResponseCode(), is(102));
+ }
+
+ @Test
+ public void createSubscriber() throws Exception {
+ DMaaPMRSubscriber dmaapMRSubscriber = dmaapMRFactory.createSubscriber(getSubscriberConfig("", ""));
+ DMaaPMRSubscriberResponse response = dmaapMRSubscriber.fetchMessages();
+ assertThat(response.getResponseCode(), is(102));
+ }
+
+ @Test
+ public void create() throws Exception {
+
+ }
+
+}
diff --git a/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/domain/config/DMaaPMRPublisherConfigTest.java b/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/domain/config/DMaaPMRPublisherConfigTest.java
new file mode 100644
index 0000000..d5563a1
--- /dev/null
+++ b/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/domain/config/DMaaPMRPublisherConfigTest.java
@@ -0,0 +1,78 @@
+/*
+ * ===============================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.dmaap.domain.config;
+
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.common.AnalyticsConstants;
+import org.openecomp.dcae.apod.analytics.dmaap.BaseAnalyticsDMaaPUnitTest;
+
+import static org.junit.Assert.assertTrue;
+
+/**
+ * @author Rajiv Singla . Creation Date: 10/14/2016.
+ */
+public class DMaaPMRPublisherConfigTest extends BaseAnalyticsDMaaPUnitTest {
+
+
+ @Test
+ public void testPublisherConfigDefaults() throws Exception {
+
+ final DMaaPMRPublisherConfig actualDefaultPublisherConfig =
+ new DMaaPMRPublisherConfig.Builder(HOST_NAME, TOPIC_NAME).build();
+
+ final DMaaPMRPublisherConfig expectedDefaultPublisherConfig =
+ new DMaaPMRPublisherConfig.Builder(HOST_NAME, TOPIC_NAME)
+ .setPortNumber(AnalyticsConstants.DEFAULT_PORT_NUMBER)
+ .setContentType(AnalyticsConstants.DEFAULT_CONTENT_TYPE)
+ .setProtocol(AnalyticsConstants.DEFAULT_PROTOCOL)
+ .setMaxBatchSize(AnalyticsConstants.DEFAULT_PUBLISHER_MAX_BATCH_SIZE)
+ .setMaxRecoveryQueueSize(AnalyticsConstants.DEFAULT_PUBLISHER_MAX_RECOVERY_QUEUE_SIZE)
+ .build();
+
+ assertTrue("Default Publisher Config parameters must match",
+ actualDefaultPublisherConfig.equals(expectedDefaultPublisherConfig));
+
+ }
+
+
+ @Test
+ public void testPublisherCustomConfig() throws Exception {
+
+
+ final DMaaPMRPublisherConfig actualCustomPublisherConfig = getPublisherConfig();
+
+ final DMaaPMRPublisherConfig expectedCustomPublisherConfig =
+ new DMaaPMRPublisherConfig.Builder(HOST_NAME, TOPIC_NAME)
+ .setPortNumber(PORT_NUMBER)
+ .setUserName(USERNAME)
+ .setUserPassword(PASSWORD)
+ .setContentType(CONTENT_TYPE)
+ .setProtocol(HTTP_PROTOCOL)
+ .setMaxBatchSize(PUBLISHER_MAX_BATCH_QUEUE_SIZE)
+ .setMaxRecoveryQueueSize(PUBLISHER_MAX_RECOVERY_QUEUE_SIZE)
+ .build();
+
+ assertTrue("Custom Publisher Config parameters must match",
+ actualCustomPublisherConfig.equals(expectedCustomPublisherConfig));
+ }
+
+
+}
diff --git a/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/domain/config/DMaaPMRSubscriberConfigTest.java b/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/domain/config/DMaaPMRSubscriberConfigTest.java
new file mode 100644
index 0000000..ce9b4be
--- /dev/null
+++ b/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/domain/config/DMaaPMRSubscriberConfigTest.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.dmaap.domain.config;
+
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.common.AnalyticsConstants;
+import org.openecomp.dcae.apod.analytics.dmaap.BaseAnalyticsDMaaPUnitTest;
+
+import static org.junit.Assert.assertTrue;
+
+/**
+ * @author Rajiv Singla . Creation Date: 10/14/2016.
+ */
+public class DMaaPMRSubscriberConfigTest extends BaseAnalyticsDMaaPUnitTest {
+
+ @Test
+ public void testSubscriberConfigDefaults() throws Exception {
+
+ DMaaPMRSubscriberConfig actualDefaultSubscriberConfig =
+ new DMaaPMRSubscriberConfig.Builder(HOST_NAME, TOPIC_NAME)
+ .setConsumerGroup(AnalyticsConstants.DEFAULT_SUBSCRIBER_GROUP_PREFIX + SUBSCRIBER_CONSUMER_ID)
+ .setConsumerId(SUBSCRIBER_CONSUMER_ID).build();
+
+ DMaaPMRSubscriberConfig expectedSubscriberConfig =
+ new DMaaPMRSubscriberConfig.Builder(HOST_NAME, TOPIC_NAME)
+ .setPortNumber(AnalyticsConstants.DEFAULT_PORT_NUMBER)
+ .setContentType(AnalyticsConstants.DEFAULT_CONTENT_TYPE)
+ .setProtocol(AnalyticsConstants.DEFAULT_PROTOCOL)
+ .setConsumerGroup(AnalyticsConstants.DEFAULT_SUBSCRIBER_GROUP_PREFIX + SUBSCRIBER_CONSUMER_ID)
+ .setConsumerId(SUBSCRIBER_CONSUMER_ID)
+ .setMessageLimit(AnalyticsConstants.DEFAULT_SUBSCRIBER_MESSAGE_LIMIT)
+ .setTimeoutMS(AnalyticsConstants.DEFAULT_SUBSCRIBER_TIMEOUT_MS)
+ .build();
+
+ assertTrue("Default Subscriber Config parameters must match",
+ actualDefaultSubscriberConfig.equals(expectedSubscriberConfig));
+
+ }
+
+
+ @Test
+ public void testSubscriberCustomConfig() throws Exception {
+
+ DMaaPMRSubscriberConfig actualSubscriberCustomConfig = getSubscriberConfig(SUBSCRIBER_CONSUMER_ID,
+ SUBSCRIBER_CONSUMER_GROUP_NAME);
+
+ DMaaPMRSubscriberConfig expectedSubscriberCustomConfig =
+ new DMaaPMRSubscriberConfig.Builder(HOST_NAME, TOPIC_NAME)
+ .setPortNumber(PORT_NUMBER)
+ .setUserName(USERNAME)
+ .setUserPassword(PASSWORD)
+ .setContentType(CONTENT_TYPE)
+ .setProtocol(HTTP_PROTOCOL)
+ .setConsumerGroup(SUBSCRIBER_CONSUMER_GROUP_NAME)
+ .setConsumerId(SUBSCRIBER_CONSUMER_ID)
+ .setMessageLimit(SUBSCRIBER_MESSAGE_LIMIT)
+ .setTimeoutMS(SUBSCRIBER_TIMEOUT_MS)
+ .build();
+
+ assertTrue("Custom Subscriber Config parameters must match",
+ actualSubscriberCustomConfig.equals(expectedSubscriberCustomConfig));
+
+ }
+
+
+}
diff --git a/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/it/BaseAnalyticsDMaaPIT.java b/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/it/BaseAnalyticsDMaaPIT.java
new file mode 100644
index 0000000..036e8ca
--- /dev/null
+++ b/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/it/BaseAnalyticsDMaaPIT.java
@@ -0,0 +1,109 @@
+/*
+ * ===============================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.dmaap.it;
+
+import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRPublisherConfig;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRSubscriberConfig;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.response.DMaaPMRPublisherResponse;
+import org.openecomp.dcae.apod.analytics.dmaap.service.publisher.DMaaPMRPublisher;
+import org.openecomp.dcae.apod.analytics.test.BaseDCAEAnalyticsIT;
+
+import java.util.List;
+
+import static com.google.common.collect.ImmutableList.of;
+
+/**
+ * Base class for all DCAE DMaaP Integration Tests
+ * <p>
+ * @author Rajiv Singla . Creation Date: 10/13/2016.
+ */
+public abstract class BaseAnalyticsDMaaPIT extends BaseDCAEAnalyticsIT {
+
+ // Integration Test Settings
+ protected static final String HOST_NAME = "mrlocal-mtnjftle01.homer.com";
+ protected static final Integer PORT_NUMBER = 3905;
+ protected static final String TOPIC_NAME = "com.dcae.dmaap.mtnje2.DcaeTestVESPub";
+
+ protected static final String USERNAME = "USER";
+ protected static final String PASSWORD = "PASSWORD";
+ protected static final String HTTP_PROTOCOL = "https";
+ protected static final String CONTENT_TYPE = "application/json";
+
+ protected static final int PUBLISHER_MAX_BATCH_QUEUE_SIZE = 20;
+ protected static final int PUBLISHER_MAX_RECOVERY_QUEUE_SIZE = 200;
+
+ protected static final String SUBSCRIBER_CONSUMER_ID = "123";
+ protected static final String SUBSCRIBER_CONSUMER_GROUP_NAME = "testGonsumerName-" + SUBSCRIBER_CONSUMER_ID;
+ protected static final int SUBSCRIBER_TIMEOUT_MS = 2000;
+ protected static final int SUBSCRIBER_MESSAGE_LIMIT = 20;
+
+ /**
+ * Creates Sample Publisher settings for integration testing purposes
+ *
+ * @return DMaaP MR Publisher Config
+ */
+ protected static DMaaPMRPublisherConfig getPublisherConfig() {
+ return new DMaaPMRPublisherConfig.Builder(HOST_NAME, TOPIC_NAME)
+ .setPortNumber(PORT_NUMBER)
+ .setProtocol(HTTP_PROTOCOL)
+ .setContentType(CONTENT_TYPE)
+ .setUserName(USERNAME)
+ .setUserPassword(PASSWORD)
+ .setMaxBatchSize(PUBLISHER_MAX_BATCH_QUEUE_SIZE)
+ .setMaxRecoveryQueueSize(PUBLISHER_MAX_RECOVERY_QUEUE_SIZE)
+ .build();
+ }
+
+ /**
+ * Creates Sample Subscriber settings for integration testing purposes
+ *
+ * @return DMaaP MR Subscriber Config
+ */
+ protected static DMaaPMRSubscriberConfig getSubscriberConfig(String consumerId) {
+ return new DMaaPMRSubscriberConfig.Builder(HOST_NAME, TOPIC_NAME)
+ .setPortNumber(PORT_NUMBER)
+ .setProtocol(HTTP_PROTOCOL)
+ .setContentType(CONTENT_TYPE)
+ .setUserName(USERNAME)
+ .setUserPassword(PASSWORD)
+ .setConsumerGroup(SUBSCRIBER_CONSUMER_GROUP_NAME)
+ .setConsumerId(consumerId != null ? consumerId : SUBSCRIBER_CONSUMER_ID)
+ .setTimeoutMS(SUBSCRIBER_TIMEOUT_MS)
+ .setMessageLimit(SUBSCRIBER_MESSAGE_LIMIT).build();
+ }
+
+ /**
+ * Publishes 2 sample message to DMaaP Topic for integration test purposes
+ *
+ * @param dMaaPMRPublisher DMaaP MR Publisher
+ * @return DMaaP MR Publisher Response
+ */
+ protected static DMaaPMRPublisherResponse publishTwoSampleMessages(DMaaPMRPublisher dMaaPMRPublisher) {
+ return dMaaPMRPublisher.publish(getTwoSampleMessage());
+ }
+
+ protected static List<String> getTwoSampleMessage() {
+ String message1 = "{ \"message\" : \"Test Message1\"}";
+ String message2 = "{ \"message\" : \"Test Message2\"}";
+ return of(message1, message2);
+ }
+
+}
diff --git a/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/it/DMaaPMRPublisherImplIT.java b/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/it/DMaaPMRPublisherImplIT.java
new file mode 100644
index 0000000..2b6c68a
--- /dev/null
+++ b/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/it/DMaaPMRPublisherImplIT.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.dmaap.it;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.dmaap.DMaaPMRFactory;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.response.DMaaPMRPublisherResponse;
+import org.openecomp.dcae.apod.analytics.dmaap.service.publisher.DMaaPMRPublisher;
+
+/**
+ * @author Rajiv Singla . Creation Date: 10/13/2016.
+ */
+@Ignore
+public class DMaaPMRPublisherImplIT extends BaseAnalyticsDMaaPIT {
+
+ private DMaaPMRPublisher dMaaPMRPublisher;
+
+ @Before
+ public void before() throws Exception {
+ DMaaPMRFactory dMaaPMRFactory = DMaaPMRFactory.create();
+ dMaaPMRPublisher = dMaaPMRFactory.createPublisher(getPublisherConfig());
+ }
+
+ @Test
+ public void testPublish() throws Exception {
+ long pendingMessageCount = publishTwoSampleMessages(dMaaPMRPublisher).getPendingMessagesCount();
+ Assert.assertTrue("Published Message Count must be 2", pendingMessageCount == 2);
+ }
+
+ @Test
+ public void testFlush() throws Exception {
+ publishTwoSampleMessages(dMaaPMRPublisher);
+ DMaaPMRPublisherResponse publisherResponse = dMaaPMRPublisher.flush();
+ Integer responseCode = publisherResponse.getResponseCode();
+ Assert.assertTrue("Server Response code must be 200", responseCode == 200);
+ }
+}
diff --git a/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/it/DMaaPMRSubscriberImplIT.java b/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/it/DMaaPMRSubscriberImplIT.java
new file mode 100644
index 0000000..5fdfd81
--- /dev/null
+++ b/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/it/DMaaPMRSubscriberImplIT.java
@@ -0,0 +1,87 @@
+/*
+ * ===============================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.dmaap.it;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.dmaap.DMaaPMRFactory;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.response.DMaaPMRPublisherResponse;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.response.DMaaPMRSubscriberResponse;
+import org.openecomp.dcae.apod.analytics.dmaap.service.publisher.DMaaPMRPublisher;
+import org.openecomp.dcae.apod.analytics.dmaap.service.subscriber.DMaaPMRSubscriber;
+
+import java.util.LinkedList;
+import java.util.List;
+import java.util.UUID;
+
+import static org.junit.Assert.assertTrue;
+
+/**
+ * @author Rajiv Singla . Creation Date: 10/13/2016.
+ */
+@Ignore
+public class DMaaPMRSubscriberImplIT extends BaseAnalyticsDMaaPIT {
+
+ private DMaaPMRPublisher dMaaPMRPublisher;
+ private DMaaPMRSubscriber dMaaPMRSubscriber;
+
+ @Before
+ public void before() throws Exception {
+ String randomConsumerID = UUID.randomUUID().toString();
+ DMaaPMRFactory dMaaPMRFactory = DMaaPMRFactory.create();
+ dMaaPMRSubscriber = dMaaPMRFactory.createSubscriber(getSubscriberConfig(randomConsumerID));
+ dMaaPMRPublisher = dMaaPMRFactory.createPublisher(getPublisherConfig());
+ }
+
+ @After
+ public void after() throws Exception {
+ dMaaPMRSubscriber.close();
+ dMaaPMRPublisher.close();
+ }
+
+
+ @Test
+ public void testFetchMessages() throws Exception {
+
+ // This call is used to just register a brand new subscriber with DMaaP
+ DMaaPMRSubscriberResponse subscriberRegistrationResponse = dMaaPMRSubscriber.fetchMessages();
+ assertTrue("Subscriber Registration Response code must be 200 confirming subscriber was registered " +
+ "successfully", subscriberRegistrationResponse.getResponseCode() == 200);
+ assertTrue("Subscriber Registration Response must not contain any messages", subscriberRegistrationResponse
+ .getFetchedMessages().size() == 0);
+
+ // Force push couple of test messages
+ DMaaPMRPublisherResponse publisherResponse = dMaaPMRPublisher.forcePublish(getTwoSampleMessage());
+ assertTrue("Message must be posted successfully before subscriber can fetch it", publisherResponse
+ .getResponseCode() == 200);
+
+ // Now fetch messages from DMaaP
+ DMaaPMRSubscriberResponse subscriberResponse = dMaaPMRSubscriber.fetchMessages();
+ List<String> messageList = new LinkedList<>();
+ for (String message : subscriberResponse.getFetchedMessages()) {
+ messageList.add(message);
+ }
+ assertTrue("Subscriber message count must be 2", messageList.size() == 2);
+ }
+
+}
diff --git a/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/module/AnalyticsDMaaPTestModule.java b/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/module/AnalyticsDMaaPTestModule.java
new file mode 100644
index 0000000..acd646a
--- /dev/null
+++ b/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/module/AnalyticsDMaaPTestModule.java
@@ -0,0 +1,60 @@
+/*
+ * ===============================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.dmaap.module;
+
+import com.google.inject.AbstractModule;
+import com.google.inject.assistedinject.FactoryModuleBuilder;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.openecomp.dcae.apod.analytics.dmaap.service.publisher.DMaaPMRPublisher;
+import org.openecomp.dcae.apod.analytics.dmaap.service.publisher.DMaaPMRPublisherFactory;
+import org.openecomp.dcae.apod.analytics.dmaap.service.publisher.DMaaPMRPublisherMockImpl;
+import org.openecomp.dcae.apod.analytics.dmaap.service.publisher.DMaaPMRPublisherQueue;
+import org.openecomp.dcae.apod.analytics.dmaap.service.publisher.DMaaPMRPublisherQueueFactory;
+import org.openecomp.dcae.apod.analytics.dmaap.service.publisher.DMaaPMRPublisherQueueImpl;
+import org.openecomp.dcae.apod.analytics.dmaap.service.subscriber.DMaaPMRSubscriber;
+import org.openecomp.dcae.apod.analytics.dmaap.service.subscriber.DMaaPMRSubscriberFactory;
+import org.openecomp.dcae.apod.analytics.dmaap.service.subscriber.DMaaPMRSubscriberMockImpl;
+
+/**
+ * DMaaP Guice Test Module
+ * <p>
+ * @author Rajiv Singla . Creation Date: 10/20/2016.
+ */
+public class AnalyticsDMaaPTestModule extends AbstractModule {
+
+
+ @Override
+ protected void configure() {
+// Bind Http Client
+ bind(CloseableHttpClient.class).toInstance(HttpClients.createDefault());
+
+ // Bind Publishing queue
+ install(new FactoryModuleBuilder().implement(DMaaPMRPublisherQueue.class, DMaaPMRPublisherQueueImpl.class)
+ .build(DMaaPMRPublisherQueueFactory.class));
+
+ install(new FactoryModuleBuilder().implement(DMaaPMRPublisher.class, DMaaPMRPublisherMockImpl.class)
+ .build(DMaaPMRPublisherFactory.class));
+
+ install(new FactoryModuleBuilder().implement(DMaaPMRSubscriber.class, DMaaPMRSubscriberMockImpl.class)
+ .build(DMaaPMRSubscriberFactory.class));
+ }
+}
diff --git a/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/service/BaseDMaaPMRComponentTest.java b/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/service/BaseDMaaPMRComponentTest.java
new file mode 100644
index 0000000..f42c132
--- /dev/null
+++ b/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/service/BaseDMaaPMRComponentTest.java
@@ -0,0 +1,300 @@
+/*
+ * ===============================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.dmaap.service;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.google.common.base.Optional;
+import org.apache.commons.lang3.tuple.Pair;
+import org.apache.http.HttpEntity;
+import org.apache.http.HttpResponse;
+import org.apache.http.StatusLine;
+import org.apache.http.client.ResponseHandler;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+import org.mockito.Mockito;
+import org.openecomp.dcae.apod.analytics.common.exception.DCAEAnalyticsRuntimeException;
+import org.openecomp.dcae.apod.analytics.dmaap.BaseAnalyticsDMaaPUnitTest;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRPublisherConfig;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRSubscriberConfig;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.response.DMaaPMRSubscriberResponse;
+import org.openecomp.dcae.apod.analytics.dmaap.service.publisher.DMaaPMRPublisherQueue;
+
+import java.io.IOException;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import static org.hamcrest.Matchers.containsInAnyOrder;
+import static org.hamcrest.Matchers.hasSize;
+import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.isA;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.BDDMockito.given;
+import static org.mockito.Mockito.mock;
+
+/**
+ * @author Manjesh Gowda. Creation Date: 11/4/2016.
+ */
+public class BaseDMaaPMRComponentTest extends BaseAnalyticsDMaaPUnitTest {
+
+ @Test
+ public void testGetAuthHeaderWithGoodValues() {
+ String expectedEncodedString = "Basic bTAwNTAyQHRjYS5hZi5kY2FlLmNvbTpUZTUwMjFhYmM=";
+ Optional<String> actualOutput = BaseDMaaPMRComponent.getAuthHeader("USER", "PASSWORD");
+ assertTrue(" Authentication Header has value ", actualOutput.isPresent());
+ assertEquals(" Authentication Header has value ", expectedEncodedString, actualOutput.get());
+ }
+
+ @Test
+ public void testGetAuthHeaderWithNullValues() {
+ Optional<String> actualOutput = BaseDMaaPMRComponent.getAuthHeader(null, null);
+ assertFalse(" Authentication Header has value ", actualOutput.isPresent());
+ }
+
+ @Test
+ public void testGetAuthHeaderWithUserNullValue() {
+ Optional<String> actualOutput = BaseDMaaPMRComponent.getAuthHeader("USER", null);
+ assertFalse(" Authentication Header has value ", actualOutput.isPresent());
+ }
+
+ @Test
+ public void testGetAuthHeaderWithPasswordNullValue() {
+ Optional<String> actualOutput = BaseDMaaPMRComponent.getAuthHeader(null, "PASSWORD");
+ assertFalse(" Authentication Header has value ", actualOutput.isPresent());
+ }
+
+ @Test
+ public void testCreatePublishURIWithGoodValues() {
+ URI actualURI = BaseDMaaPMRComponent.createPublisherURI(getPublisherConfig());
+ String test = actualURI.toString();
+ assertEquals("Generated Publisher URL is correct",
+ "https://testHostName:8080/events/testTopicName", actualURI.toString());
+ }
+
+ @Test(expected = DCAEAnalyticsRuntimeException.class)
+ public void testCreatePublishURIWithURISyntaxException() {
+ DMaaPMRPublisherConfig badPublisherConfig = new DMaaPMRPublisherConfig
+ .Builder(" dav /gh. ss/ asd ", "///@$%#-htps:<>!##")
+ .setPortNumber(0)
+ .setProtocol("https").build();
+
+ BaseDMaaPMRComponent.createPublisherURI(badPublisherConfig);
+ }
+
+ @Test
+ public void testCreateSubscribeURIWithGoodValues() {
+ URI actualURI = BaseDMaaPMRComponent.createSubscriberURI(
+ getSubscriberConfig("test-consumer-group", "test-consumer-id"));
+ assertEquals("Generated Subscriber URL is correct",
+ "https://testHostName:8080/events/testTopicName/" +
+ "test-consumer-id/test-consumer-group?timeout=2000&limit=20",
+ actualURI.toString());
+ }
+
+ @Test(expected = DCAEAnalyticsRuntimeException.class)
+ public void testCreateSubscribeURIWithURISyntaxException() {
+ DMaaPMRSubscriberConfig badSubscriberConfig = new DMaaPMRSubscriberConfig
+ .Builder(" dav /gh. ss/ asd ", "")
+ .setPortNumber(PORT_NUMBER)
+ .setProtocol(HTTP_PROTOCOL)
+ .setContentType(CONTENT_TYPE).build();
+
+ URI actualURI = BaseDMaaPMRComponent.createSubscriberURI(badSubscriberConfig);
+ }
+
+ @Test
+ public void testConvertToJsonStringGoodJsonStringList() {
+ List<String> jsonMessage = Arrays.asList(
+ "{\"message\":\"I'm Object 1 Message\"}",
+ "{\"message\":\"I'm Object 2 Message\"}");
+
+ String actualJSONMsg = BaseDMaaPMRComponent.convertToJsonString(jsonMessage);
+
+ String expectedJSONMsg = "[{\"message\":\"I'm Object 1 Message\"}," +
+ "{\"message\":\"I'm Object 2 Message\"}]";
+ assertEquals("Convert a List of Strings to JSON is working fine", expectedJSONMsg, actualJSONMsg);
+
+ }
+
+ @Rule
+ public ExpectedException expectedJsonProcessingException = ExpectedException.none();
+
+ @Test
+ public void testConvertToJsonStringBadJsonStringList() {
+ expectedJsonProcessingException.expect(DCAEAnalyticsRuntimeException.class);
+ expectedJsonProcessingException.expectCause(isA(JsonProcessingException.class));
+
+ List<String> jsonMessage = Arrays.asList(
+ "{\"message\":\"I'm Object 1 Message\"",
+ "\"message\":\"I'm Object 2 Message\"");
+
+ BaseDMaaPMRComponent.convertToJsonString(jsonMessage);
+ }
+
+ @Test
+ public void testConvertToJsonStringWithEmptyList() {
+ List<String> jsonMessage = Arrays.asList();
+ String actualJSONMsg = BaseDMaaPMRComponent.convertToJsonString(jsonMessage);
+ String expectedJSONMsg = "[]";
+ assertEquals("Convert a List of Strings to JSON is working fine", expectedJSONMsg, actualJSONMsg);
+ }
+
+ @Test
+ public void testConvertToJsonStringWithNullList() {
+ String actualJSONMsg = BaseDMaaPMRComponent.convertToJsonString(null);
+ String expectedJSONMsg = "[]";
+ assertEquals("Convert a List of Strings to JSON is working fine", expectedJSONMsg, actualJSONMsg);
+ }
+
+
+ @Test
+ public void testConvertJsonToStringMessagesGoodValues() {
+ String inputJSONMsg = "[{\"message\":\"I'm Object 1 Message\"}," +
+ "{\"message\":\"I'm Object 2 Message\"}]";
+ List<String> actualList = BaseDMaaPMRComponent.convertJsonToStringMessages(inputJSONMsg);
+ assertThat(actualList, hasSize(2));
+ assertThat(actualList, containsInAnyOrder(
+ "{\"message\":\"I'm Object 1 Message\"}",
+ "{\"message\":\"I'm Object 2 Message\"}"
+ ));
+ }
+
+ @Test
+ public void testConvertJsonToStringMessagesNoValues() {
+ String inputJSONMsg = "[]";
+ List<String> actualList = BaseDMaaPMRComponent.convertJsonToStringMessages(inputJSONMsg);
+ assertThat(actualList, hasSize(0));
+ }
+
+ @Test
+ public void testConvertJsonToStringMessagesNullValues() {
+ List<String> actualList = BaseDMaaPMRComponent.convertJsonToStringMessages(null);
+ assertThat(actualList, hasSize(0));
+ }
+
+ @Test
+ public void testConvertJsonToStringMessagesEmptyValues() {
+ List<String> actualList = BaseDMaaPMRComponent.convertJsonToStringMessages(" ");
+ assertThat(actualList, hasSize(0));
+ }
+
+ @Rule
+ public ExpectedException convertToJSONIOException = ExpectedException.none();
+
+ @Test
+ public void testConvertJsonToStringMessagesException() {
+ convertToJSONIOException.expect(DCAEAnalyticsRuntimeException.class);
+ convertToJSONIOException.expectCause(isA(IOException.class));
+
+ String inputJSONMsg = "[\"{\"message\":\"I'm Object 1 Message\"}\"," +
+ "\"{\"message\":\"I'm Object 2 Message\"}\"]";
+ List<String> actualList = BaseDMaaPMRComponent.convertJsonToStringMessages(inputJSONMsg);
+ assertThat(actualList, hasSize(2));
+ assertThat(actualList, containsInAnyOrder(
+ "{\"message\":\"I'm Object 1 Message\"}",
+ "{\"message\":\"I'm Object 2 Message\"}"
+ ));
+ }
+
+ @Test
+ public void testAddMessagesToRecoveryQueueAllGood() {
+ DMaaPMRPublisherQueue dmaapMRPublisherQueue = mock(DMaaPMRPublisherQueue.class);
+ given(dmaapMRPublisherQueue.addRecoverableMessages(Mockito.<String>anyList())).willReturn(0);
+ given(dmaapMRPublisherQueue.getBatchQueueRemainingSize()).willReturn(0);
+ List<String> messages = new ArrayList<String>();
+ BaseDMaaPMRComponent.addMessagesToRecoveryQueue(dmaapMRPublisherQueue, messages);
+ }
+
+ @Rule
+ public ExpectedException addQueueIllegalException = ExpectedException.none();
+
+ @Test
+ public void testAddMessagesToRecoveryQueueException() {
+ addQueueIllegalException.expect(isA(DCAEAnalyticsRuntimeException.class));
+ addQueueIllegalException.expectCause(isA(IllegalStateException.class));
+
+ DMaaPMRPublisherQueue dmaapMRPublisherQueue = mock(DMaaPMRPublisherQueue.class);
+
+ given(dmaapMRPublisherQueue.addRecoverableMessages(Mockito.<String>anyList()))
+ .willThrow(IllegalStateException.class);
+ List<String> messages = new ArrayList<String>();
+
+ BaseDMaaPMRComponent.addMessagesToRecoveryQueue(dmaapMRPublisherQueue, messages);
+ }
+
+
+ @Test
+ public void testResponseHandler() {
+ HttpResponse mockHttpResponse = mock(HttpResponse.class);
+ StatusLine mockStatusLine = mock(StatusLine.class);
+ HttpEntity mockHttpEntity = mock(HttpEntity.class);
+ // Could not mock EntityUtils as it's final class
+ //EntityUtils mockEntityUtils = mock(EntityUtils.class);
+
+ given(mockHttpResponse.getStatusLine()).willReturn(mockStatusLine);
+ given(mockStatusLine.getStatusCode()).willReturn(200);
+ given(mockHttpResponse.getEntity()).willReturn(null);
+ //given(mockEntityUtils.toString()).willReturn("Test value");
+
+ ResponseHandler<Pair<Integer, String>> responseHandler = BaseDMaaPMRComponent.responseHandler();
+ try {
+ Pair<Integer, String> mappedResponse = responseHandler.handleResponse(mockHttpResponse);
+ assertTrue("Http response code returned properly ", mappedResponse.getLeft().equals(200));
+ assertTrue("Http response body returned properly ", mappedResponse.getRight().equals(""));
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+
+ @Test
+ public void testCreateSubscriberResponse() {
+ DMaaPMRSubscriberResponse dmaapMRSubscriberResponse =
+ BaseDMaaPMRComponent.createSubscriberResponse(200, "Test Message", getTwoSampleMessages());
+
+ assertThat(dmaapMRSubscriberResponse.getResponseCode(), is(200));
+ assertEquals(dmaapMRSubscriberResponse.getResponseMessage(), "Test Message");
+ assertThat(dmaapMRSubscriberResponse.getFetchedMessages().size(), is(2));
+
+ }
+
+ @Test
+ public void testCreateSubscriberResponse_no_message() {
+ DMaaPMRSubscriberResponse dmaapMRSubscriberResponse =
+ BaseDMaaPMRComponent.createSubscriberResponse(200, "Test Message", null);
+
+ assertThat(dmaapMRSubscriberResponse.getResponseCode(), is(200));
+ assertEquals(dmaapMRSubscriberResponse.getResponseMessage(), "Test Message");
+ assertThat(dmaapMRSubscriberResponse.getFetchedMessages().size(), is(0));
+
+ }
+
+}
+
+
+
+
+
diff --git a/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisherImplTest.java b/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisherImplTest.java
new file mode 100644
index 0000000..a67e777
--- /dev/null
+++ b/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisherImplTest.java
@@ -0,0 +1,212 @@
+/*
+ * ===============================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.dmaap.service.publisher;
+
+import org.apache.commons.lang3.tuple.ImmutablePair;
+import org.apache.http.client.ResponseHandler;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.client.methods.HttpUriRequest;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.mockito.runners.MockitoJUnitRunner;
+import org.openecomp.dcae.apod.analytics.common.exception.DCAEAnalyticsRuntimeException;
+import org.openecomp.dcae.apod.analytics.dmaap.BaseAnalyticsDMaaPUnitTest;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRPublisherConfig;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.response.DMaaPMRPublisherResponse;
+
+import java.io.IOException;
+import java.util.ArrayList;
+
+import static org.hamcrest.CoreMatchers.isA;
+import static org.hamcrest.core.Is.is;
+import static org.junit.Assert.assertThat;
+import static org.mockito.BDDMockito.given;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+
+/**
+ * @author Rajiv Singla . Creation Date: 10/21/2016.
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class DMaaPMRPublisherImplTest extends BaseAnalyticsDMaaPUnitTest {
+
+ @Mock
+ DMaaPMRPublisherQueueFactory dmaapMRPublisherQueueFactory;
+ @Mock
+ CloseableHttpClient closeableHttpClient;
+ @Mock
+ DMaaPMRPublisherQueue dmaapMRPublisherQueue;
+
+ @Before
+ public void setUp() throws Exception {
+ given(dmaapMRPublisherQueueFactory.create(Mockito.anyInt(), Mockito.anyInt()))
+ .willReturn(dmaapMRPublisherQueue);
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ }
+
+ @Test
+ public void testPublishSmallMessageList() throws Exception {
+ given(dmaapMRPublisherQueue.getBatchQueueRemainingSize()).willReturn(10);
+ given(dmaapMRPublisherQueue.addBatchMessages(Mockito.<String>anyList())).willReturn(2);
+
+ DMaaPMRPublisherImpl dmaapMRPublisherImpl = new DMaaPMRPublisherImpl(
+ getPublisherConfig(), dmaapMRPublisherQueueFactory, closeableHttpClient);
+
+ DMaaPMRPublisherResponse dmaapMRPublisherResponse = dmaapMRPublisherImpl.publish(getTwoSampleMessages());
+
+ assertThat(dmaapMRPublisherResponse.getResponseCode(), is(202));
+ assertThat(dmaapMRPublisherResponse.getPendingMessagesCount(), is(2));
+ assertThat(dmaapMRPublisherResponse.getResponseMessage(),
+ is("Accepted - Messages queued for batch publishing to MR Topic"));
+ }
+
+ @Test
+ public void testPublishBigMessageList() throws Exception {
+
+ given(dmaapMRPublisherQueue.getBatchQueueRemainingSize()).willReturn(0);
+ given(dmaapMRPublisherQueue.getMessageForPublishing()).willReturn(getTwoSampleMessages());
+ Mockito.when(
+ closeableHttpClient.execute(Mockito.any(HttpUriRequest.class), Mockito.any(ResponseHandler.class)))
+ .thenReturn(new ImmutablePair<>(200, "Message successfully posted"));
+
+ DMaaPMRPublisherImpl dmaapMRPublisherImpl = new DMaaPMRPublisherImpl(
+ getPublisherConfig(), dmaapMRPublisherQueueFactory, closeableHttpClient);
+
+ DMaaPMRPublisherResponse dmaapMRPublisherResponse = dmaapMRPublisherImpl.publish(getTwoSampleMessages());
+
+ assertThat(dmaapMRPublisherResponse.getResponseCode(), is(200));
+ assertThat(dmaapMRPublisherResponse.getPendingMessagesCount(), is(200));
+ assertThat(dmaapMRPublisherResponse.getResponseMessage(), is("Message successfully posted"));
+ }
+
+ @Test
+ public void testForcePublishSuccessful() throws Exception {
+ DMaaPMRPublisherConfig dmaapMRPublisherConfig = new
+ DMaaPMRPublisherConfig.Builder(HOST_NAME, TOPIC_NAME)
+ .setPortNumber(PORT_NUMBER)
+ .setProtocol(HTTP_PROTOCOL)
+ .setContentType(CONTENT_TYPE)
+ .setMaxRecoveryQueueSize(PUBLISHER_MAX_RECOVERY_QUEUE_SIZE)
+ .setMaxBatchSize(PUBLISHER_MAX_BATCH_QUEUE_SIZE).build();
+
+ HttpPost httpPost = Mockito.mock(HttpPost.class);
+ Mockito.when(closeableHttpClient.execute(
+ Mockito.any(HttpUriRequest.class), Mockito.any(ResponseHandler.class)))
+ .thenReturn(new ImmutablePair<>(200, "Message successfully posted"));
+
+ DMaaPMRPublisherImpl dmaapMRPublisherImpl = new DMaaPMRPublisherImpl(
+ dmaapMRPublisherConfig, dmaapMRPublisherQueueFactory, closeableHttpClient);
+ DMaaPMRPublisherResponse response = dmaapMRPublisherImpl.forcePublish(getTwoSampleMessages());
+ assertThat(response.getResponseCode(), is(200));
+ }
+
+ @Test
+ public void testForcePublishFailure() throws Exception {
+ Mockito.when(closeableHttpClient.execute(
+ Mockito.any(HttpUriRequest.class), Mockito.any(ResponseHandler.class)))
+ .thenReturn(new ImmutablePair<>(503, "Message successfully posted"));
+
+ DMaaPMRPublisherImpl dmaapMRPublisherImpl = new DMaaPMRPublisherImpl(
+ getPublisherConfig(), dmaapMRPublisherQueueFactory, closeableHttpClient);
+ DMaaPMRPublisherResponse response = dmaapMRPublisherImpl.forcePublish(getTwoSampleMessages());
+ assertThat(response.getResponseCode(), is(503));
+ }
+
+ @Rule
+ public ExpectedException httpIOException = ExpectedException.none();
+
+ @Test
+ public void testForcePublishHttpFailure() throws Exception {
+
+ httpIOException.expect(DCAEAnalyticsRuntimeException.class);
+ httpIOException.expectCause(isA(IOException.class));
+
+ given(closeableHttpClient.execute(
+ Mockito.any(HttpUriRequest.class), Mockito.any(ResponseHandler.class))).willThrow(IOException.class);
+
+ DMaaPMRPublisherImpl dmaapMRPublisherImpl = new DMaaPMRPublisherImpl(
+ getPublisherConfig(), dmaapMRPublisherQueueFactory, closeableHttpClient);
+ DMaaPMRPublisherResponse response = dmaapMRPublisherImpl.forcePublish(getTwoSampleMessages());
+ }
+
+ @Test
+ public void testFlushSuccessful() throws Exception {
+ Mockito.when(closeableHttpClient.execute(
+ Mockito.any(HttpUriRequest.class), Mockito.any(ResponseHandler.class)))
+ .thenReturn(new ImmutablePair<>(200, "Message successfully posted"));
+
+ Mockito.when(dmaapMRPublisherQueue.getMessageForPublishing()).thenReturn(getTwoSampleMessages());
+
+ DMaaPMRPublisherImpl dmaapMRPublisherImpl = new DMaaPMRPublisherImpl(
+ getPublisherConfig(), dmaapMRPublisherQueueFactory, closeableHttpClient);
+ DMaaPMRPublisherResponse response = dmaapMRPublisherImpl.flush();
+ assertThat(response.getResponseCode(), is(200));
+ }
+
+ @Test
+ public void testFlushEmptyList() throws Exception {
+ Mockito.when(dmaapMRPublisherQueue.getMessageForPublishing()).thenReturn(new ArrayList());
+
+ DMaaPMRPublisherImpl dmaapMRPublisherImpl = new DMaaPMRPublisherImpl(
+ getPublisherConfig(), dmaapMRPublisherQueueFactory, closeableHttpClient);
+ DMaaPMRPublisherResponse response = dmaapMRPublisherImpl.flush();
+ assertThat(response.getResponseCode(), is(204));
+ }
+
+ @Test
+ public void testClose() throws Exception {
+ Mockito.when(dmaapMRPublisherQueue.getMessageForPublishing()).thenReturn(new ArrayList());
+ Mockito.when(closeableHttpClient.execute(
+ Mockito.any(HttpUriRequest.class), Mockito.any(ResponseHandler.class)))
+ .thenReturn(new ImmutablePair<>(200, "Message successfully posted"));
+ Mockito.when(dmaapMRPublisherQueue.getMessageForPublishing()).thenReturn(getTwoSampleMessages());
+
+ DMaaPMRPublisherImpl dmaapMRPublisherImpl = new DMaaPMRPublisherImpl(
+ getPublisherConfig(), dmaapMRPublisherQueueFactory, closeableHttpClient);
+ dmaapMRPublisherImpl.close();
+ verify(closeableHttpClient).execute(Mockito.any(HttpUriRequest.class), Mockito.any(ResponseHandler.class));
+ }
+
+ @Test
+ public void testCloseUnsuccessful() throws Exception {
+ Mockito.when(dmaapMRPublisherQueue.getMessageForPublishing()).thenReturn(new ArrayList());
+ Mockito.when(closeableHttpClient.execute(
+ Mockito.any(HttpUriRequest.class), Mockito.any(ResponseHandler.class)))
+ .thenReturn(new ImmutablePair<>(400, "Message successfully posted"));
+ Mockito.when(dmaapMRPublisherQueue.getMessageForPublishing()).thenReturn(getTwoSampleMessages());
+
+ DMaaPMRPublisherImpl dmaapMRPublisherImpl = new DMaaPMRPublisherImpl(
+ getPublisherConfig(), dmaapMRPublisherQueueFactory, closeableHttpClient);
+ dmaapMRPublisherImpl.close();
+ verify(closeableHttpClient, times(6)).execute(Mockito.any(HttpUriRequest.class),
+ Mockito.any(ResponseHandler.class));
+ }
+}
diff --git a/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisherMockImpl.java b/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisherMockImpl.java
new file mode 100644
index 0000000..263660b
--- /dev/null
+++ b/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisherMockImpl.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.dmaap.service.publisher;
+
+import org.openecomp.dcae.apod.analytics.common.exception.DCAEAnalyticsRuntimeException;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.response.DMaaPMRPublisherResponse;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.response.DMaaPMRPublisherResponseImpl;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author Rajiv Singla . Creation Date: 10/21/2016.
+ */
+public class DMaaPMRPublisherMockImpl implements DMaaPMRPublisher {
+
+ @Override
+ public DMaaPMRPublisherResponse publish(List<String> messages) throws DCAEAnalyticsRuntimeException {
+ return new DMaaPMRPublisherResponseImpl(102, "Mock Response", 100);
+ }
+
+ @Override
+ public DMaaPMRPublisherResponse forcePublish(List<String> messages) throws DCAEAnalyticsRuntimeException {
+ return null;
+ }
+
+ @Override
+ public DMaaPMRPublisherResponse flush() {
+ return null;
+ }
+
+ @Override
+ public Date getPublisherCreationTime() {
+ return null;
+ }
+
+ @Override
+ public void close() throws Exception {
+
+ }
+}
diff --git a/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisherQueueImplTest.java b/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisherQueueImplTest.java
new file mode 100644
index 0000000..e854716
--- /dev/null
+++ b/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisherQueueImplTest.java
@@ -0,0 +1,189 @@
+/*
+ * ===============================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.dmaap.service.publisher;
+
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.dmaap.BaseAnalyticsDMaaPUnitTest;
+
+import java.util.List;
+
+import static org.junit.Assert.assertTrue;
+
+/**
+ *
+ * @author Rajiv Singla . Creation Date: 11/2/2016.
+ */
+public class DMaaPMRPublisherQueueImplTest extends BaseAnalyticsDMaaPUnitTest {
+
+
+ @Test
+ public void testAddBatchMessages() throws Exception {
+ DMaaPMRPublisherQueue publisherQueue = new DMaaPMRPublisherQueueImpl(10, 20);
+ // add two messages to batch queue
+ final int batchMessagesSizeAfterFirstInsert = publisherQueue.addBatchMessages(getTwoSampleMessages());
+ assertTrue("Batch Message Queue size must be 2", batchMessagesSizeAfterFirstInsert == 2);
+ // add two more message to batch queue
+ final int batchMessagesSizeAfterSecondInsert = publisherQueue.addBatchMessages(getTwoSampleMessages());
+ assertTrue("Batch Message Queue size must be 4", batchMessagesSizeAfterSecondInsert == 4);
+ // Now get all messages which must drain out batch queue
+ final List<String> messagesToPublish = publisherQueue.getMessageForPublishing();
+ assertTrue("There must be 4 messages to publish", messagesToPublish.size() == 4);
+ assertTrue("Batch Queue must be empty", publisherQueue.getBatchQueueRemainingSize() == 10);
+
+ }
+
+ @Test(expected = IllegalStateException.class)
+ public void testAddBatchMessagesWhenQueueSizeIsFull() throws Exception {
+ DMaaPMRPublisherQueue publisherQueue = new DMaaPMRPublisherQueueImpl(2, 20);
+ // add two messages to batch queue
+ final int batchMessagesSizeAfterFirstInsert = publisherQueue.addBatchMessages(getTwoSampleMessages());
+ assertTrue("Batch Message Queue size must be 2", batchMessagesSizeAfterFirstInsert == 2);
+ // add 2 more messages should now throw IllegalStateException
+ publisherQueue.addBatchMessages(getTwoSampleMessages());
+ }
+
+ @Test
+ public void testAddRecoverableMessages() throws Exception {
+ DMaaPMRPublisherQueue publisherQueue = new DMaaPMRPublisherQueueImpl(10, 20);
+ // add two messages to batch queue
+ final int batchMessagesSizeAfterFirstInsert = publisherQueue.addBatchMessages(getTwoSampleMessages());
+ assertTrue("Batch Message Queue size must be 2", batchMessagesSizeAfterFirstInsert == 2);
+ // add two recoverable messages
+ final int recoverableMessageSizeAfterFirstInsert =
+ publisherQueue.addRecoverableMessages(getTwoSampleMessages());
+ assertTrue("Recovery Message Queue size must be 2 after first insert",
+ recoverableMessageSizeAfterFirstInsert == 2);
+ // add two more recoverable messages
+ final int recoverableMessageSizeAfterSecondInsert =
+ publisherQueue.addRecoverableMessages(getTwoSampleMessages());
+ assertTrue("Recovery Message Queue size must be 4 after second insert",
+ recoverableMessageSizeAfterSecondInsert == 4);
+ // Now get all messages which must drain out batch queue
+ final List<String> messagesToPublish = publisherQueue.getMessageForPublishing();
+ assertTrue("There must be 6 messages to publish", messagesToPublish.size() == 6);
+ assertTrue("Batch Queue must be empty", publisherQueue.getBatchQueueRemainingSize() == 10);
+ assertTrue("Recovery Queue must be empty", publisherQueue.getRecoveryQueueRemainingSize() == 20);
+ }
+
+
+ @Test(expected = IllegalStateException.class)
+ public void testAddRecoverableMessagesWhenRecoveryQueueIsFull() throws Exception {
+ DMaaPMRPublisherQueue publisherQueue = new DMaaPMRPublisherQueueImpl(10, 2);
+ // add two messages to batch queue
+ final int batchMessagesSizeAfterFirstInsert = publisherQueue.addBatchMessages(getTwoSampleMessages());
+ assertTrue("Batch Message Queue size must be 2", batchMessagesSizeAfterFirstInsert == 2);
+ // add two recoverable messages
+ final int recoverableMessageSizeAfterFirstInsert =
+ publisherQueue.addRecoverableMessages(getTwoSampleMessages());
+ assertTrue("Recovery Message Queue size must be 2 after first insert",
+ recoverableMessageSizeAfterFirstInsert == 2);
+ // add two more recoverable messages which should throw IllegalStateException
+ publisherQueue.addRecoverableMessages(getTwoSampleMessages());
+ }
+
+ @Test
+ public void testGetMessageForPublishing() throws Exception {
+ DMaaPMRPublisherQueue publisherQueue = new DMaaPMRPublisherQueueImpl(10, 20);
+ // add two messages to batch queue
+ final int batchMessagesSizeAfterFirstInsert = publisherQueue.addBatchMessages(getTwoSampleMessages());
+ assertTrue("Batch Message Queue size must be 2", batchMessagesSizeAfterFirstInsert == 2);
+ // add two recoverable messages
+ final int recoverableMessageSizeAfterFirstInsert =
+ publisherQueue.addRecoverableMessages(getTwoSampleMessages());
+ assertTrue("Recovery Message Queue size must be 2 after first insert",
+ recoverableMessageSizeAfterFirstInsert == 2);
+ // add two more recoverable messages
+ final int recoverableMessageSizeAfterSecondInsert =
+ publisherQueue.addRecoverableMessages(getTwoSampleMessages());
+ assertTrue("Recovery Message Queue size must be 4 after second insert",
+ recoverableMessageSizeAfterSecondInsert == 4);
+ // Now get all messages which must drain out batch queue
+ final List<String> messagesToPublish = publisherQueue.getMessageForPublishing();
+ assertTrue("There must be 6 messages to publish", messagesToPublish.size() == 6);
+ // add two more batch and recovery messages
+ final int batchQueueSize = publisherQueue.addBatchMessages(getTwoSampleMessages());
+ final int recoveryQueueSize = publisherQueue.addRecoverableMessages(getTwoSampleMessages());
+ final int messagePublishCount = publisherQueue.getMessageForPublishing().size();
+ assertTrue("Batch Queue + Recovery Queue message total must batch publish message count",
+ messagePublishCount == (batchQueueSize + recoveryQueueSize));
+ assertTrue("Batch Queue must be empty", publisherQueue.getBatchQueueRemainingSize() == 10);
+ assertTrue("Recovery Queue must be empty", publisherQueue.getRecoveryQueueRemainingSize() == 20);
+
+ }
+
+ @Test
+ public void testGetBatchQueueRemainingSize() throws Exception {
+
+ DMaaPMRPublisherQueue publisherQueue = new DMaaPMRPublisherQueueImpl(10, 20);
+ // add two messages to batch queue
+ final int batchMessagesSizeAfterFirstInsert = publisherQueue.addBatchMessages(getTwoSampleMessages());
+ assertTrue("Batch Message Queue size must be 2", batchMessagesSizeAfterFirstInsert == 2);
+ assertTrue("Batch remaining capacity should be reduced by 2",
+ publisherQueue.getBatchQueueRemainingSize() == 8);
+
+ // add two recoverable messages
+ final int recoverableMessageSizeAfterFirstInsert =
+ publisherQueue.addRecoverableMessages(getTwoSampleMessages());
+ assertTrue("Recovery Message Queue size must be 2 after first insert",
+ recoverableMessageSizeAfterFirstInsert == 2);
+
+ // recoverable message should not change batch queue capacity
+ assertTrue("Adding recoverable Message must not have any impact on batch queue remaining capacity ",
+ publisherQueue.getBatchQueueRemainingSize() == 8);
+ // Now get all messages which must drain out batch queue
+ final List<String> messagesToPublish = publisherQueue.getMessageForPublishing();
+ assertTrue("There must be exactly 4 messages to publish", messagesToPublish.size() == 4);
+
+ // Batch queue remaining capacity should now match original batch size
+ assertTrue("Batch Queue remaining capacity must match original batch queue size", publisherQueue
+ .getBatchQueueRemainingSize() == 10);
+ }
+
+ @Test
+ public void testGetRecoveryQueueRemainingSize() throws Exception {
+ DMaaPMRPublisherQueue publisherQueue = new DMaaPMRPublisherQueueImpl(10, 20);
+
+ // add two recoverable messages
+ final int recoverableMessageSizeAfterFirstInsert =
+ publisherQueue.addRecoverableMessages(getTwoSampleMessages());
+ assertTrue("Recovery Message Queue size must be 2 after first insert",
+ recoverableMessageSizeAfterFirstInsert == 2);
+ assertTrue("Recovery Queue remaining capacity should be reduced by 2",
+ publisherQueue.getRecoveryQueueRemainingSize() == 18);
+
+ // add two messages to batch queue
+ final int batchMessagesSizeAfterFirstInsert = publisherQueue.addBatchMessages(getTwoSampleMessages());
+ assertTrue("Batch Message Queue size must be 2", batchMessagesSizeAfterFirstInsert == 2);
+
+ // batch message should not change recoverable queue capacity
+ assertTrue("Adding batch queue Message must not have any impact on recovery queue remaining capacity ",
+ publisherQueue.getRecoveryQueueRemainingSize() == 18);
+
+ // Now get all messages which must drain out recovery queue
+ final List<String> messagesToPublish = publisherQueue.getMessageForPublishing();
+ assertTrue("There must be exactly 4 messages to publish", messagesToPublish.size() == 4);
+
+ // Recoverable queue remaining capacity should now match original recovery queue size
+ assertTrue("Recoverable Queue remaining capacity must match original batch queue size", publisherQueue
+ .getRecoveryQueueRemainingSize() == 20);
+ }
+
+}
diff --git a/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisherQueueMockImpl.java b/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisherQueueMockImpl.java
new file mode 100644
index 0000000..ac7023b
--- /dev/null
+++ b/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/service/publisher/DMaaPMRPublisherQueueMockImpl.java
@@ -0,0 +1,53 @@
+/*
+ * ===============================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.dmaap.service.publisher;
+
+import java.util.List;
+
+/**
+ * @author Manjesh Gowda. Creation Date: 11/7/2016.
+ */
+public class DMaaPMRPublisherQueueMockImpl implements DMaaPMRPublisherQueue {
+ @Override
+ public int addBatchMessages(List<String> batchMessages) throws IllegalStateException {
+ return 100;
+ }
+
+ @Override
+ public int addRecoverableMessages(List<String> recoverableMessages) throws IllegalStateException {
+ return 0;
+ }
+
+ @Override
+ public List<String> getMessageForPublishing() {
+ return null;
+ }
+
+ @Override
+ public int getBatchQueueRemainingSize() {
+ return 0;
+ }
+
+ @Override
+ public int getRecoveryQueueRemainingSize() {
+ return 0;
+ }
+}
diff --git a/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/service/subscriber/DMaaPMRSubscriberImplTest.java b/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/service/subscriber/DMaaPMRSubscriberImplTest.java
new file mode 100644
index 0000000..381fa70
--- /dev/null
+++ b/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/service/subscriber/DMaaPMRSubscriberImplTest.java
@@ -0,0 +1,158 @@
+/*
+ * ===============================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.dmaap.service.subscriber;
+
+import com.jayway.jsonassert.impl.matcher.IsCollectionWithSize;
+import org.apache.commons.lang3.tuple.ImmutablePair;
+import org.apache.http.client.ResponseHandler;
+import org.apache.http.client.methods.HttpUriRequest;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.mockito.runners.MockitoJUnitRunner;
+import org.openecomp.dcae.apod.analytics.common.exception.DCAEAnalyticsRuntimeException;
+import org.openecomp.dcae.apod.analytics.dmaap.BaseAnalyticsDMaaPUnitTest;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRSubscriberConfig;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.response.DMaaPMRSubscriberResponse;
+
+import java.io.IOException;
+import java.util.Random;
+import java.util.UUID;
+
+import static org.hamcrest.CoreMatchers.isA;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.core.Is.is;
+import static org.mockito.BDDMockito.given;
+
+/**
+ * @author Rajiv Singla . Creation Date: 10/21/2016.
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class DMaaPMRSubscriberImplTest extends BaseAnalyticsDMaaPUnitTest {
+
+ @Mock
+ CloseableHttpClient closeableHttpClient;
+
+ private String consumerGroup, consumerId;
+
+ @Before
+ public void setUp() throws Exception {
+ Random random = new Random(10000L);
+ consumerGroup = "Test-Consumer-Group" + Long.toString(random.nextLong());
+ consumerId = UUID.randomUUID().toString();
+ }
+
+ @After
+ public void tearDown() throws Exception {
+
+ }
+
+ @Test
+ public void testSubscriberSuccessfullyReceiveDmaapMessage() throws Exception {
+
+ String testMessages = "[{\"message\":\"I'm Object 1 Message\"}," +
+ "{\"message\":\"I'm Object 2 Message\"}]";
+ Mockito.when(
+ closeableHttpClient.execute(Mockito.any(HttpUriRequest.class), Mockito.any(ResponseHandler.class)))
+ .thenReturn(new ImmutablePair<>(200, testMessages));
+
+ DMaaPMRSubscriberImpl dmaapMRSubscriberImpl = new DMaaPMRSubscriberImpl(
+ getSubscriberConfig(consumerId, consumerGroup), closeableHttpClient);
+ DMaaPMRSubscriberResponse dmaapMRSubscriberResponse = dmaapMRSubscriberImpl.fetchMessages();
+ assertThat(dmaapMRSubscriberResponse.getResponseCode(), is(200));
+ assertThat(dmaapMRSubscriberResponse.getFetchedMessages(), IsCollectionWithSize.hasSize(2));
+ }
+
+ @Test
+ public void testSubscriberSuccessfullyReceiveDmaapMessageWithNoUsername() throws Exception {
+
+ DMaaPMRSubscriberConfig dmaapMRSubscriberConfig = new DMaaPMRSubscriberConfig.Builder(HOST_NAME, TOPIC_NAME)
+ .setPortNumber(PORT_NUMBER)
+ .setProtocol(HTTP_PROTOCOL)
+ .setContentType(CONTENT_TYPE)
+ .setConsumerGroup(consumerGroup != null ? consumerGroup : SUBSCRIBER_CONSUMER_GROUP_NAME)
+ .setConsumerId(consumerId != null ? consumerId : SUBSCRIBER_CONSUMER_ID)
+ .setTimeoutMS(SUBSCRIBER_TIMEOUT_MS)
+ .setMessageLimit(SUBSCRIBER_MESSAGE_LIMIT).build();
+
+ String testMessages = "[{\"message\":\"I'm Object 1 Message\"}," +
+ "{\"message\":\"I'm Object 2 Message\"}]";
+ Mockito.when(
+ closeableHttpClient.execute(Mockito.any(HttpUriRequest.class), Mockito.any(ResponseHandler.class)))
+ .thenReturn(new ImmutablePair<>(200, testMessages));
+
+ DMaaPMRSubscriberImpl dmaapMRSubscriberImpl = new DMaaPMRSubscriberImpl(
+ dmaapMRSubscriberConfig, closeableHttpClient);
+ DMaaPMRSubscriberResponse dmaapMRSubscriberResponse = dmaapMRSubscriberImpl.fetchMessages();
+ assertThat(dmaapMRSubscriberResponse.getResponseCode(), is(200));
+ assertThat(dmaapMRSubscriberResponse.getFetchedMessages(), IsCollectionWithSize.hasSize(2));
+ }
+
+ @Test
+ public void testSubscriberSuccessfullyReceiveNoDmaapMessage() throws Exception {
+ Mockito.when(
+ closeableHttpClient.execute(Mockito.any(HttpUriRequest.class), Mockito.any(ResponseHandler.class)))
+ .thenReturn(new ImmutablePair<>(200, null));
+
+ DMaaPMRSubscriberImpl dmaapMRSubscriberImpl = new DMaaPMRSubscriberImpl(
+ getSubscriberConfig(consumerId, consumerGroup), closeableHttpClient);
+ DMaaPMRSubscriberResponse dmaapMRSubscriberResponse = dmaapMRSubscriberImpl.fetchMessages();
+ assertThat(dmaapMRSubscriberResponse.getResponseCode(), is(200));
+ assertThat(dmaapMRSubscriberResponse.getFetchedMessages(), IsCollectionWithSize.hasSize(0));
+ }
+
+ @Test
+ public void testSubscriberSuccessfullyReceiveErrorMessage() throws Exception {
+ Mockito.when(
+ closeableHttpClient.execute(Mockito.any(HttpUriRequest.class), Mockito.any(ResponseHandler.class)))
+ .thenReturn(new ImmutablePair<>(400, "Bad Request"));
+
+ DMaaPMRSubscriberImpl dmaapMRSubscriberImpl = new DMaaPMRSubscriberImpl(
+ getSubscriberConfig(consumerId, consumerGroup), closeableHttpClient);
+ DMaaPMRSubscriberResponse dmaapMRSubscriberResponse = dmaapMRSubscriberImpl.fetchMessages();
+ assertThat(dmaapMRSubscriberResponse.getResponseCode(), is(400));
+ assertThat(dmaapMRSubscriberResponse.getFetchedMessages(), IsCollectionWithSize.hasSize(0));
+ }
+
+ @Rule
+ public ExpectedException httpIOException = ExpectedException.none();
+
+ @Test
+ public void testSubscriberSuccessfullyReceiveException() throws Exception {
+
+ httpIOException.expect(DCAEAnalyticsRuntimeException.class);
+ httpIOException.expectCause(isA(IOException.class));
+
+ given(closeableHttpClient.execute(
+ Mockito.any(HttpUriRequest.class), Mockito.any(ResponseHandler.class))).willThrow(IOException.class);
+
+ DMaaPMRSubscriberImpl dmaapMRSubscriberImpl = new DMaaPMRSubscriberImpl(
+ getSubscriberConfig(consumerId, consumerGroup), closeableHttpClient);
+ DMaaPMRSubscriberResponse dmaapMRSubscriberResponse = dmaapMRSubscriberImpl.fetchMessages();
+ }
+
+}
diff --git a/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/service/subscriber/DMaaPMRSubscriberMockImpl.java b/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/service/subscriber/DMaaPMRSubscriberMockImpl.java
new file mode 100644
index 0000000..257c467
--- /dev/null
+++ b/dcae-analytics-dmaap/src/test/java/org/openecomp/dcae/apod/analytics/dmaap/service/subscriber/DMaaPMRSubscriberMockImpl.java
@@ -0,0 +1,48 @@
+/*
+ * ===============================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.dmaap.service.subscriber;
+
+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.domain.response.DMaaPMRSubscriberResponseImpl;
+
+import java.util.Date;
+
+/**
+ * @author Rajiv Singla . Creation Date: 10/21/2016.
+ */
+public class DMaaPMRSubscriberMockImpl implements DMaaPMRSubscriber {
+
+ @Override
+ public DMaaPMRSubscriberResponse fetchMessages() throws DCAEAnalyticsRuntimeException {
+ return new DMaaPMRSubscriberResponseImpl(102, "Mock Response", null);
+ }
+
+ @Override
+ public Date getSubscriberCreationTime() {
+ return null;
+ }
+
+ @Override
+ public void close() throws Exception {
+
+ }
+}
diff --git a/dcae-analytics-dmaap/src/test/resources/logback-test.xml b/dcae-analytics-dmaap/src/test/resources/logback-test.xml
new file mode 100644
index 0000000..68d2f3d
--- /dev/null
+++ b/dcae-analytics-dmaap/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-it/pom.xml b/dcae-analytics-it/pom.xml
new file mode 100644
index 0000000..4e849a7
--- /dev/null
+++ b/dcae-analytics-it/pom.xml
@@ -0,0 +1,214 @@
+<?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-it</artifactId>
+ <packaging>jar</packaging>
+
+
+ <!-- THIS MODULE CONTAINS INTEGRATION TESTS FOR ALL DCAE ANALYTICS MODULES - MUST NOT BE USED FOR PROD DEPLOYMENT-->
+ <name>DCAE Analytics Integration Tests</name>
+ <description>Contains Integration Tests for all DCAE Analytics Modules</description>
+
+
+ <properties>
+ <main.basedir>${project.parent.basedir}</main.basedir>
+ </properties>
+
+
+ <dependencies>
+
+ <!-- DCAE PROJECT DEPENDENCIES -->
+ <dependency>
+ <groupId>org.openecomp.dcae.apod.analytics</groupId>
+ <artifactId>dcae-analytics-cdap-plugins</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>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>
+ </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>
+
+ <dependency>
+ <groupId>co.cask.cdap</groupId>
+ <artifactId>hydrator-test</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>co.cask.cdap</groupId>
+ <artifactId>cdap-data-streams</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>info.cukes</groupId>
+ <artifactId>cucumber-java</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>info.cukes</groupId>
+ <artifactId>cucumber-guice</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>info.cukes</groupId>
+ <artifactId>cucumber-junit</artifactId>
+ </dependency>
+
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-failsafe-plugin</artifactId>
+ <configuration>
+ <argLine>-Xmx2048m -Djava.awt.headless=true -XX:+UseConcMarkSweepGC
+ -XX:OnOutOfMemoryError="kill -9 %p" -XX:+HeapDumpOnOutOfMemoryError
+ -Dcuke4duke.objectFactory=cuke4duke.internal.jvmclass.GuiceFactory
+ </argLine>
+ <systemPropertyVariables>
+ <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
+ <logback.configurationFile>
+ ${basedir}/src/test/resources/logback-test.xml
+ </logback.configurationFile>
+ </systemPropertyVariables>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+
+</project>
diff --git a/dcae-analytics-it/src/test/java/org/openecomp/dcae/apod/analytics/it/cucumber/CucumberRunnerIT.java b/dcae-analytics-it/src/test/java/org/openecomp/dcae/apod/analytics/it/cucumber/CucumberRunnerIT.java
new file mode 100644
index 0000000..83153a0
--- /dev/null
+++ b/dcae-analytics-it/src/test/java/org/openecomp/dcae/apod/analytics/it/cucumber/CucumberRunnerIT.java
@@ -0,0 +1,40 @@
+/*
+ * ===============================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.it.cucumber;
+
+import cucumber.api.CucumberOptions;
+import cucumber.api.SnippetType;
+import cucumber.api.junit.Cucumber;
+import org.junit.runner.RunWith;
+
+/**
+ * @author Rajiv Singla . Creation Date: 2/1/2017.
+ */
+
+@RunWith(Cucumber.class)
+@CucumberOptions(
+ plugin = {"pretty", "json:target/cucumber/cucumber.json", "html:target/cucumber"},
+ features = {"src/test/resources/cucumber/features/dmaap"},
+ glue = {"org.openecomp.dcae.apod.analytics.it.cucumber.steps"},
+ snippets = SnippetType.CAMELCASE
+)
+public class CucumberRunnerIT {
+}
diff --git a/dcae-analytics-it/src/test/java/org/openecomp/dcae/apod/analytics/it/cucumber/steps/DMaaPMRSteps.java b/dcae-analytics-it/src/test/java/org/openecomp/dcae/apod/analytics/it/cucumber/steps/DMaaPMRSteps.java
new file mode 100644
index 0000000..c341c2a
--- /dev/null
+++ b/dcae-analytics-it/src/test/java/org/openecomp/dcae/apod/analytics/it/cucumber/steps/DMaaPMRSteps.java
@@ -0,0 +1,129 @@
+/*
+ * ===============================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.it.cucumber.steps;
+
+import com.google.inject.Inject;
+import com.google.inject.name.Named;
+import cucumber.api.java.en.And;
+import cucumber.api.java.en.Given;
+import cucumber.api.java.en.Then;
+import cucumber.api.java.en.When;
+import org.openecomp.dcae.apod.analytics.common.utils.HTTPUtils;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.response.DMaaPMRPublisherResponse;
+import org.openecomp.dcae.apod.analytics.dmaap.domain.response.DMaaPMRSubscriberResponse;
+import org.openecomp.dcae.apod.analytics.dmaap.service.publisher.DMaaPMRPublisher;
+import org.openecomp.dcae.apod.analytics.dmaap.service.subscriber.DMaaPMRSubscriber;
+import org.openecomp.dcae.apod.analytics.it.dmaap.DMaaPMRCreator;
+import org.openecomp.dcae.apod.analytics.it.util.StepUtils;
+import org.openecomp.dcae.apod.analytics.test.BaseDCAEAnalyticsIT;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.Arrays;
+import java.util.concurrent.TimeUnit;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+/**
+ * @author Rajiv Singla . Creation Date: 2/1/2017.
+ */
+public class DMaaPMRSteps extends BaseDCAEAnalyticsIT {
+
+ private static final Logger LOG = LoggerFactory.getLogger(DMaaPMRSteps.class);
+
+ private final DMaaPMRCreator dMaaPMRCreator;
+ private final String defaultPublisherTopicName;
+
+ private static DMaaPMRSubscriberResponse subscriberResponse;
+ private static String messageToPublish;
+ private static String fetchedMessage;
+
+ @Inject
+ public DMaaPMRSteps(DMaaPMRCreator dMaaPMRCreator,
+ @Named("dmaap.mr.publisher.topicName") String defaultPublisherTopicName) {
+ this.dMaaPMRCreator = dMaaPMRCreator;
+ this.defaultPublisherTopicName = defaultPublisherTopicName;
+ }
+
+
+ @Given("^DMaaP MR Service is up$")
+ public void dmaapMRServiceIsUp() throws Throwable {
+ final DMaaPMRSubscriber subscriber =
+ dMaaPMRCreator.getDMaaPMRSubscriberWithTopicName(defaultPublisherTopicName);
+ final DMaaPMRSubscriberResponse subscriberResponse = subscriber.fetchMessages();
+ assertNotNull(subscriberResponse.getResponseCode());
+ assertTrue(HTTPUtils.isSuccessfulResponseCode(subscriberResponse.getResponseCode()));
+ LOG.info("Subscriber is able to fetch messages successfully - Verified DMaaP MR Service is UP");
+ }
+
+ @When("^I publish json message to publisher topic name \"([^\"]*)\" in file \"([^\"]*)\"$")
+ public void iPublishJsonMessageToPublisherTopicNameInFile(String publisherTopicName, String fileLocation)
+ throws Throwable {
+ String publisherTopic;
+ if (StepUtils.isDefaultPublisherTopic(publisherTopicName)) {
+ publisherTopic = defaultPublisherTopicName;
+ } else {
+ publisherTopic = publisherTopicName;
+ }
+ final DMaaPMRPublisher publisher = dMaaPMRCreator.getDMaaPMRPublisherWithTopicName(publisherTopic);
+ messageToPublish = fromStream(fileLocation);
+ final DMaaPMRPublisherResponse publisherResponse = publisher.publish(Arrays.asList(messageToPublish));
+ LOG.info("Publisher published messages to DMaaP MR Topic - Response: {}", publisherResponse);
+ assertTrue(HTTPUtils.isSuccessfulResponseCode(publisherResponse.getResponseCode()));
+ }
+
+ @And("^wait for \"([^\"]*)\" seconds$")
+ public void waitForSeconds(Integer waitInSeconds) throws Throwable {
+ TimeUnit.SECONDS.sleep(waitInSeconds);
+ LOG.info("Waking up after sleep: {} seconds", waitInSeconds);
+ }
+
+ @And("^subscriber fetch message from publisher topic name \"([^\"]*)\"$")
+ public void fetchMessageFrom(String publisherTopicName) throws Throwable {
+ String publisherTopic;
+ if (StepUtils.isDefaultPublisherTopic(publisherTopicName)) {
+ publisherTopic = defaultPublisherTopicName;
+ } else {
+ publisherTopic = publisherTopicName;
+ }
+ final DMaaPMRSubscriber subscriber = dMaaPMRCreator.getDMaaPMRSubscriberWithTopicName(publisherTopic);
+ subscriberResponse = subscriber.fetchMessages();
+ LOG.info("Subscriber fetched messages to DMaaP MR Topic - Response: {}", subscriberResponse);
+ assertTrue(HTTPUtils.isSuccessfulResponseCode(subscriberResponse.getResponseCode()));
+ }
+
+ @And("^compare fetched json message with published message$")
+ public void compareFetchedJsonMessageWithPublishedMessage() throws Throwable {
+
+ fetchedMessage = subscriberResponse.getFetchedMessages().get(0);
+ LOG.info("Fetched Json Message: {}", fetchedMessage);
+ LOG.info("Published Json Message: {}", messageToPublish);
+ }
+
+ @Then("^fetched message must be same as published message$")
+ public void fetchedMessageMustBeSameAsPublishedMessage() throws Throwable {
+ assertJson(messageToPublish, fetchedMessage);
+ }
+
+
+
+}
diff --git a/dcae-analytics-it/src/test/java/org/openecomp/dcae/apod/analytics/it/dmaap/DMaaPMRCreator.java b/dcae-analytics-it/src/test/java/org/openecomp/dcae/apod/analytics/it/dmaap/DMaaPMRCreator.java
new file mode 100644
index 0000000..12a31a5
--- /dev/null
+++ b/dcae-analytics-it/src/test/java/org/openecomp/dcae/apod/analytics/it/dmaap/DMaaPMRCreator.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.it.dmaap;
+
+import org.openecomp.dcae.apod.analytics.dmaap.service.publisher.DMaaPMRPublisher;
+import org.openecomp.dcae.apod.analytics.dmaap.service.subscriber.DMaaPMRSubscriber;
+
+import java.util.Map;
+
+/**
+ * Creates DMaaP MR Publisher and Subscriber Instances for Integration Testing purposes
+ * <p>
+ * @author Rajiv Singla . Creation Date: 2/1/2017.
+ */
+public interface DMaaPMRCreator {
+
+ /**
+ * Provides {@link DMaaPMRSubscriber} instance for Integration testing configured for the specific test
+ * environment
+ *
+ * @return DMaaP MR Subscriber instance for integration testing
+ */
+ DMaaPMRSubscriber getDMaaPMRSubscriber();
+
+
+ /**
+ * Provides {@link DMaaPMRSubscriber} instance for Integration testing configured with given topic name
+ *
+ * @param subscriberTopicName DMaaP MR Subscriber Topic Name
+ * @return DMaaP MR Subscriber instance which is subscriber to given subscriber topic
+ */
+ DMaaPMRSubscriber getDMaaPMRSubscriberWithTopicName(String subscriberTopicName);
+
+ /**
+ * Provides {@link DMaaPMRPublisher} instance for Integration testing configured for the specific test
+ * environment
+ *
+ * @return DMaaP MR Publisher instance for integration testing
+ */
+ DMaaPMRPublisher getDMaaPMRPublisher();
+
+
+ /**
+ * Provides {@link DMaaPMRPublisher} instance for Integration testing configured with given topic name
+ *
+ * @param publisherTopicName DMaaP MR publisher topic name
+ * @return DMaaP MR Publisher instance for integration testing
+ */
+ DMaaPMRPublisher getDMaaPMRPublisherWithTopicName(String publisherTopicName);
+
+ /**
+ * Provides a map of DMaaP subscriber config for Integration testing configured with given topic name
+ *
+ * @return Map of key-value pair of subscriber config
+ */
+ Map<String, String> getDMaaPMRSubscriberConfig();
+
+ /**
+ * Provides a map of DMaaP publisher config for Integration testing configured with given topic name
+ *
+ * @return Map of key-value pair of publisher config
+ */
+ Map<String, String> getDMaaPMRPublisherConfig();
+
+}
diff --git a/dcae-analytics-it/src/test/java/org/openecomp/dcae/apod/analytics/it/dmaap/DMaaPMRCreatorImpl.java b/dcae-analytics-it/src/test/java/org/openecomp/dcae/apod/analytics/it/dmaap/DMaaPMRCreatorImpl.java
new file mode 100644
index 0000000..fed16ee
--- /dev/null
+++ b/dcae-analytics-it/src/test/java/org/openecomp/dcae/apod/analytics/it/dmaap/DMaaPMRCreatorImpl.java
@@ -0,0 +1,225 @@
+/*
+ * ===============================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.it.dmaap;
+
+import com.google.inject.Inject;
+import com.google.inject.name.Named;
+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.domain.config.DMaaPMRSubscriberConfig;
+import org.openecomp.dcae.apod.analytics.dmaap.service.publisher.DMaaPMRPublisher;
+import org.openecomp.dcae.apod.analytics.dmaap.service.subscriber.DMaaPMRSubscriber;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author Rajiv Singla . Creation Date: 2/1/2017.
+ */
+public class DMaaPMRCreatorImpl implements DMaaPMRCreator {
+
+ private final String subscriberHostName;
+
+ private final Integer subscriberHostPort;
+
+ private final String subscriberTopicName;
+
+ private final String subscriberProtocol;
+
+ private final String subscriberUserName;
+
+ private final String subscriberUserPassword;
+
+ private final String subscriberContentType;
+
+ private final String subscriberConsumerId;
+
+ private final String subscriberConsumerGroup;
+
+ private final Integer subscriberTimeoutMS;
+
+ private final Integer subscriberMessageLimit;
+
+ private final Integer subscriberPollingInterval;
+
+ // publisher preferences
+ private final String publisherHostName;
+
+ private final Integer publisherHostPort;
+
+ private final String publisherTopicName;
+
+ private final String publisherProtocol;
+
+ private final String publisherUserName;
+
+ private final String publisherUserPassword;
+
+ private final String publisherContentType;
+
+ private final Integer publisherPollingInterval;
+
+ private final Integer publisherMaxBatchSize;
+
+ private final Integer publisherMaxRecoveryQueueSize;
+
+
+ private final DMaaPMRFactory dMaaPMRFactory;
+
+ @Inject
+ public DMaaPMRCreatorImpl(@Named("dmaap.mr.subscriber.hostname") String subscriberHostName,
+ @Named("dmaap.mr.subscriber.portNumber") Integer subscriberHostPort,
+ @Named("dmaap.mr.subscriber.topicName") String subscriberTopicName,
+ @Named("dmaap.mr.subscriber.protocol") String subscriberProtocol,
+ @Named("dmaap.mr.subscriber.username") String subscriberUserName,
+ @Named("dmaap.mr.subscriber.userPassword") String subscriberUserPassword,
+ @Named("dmaap.mr.subscriber.contentType") String subscriberContentType,
+ @Named("dmaap.mr.subscriber.consumerId") String subscriberConsumerId,
+ @Named("dmaap.mr.subscriber.consumerGroup") String subscriberConsumerGroup,
+ @Named("dmaap.mr.subscriber.timeoutMS") Integer subscriberTimeoutMS,
+ @Named("dmaap.mr.subscriber.messageLimit") Integer subscriberMessageLimit,
+ @Named("dmaap.mr.subscriber.pollingInterval") Integer subscriberPollingInterval,
+ @Named("dmaap.mr.publisher.hostname") String publisherHostName,
+ @Named("dmaap.mr.publisher.portNumber") Integer publisherHostPort,
+ @Named("dmaap.mr.publisher.topicName") String publisherTopicName,
+ @Named("dmaap.mr.publisher.protocol") String publisherProtocol,
+ @Named("dmaap.mr.publisher.username") String publisherUserName,
+ @Named("dmaap.mr.publisher.userPassword") String publisherUserPassword,
+ @Named("dmaap.mr.publisher.contentType") String publisherContentType,
+ @Named("dmaap.mr.publisher.pollingInterval") Integer publisherPollingInterval,
+ @Named("dmaap.mr.publisher.maxBatchSize") Integer publisherMaxBatchSize,
+ @Named("dmaap.mr.publisher.maxRecoveryQueueSize") Integer publisherMaxRecoveryQueueSize) {
+ this.subscriberHostName = subscriberHostName;
+ this.subscriberHostPort = subscriberHostPort;
+ this.subscriberTopicName = subscriberTopicName;
+ this.subscriberProtocol = subscriberProtocol;
+ this.subscriberUserName = subscriberUserName;
+ this.subscriberUserPassword = subscriberUserPassword;
+ this.subscriberContentType = subscriberContentType;
+ this.subscriberConsumerId = subscriberConsumerId;
+ this.subscriberConsumerGroup = subscriberConsumerGroup;
+ this.subscriberTimeoutMS = subscriberTimeoutMS;
+ this.subscriberMessageLimit = subscriberMessageLimit;
+ this.subscriberPollingInterval = subscriberPollingInterval;
+ this.publisherHostName = publisherHostName;
+ this.publisherHostPort = publisherHostPort;
+ this.publisherTopicName = publisherTopicName;
+ this.publisherProtocol = publisherProtocol;
+ this.publisherUserName = publisherUserName;
+ this.publisherUserPassword = publisherUserPassword;
+ this.publisherContentType = publisherContentType;
+ this.publisherPollingInterval = publisherPollingInterval;
+ this.publisherMaxBatchSize = publisherMaxBatchSize;
+ this.publisherMaxRecoveryQueueSize = publisherMaxRecoveryQueueSize;
+
+ this.dMaaPMRFactory = DMaaPMRFactory.create();
+ }
+
+
+ @Override
+ public DMaaPMRSubscriber getDMaaPMRSubscriber() {
+ final DMaaPMRSubscriberConfig subscriberConfig =
+ new DMaaPMRSubscriberConfig.Builder(subscriberHostName, subscriberTopicName)
+ .setPortNumber(subscriberHostPort)
+ .setProtocol(subscriberProtocol)
+ .setUserName(subscriberUserName)
+ .setUserPassword(subscriberUserPassword)
+ .setContentType(subscriberContentType)
+ .setMessageLimit(subscriberMessageLimit)
+ .setTimeoutMS(subscriberTimeoutMS)
+ .setConsumerId(subscriberConsumerId)
+ .setConsumerGroup(subscriberConsumerGroup)
+ .build();
+ return dMaaPMRFactory.createSubscriber(subscriberConfig);
+ }
+
+ @Override
+ public DMaaPMRPublisher getDMaaPMRPublisher() {
+ final DMaaPMRPublisherConfig publisherConfig =
+ new DMaaPMRPublisherConfig.Builder(publisherHostName, publisherTopicName)
+ .setPortNumber(publisherHostPort)
+ .setProtocol(publisherProtocol)
+ .setUserName(publisherUserName)
+ .setUserPassword(publisherUserPassword)
+ .setContentType(publisherContentType)
+ .setMaxBatchSize(publisherMaxBatchSize)
+ .setMaxRecoveryQueueSize(publisherMaxRecoveryQueueSize)
+ .build();
+ return dMaaPMRFactory.createPublisher(publisherConfig);
+ }
+
+ @Override
+ public DMaaPMRSubscriber getDMaaPMRSubscriberWithTopicName(String subscriberTopicName) {
+ final DMaaPMRSubscriberConfig subscriberConfig =
+ new DMaaPMRSubscriberConfig.Builder(subscriberHostName, subscriberTopicName)
+ .setPortNumber(subscriberHostPort)
+ .setProtocol(subscriberProtocol)
+ .setUserName(subscriberUserName)
+ .setUserPassword(subscriberUserPassword)
+ .setContentType(subscriberContentType)
+ .setMessageLimit(subscriberMessageLimit)
+ .setTimeoutMS(subscriberTimeoutMS)
+ .setConsumerId(subscriberConsumerId)
+ .setConsumerGroup(subscriberConsumerGroup)
+ .build();
+ return dMaaPMRFactory.createSubscriber(subscriberConfig);
+ }
+
+
+ @Override
+ public DMaaPMRPublisher getDMaaPMRPublisherWithTopicName(String publisherTopicName) {
+ final DMaaPMRPublisherConfig publisherConfig =
+ new DMaaPMRPublisherConfig.Builder(publisherHostName, publisherTopicName)
+ .setPortNumber(publisherHostPort)
+ .setProtocol(publisherProtocol)
+ .setUserName(publisherUserName)
+ .setUserPassword(publisherUserPassword)
+ .setContentType(publisherContentType)
+ .setMaxBatchSize(publisherMaxBatchSize)
+ .setMaxRecoveryQueueSize(publisherMaxRecoveryQueueSize)
+ .build();
+ return dMaaPMRFactory.createPublisher(publisherConfig);
+ }
+
+ @Override
+ public Map<String, String> getDMaaPMRSubscriberConfig() {
+ Map<String, String> sourceConfigurationMap = new HashMap<>();
+ sourceConfigurationMap.put("referenceName", "source-referenceName");
+ sourceConfigurationMap.put("hostName", subscriberHostName);
+ sourceConfigurationMap.put("portNumber", subscriberHostPort.toString());
+ sourceConfigurationMap.put("topicName", subscriberTopicName);
+ sourceConfigurationMap.put("pollingInterval", subscriberPollingInterval.toString());
+ sourceConfigurationMap.put("protocol", subscriberProtocol);
+ sourceConfigurationMap.put("userName", subscriberUserName);
+ sourceConfigurationMap.put("userPassword", subscriberUserPassword);
+ sourceConfigurationMap.put("contentType", subscriberContentType);
+ sourceConfigurationMap.put("consumerId", subscriberConsumerId);
+ sourceConfigurationMap.put("consumerGroup", subscriberConsumerGroup);
+ sourceConfigurationMap.put("timeoutMS", subscriberTimeoutMS.toString());
+ sourceConfigurationMap.put("messageLimit", subscriberMessageLimit.toString());
+ return sourceConfigurationMap;
+ }
+
+ @Override
+ public Map<String, String> getDMaaPMRPublisherConfig() {
+ return null;
+ }
+}
diff --git a/dcae-analytics-it/src/test/java/org/openecomp/dcae/apod/analytics/it/module/AnalyticsITInjectorSource.java b/dcae-analytics-it/src/test/java/org/openecomp/dcae/apod/analytics/it/module/AnalyticsITInjectorSource.java
new file mode 100644
index 0000000..ae0e8bc
--- /dev/null
+++ b/dcae-analytics-it/src/test/java/org/openecomp/dcae/apod/analytics/it/module/AnalyticsITInjectorSource.java
@@ -0,0 +1,41 @@
+/*
+ * ===============================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.it.module;
+
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+import com.google.inject.Stage;
+import cucumber.api.guice.CucumberModules;
+import cucumber.runtime.java.guice.InjectorSource;
+
+/**
+ * Provides Injector for Analytics Integration testing
+ *
+ * @author Rajiv Singla . Creation Date: 2/1/2017.
+ */
+public class AnalyticsITInjectorSource implements InjectorSource {
+
+ @Override
+ public Injector getInjector() {
+ return Guice.createInjector(Stage.PRODUCTION, CucumberModules.SCENARIO, new IntegrationTestModule());
+ }
+
+}
diff --git a/dcae-analytics-it/src/test/java/org/openecomp/dcae/apod/analytics/it/module/IntegrationTestModule.java b/dcae-analytics-it/src/test/java/org/openecomp/dcae/apod/analytics/it/module/IntegrationTestModule.java
new file mode 100644
index 0000000..c1f8a4e
--- /dev/null
+++ b/dcae-analytics-it/src/test/java/org/openecomp/dcae/apod/analytics/it/module/IntegrationTestModule.java
@@ -0,0 +1,126 @@
+/*
+ * ===============================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.it.module;
+
+import com.google.inject.Binder;
+import com.google.inject.Module;
+import com.google.inject.name.Names;
+import org.openecomp.dcae.apod.analytics.common.exception.DCAEAnalyticsRuntimeException;
+import org.openecomp.dcae.apod.analytics.it.dmaap.DMaaPMRCreator;
+import org.openecomp.dcae.apod.analytics.it.dmaap.DMaaPMRCreatorImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Map;
+import java.util.Properties;
+
+/**
+ * @author Rajiv Singla . Creation Date: 2/1/2017.
+ */
+public class IntegrationTestModule implements Module {
+
+ private static final Logger LOG = LoggerFactory.getLogger(IntegrationTestModule.class);
+
+ public static final String ANALYTICS_SYSTEM_VARIABLE_KEY_NAME = "analytics.it.env";
+ public static final String DEFAULT_ENVIRONMENT = "dev";
+ public static final String ENVIRONMENT_PROPERTIES_FILE_LOCATION = "env";
+
+ @Override
+ public void configure(Binder binder) {
+ final Properties envProperties = loadPropertiesFile();
+ Names.bindProperties(binder, envProperties);
+ binder.bind(DMaaPMRCreator.class).to(DMaaPMRCreatorImpl.class);
+ }
+
+
+ /**
+ * Load environment specific properties file
+ *
+ * @return environment properties
+ */
+ private Properties loadPropertiesFile() {
+ final String currentEnvironment = getCurrentEnvironment().toLowerCase();
+ final String envPropertiesFileName = currentEnvironment + ".properties";
+ final Properties envProperties = new Properties();
+ final String fileLocation = ENVIRONMENT_PROPERTIES_FILE_LOCATION + "/" + envPropertiesFileName;
+ LOG.info("===>>> EFFECTIVE ENV: {}, EFFECTIVE PROPERTIES FILE: {} <<<====", currentEnvironment, fileLocation);
+ try {
+ final InputStream propertiesFileInputStream =
+ IntegrationTestModule.class.getClassLoader().getResourceAsStream(fileLocation);
+ envProperties.load(propertiesFileInputStream);
+ } catch (FileNotFoundException e) {
+ final String errorMessage = String.format("Unable to find env properties file: %s.", fileLocation);
+ throw new DCAEAnalyticsRuntimeException(errorMessage, LOG, e);
+ } catch (IOException e) {
+ final String errorMessage = String.format("I/O Exception during loading env properties file: %s",
+ fileLocation);
+ throw new DCAEAnalyticsRuntimeException(errorMessage, LOG, e);
+ }
+
+ final Properties systemProperties = System.getProperties();
+ for (Object envProperty : envProperties.keySet()) {
+ final String systemPropertyValue = systemProperties.getProperty(envProperty.toString());
+ if (systemPropertyValue != null) {
+ LOG.info("Overriding System property name: {} with env property value: {}",
+ envProperty.toString(), systemPropertyValue);
+ envProperties.setProperty(envProperty.toString(), systemPropertyValue);
+ }
+ }
+
+ LOG.info("Printing Effective Environment Properties =============== >>>");
+ for (Map.Entry<Object, Object> envPropertyEntry : envProperties.entrySet()) {
+ LOG.info("{}={}", envPropertyEntry.getKey(), envPropertyEntry.getValue());
+ }
+
+ return envProperties;
+ }
+
+
+ private static String getCurrentEnvironment() {
+ // First look in environment variables
+ LOG.info("Looking for IT variable name: {} in Environment variables", ANALYTICS_SYSTEM_VARIABLE_KEY_NAME);
+ final String itEnvironmentVariable = System.getenv(ANALYTICS_SYSTEM_VARIABLE_KEY_NAME);
+ if (itEnvironmentVariable != null) {
+ LOG.info("Found value in Environment variables: {} for IT Environment variable", itEnvironmentVariable);
+ return itEnvironmentVariable;
+ } else {
+ LOG.info("Unable to find IT variable name: {} in Environment variable", ANALYTICS_SYSTEM_VARIABLE_KEY_NAME);
+ }
+
+ // Second look inside system properties
+ LOG.info("Looking for IT variable name: {} in System variables", ANALYTICS_SYSTEM_VARIABLE_KEY_NAME);
+
+ final String itSystemProperty = System.getProperty(ANALYTICS_SYSTEM_VARIABLE_KEY_NAME);
+ if (itSystemProperty != null) {
+ LOG.info("Found value for System variables: {} in System variable", itSystemProperty);
+ return itSystemProperty;
+ } else {
+ LOG.info("Unable to find IT variable name: {} in System variable", ANALYTICS_SYSTEM_VARIABLE_KEY_NAME);
+ }
+
+ // return default enviroment
+ LOG.warn("Unable to find IT environment variable. Choosing default environment: {}", DEFAULT_ENVIRONMENT);
+ return DEFAULT_ENVIRONMENT;
+ }
+}
diff --git a/dcae-analytics-it/src/test/java/org/openecomp/dcae/apod/analytics/it/plugins/BaseAnalyticsPluginsIT.java b/dcae-analytics-it/src/test/java/org/openecomp/dcae/apod/analytics/it/plugins/BaseAnalyticsPluginsIT.java
new file mode 100644
index 0000000..a052c63
--- /dev/null
+++ b/dcae-analytics-it/src/test/java/org/openecomp/dcae/apod/analytics/it/plugins/BaseAnalyticsPluginsIT.java
@@ -0,0 +1,51 @@
+/*
+ * ===============================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.it.plugins;
+
+import co.cask.cdap.etl.mock.test.HydratorTestBase;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.List;
+
+import static com.google.common.collect.ImmutableList.of;
+
+/**
+ * Base class for all the Hydrator test base , where the utility and common code for integration testing is written
+ * <p/>
+ * @author Manjesh Gowda. Creation Date: 2/3/2017.
+ */
+
+public abstract class BaseAnalyticsPluginsIT extends HydratorTestBase {
+ private static final Logger LOG = LoggerFactory.getLogger(BaseAnalyticsPluginsIT.class);
+
+ /**
+ * Provides two simple messages for testing of Plugin
+ * <p/>
+ *
+ * @return
+ */
+ protected static List<String> getTwoSampleMessage() {
+ String message1 = "{ \"message\" : \"Test Message 1 from DMaaP source Plugin\"}";
+ String message2 = "{ \"message\" : \"Test Message 2 from DMaaP source Plugin\"}";
+ return of(message1, message2);
+ }
+}
diff --git a/dcae-analytics-it/src/test/java/org/openecomp/dcae/apod/analytics/it/plugins/DMaaPMRSourcePluginIT.java b/dcae-analytics-it/src/test/java/org/openecomp/dcae/apod/analytics/it/plugins/DMaaPMRSourcePluginIT.java
new file mode 100644
index 0000000..abffdb7
--- /dev/null
+++ b/dcae-analytics-it/src/test/java/org/openecomp/dcae/apod/analytics/it/plugins/DMaaPMRSourcePluginIT.java
@@ -0,0 +1,204 @@
+/*
+ * ===============================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.it.plugins;
+
+import co.cask.cdap.api.data.format.StructuredRecord;
+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.datastreams.DataStreamsApp;
+import co.cask.cdap.datastreams.DataStreamsSparkLauncher;
+import co.cask.cdap.etl.api.streaming.StreamingSource;
+import co.cask.cdap.etl.mock.batch.MockSink;
+import co.cask.cdap.etl.proto.v2.DataStreamsConfig;
+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.SparkManager;
+import com.google.common.base.Joiner;
+import com.google.common.collect.ImmutableSet;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.DMaaPMRSourcePluginConfig;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.streaming.dmaap.DMaaPMRReceiver;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.streaming.dmaap.DMaaPMRSource;
+import org.openecomp.dcae.apod.analytics.it.dmaap.DMaaPMRCreator;
+import org.openecomp.dcae.apod.analytics.it.module.AnalyticsITInjectorSource;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+import java.util.concurrent.Callable;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Performs integration testing on DMaaP source plugin , where 2 sample messages are posted and verified
+ * <p/>
+ * @author Manjesh Gowda. Creation Date: 2/3/2017.
+ */
+public class DMaaPMRSourcePluginIT extends BaseAnalyticsPluginsIT {
+
+ private static final Logger LOG = LoggerFactory.getLogger(DMaaPMRSourcePluginIT.class);
+ protected static final ArtifactId DATASTREAMS_ARTIFACT_ID = NamespaceId.DEFAULT.artifact("data-streams", "3.2.0");
+ protected static final ArtifactSummary DATASTREAMS_ARTIFACT = new ArtifactSummary("data-streams", "3.2.0");
+
+ /**
+ * Streaming artifacts are added to the hydrator pipeline. Important. Make sure you explicitly add all the custom
+ * class that you have written in the plugin artifact, if not you will get incompatible type error
+ *
+ * @throws Exception
+ */
+ @BeforeClass
+ public static void setupTest() throws Exception {
+ setupStreamingArtifacts(DATASTREAMS_ARTIFACT_ID, DataStreamsApp.class);
+
+// Set<ArtifactRange> parents = ImmutableSet.of(
+// new ArtifactRange(NamespaceId.DEFAULT.toId(), DATASTREAMS_ARTIFACT_ID.getArtifact(),
+// new ArtifactVersion(DATASTREAMS_ARTIFACT_ID.getVersion()), true,
+// new ArtifactVersion(DATASTREAMS_ARTIFACT_ID.getVersion()), true)
+// );
+
+ ArtifactId dcaeAnalyticsCdapPluginsArtifact = NamespaceId.DEFAULT.artifact(
+ "dcae-analytics-cdap-plugins", "2.0-SNAPSHOT");
+ addPluginArtifact(dcaeAnalyticsCdapPluginsArtifact, DATASTREAMS_ARTIFACT_ID, ImmutableSet.of(getPluginClass()),
+ DMaaPMRSource.class, DMaaPMRSourcePluginConfig.class, DMaaPMRReceiver.class);
+
+// addPluginArtifact(NamespaceId.DEFAULT.artifact("spark-plugins", "1.0.0"), parents,
+// DMaaPMRSource.class, DMaaPMRReceiver.class, DMaaPMRSourcePluginConfig.class);
+ }
+
+ private static PluginClass getPluginClass() {
+ HashMap<String, PluginPropertyField> properties = new HashMap<>();
+ properties.put("referenceName", new PluginPropertyField("referenceName", "", "string", false, false));
+ properties.put("hostName", new PluginPropertyField("hostName", "", "string", false, false));
+ properties.put("topicName", new PluginPropertyField("topicName", "", "string", false, false));
+ properties.put("protocol", new PluginPropertyField("protocol", "", "string", false, false));
+ properties.put("userName", new PluginPropertyField("userName", "", "string", false, false));
+ properties.put("userPassword", new PluginPropertyField("userPassword", "", "string", false, false));
+ properties.put("contentType", new PluginPropertyField("contentType", "", "string", false, false));
+ properties.put("consumerId", new PluginPropertyField("consumerId", "", "string", false, false));
+ properties.put("consumerGroup", new PluginPropertyField("consumerGroup", "", "string", false, false));
+
+ properties.put("portNumber", new PluginPropertyField("portNumber", "", "long", false, false));
+ properties.put("timeoutMS", new PluginPropertyField("timeoutMS", "", "long", false, false));
+ properties.put("messageLimit", new PluginPropertyField("messageLimit", "", "long", false, false));
+ properties.put("pollingInterval", new PluginPropertyField("pollingInterval", "", "long", false, false));
+
+ return new PluginClass("streamingsource", "DMaaPMRSource", "", DMaaPMRSource.class.getName(),
+ "pluginConfig", properties);
+ }
+
+ @AfterClass
+ public static void cleanup() {
+ }
+
+ /**
+ * Build a pipeline with a mock-sink. After that publish coupe of messages to the subscriber topic, and verify in
+ * the mock sink
+ *
+ * @throws Exception
+ */
+ @Test
+ public void testDMaaPMRSourcePlugin() throws Exception {
+ AnalyticsITInjectorSource analyticsITInjectorSource = new AnalyticsITInjectorSource();
+
+ final DMaaPMRCreator dMaaPMRCreator = analyticsITInjectorSource.getInjector().getInstance(DMaaPMRCreator.class);
+ Map<String, String> dmaapSourceProperties = dMaaPMRCreator.getDMaaPMRSubscriberConfig();
+ dmaapSourceProperties.put("consumerId", UUID.randomUUID().toString().replace("-", ""));
+ dmaapSourceProperties.put("consumerGroup", UUID.randomUUID().toString().replace("-", ""));
+ final String subscriberTopicName = dmaapSourceProperties.get("topicName");
+
+ DataStreamsConfig dmaaPMRSourcePipeline = DataStreamsConfig.builder()
+ .addStage(new ETLStage("source", new ETLPlugin(
+ "DMaaPMRSource", StreamingSource.PLUGIN_TYPE, dmaapSourceProperties, null)))
+ .addStage(new ETLStage("sink", MockSink.getPlugin("dmaapOutput")))
+ .addConnection("source", "sink")
+ .setBatchInterval("20s")
+ .build();
+
+ AppRequest<DataStreamsConfig> appRequest = new AppRequest<>(DATASTREAMS_ARTIFACT, dmaaPMRSourcePipeline);
+ ApplicationId appId = NamespaceId.DEFAULT.app("DMaaPMRSourceIntegrationTestingApp");
+ ApplicationManager appManager = deployApplication(appId.toId(), appRequest);
+
+ SparkManager sparkManager = appManager.getSparkManager(DataStreamsSparkLauncher.NAME);
+ sparkManager.start();
+ sparkManager.waitForStatus(true, 1, 100);
+
+ final DataSetManager<Table> outputManager = getDataset("dmaapOutput");
+ final List<String> dmaapContents = new LinkedList<>();
+
+ // Publish message to source
+
+ new Thread() {
+ @Override
+ public void run() {
+ try {
+ TimeUnit.MILLISECONDS.sleep(30000);
+ dMaaPMRCreator.getDMaaPMRPublisherWithTopicName(subscriberTopicName).publish(getTwoSampleMessage());
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ }
+ }.start();
+
+ try {
+ Tasks.waitFor(true, new Callable<Boolean>() {
+ boolean initialized = false;
+
+ @Override
+ public Boolean call() throws Exception {
+ try {
+ outputManager.flush();
+ for (StructuredRecord record : MockSink.readOutput(outputManager)) {
+ dmaapContents.add((String) record.get("message"));
+ }
+ return dmaapContents.size() >= 2;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+ },
+ 90, TimeUnit.SECONDS);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ sparkManager.stop();
+
+ Assert.assertTrue(dmaapContents.size() == 2);
+ String allMessages = Joiner.on(",").join(dmaapContents);
+ Assert.assertTrue(allMessages.contains("Message 1"));
+ Assert.assertTrue(allMessages.contains("Message 2"));
+ }
+}
diff --git a/dcae-analytics-it/src/test/java/org/openecomp/dcae/apod/analytics/it/util/StepUtils.java b/dcae-analytics-it/src/test/java/org/openecomp/dcae/apod/analytics/it/util/StepUtils.java
new file mode 100644
index 0000000..45324a7
--- /dev/null
+++ b/dcae-analytics-it/src/test/java/org/openecomp/dcae/apod/analytics/it/util/StepUtils.java
@@ -0,0 +1,43 @@
+/*
+ * ===============================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.it.util;
+
+/**
+ * @author Rajiv Singla . Creation Date: 2/2/2017.
+ */
+public abstract class StepUtils {
+
+
+ /**
+ * Determines if step should use default publisher topic as configured in environment properties file
+ *
+ * @param topicName step passed topic name
+ * @return true if default publisher topic
+ */
+ public static boolean isDefaultPublisherTopic(final String topicName) {
+ if (topicName.equalsIgnoreCase("default")) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+}
diff --git a/dcae-analytics-it/src/test/resources/cucumber.properties b/dcae-analytics-it/src/test/resources/cucumber.properties
new file mode 100644
index 0000000..0773e97
--- /dev/null
+++ b/dcae-analytics-it/src/test/resources/cucumber.properties
@@ -0,0 +1,21 @@
+#
+# ===============================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===========================================
+#
+
+guice.injector-source=org.openecomp.dcae.apod.analytics.it.module.AnalyticsITInjectorSource
diff --git a/dcae-analytics-it/src/test/resources/cucumber/features/dmaap/message_router.feature b/dcae-analytics-it/src/test/resources/cucumber/features/dmaap/message_router.feature
new file mode 100644
index 0000000..708c376
--- /dev/null
+++ b/dcae-analytics-it/src/test/resources/cucumber/features/dmaap/message_router.feature
@@ -0,0 +1,10 @@
+@dmaapMR
+Feature: Verify DMaaP MR Functioning
+
+ Scenario: DMaaP MR Publisher can publish message and DMaaP MR Subscriber can fetch same message
+ Given DMaaP MR Service is up
+ When I publish json message to publisher topic name "default" in file "data/json_message.json"
+ And wait for "10" seconds
+ And subscriber fetch message from publisher topic name "default"
+ And compare fetched json message with published message
+ Then fetched message must be same as published message
diff --git a/dcae-analytics-it/src/test/resources/data/json_message.json b/dcae-analytics-it/src/test/resources/data/json_message.json
new file mode 100644
index 0000000..53d029b
--- /dev/null
+++ b/dcae-analytics-it/src/test/resources/data/json_message.json
@@ -0,0 +1,3 @@
+{
+ "message": "cucumber automated testing message"
+}
diff --git a/dcae-analytics-it/src/test/resources/env/dev.properties b/dcae-analytics-it/src/test/resources/env/dev.properties
new file mode 100644
index 0000000..d889622
--- /dev/null
+++ b/dcae-analytics-it/src/test/resources/env/dev.properties
@@ -0,0 +1,46 @@
+#
+# ===============================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===========================================
+#
+
+#DMaaP MR Subscriber properties
+dmaap.mr.subscriber.hostname=mrlocal-mtnjftle01.homer.com
+dmaap.mr.subscriber.portNumber=3905
+dmaap.mr.subscriber.topicName=com.dcae.dmaap.dev.DcaeTestVESSub
+dmaap.mr.subscriber.protocol=https
+dmaap.mr.subscriber.username=USER
+dmaap.mr.subscriber.userPassword=PASSWORD
+dmaap.mr.subscriber.contentType=application/json
+dmaap.mr.subscriber.timeoutMS=-1
+dmaap.mr.subscriber.messageLimit=-1
+dmaap.mr.subscriber.pollingInterval=10000
+dmaap.mr.subscriber.consumerId=C1
+dmaap.mr.subscriber.consumerGroup=DCAEAnalytics-G1
+
+
+#DMaaP MR Publisher properties
+dmaap.mr.publisher.hostname=mrlocal-mtnjftle01.homer.com
+dmaap.mr.publisher.portNumber=3905
+dmaap.mr.publisher.topicName=com.dcae.dmaap.dev.DcaeTestVESPub
+dmaap.mr.publisher.protocol=https
+dmaap.mr.publisher.username=USER
+dmaap.mr.publisher.userPassword=PASSWORD
+dmaap.mr.publisher.contentType=application/json
+dmaap.mr.publisher.pollingInterval=10000
+dmaap.mr.publisher.maxBatchSize=1
+dmaap.mr.publisher.maxRecoveryQueueSize=100000
diff --git a/dcae-analytics-it/src/test/resources/logback-test.xml b/dcae-analytics-it/src/test/resources/logback-test.xml
new file mode 100644
index 0000000..255532f
--- /dev/null
+++ b/dcae-analytics-it/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="WARN"/>
+ <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-model/pom.xml b/dcae-analytics-model/pom.xml
new file mode 100644
index 0000000..03750db
--- /dev/null
+++ b/dcae-analytics-model/pom.xml
@@ -0,0 +1,129 @@
+<?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-model</artifactId>
+ <packaging>jar</packaging>
+
+ <!-- THIS MODULE CONTAINS MODELS COMMON FOR ALL DCAE ANALYTICS MODULES.
+ NOTE: THIS MODULE MUST NOT DEPEND ON ANY OTHER ANALYTICS MODULE IN COMPILE SCOPE. -->
+ <name>DCAE Analytics Model</name>
+ <description>Contains models (e.g. Common Event Format) which are common to DCAE Analytics</description>
+
+
+ <properties>
+ <main.basedir>${project.parent.basedir}</main.basedir>
+ <sonar.sources>target/generated-sources/delombok</sonar.sources>
+ </properties>
+
+ <dependencies>
+
+ <!-- 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>
+
+ <!-- UTILITIES -->
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.google.code.findbugs</groupId>
+ <artifactId>jsr305</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.google.code.findbugs</groupId>
+ <artifactId>annotations</artifactId>
+ </dependency>
+
+ <!-- CODE GENERATION -->
+ <!-- NOTE: Lombok must remain in provided scope. Use delomok to generate code -->
+ <dependency>
+ <groupId>org.projectlombok</groupId>
+ <artifactId>lombok</artifactId>
+ </dependency>
+
+ <!-- JACKSON JSON -->
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-annotations</artifactId>
+ </dependency>
+
+
+ <!-- JSON PATH -->
+ <dependency>
+ <groupId>com.jayway.jsonpath</groupId>
+ <artifactId>json-path</artifactId>
+ </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>
+
+ </dependencies>
+
+ <build>
+ <sourceDirectory>${project.build.directory}/generated-sources/delombok</sourceDirectory>
+ <plugins>
+ <plugin>
+ <groupId>org.projectlombok</groupId>
+ <artifactId>lombok-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+
+
+</project>
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/BaseDynamicPropertiesProvider.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/BaseDynamicPropertiesProvider.java
new file mode 100644
index 0000000..4190587
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/BaseDynamicPropertiesProvider.java
@@ -0,0 +1,69 @@
+/*
+ * ===============================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.model.domain;
+
+import lombok.Data;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+/**
+ * <p>
+ * Base Dynamic Provider provide functionality so that all the
+ * additional dynamic Properties can be accumalated in a map.
+ * </p>
+ *
+ * @author Rajiv Singla . Creation Date: 11/5/2016.
+ */
+@Data
+public abstract class BaseDynamicPropertiesProvider implements DynamicPropertiesProvider {
+
+ /**
+ * All non-required properties should be captured in additional properties
+ *
+ * @param dynamicProperties Dynamic properties
+ * @return dynamic properties
+ */
+ private Map<String, Object> dynamicProperties = new LinkedHashMap<>();
+
+
+ /**
+ * Add a dynamic property to Common Event Format Entity
+ *
+ * @param propertyName property name
+ * @param propertyValue property value
+ */
+ @Override
+ public void addDynamicProperties(String propertyName, Object propertyValue) {
+ dynamicProperties.put(propertyName, propertyValue);
+ }
+
+ /**
+ * Determines if dynamic properties are present for the CEF Entity
+ *
+ * @return return true if Dynamic Properties are present
+ */
+ public boolean isDynamicPropertiesPresent() {
+ return dynamicProperties.size() == 0;
+ }
+
+
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/DCAEAnalyticsModel.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/DCAEAnalyticsModel.java
new file mode 100644
index 0000000..5bb017e
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/DCAEAnalyticsModel.java
@@ -0,0 +1,32 @@
+/*
+ * ===============================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.model.domain;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * Marker Interface for all DCAE Analytics Model implementations
+ * </p>
+ * @author Rajiv Singla . Creation Date: 11/5/2016.
+ */
+public interface DCAEAnalyticsModel extends Serializable {
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/DynamicPropertiesProvider.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/DynamicPropertiesProvider.java
new file mode 100644
index 0000000..28b607a
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/DynamicPropertiesProvider.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.model.domain;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * Problem: Many Entities have dynamic properties as well as known properties.
+ * Known properites can be binded explicitly with all dynamic properties need
+ * to be captured also ensuring that there must not be any loss in information
+ * during deserialization / serialization process.
+ * </p>
+ * <p>
+ * This contract allows the deserialization mechanism to catch those dynamic properties
+ * in a Map so that deserialization mechanism will not loose any information and
+ * can be serialized back with no loss in dynamic properties information
+ * </p>
+ * @author Rajiv Singla . Creation Date: 10/18/2016.
+ */
+public interface DynamicPropertiesProvider extends DCAEAnalyticsModel {
+
+
+ /**
+ * Adds dynamic properties in a Map object
+ *
+ * @param propertyName property name
+ * @param propertyValue property value
+ */
+ void addDynamicProperties(String propertyName, Object propertyValue);
+
+ /**
+ * Provides dynamic properties map
+ *
+ * @return dynamic properties map object
+ */
+ Map<String, Object> getDynamicProperties();
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/AlertAction.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/AlertAction.java
new file mode 100644
index 0000000..654820b
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/AlertAction.java
@@ -0,0 +1,32 @@
+/*
+ * ===============================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.model.domain.cef;
+
+/**
+ * Common Event Format Alert Action
+ *
+ * @author Rajiv Singla . Creation Date: 11/3/2016.
+ */
+public enum AlertAction implements CEFModel {
+
+ CLEAR, CONT, SET;
+
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/AlertType.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/AlertType.java
new file mode 100644
index 0000000..a20c75c
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/AlertType.java
@@ -0,0 +1,45 @@
+/*
+ * ===============================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.model.domain.cef;
+
+/**
+ *
+ * @author Rajiv Singla . Creation Date: 11/3/2016.
+ */
+public enum AlertType implements CEFModel {
+
+ CARD_ANOMALY("CARD-ANOMALY"),
+ ELEMENT_ANOMALY("ELEMENT-ANOMALY"),
+ INTERFACE_ANOMALY("INTERFACE-ANOMALY"),
+ SERVICE_ANOMALY("SERVICE-ANOMALY"),
+ UNKNOWN(null);
+
+ private String name;
+
+ AlertType(String name) {
+ this.name = name;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/BaseCEFModel.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/BaseCEFModel.java
new file mode 100644
index 0000000..bdba70f
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/BaseCEFModel.java
@@ -0,0 +1,41 @@
+/*
+ * ===============================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.model.domain.cef;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.openecomp.dcae.apod.analytics.model.domain.BaseDynamicPropertiesProvider;
+
+/**
+ * <p>
+ * Base CEF Model should be extended by all CEF Model Entities.
+ * By extending CEF Model all the additional dynamic Properties
+ * can be accumalated in a map.
+ * </p>
+ *
+ * @author Rajiv Singla . Creation Date: 10/18/2016.
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public abstract class BaseCEFModel extends BaseDynamicPropertiesProvider implements CEFModel {
+
+
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/CEFModel.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/CEFModel.java
new file mode 100644
index 0000000..a98b634
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/CEFModel.java
@@ -0,0 +1,34 @@
+/*
+ * ===============================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.model.domain.cef;
+
+import org.openecomp.dcae.apod.analytics.model.domain.DCAEAnalyticsModel;
+
+/**
+ * <p>
+ * Marker interface for all DCAE Analytics Common Event Format Model implementations
+ * </p>
+ * @author Rajiv Singla . Creation Date: 10/17/2016.
+ */
+public interface CEFModel extends DCAEAnalyticsModel {
+
+
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/CommonEventHeader.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/CommonEventHeader.java
new file mode 100644
index 0000000..7cc45d7
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/CommonEventHeader.java
@@ -0,0 +1,117 @@
+/*
+ * ===============================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.model.domain.cef;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * Fields common to all Events
+ * <p>
+ * @author Rajiv Singla . Creation Date: 10/17/2016.
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class CommonEventHeader extends BaseCEFModel {
+
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * The eventing domain associated with this event
+ *
+ * @param domain New value for domain
+ * @return The eventing domain associated with this event
+ */
+ private String domain;
+
+ /**
+ * Event key that is unique to the event source
+ *
+ * @param eventId New value for event key
+ * @return Event key that is unique to the event source
+ */
+ private String eventId;
+
+ /**
+ * Function of the source e.g. eNodeB, MME, PCRF
+ *
+ * @param functionalRole New value for functional Role
+ * @return Function of the source e.g. eNodeB, MME, PCRF
+ */
+ private String functionalRole;
+
+
+ /**
+ * The latest unix time aka epoch time associated with the event from any component--as microseconds elapsed since
+ * 1 Jan 1970 not including leap seconds
+ *
+ * @param lastEpochMicrosec New value for last Epoc Microsec
+ * @return The latest unix time associated with the event from any component
+ */
+ private Long lastEpochMicrosec;
+
+
+ /**
+ * Processing Priority
+ *
+ * @param priority New value for processing Priority
+ * @return Processing Priority
+ */
+ private Priority priority;
+
+
+ /**
+ * Name of the entity reporting the event, for example, an OAM VM
+ *
+ * @param reportingEntityName New value for reporting Entity Name
+ * @return Name of the entity reporting the event, for example, an OAM VM
+ */
+ private String reportingEntityName;
+
+
+ /**
+ * Ordering of events communicated by an event source instance or 0 if not needed
+ *
+ * @param sequence New value for Sequence
+ * @return Ordering of events communicated by an event source instance or 0 if not needed
+ */
+ private Integer sequence;
+
+
+ /**
+ * Name of the entity experiencing the event issue
+ *
+ * @param sourceName New value for source name
+ * @return Name of the entity experiencing the event issue
+ */
+ private String sourceName;
+
+
+ /**
+ * the earliest unix time aka epoch time associated with the event from any component--as microseconds elapsed
+ * since 1 Jan 1970 not including leap seconds
+ *
+ * @param startEpochMicrosec New value for start Epoc Microsec
+ * @return The earliest unix time associated with the event from any component
+ */
+ private Long startEpochMicrosec;
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/Criticality.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/Criticality.java
new file mode 100644
index 0000000..48a9411
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/Criticality.java
@@ -0,0 +1,31 @@
+/*
+ * ===============================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.model.domain.cef;
+
+/**
+ * Performance Criticality
+ *
+ * @author Rajiv Singla . Creation Date: 11/3/2016.
+ */
+public enum Criticality implements CEFModel {
+
+ CRIT, MAJ, UNKNOWN;
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/Event.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/Event.java
new file mode 100644
index 0000000..5fe59a4
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/Event.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.model.domain.cef;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * Generic Event Format
+ * <p>
+ * @author Rajiv Singla . Creation Date: 10/17/2016.
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class Event extends BaseCEFModel {
+
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Fields common to all Events
+ *
+ * @param commonEventHeader New value for common Event Header
+ * @return Fields common to all Events
+ */
+ private CommonEventHeader commonEventHeader;
+
+ /**
+ * MeasurementsForVfScaling fields
+ *
+ * @param measurementsForVfScalingFields New value for MeasurementsForVfScaling
+ * @return MeasurementsForVfScaling fields
+ */
+ private MeasurementsForVfScalingFields measurementsForVfScalingFields;
+
+ /**
+ * Threshold crossing Fields
+ *
+ * @param thresholdCrossingAlertFields New value for Threshold crossing Fields
+ * @return Threshold crossing Fields
+ */
+ private ThresholdCrossingAlertFields thresholdCrossingAlertFields;
+
+
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/EventListener.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/EventListener.java
new file mode 100644
index 0000000..df97ebe
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/EventListener.java
@@ -0,0 +1,46 @@
+/*
+ * ===============================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.model.domain.cef;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * Common Event Format - Base Event Listener
+ * <p>
+ * @author Rajiv Singla . Creation Date: 10/17/2016.
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class EventListener extends BaseCEFModel {
+
+
+ private static final long serialVersionUID = 1L;
+ /**
+ * Common Event Format - Event
+ *
+ * @param event New value for Event
+ * @return Common Event Format Event
+ */
+ private Event event;
+
+
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/EventSeverity.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/EventSeverity.java
new file mode 100644
index 0000000..1021cfb
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/EventSeverity.java
@@ -0,0 +1,36 @@
+/*
+ * ===============================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.model.domain.cef;
+
+/**
+ * CEF Event severity or priority
+ *
+ * @author Rajiv Singla . Creation Date: 11/3/2016.
+ */
+public enum EventSeverity implements CEFModel {
+
+ //NOTE: enum order must not be changed. Events severity is ordered from high to low
+ CRITICAL,
+ MAJOR,
+ MINOR,
+ WARNING,
+ NORMAL;
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/MeasurementsForVfScalingFields.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/MeasurementsForVfScalingFields.java
new file mode 100644
index 0000000..a6bf113
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/MeasurementsForVfScalingFields.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.model.domain.cef;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.List;
+
+/**
+ * Common Event Format - MeasurementsForVfScaling fields
+ * <p>
+ * @author Rajiv Singla . Creation Date: 10/17/2016.
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class MeasurementsForVfScalingFields extends BaseCEFModel {
+
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Interval over which measurements are being reported in seconds
+ *
+ * @param measurementInterval New value for measurement Interval
+ * @return Interval over which measurements are being reported in seconds
+ */
+ private Long measurementInterval;
+
+ /**
+ * Virtual Network Card Usage Array
+ *
+ * @param vNicUsageArray New value for Virtual Network Card Usage Array
+ * @return Virtual Network Card Usage Array
+ */
+ private List<VNicUsageArray> vNicUsageArray;
+
+
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/PerformanceCounter.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/PerformanceCounter.java
new file mode 100644
index 0000000..e84c852
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/PerformanceCounter.java
@@ -0,0 +1,65 @@
+/*
+ * ===============================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.model.domain.cef;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * Common Event Format - Performance PerformanceCounter
+ *
+ * @author Rajiv Singla . Creation Date: 11/3/2016.
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class PerformanceCounter extends BaseCEFModel {
+
+ private static final long serialVersionUID = 1L;
+ /**
+ * Performance Counter Criticality
+ *
+ * @param criticality New value for Criticality
+ * @return Performance Counter Criticality
+ */
+ private Criticality criticality;
+ /**
+ * Performance Counter Name
+ *
+ * @param name New value for Performance counter name
+ * @return Performance Counter Name
+ */
+ private String name;
+ /**
+ * Performance Counter Threshold Crossed
+ *
+ * @param thresholdCrossed New value for Performance Counter Threshold Crossed
+ * @return Performance Counter Threshold Crossed
+ */
+ private String thresholdCrossed;
+ /**
+ * Performance Counter Value
+ *
+ * @param value New Performance Counter Value
+ * @return Performance Counter Value
+ */
+ private String value;
+
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/Priority.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/Priority.java
new file mode 100644
index 0000000..3cfce75
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/Priority.java
@@ -0,0 +1,32 @@
+/*
+ * ===============================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.model.domain.cef;
+
+/**
+ * Common Event Format - Event processing priority
+ * <p>
+ * @author Rajiv Singla . Creation Date: 10/17/2016.
+ */
+public enum Priority implements CEFModel {
+
+ High, Medium, Normal, Low;
+
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/ThresholdCrossingAlertFields.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/ThresholdCrossingAlertFields.java
new file mode 100644
index 0000000..340b788
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/ThresholdCrossingAlertFields.java
@@ -0,0 +1,161 @@
+/*
+ * ===============================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.model.domain.cef;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.List;
+
+/**
+ * Common Event Format - Fields Specific to threshold crossing alert events
+ *
+ * @author Rajiv Singla . Creation Date: 11/3/2016.
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class ThresholdCrossingAlertFields extends BaseCEFModel {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Additional Performance counters
+ *
+ * @param additionalParameters New value for Additional Performance counters
+ * @return Additional Performance counters
+ */
+ private List<PerformanceCounter> additionalParameters;
+
+ /**
+ * Event Action
+ *
+ * @param alertAction New Event Action
+ * @return Event Action
+ */
+ private AlertAction alertAction;
+
+ /**
+ * Unique short alert description such as IF-SHUB-ERRDROP
+ *
+ * @param alertDescription New value for Unique short alert description
+ * @return Unique short alert description
+ */
+ private String alertDescription;
+
+ /**
+ * Alert type
+ *
+ * @param alertType New value for Alert Type
+ * @return Alert Type
+ */
+ private AlertType alertType;
+
+ /**
+ * Calculated API value (if applicable)
+ *
+ * @param alertValue New Calculated API value
+ * @return Calculated API value (if applicable)
+ */
+ private String alertValue;
+
+ /**
+ * List of eventIds associated with the event being reported
+ *
+ * @param associatedAlertIdList New value for eventIds associated with the event
+ * @return List of eventIds associated with the event being reported
+ */
+ private List<String> associatedAlertIdList;
+
+ /**
+ * Time when the performance collector picked up the data; with RFC 2822 compliant format:
+ * ‘Sat, 13 Mar 2010 11:29:05 -0800’
+ *
+ * @param collectionTimestamp Set new value for time when the performance collector picked up the data
+ * @return Time when the performance collector picked up the data
+ */
+ private String collectionTimestamp;
+
+ /**
+ * Specific performance collector instance used
+ *
+ * @param dataCollector New value for specific performance collector instance used
+ * @return Specific performance collector instance used
+ */
+ private String dataCollector;
+
+ /**
+ * Type of network element - internal field
+ *
+ * @param elementType New value for type of network element - internal field
+ * @return Type of network element - internal field
+ */
+ private String elementType;
+
+ /**
+ * Event severity or priority
+ *
+ * @param eventSeverity New value for event severity or priority
+ * @return Event severity or priority
+ */
+ private EventSeverity eventSeverity;
+
+ /**
+ * Time closest to when the measurement was made; with RFC 2822 compliant format: ‘Sat, 13 Mar 2010 11:29:05 -0800’
+ *
+ * @param eventStartTimestamp New value for time closest to when the measurement was made
+ * @return Time closest to when the measurement was made
+ */
+ private String eventStartTimestamp;
+
+ /**
+ * Physical or logical port or card (if applicable)
+ *
+ * @param interfaceName New value for Physical or logical port or card (if applicable)
+ * @return Physical or logical port or card (if applicable)
+ */
+ private String interfaceName;
+
+ /**
+ * Network name - internal field
+ *
+ * @param networkService New value for network name - internal field
+ * @return Network name - internal field
+ */
+ private String networkService;
+
+ /**
+ * Possible Root Cause (reserved for future use)
+ *
+ * @param possibleRootCause New value for possible root cause (reserved for future)
+ * @return Possible Root Cause (reserved for future use)
+ */
+ private String possibleRootCause;
+
+ /**
+ * Version of the thresholdCrossingAlertFields block
+ *
+ * @param thresholdCrossingFieldsVersion New value for version of the thresholdCrossingAlertFields block
+ * @return Version of the thresholdCrossingAlertFields block
+ */
+ private Integer thresholdCrossingFieldsVersion;
+
+
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/VNicUsageArray.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/VNicUsageArray.java
new file mode 100644
index 0000000..e364ca0
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/cef/VNicUsageArray.java
@@ -0,0 +1,79 @@
+/*
+ * ===============================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.model.domain.cef;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * Usage of an array of virtual network interface cards
+ * <p>
+ * @author Rajiv Singla . Creation Date: 10/17/2016.
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class VNicUsageArray extends BaseCEFModel {
+
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Virtual Network Card - Bytes In
+ *
+ * @param bytesIn New value for Virtual Network Card - Bytes In
+ * @return Virtual Network Card - Bytes In
+ */
+ private Long bytesIn;
+
+ /**
+ * Virtual Network Card - Bytes Out
+ *
+ * @param bytesOut New value for Virtual Network Card - Bytes Out
+ * @return Virtual Network Card - Bytes Out
+ */
+ private Long bytesOut;
+
+ /**
+ * Virtual Network Card - Packets In
+ *
+ * @param packetsIn New value for Virtual Network Card - Packets In
+ * @return Virtual Network Card - Packets In
+ */
+ private Long packetsIn;
+
+ /**
+ * Virtual Network Card - Packets Out
+ *
+ * @param packetsOut New value for Virtual Network Card - Packets Out
+ * @return Virtual Network Card - Packets Out
+ */
+ private Long packetsOut;
+
+ /**
+ * Virtual Network Card Identifier
+ *
+ * @param vNicIdentifier New value for Virtual Network Card Identifier
+ * @return Virtual Network Card Identifier
+ */
+ private String vNicIdentifier;
+
+
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/policy/PolicyModel.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/policy/PolicyModel.java
new file mode 100644
index 0000000..b20f179
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/policy/PolicyModel.java
@@ -0,0 +1,33 @@
+/*
+ * ===============================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.model.domain.policy;
+
+import org.openecomp.dcae.apod.analytics.model.domain.DCAEAnalyticsModel;
+
+/**
+ * <p>
+ * Marker Interface all DCAE Analytics Policy Model implementations
+ * </p>
+ *
+ * @author Rajiv Singla . Creation Date: 11/5/2016.
+ */
+public interface PolicyModel extends DCAEAnalyticsModel {
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/policy/tca/BaseTCAPolicyModel.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/policy/tca/BaseTCAPolicyModel.java
new file mode 100644
index 0000000..117b75e
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/policy/tca/BaseTCAPolicyModel.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.model.domain.policy.tca;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.openecomp.dcae.apod.analytics.model.domain.BaseDynamicPropertiesProvider;
+
+/**
+ * <p>
+ * A Base TCA Policy Model which accumulates all dynamic properties in a dynamicProperties Map
+ * </p>
+ *
+ * @author Rajiv Singla . Creation Date: 11/5/2016.
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public abstract class BaseTCAPolicyModel extends BaseDynamicPropertiesProvider implements TCAPolicyModel {
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/policy/tca/Direction.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/policy/tca/Direction.java
new file mode 100644
index 0000000..dc85d97
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/policy/tca/Direction.java
@@ -0,0 +1,68 @@
+/*
+ * ===============================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.model.domain.policy.tca;
+
+import javax.annotation.Nonnull;
+
+/**
+ * <p>
+ * Enum for Threshold Direction
+ * </p>
+ * @author Rajiv Singla . Creation Date: 11/5/2016.
+ */
+public enum Direction implements TCAPolicyModel {
+
+ LESS {
+ @Override
+ public Boolean operate(@Nonnull Long value1, @Nonnull Long value2) {
+ return value1 < value2;
+ }
+ },
+ LESS_OR_EQUAL {
+ @Override
+ public Boolean operate(@Nonnull Long value1, @Nonnull Long value2) {
+ return value1 <= value2;
+ }
+ },
+ GREATER {
+ @Override
+ public Boolean operate(@Nonnull Long value1, @Nonnull Long value2) {
+ return value1 > value2;
+ }
+ },
+ GREATER_OR_EQUAL {
+ @Override
+ public Boolean operate(@Nonnull Long value1, @Nonnull Long value2) {
+ return value1 >= value2;
+ }
+ };
+
+ /**
+ * Configure logic for a particular Direction
+ *
+ * @param value1 left operand for Direction operation
+ * @param value2 right operand for Direction operation
+ *
+ * @return result of operation for the direction logic
+ */
+ public abstract Boolean operate(@Nonnull Long value1, @Nonnull Long value2);
+
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/policy/tca/MetricsPerFunctionalRole.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/policy/tca/MetricsPerFunctionalRole.java
new file mode 100644
index 0000000..4edbac1
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/policy/tca/MetricsPerFunctionalRole.java
@@ -0,0 +1,102 @@
+/*
+ * ===============================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.model.domain.policy.tca;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * TCA Metrics that need to applied to each functional Role
+ *
+ * @author Rajiv Singla . Creation Date: 11/5/2016.
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class MetricsPerFunctionalRole extends BaseTCAPolicyModel{
+
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Functional Role to which TCA Policy needs to applied.
+ *
+ * @param functionalRole New value for Functional Role to which TCA Policy needs to applied
+ * @return Functional Role to which TCA Policy needs to applied
+ */
+ private String functionalRole;
+
+ /**
+ * Policy Scope
+ *
+ * @param policyScope New value for Policy Scope
+ * @return Policy Scope
+ */
+ private String policyScope;
+
+ /**
+ * Policy Name
+ *
+ * @param policyName New value for Policy Name
+ * @return Policy Name
+ */
+ private String policyName;
+
+ /**
+ * Policy Version
+ *
+ * @param policyVersion New value for Policy Version
+ * @return Policy Version
+ */
+ private String policyVersion;
+
+ /**
+ * Policy Thresholds
+ *
+ * @param thresholds New value for Policy Thresholds
+ * @return Policy Thresholds
+ */
+ private List<Threshold> thresholds;
+
+
+ /**
+ * Creates a copy of given {@link MetricsPerFunctionalRole}
+ *
+ * @param metricsPerFunctionalRole metrics Per functional role that need to copied
+ *
+ * @return copy of new metrics per function role with values copied from given metrics per functional role
+ */
+ public static MetricsPerFunctionalRole copy(final MetricsPerFunctionalRole metricsPerFunctionalRole) {
+ final MetricsPerFunctionalRole newMetricsPerFunctionalRole = new MetricsPerFunctionalRole();
+ newMetricsPerFunctionalRole.setFunctionalRole(metricsPerFunctionalRole.getFunctionalRole());
+ newMetricsPerFunctionalRole.setPolicyScope(metricsPerFunctionalRole.getPolicyScope());
+ newMetricsPerFunctionalRole.setPolicyName(metricsPerFunctionalRole.getPolicyName());
+ newMetricsPerFunctionalRole.setPolicyVersion(metricsPerFunctionalRole.getPolicyVersion());
+ if (metricsPerFunctionalRole.getThresholds() != null) {
+ newMetricsPerFunctionalRole.setThresholds(new ArrayList<>(metricsPerFunctionalRole.getThresholds()));
+ }
+ return newMetricsPerFunctionalRole;
+ }
+
+
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/policy/tca/TCAPolicy.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/policy/tca/TCAPolicy.java
new file mode 100644
index 0000000..b62d91d
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/policy/tca/TCAPolicy.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.model.domain.policy.tca;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.CommonEventHeader;
+
+import java.util.List;
+
+/**
+ * <p>
+ * TCA (Threshold Crossing Alert) Root
+ * </p>
+ *
+ * @author Rajiv Singla . Creation Date: 11/5/2016.
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class TCAPolicy extends BaseTCAPolicyModel {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * TCA Policy domain which is associated with TCA incoming CEF message {@link CommonEventHeader#getDomain()}
+ *
+ * @param domain New value for domain
+ * @return Policy domain which is associated with incoming CEF message
+ */
+ private String domain;
+
+ /**
+ * Contains TCA Policy metrics that needs to be applied to each Functional Role
+ *
+ * @param metricsPerFunctionalRole New value for metrics that needs to be applied to each Functional Role
+ * @return Contains TCA Policy metrics that needs to be applied to each Functional Role
+ */
+ private List<MetricsPerFunctionalRole> metricsPerFunctionalRole;
+
+
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/policy/tca/TCAPolicyModel.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/policy/tca/TCAPolicyModel.java
new file mode 100644
index 0000000..18cd8a5
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/policy/tca/TCAPolicyModel.java
@@ -0,0 +1,35 @@
+/*
+ * ===============================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.model.domain.policy.tca;
+
+import org.openecomp.dcae.apod.analytics.model.domain.policy.PolicyModel;
+
+/**
+ * <p>
+ * Marker interface for all TCA Policy Models
+ * </p>
+ *
+ * @author Rajiv Singla . Creation Date: 11/5/2016.
+ */
+public interface TCAPolicyModel extends PolicyModel {
+
+
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/policy/tca/Threshold.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/policy/tca/Threshold.java
new file mode 100644
index 0000000..b23d109
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/domain/policy/tca/Threshold.java
@@ -0,0 +1,114 @@
+/*
+ * ===============================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.model.domain.policy.tca;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.EventSeverity;
+
+/**
+ *
+ * @author Rajiv Singla . Creation Date: 11/5/2016.
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class Threshold extends BaseTCAPolicyModel {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Closed Loop Control Name
+ *
+ * @param closedLoopControlName New value for Closed Loop Control Name
+ * @return Closed Loop Control Name
+ */
+ private String closedLoopControlName;
+
+ /**
+ * Threshold Version
+ *
+ * @param version New value for Threshold Version
+ * @return Threshold Version
+ */
+ private String version;
+
+ /**
+ * Path of the field inside Common Event Format which needs to be monitored by TCA App
+ * for threshold crossing
+ *
+ * @param fieldPath New value for Path of the field inside CEF which needs to be monitored for TCA
+ * @return Path of the field inside Common Event Format which needs to be monitored by TCA App
+ */
+ private String fieldPath;
+
+ /**
+ * Threshold Value
+ *
+ * @param thresholdValue New value for Threshold Value
+ * @return Threshold Value
+ */
+ private Long thresholdValue;
+
+ /**
+ * Direction of threshold
+ *
+ * @param direction New value for Direction of threshold
+ * @return Direction of threshold
+ */
+ private Direction direction;
+
+ /**
+ * Severity of Event based on CEF Convention
+ *
+ * @param severity New value for Severity of Event based on CEF Convention
+ * @return Severity of Event based on CEF Convention
+ */
+ private EventSeverity severity;
+
+
+ /**
+ * Actual Field value that caused the threshold violation. Ignored for deserialization
+ *
+ *
+ * @param actualFieldValue new value value for actual Field value that caused the violation
+ * @return actual field value that caused the violation
+ */
+ private Long actualFieldValue;
+
+ /**
+ * Creates a copy of give {@link Threshold}
+ *
+ * @param threshold threshold that need to be copied
+ *
+ * @return new instance of threshold with copied value for give threshold
+ */
+ public static Threshold copy(final Threshold threshold) {
+ final Threshold newThreshold = new Threshold();
+ newThreshold.setClosedLoopControlName(threshold.getClosedLoopControlName());
+ newThreshold.setFieldPath(threshold.getFieldPath());
+ newThreshold.setThresholdValue(threshold.getThresholdValue());
+ newThreshold.setDirection(threshold.getDirection());
+ newThreshold.setSeverity(threshold.getSeverity());
+ newThreshold.setActualFieldValue(threshold.getActualFieldValue());
+ return newThreshold;
+ }
+
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/facade/FacadeModel.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/facade/FacadeModel.java
new file mode 100644
index 0000000..4369cd7
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/facade/FacadeModel.java
@@ -0,0 +1,33 @@
+/*
+ * ===============================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.model.facade;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * Marker Interface for all Facade (outgoing) DCAE Analytics Model
+ * </p>
+ *
+ * @author Rajiv Singla . Creation Date: 11/9/2016.
+ */
+public interface FacadeModel extends Serializable {
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/facade/tca/AAI.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/facade/tca/AAI.java
new file mode 100644
index 0000000..dcfb8f7
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/facade/tca/AAI.java
@@ -0,0 +1,38 @@
+/*
+ * ===============================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.model.facade.tca;
+
+import lombok.Data;
+
+/**
+ *
+ * @author Rajiv Singla . Creation Date: 11/9/2016.
+ */
+@Data
+public class AAI implements TCAFacadeModel {
+
+ private static final long serialVersionUID = 1L;
+
+ private String genericVNFId;
+
+ private String genericServerId;
+
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/facade/tca/TCAFacadeModel.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/facade/tca/TCAFacadeModel.java
new file mode 100644
index 0000000..ca63711
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/facade/tca/TCAFacadeModel.java
@@ -0,0 +1,31 @@
+/*
+ * ===============================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.model.facade.tca;
+
+import org.openecomp.dcae.apod.analytics.model.facade.FacadeModel;
+
+/**
+ * Marker Interface for all TCA Facade Models
+ *
+ * @author Rajiv Singla . Creation Date: 11/9/2016.
+ */
+public interface TCAFacadeModel extends FacadeModel {
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/facade/tca/TCAVESResponse.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/facade/tca/TCAVESResponse.java
new file mode 100644
index 0000000..78a2c96
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/facade/tca/TCAVESResponse.java
@@ -0,0 +1,49 @@
+/*
+ * ===============================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.model.facade.tca;
+
+import lombok.Data;
+
+/**
+ * Response generated by TCA for VES Message
+ *
+ * @author Rajiv Singla . Creation Date: 11/9/2016.
+ */
+@Data
+public class TCAVESResponse implements TCAFacadeModel {
+
+ private static final long serialVersionUID = 1L;
+
+ private String closedLoopControlName;
+ private String version;
+ private String requestID;
+ private Long closedLoopAlarmStart;
+ private String closedLoopEventClient;
+ private String targetType;
+ private AAI aai;
+ private String target;
+ private String from;
+ private String policyScope;
+ private String policyName;
+ private String policyVersion;
+ private String closedLoopEventStatus;
+
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/AnalyticsModelIOUtils.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/AnalyticsModelIOUtils.java
new file mode 100644
index 0000000..d6d5dc2
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/AnalyticsModelIOUtils.java
@@ -0,0 +1,137 @@
+/*
+ * ===============================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.model.util;
+
+import com.fasterxml.jackson.core.JsonParseException;
+import com.fasterxml.jackson.databind.JsonMappingException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.nio.charset.Charset;
+import java.util.Properties;
+
+/**
+ * Utility class containing methods for IO related operations
+ * <p>
+ * @author Rajiv Singla . Creation Date: 10/17/2016.
+ */
+public abstract class AnalyticsModelIOUtils extends AnalyticsModelJsonUtils {
+
+ private static final Logger LOG = LoggerFactory.getLogger(AnalyticsModelIOUtils.class);
+
+ /**
+ * Parses given valid JSON file Location to object of given binding class type.
+ *
+ * @param fileLocation valid JSON File Location
+ * @param bindingClass class Type of Binding object
+ *
+ * @param <T> binding Class Type
+ *
+ * @return binding Class Object which properties populated from JSON File Location
+ */
+ public static final <T> T convertToJsonObject(String fileLocation, Class<T> bindingClass) {
+
+ // Load Resource from give path
+ final InputStream resourceAsStream = loadResourceAsStream(fileLocation);
+
+ // If resource is null throw an exception
+ if (resourceAsStream == null) {
+ final String errorMessage = String.format("Invalid File location: %s", fileLocation);
+ throw new RuntimeException(errorMessage, new FileNotFoundException(errorMessage));
+ }
+
+ // Parse input stream
+ try (InputStreamReader inputStreamReader = new InputStreamReader(resourceAsStream, Charset.forName("UTF-8"))) {
+
+ return ANALYTICS_MODEL_OBJECT_MAPPER.readValue(inputStreamReader, bindingClass);
+
+ } catch (JsonMappingException | JsonParseException e) {
+
+ // If parsing fails due to Invalid Json or Json IO Issues throw an exception
+ final String errorMessage = String.format("Json parsing error while parsing Json File location: %s",
+ fileLocation);
+
+ LOG.error(errorMessage);
+ throw new RuntimeException(errorMessage, e);
+
+ } catch (IOException e) {
+
+ // If parsing fails due to IO Issues throw an exception
+ final String errorMessage = String.format("IO Error while parsing Json File location: %s", fileLocation);
+ LOG.error(errorMessage);
+ throw new RuntimeException(errorMessage, e);
+
+ }
+
+ }
+
+ /**
+ * Loads properties from a given file location. Throws {@link RuntimeException} if file location is invalid
+ * or there were exception when loading properties
+ *
+ * @param propertiesFileLocation path string for properties file
+ * @param properties properties object that needs to be populated with give file properties
+ *
+ * @return properties object with populated properties from properties file
+ *
+ */
+ public static Properties loadPropertiesFile(String propertiesFileLocation, final Properties properties) {
+
+ // Load Resource from give properties file path
+ final InputStream propertiesFileInputStream = loadResourceAsStream(propertiesFileLocation);
+
+ // If properties file is not present throw an exception
+ if (propertiesFileInputStream == null) {
+ final String errorMessage = String.format("Invalid Properties File at location: %s",
+ propertiesFileLocation);
+ throw new RuntimeException(errorMessage, new FileNotFoundException(errorMessage));
+ }
+
+ try {
+ properties.load(propertiesFileInputStream);
+ } catch (IOException e) {
+ final String errorMessage = String.format("IO Exception while reading Properties File at location: %s",
+ propertiesFileLocation);
+ throw new RuntimeException(errorMessage, e);
+ }
+
+ return properties;
+
+ }
+
+ /**
+ * Loads Input file from the given classpath file location and returns file InputStream
+ *
+ * @param fileLocation classpath file location
+ *
+ * @return {@link InputStream} for classpath file
+ */
+ public static InputStream loadResourceAsStream(String fileLocation) {
+ // Load Resource from give path
+ return Thread.currentThread().getContextClassLoader().getResourceAsStream(fileLocation);
+ }
+
+
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/AnalyticsModelJsonUtils.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/AnalyticsModelJsonUtils.java
new file mode 100644
index 0000000..f6b9dc9
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/AnalyticsModelJsonUtils.java
@@ -0,0 +1,104 @@
+/*
+ * ===============================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.model.util;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.google.common.base.Suppliers;
+import org.openecomp.dcae.apod.analytics.model.util.json.AnalyticsModelObjectMapperSupplier;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+/**
+ *
+ * @author Rajiv Singla . Creation Date: 11/7/2016.
+ */
+public abstract class AnalyticsModelJsonUtils {
+
+ /**
+ * Object mapper to be used for all TCA Json Parsing
+ */
+ protected static final ObjectMapper ANALYTICS_MODEL_OBJECT_MAPPER =
+ Suppliers.memoize(new AnalyticsModelObjectMapperSupplier()).get();
+
+
+ /**
+ * Converts Input Stream to given type reference object
+ *
+ * @param inputStream input stream
+ * @param valueTypeRef type reference
+ * @param <T> type of type reference
+ *
+ * @return parsed json object
+ *
+ * @throws IOException IO Exception
+ */
+ public static <T> T readValue(InputStream inputStream, TypeReference<T> valueTypeRef) throws IOException {
+ return ANALYTICS_MODEL_OBJECT_MAPPER.readValue(inputStream, valueTypeRef);
+ }
+
+
+ /**
+ * Converts Input Stream to given target class object
+ *
+ * @param inputStream input stream
+ * @param targetClass target class type
+ * @param <T> type of class
+ *
+ * @return parsed json object
+ *
+ * @throws IOException IO Exception
+ */
+ public static <T> T readValue(InputStream inputStream, Class<T> targetClass) throws IOException {
+ return ANALYTICS_MODEL_OBJECT_MAPPER.readValue(inputStream, targetClass);
+ }
+
+
+ /**
+ * Converts given object to JSON string
+ *
+ * @param value object that needs to converted to json string
+ *
+ * @return json string
+ * @throws JsonProcessingException Json Processing exception
+ */
+ public static String writeValueAsString(Object value) throws JsonProcessingException {
+ return ANALYTICS_MODEL_OBJECT_MAPPER.writeValueAsString(value);
+ }
+
+
+ /**
+ * Method to deserialize JSON content from given JSON content String.
+ *
+ * @param jsonString JSON String
+ * @param objectClass target object class
+ * @param <T> object class type
+ *
+ * @return converted Object from JSON String
+ *
+ * @throws IOException IO Exception
+ */
+ public static <T> T readValue(final String jsonString, final Class<T> objectClass) throws IOException {
+ return ANALYTICS_MODEL_OBJECT_MAPPER.readValue(jsonString, objectClass);
+ }
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/AnalyticsModelObjectMapperSupplier.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/AnalyticsModelObjectMapperSupplier.java
new file mode 100644
index 0000000..75561a8
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/AnalyticsModelObjectMapperSupplier.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.model.util.json;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.google.common.base.Supplier;
+import com.jayway.jsonpath.Configuration;
+import com.jayway.jsonpath.JsonPath;
+import com.jayway.jsonpath.Option;
+import com.jayway.jsonpath.spi.json.JacksonJsonProvider;
+import com.jayway.jsonpath.spi.json.JsonProvider;
+import com.jayway.jsonpath.spi.mapper.JacksonMappingProvider;
+import com.jayway.jsonpath.spi.mapper.MappingProvider;
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
+
+import java.util.EnumSet;
+import java.util.Set;
+
+/**
+ *<p>
+ * {@link Supplier} that can be used by clients to get Object Mapper which specializes
+ * in serialize and deserialize - DCAE Analytics Model JSON Objects. Clients can
+ * choose to memoize this Supplier for performance enhancements
+ * <br>
+ * NOTE: This supplier also setups up {@link JsonPath} default
+ * config to make use of this Supplier object mapper
+ *</p>
+ * @author Rajiv Singla . Creation Date: 11/10/2016.
+ */
+@SuppressFBWarnings("SIC_INNER_SHOULD_BE_STATIC_ANON")
+public class AnalyticsModelObjectMapperSupplier implements Supplier<ObjectMapper> {
+
+ @Override
+ public ObjectMapper get() {
+
+ final ObjectMapper objectMapper = new ObjectMapper();
+
+ // Serialize null values
+ objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
+
+ // Don't fail on unknown properties
+ objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+
+ // Register Common Event Format Module
+ objectMapper.registerModule(new CommonEventFormatModule());
+ // Register TCA Policy Module
+ objectMapper.registerModule(new TCAPolicyModule());
+ // Register TCA Facade Module
+ objectMapper.registerModule(new TCAFacadeModelModule());
+
+
+ // Setup JsonPath default config
+ setupJsonPathDefaultConfig(objectMapper);
+
+ return objectMapper;
+ }
+
+
+ /**
+ * Setups up default Config for {@link JsonPath}
+ *
+ * @param objectMapper Jackson object mapper
+ */
+ private void setupJsonPathDefaultConfig(final ObjectMapper objectMapper) {
+
+ Configuration.setDefaults(new Configuration.Defaults() {
+
+ private final JsonProvider jsonProvider = new JacksonJsonProvider(objectMapper);
+ private final MappingProvider mappingProvider = new JacksonMappingProvider(objectMapper);
+
+ @Override
+ public JsonProvider jsonProvider() {
+ return jsonProvider;
+ }
+
+ @Override
+ public MappingProvider mappingProvider() {
+ return mappingProvider;
+ }
+
+ @Override
+ public Set<Option> options() {
+
+ // Json Path exceptions are suppressed, also missing properties are tolerated
+ return EnumSet.of(Option.DEFAULT_PATH_LEAF_TO_NULL, Option.SUPPRESS_EXCEPTIONS);
+ }
+ });
+
+
+ }
+
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/CommonEventFormatModule.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/CommonEventFormatModule.java
new file mode 100644
index 0000000..f30cecf
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/CommonEventFormatModule.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.model.util.json;
+
+import com.fasterxml.jackson.core.Version;
+import com.fasterxml.jackson.databind.module.SimpleModule;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.AlertAction;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.AlertType;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.BaseCEFModel;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.CommonEventHeader;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.Criticality;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.Event;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.EventListener;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.EventSeverity;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.MeasurementsForVfScalingFields;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.PerformanceCounter;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.Priority;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.ThresholdCrossingAlertFields;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.VNicUsageArray;
+import org.openecomp.dcae.apod.analytics.model.util.json.mixin.cef.AlertActionMixin;
+import org.openecomp.dcae.apod.analytics.model.util.json.mixin.cef.AlertTypeMixin;
+import org.openecomp.dcae.apod.analytics.model.util.json.mixin.cef.BaseCEFModelMixin;
+import org.openecomp.dcae.apod.analytics.model.util.json.mixin.cef.CommonEventHeaderMixin;
+import org.openecomp.dcae.apod.analytics.model.util.json.mixin.cef.CriticalityMixin;
+import org.openecomp.dcae.apod.analytics.model.util.json.mixin.cef.EventListenerMixin;
+import org.openecomp.dcae.apod.analytics.model.util.json.mixin.cef.EventMixin;
+import org.openecomp.dcae.apod.analytics.model.util.json.mixin.cef.EventSeverityMixin;
+import org.openecomp.dcae.apod.analytics.model.util.json.mixin.cef.MeasurementsForVfScalingFieldsMixin;
+import org.openecomp.dcae.apod.analytics.model.util.json.mixin.cef.PerformanceCounterMixin;
+import org.openecomp.dcae.apod.analytics.model.util.json.mixin.cef.PriorityMixin;
+import org.openecomp.dcae.apod.analytics.model.util.json.mixin.cef.ThresholdCrossingAlertFieldsMixin;
+import org.openecomp.dcae.apod.analytics.model.util.json.mixin.cef.VNicUsageArrayMixin;
+
+/**
+ * @author Rajiv Singla . Creation Date: 10/18/2016.
+ */
+public class CommonEventFormatModule extends SimpleModule {
+
+ private static final long serialVersionUID = 1L;
+
+ public CommonEventFormatModule() {
+ super("Common Event Format",
+ new Version(25, 0, 0, null, " org.openecomp.dcae.apod.analytics.model", "dcae-analytics-model"));
+ }
+
+ @Override
+ public void setupModule(final SetupContext setupContext) {
+
+ setupContext.setMixInAnnotations(AlertAction.class, AlertActionMixin.class);
+ setupContext.setMixInAnnotations(AlertType.class, AlertTypeMixin.class);
+ setupContext.setMixInAnnotations(BaseCEFModel.class, BaseCEFModelMixin.class);
+ setupContext.setMixInAnnotations(CommonEventHeader.class, CommonEventHeaderMixin.class);
+ setupContext.setMixInAnnotations(Criticality.class, CriticalityMixin.class);
+ setupContext.setMixInAnnotations(EventListener.class, EventListenerMixin.class);
+ setupContext.setMixInAnnotations(Event.class, EventMixin.class);
+ setupContext.setMixInAnnotations(EventSeverity.class, EventSeverityMixin.class);
+ setupContext.setMixInAnnotations(MeasurementsForVfScalingFields.class,
+ MeasurementsForVfScalingFieldsMixin.class);
+ setupContext.setMixInAnnotations(PerformanceCounter.class, PerformanceCounterMixin.class);
+ setupContext.setMixInAnnotations(Priority.class, PriorityMixin.class);
+ setupContext.setMixInAnnotations(ThresholdCrossingAlertFields.class, ThresholdCrossingAlertFieldsMixin.class);
+ setupContext.setMixInAnnotations(VNicUsageArray.class, VNicUsageArrayMixin.class);
+
+ }
+
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/TCAFacadeModelModule.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/TCAFacadeModelModule.java
new file mode 100644
index 0000000..8f29872
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/TCAFacadeModelModule.java
@@ -0,0 +1,49 @@
+/*
+ * ===============================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.model.util.json;
+
+import com.fasterxml.jackson.core.Version;
+import com.fasterxml.jackson.databind.module.SimpleModule;
+import org.openecomp.dcae.apod.analytics.model.facade.tca.AAI;
+import org.openecomp.dcae.apod.analytics.model.facade.tca.TCAVESResponse;
+import org.openecomp.dcae.apod.analytics.model.util.json.mixin.facade.tca.AAIMixin;
+import org.openecomp.dcae.apod.analytics.model.util.json.mixin.facade.tca.VESCEFMessageResponseMixin;
+
+/**
+ *
+ * @author Rajiv Singla . Creation Date: 11/9/2016.
+ */
+public class TCAFacadeModelModule extends SimpleModule {
+
+ private static final long serialVersionUID = 1L;
+
+ public TCAFacadeModelModule() {
+ super("Threshold Crossing Alert Facade",
+ new Version(1, 0, 0, null, "org.openecomp.dace.apod.analytics.model", "dcae-analytics-model"));
+ }
+
+ @Override
+ public void setupModule(final SetupContext setupContext) {
+ setupContext.setMixInAnnotations(TCAVESResponse.class, VESCEFMessageResponseMixin.class);
+ setupContext.setMixInAnnotations(AAI.class, AAIMixin.class);
+ }
+
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/TCAPolicyModule.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/TCAPolicyModule.java
new file mode 100644
index 0000000..ce8997c
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/TCAPolicyModule.java
@@ -0,0 +1,61 @@
+/*
+ * ===============================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.model.util.json;
+
+import com.fasterxml.jackson.core.Version;
+import com.fasterxml.jackson.databind.module.SimpleModule;
+import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.BaseTCAPolicyModel;
+import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.Direction;
+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.model.util.json.mixin.policy.tca.BaseTCAPolicyModelMixin;
+import org.openecomp.dcae.apod.analytics.model.util.json.mixin.policy.tca.DirectionMixin;
+import org.openecomp.dcae.apod.analytics.model.util.json.mixin.policy.tca.MetricsPerFunctionalRoleMixin;
+import org.openecomp.dcae.apod.analytics.model.util.json.mixin.policy.tca.TCAPolicyMixin;
+import org.openecomp.dcae.apod.analytics.model.util.json.mixin.policy.tca.ThresholdMixin;
+
+/**
+ *
+ * @author Rajiv Singla . Creation Date: 11/5/2016.
+ */
+public class TCAPolicyModule extends SimpleModule {
+
+ private static final long serialVersionUID = 1L;
+
+ public TCAPolicyModule() {
+ super("Threshold Crossing Alert Policy",
+ new Version(1, 0, 0, null, " org.openecomp.dcae.apod.analytics.model", "dcae-analytics-model"));
+ }
+
+ @Override
+ public void setupModule(final SetupContext setupContext) {
+
+ setupContext.setMixInAnnotations(BaseTCAPolicyModel.class, BaseTCAPolicyModelMixin.class);
+ setupContext.setMixInAnnotations(Direction.class, DirectionMixin.class);
+ setupContext.setMixInAnnotations(TCAPolicy.class, TCAPolicyMixin.class);
+ setupContext.setMixInAnnotations(MetricsPerFunctionalRole.class, MetricsPerFunctionalRoleMixin.class);
+ setupContext.setMixInAnnotations(Threshold.class, ThresholdMixin.class);
+ setupContext.setMixInAnnotations(TCAPolicy.class, TCAPolicyMixin.class);
+
+
+ }
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/BaseDynamicPropertiesProviderMixin.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/BaseDynamicPropertiesProviderMixin.java
new file mode 100644
index 0000000..8c50997
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/BaseDynamicPropertiesProviderMixin.java
@@ -0,0 +1,61 @@
+/*
+ * ===============================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.model.util.json.mixin;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import org.openecomp.dcae.apod.analytics.model.domain.BaseDynamicPropertiesProvider;
+
+import java.util.Map;
+
+/**
+ * Json Mixin for {@link BaseDynamicPropertiesProvider}
+ *
+ * @author Rajiv Singla . Creation Date: 11/5/2016.
+ */
+public abstract class BaseDynamicPropertiesProviderMixin implements JsonMixin {
+
+ /**
+ * Provides hint to Jackson Json Object mapper to bind any put all dynamic properties in a map
+ *
+ * @param propertyName dynamic property name
+ * @param propertyValue dynamic property value
+ */
+ @JsonAnySetter
+ public abstract void addDynamicProperties(String propertyName, Object propertyValue);
+
+ /**
+ * Provides hint to serialize dynamic properties as map
+ *
+ * @return dynamic properties map
+ */
+ @JsonAnyGetter
+ public abstract Map<String, Object> getDynamicProperties();
+
+ /**
+ * Ignores isDynamicPropertiesPresent for json serialization
+ *
+ * @return true if dynamic properties are present
+ */
+ @JsonIgnore
+ public abstract boolean isDynamicPropertiesPresent();
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/JsonMixin.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/JsonMixin.java
new file mode 100644
index 0000000..131d1f0
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/JsonMixin.java
@@ -0,0 +1,31 @@
+/*
+ * ===============================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.model.util.json.mixin;
+
+import java.io.Serializable;
+
+/**
+ * Marker Interface for all Json Mixin classes
+ *
+ * @author Rajiv Singla . Creation Date: 11/3/2016.
+ */
+public interface JsonMixin extends Serializable {
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/AlertActionMixin.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/AlertActionMixin.java
new file mode 100644
index 0000000..45577db
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/AlertActionMixin.java
@@ -0,0 +1,30 @@
+/*
+ * ===============================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.model.util.json.mixin.cef;
+
+import org.openecomp.dcae.apod.analytics.model.util.json.mixin.JsonMixin;
+
+/**
+ *
+ * @author Rajiv Singla . Creation Date: 11/5/2016.
+ */
+public abstract class AlertActionMixin implements JsonMixin {
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/AlertTypeMixin.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/AlertTypeMixin.java
new file mode 100644
index 0000000..efed8b8
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/AlertTypeMixin.java
@@ -0,0 +1,74 @@
+/*
+ * ===============================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.model.util.json.mixin.cef;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.AlertType;
+import org.openecomp.dcae.apod.analytics.model.util.json.mixin.JsonMixin;
+
+/**
+ * Mixin for Alert Type
+ *
+ * @author Rajiv Singla . Creation Date: 11/3/2016.
+ */
+public abstract class AlertTypeMixin implements JsonMixin {
+
+ private String name;
+
+ /**
+ * Provides hint to Jackson Json to parse alert type string which are not valid java variable names
+ * to proper java alert types
+ *
+ * @param name name of Alert coming from incoming Json
+ *
+ * @return java representation of alert type
+ */
+ @JsonCreator
+ public static AlertType forValue(String name) {
+
+ switch (name) {
+ case "CARD-ANOMALY":
+ return AlertType.CARD_ANOMALY;
+ case "ELEMENT-ANOMALY":
+ return AlertType.ELEMENT_ANOMALY;
+ case "INTERFACE-ANOMALY":
+ return AlertType.INTERFACE_ANOMALY;
+ case "SERVICE-ANOMALY":
+ return AlertType.SERVICE_ANOMALY;
+ default:
+ return AlertType.UNKNOWN;
+ }
+
+ }
+
+ /**
+ * Provide hint to Jackson Json to parse java object variable name to CEF specification alert String
+ *
+ * @return alert string in CEF format
+ */
+ @JsonValue
+ public String getName() {
+ return name;
+ }
+
+
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/BaseCEFModelMixin.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/BaseCEFModelMixin.java
new file mode 100644
index 0000000..b332867
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/BaseCEFModelMixin.java
@@ -0,0 +1,33 @@
+/*
+ * ===============================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.model.util.json.mixin.cef;
+
+import org.openecomp.dcae.apod.analytics.model.util.json.mixin.BaseDynamicPropertiesProviderMixin;
+
+/**
+ * Abstract Mixin for all CEF Model Mixins
+ *
+ * @author Rajiv Singla . Creation Date: 10/18/2016.
+ */
+public abstract class BaseCEFModelMixin extends BaseDynamicPropertiesProviderMixin {
+
+
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/CommonEventHeaderMixin.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/CommonEventHeaderMixin.java
new file mode 100644
index 0000000..87fd396
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/CommonEventHeaderMixin.java
@@ -0,0 +1,27 @@
+/*
+ * ===============================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.model.util.json.mixin.cef;
+
+/**
+ * @author Rajiv Singla . Creation Date: 10/18/2016.
+ */
+public abstract class CommonEventHeaderMixin extends BaseCEFModelMixin {
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/CriticalityMixin.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/CriticalityMixin.java
new file mode 100644
index 0000000..a47e4f0
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/CriticalityMixin.java
@@ -0,0 +1,30 @@
+/*
+ * ===============================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.model.util.json.mixin.cef;
+
+import org.openecomp.dcae.apod.analytics.model.util.json.mixin.JsonMixin;
+
+/**
+ *
+ * @author Rajiv Singla . Creation Date: 11/5/2016.
+ */
+public abstract class CriticalityMixin implements JsonMixin {
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/EventListenerMixin.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/EventListenerMixin.java
new file mode 100644
index 0000000..c19d386
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/EventListenerMixin.java
@@ -0,0 +1,31 @@
+/*
+ * ===============================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.model.util.json.mixin.cef;
+
+/**
+ * Event Listener Json Mixin class
+ * <p>
+ * @author Rajiv Singla . Creation Date: 10/18/2016.
+ */
+public abstract class EventListenerMixin extends BaseCEFModelMixin {
+
+
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/EventMixin.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/EventMixin.java
new file mode 100644
index 0000000..9e9c96a
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/EventMixin.java
@@ -0,0 +1,31 @@
+/*
+ * ===============================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.model.util.json.mixin.cef;
+
+/**
+ * Event Json Mixin class
+ * <p>
+ * @author Rajiv Singla . Creation Date: 10/18/2016.
+ */
+public abstract class EventMixin extends BaseCEFModelMixin {
+
+
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/EventSeverityMixin.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/EventSeverityMixin.java
new file mode 100644
index 0000000..48aafcf
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/EventSeverityMixin.java
@@ -0,0 +1,30 @@
+/*
+ * ===============================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.model.util.json.mixin.cef;
+
+import org.openecomp.dcae.apod.analytics.model.util.json.mixin.JsonMixin;
+
+/**
+ *
+ * @author Rajiv Singla . Creation Date: 11/5/2016.
+ */
+public abstract class EventSeverityMixin implements JsonMixin {
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/MeasurementsForVfScalingFieldsMixin.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/MeasurementsForVfScalingFieldsMixin.java
new file mode 100644
index 0000000..8cde5d6
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/MeasurementsForVfScalingFieldsMixin.java
@@ -0,0 +1,39 @@
+/*
+ * ===============================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.model.util.json.mixin.cef;
+
+import com.fasterxml.jackson.annotation.JsonGetter;
+import com.fasterxml.jackson.annotation.JsonSetter;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.VNicUsageArray;
+
+import java.util.List;
+
+/**
+ * @author Rajiv Singla . Creation Date: 10/18/2016.
+ */
+public abstract class MeasurementsForVfScalingFieldsMixin extends BaseCEFModelMixin {
+
+ @JsonSetter("vNicUsageArray")
+ public abstract void setVNicUsageArray(List<VNicUsageArray> vNicUsageArrays);
+
+ @JsonGetter("vNicUsageArray")
+ public abstract List<VNicUsageArray> getVNicUsageArray();
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/PerformanceCounterMixin.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/PerformanceCounterMixin.java
new file mode 100644
index 0000000..2c049fe
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/PerformanceCounterMixin.java
@@ -0,0 +1,29 @@
+/*
+ * ===============================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.model.util.json.mixin.cef;
+
+/**
+ * CEF Performance Counter Mixin
+ *
+ * @author Rajiv Singla . Creation Date: 11/3/2016.
+ */
+public abstract class PerformanceCounterMixin extends BaseCEFModelMixin {
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/PriorityMixin.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/PriorityMixin.java
new file mode 100644
index 0000000..ee2404e
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/PriorityMixin.java
@@ -0,0 +1,30 @@
+/*
+ * ===============================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.model.util.json.mixin.cef;
+
+import org.openecomp.dcae.apod.analytics.model.util.json.mixin.JsonMixin;
+
+/**
+ *
+ * @author Rajiv Singla . Creation Date: 11/5/2016.
+ */
+public abstract class PriorityMixin implements JsonMixin {
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/ThresholdCrossingAlertFieldsMixin.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/ThresholdCrossingAlertFieldsMixin.java
new file mode 100644
index 0000000..44e17ac
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/ThresholdCrossingAlertFieldsMixin.java
@@ -0,0 +1,29 @@
+/*
+ * ===============================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.model.util.json.mixin.cef;
+
+/**
+ * Mixin class for ThresholdCrossingAlertFields
+ *
+ * @author Rajiv Singla . Creation Date: 11/3/2016.
+ */
+public abstract class ThresholdCrossingAlertFieldsMixin extends BaseCEFModelMixin {
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/VNicUsageArrayMixin.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/VNicUsageArrayMixin.java
new file mode 100644
index 0000000..e882183
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/VNicUsageArrayMixin.java
@@ -0,0 +1,48 @@
+/*
+ * ===============================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.model.util.json.mixin.cef;
+
+import com.fasterxml.jackson.annotation.JsonGetter;
+import com.fasterxml.jackson.annotation.JsonSetter;
+
+/**
+ * @author Rajiv Singla . Creation Date: 10/18/2016.
+ */
+public abstract class VNicUsageArrayMixin extends BaseCEFModelMixin {
+
+ /**
+ * Provides hint to Jackson Jackson deserialization to bind "vNicIdentifier" string to "vNicIdentifier"
+ * variable in CEF parsed Java Object
+ *
+ * @param name of the vNicIdentifier
+ */
+ @JsonSetter("vNicIdentifier")
+ public abstract void setVNicIdentifier(String name);
+
+ /**
+ * Provides hint to Jackson Jackson serialization to bind "vNicIdentifier" field to "vNicIdentifier" in json
+ *
+ * @return name of vNicIdentifier
+ */
+ @JsonGetter("vNicIdentifier")
+ public abstract String getVNicIdentifier();
+
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/facade/tca/AAIMixin.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/facade/tca/AAIMixin.java
new file mode 100644
index 0000000..177b3d3
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/facade/tca/AAIMixin.java
@@ -0,0 +1,55 @@
+/*
+ * ===============================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.model.util.json.mixin.facade.tca;
+
+import com.fasterxml.jackson.annotation.JsonGetter;
+import com.fasterxml.jackson.annotation.JsonSetter;
+import org.openecomp.dcae.apod.analytics.model.util.json.mixin.JsonMixin;
+
+/**
+ *
+ * @author Rajiv Singla . Creation Date: 11/9/2016.
+ */
+public abstract class AAIMixin implements JsonMixin {
+
+ private String genericVNFId;
+ private String genericServerId;
+
+ @JsonGetter("generic-vnf.vnf-id")
+ public String getGenericVNFId() {
+ return genericVNFId;
+ }
+
+ @JsonSetter("generic-vnf.vnf-id")
+ public void setGenericVNFId(String genericVNFId) {
+ this.genericVNFId = genericVNFId;
+ }
+
+ @JsonGetter("vserver.vserver-name")
+ public String getGenericServerId() {
+ return genericServerId;
+ }
+
+ @JsonSetter("vserver.vserver-name")
+ public void setGenericServerId(String genericServerId) {
+ this.genericServerId = genericServerId;
+ }
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/facade/tca/VESCEFMessageResponseMixin.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/facade/tca/VESCEFMessageResponseMixin.java
new file mode 100644
index 0000000..f3f44ab
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/facade/tca/VESCEFMessageResponseMixin.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.model.util.json.mixin.facade.tca;
+
+import com.fasterxml.jackson.annotation.JsonGetter;
+import com.fasterxml.jackson.annotation.JsonSetter;
+import org.openecomp.dcae.apod.analytics.model.facade.tca.AAI;
+import org.openecomp.dcae.apod.analytics.model.util.json.mixin.JsonMixin;
+
+/**
+ *
+ * @author Rajiv Singla . Creation Date: 11/9/2016.
+ */
+public abstract class VESCEFMessageResponseMixin implements JsonMixin {
+
+ private String targetType;
+ private AAI aai;
+
+ @JsonGetter("target_type")
+ public String getTargetType() {
+ return targetType;
+ }
+
+ @JsonSetter("target_type")
+ public void setTargetType(String targetType) {
+ this.targetType = targetType;
+ }
+
+ @JsonGetter("AAI")
+ public AAI getAai() {
+ return aai;
+ }
+
+ @JsonSetter("AAI")
+ public void setAai(AAI aai) {
+ this.aai = aai;
+ }
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/policy/tca/BaseTCAPolicyModelMixin.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/policy/tca/BaseTCAPolicyModelMixin.java
new file mode 100644
index 0000000..9c589db
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/policy/tca/BaseTCAPolicyModelMixin.java
@@ -0,0 +1,30 @@
+/*
+ * ===============================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.model.util.json.mixin.policy.tca;
+
+import org.openecomp.dcae.apod.analytics.model.util.json.mixin.BaseDynamicPropertiesProviderMixin;
+
+/**
+ *
+ * @author Rajiv Singla . Creation Date: 11/5/2016.
+ */
+public abstract class BaseTCAPolicyModelMixin extends BaseDynamicPropertiesProviderMixin {
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/policy/tca/DirectionMixin.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/policy/tca/DirectionMixin.java
new file mode 100644
index 0000000..dbc66b9
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/policy/tca/DirectionMixin.java
@@ -0,0 +1,30 @@
+/*
+ * ===============================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.model.util.json.mixin.policy.tca;
+
+import org.openecomp.dcae.apod.analytics.model.util.json.mixin.JsonMixin;
+
+/**
+ *
+ * @author Rajiv Singla . Creation Date: 11/5/2016.
+ */
+public abstract class DirectionMixin implements JsonMixin {
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/policy/tca/MetricsPerFunctionalRoleMixin.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/policy/tca/MetricsPerFunctionalRoleMixin.java
new file mode 100644
index 0000000..8ca10fc
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/policy/tca/MetricsPerFunctionalRoleMixin.java
@@ -0,0 +1,28 @@
+/*
+ * ===============================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.model.util.json.mixin.policy.tca;
+
+/**
+ *
+ * @author Rajiv Singla . Creation Date: 11/5/2016.
+ */
+public abstract class MetricsPerFunctionalRoleMixin extends BaseTCAPolicyModelMixin {
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/policy/tca/TCAPolicyMixin.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/policy/tca/TCAPolicyMixin.java
new file mode 100644
index 0000000..627f211
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/policy/tca/TCAPolicyMixin.java
@@ -0,0 +1,28 @@
+/*
+ * ===============================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.model.util.json.mixin.policy.tca;
+
+/**
+ *
+ * @author Rajiv Singla . Creation Date: 11/5/2016.
+ */
+public abstract class TCAPolicyMixin extends BaseTCAPolicyModelMixin {
+}
diff --git a/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/policy/tca/ThresholdMixin.java b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/policy/tca/ThresholdMixin.java
new file mode 100644
index 0000000..d450a30
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/policy/tca/ThresholdMixin.java
@@ -0,0 +1,44 @@
+/*
+ * ===============================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.model.util.json.mixin.policy.tca;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ *
+ * @author Rajiv Singla . Creation Date: 11/5/2016.
+ */
+public abstract class ThresholdMixin extends BaseTCAPolicyModelMixin {
+
+ @JsonIgnore
+ private Long actualFieldValue;
+
+ @JsonIgnore
+ public Long getActualFieldValue() {
+ return actualFieldValue;
+ }
+
+ @JsonProperty
+ public void setActualFieldValue(Long actualFieldValue) {
+ this.actualFieldValue = actualFieldValue;
+ }
+}
diff --git a/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/BaseAnalyticsModelUnitTest.java b/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/BaseAnalyticsModelUnitTest.java
new file mode 100644
index 0000000..df69c8c
--- /dev/null
+++ b/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/BaseAnalyticsModelUnitTest.java
@@ -0,0 +1,148 @@
+/*
+ * ===============================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.model;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.google.common.base.Suppliers;
+import org.json.JSONException;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+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.InputStream;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+/**
+ * @author Rajiv Singla . Creation Date: 10/17/2016.
+ */
+public abstract class BaseAnalyticsModelUnitTest extends BaseDCAEAnalyticsUnitTest {
+
+
+ protected static ObjectMapper objectMapper;
+
+ @BeforeClass
+ public static void beforeClass() {
+ final AnalyticsModelObjectMapperSupplier analyticsModelObjectMapperSupplier =
+ new AnalyticsModelObjectMapperSupplier();
+ objectMapper = Suppliers.memoize(analyticsModelObjectMapperSupplier).get();
+ }
+
+
+ /**
+ * Deserialize given Json file location to given model class and returns it back without any validation check
+ *
+ * @param jsonFileLocation Classpath location of the json file
+ * @param modelClass Model Class type
+ * @param <T> Json Model Type
+ * @return Deserialized Model Object
+ */
+ public static <T> T deserializeJsonFileToModel(String jsonFileLocation, Class<T> modelClass) {
+ final InputStream jsonFileInputStream =
+ BaseDCAEAnalyticsUnitTest.class.getClassLoader().getResourceAsStream(jsonFileLocation);
+ Assert.assertNotNull("Json File Location must be valid", jsonFileInputStream);
+ try {
+ return objectMapper.readValue(jsonFileInputStream, modelClass);
+ } catch (IOException ex) {
+ LOG.error("Error while doing assert Json for fileLocation: {}, modelClass: {}, Exception {}",
+ jsonFileLocation, modelClass, ex);
+ throw new RuntimeException(ex);
+ } finally {
+ try {
+ jsonFileInputStream.close();
+ } catch (IOException e) {
+ LOG.error("Error while closing input stream at file location: {}", jsonFileLocation);
+ throw new RuntimeException(e);
+ }
+ }
+ }
+
+ /**
+ * Deserialize given Json file location to given model class and then validates deserialization by comparing it
+ * with given expected Object
+ *
+ * @param jsonFileLocation Classpath location of the json file
+ * @param modelClass Model Class type
+ * @param expectedJsonObject Expected Json Object
+ * @param <T> Json Model Type
+ * @return deserialized actual value if expected Json Object matches deserialized object
+ */
+ public static <T> T assertJsonDeserialization(String jsonFileLocation, Class<T> modelClass, T expectedJsonObject) {
+ final T actualValue = deserializeJsonFileToModel(jsonFileLocation, modelClass);
+ assertThat(actualValue, is(expectedJsonObject));
+ return actualValue;
+ }
+
+ public static String serializeModelToJson(Object model) throws JsonProcessingException {
+ return objectMapper.writeValueAsString(model);
+ }
+
+ /**
+ * Converts given model to json string and compare it with json present at given file location
+ *
+ * @param model Model which needs to be compared
+ * @param expectedJsonFileLocation Location of file containing expected json string
+ *
+ * @return If assertion passes returns the input model
+ */
+ public static <T> T assertJsonSerialization(T model, String expectedJsonFileLocation) {
+ try {
+ final String actualModelString = serializeModelToJson(model);
+ final String expectedModelString = fromStream(expectedJsonFileLocation);
+ assertJson(expectedModelString, actualModelString);
+ return model;
+ } catch (IOException | JSONException ex) {
+ LOG.error("Error while doing assert Json serialization Assertion: model: {}, " +
+ "expected Json File Location: {}, Exception {}", model, expectedJsonFileLocation, ex);
+ throw new RuntimeException(ex);
+ }
+
+ }
+
+
+ /**
+ * Checks both serialization and deserialization.
+ *
+ * First checks deserialization and then serialize the deserialized object back to json
+ * and check if matches the given json file location string
+ *
+ * @param jsonFileLocation Classpath location of the json file
+ * @param modelClass Class type
+ * @param <T> Json Model Type
+ *
+ * @return If assertion passes, returns deserialized object
+ */
+
+ public static <T> T assertJsonConversions(String jsonFileLocation, Class<T> modelClass) {
+ //first check deserialization
+ final T actualValue = deserializeJsonFileToModel(jsonFileLocation, modelClass);
+ //then check serialization
+ assertJsonSerialization(actualValue, jsonFileLocation);
+
+ return actualValue;
+ }
+
+
+}
diff --git a/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/domain/cef/EventSeverityTest.java b/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/domain/cef/EventSeverityTest.java
new file mode 100644
index 0000000..cb458aa
--- /dev/null
+++ b/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/domain/cef/EventSeverityTest.java
@@ -0,0 +1,71 @@
+/*
+ * ===============================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.model.domain.cef;
+
+import org.junit.Assert;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.test.BaseDCAEAnalyticsUnitTest;
+
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ *
+ * @author Rajiv Singla . Creation Date: 11/10/2016.
+ */
+public class EventSeverityTest extends BaseDCAEAnalyticsUnitTest {
+
+ private static Comparator<EventSeverity> eventSeverityComparator = new Comparator<EventSeverity>() {
+ @Override
+ public int compare(EventSeverity eventSeverity1, EventSeverity eventSeverity2) {
+ return eventSeverity1.compareTo(eventSeverity2);
+ }
+ };
+
+ @Test
+ public void testEventSeverityOrdering() throws Exception {
+
+ List<EventSeverity> eventSeverities = new LinkedList<>();
+ Collections.addAll(eventSeverities,
+ EventSeverity.NORMAL,
+ EventSeverity.WARNING,
+ EventSeverity.MINOR,
+ EventSeverity.MAJOR,
+ EventSeverity.CRITICAL);
+
+ Collections.sort(eventSeverities);
+
+ List<EventSeverity> expectedEventSeverities = new LinkedList<>();
+ Collections.addAll(expectedEventSeverities,
+ EventSeverity.CRITICAL,
+ EventSeverity.MAJOR,
+ EventSeverity.MINOR,
+ EventSeverity.WARNING,
+ EventSeverity.NORMAL
+ );
+
+ Assert.assertTrue("Severity Order must be CRITICAL, MAJOR, MINOR, WARNING, NORMAL",
+ eventSeverities.equals(expectedEventSeverities));
+
+ }
+}
diff --git a/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/facade/tca/AAITest.java b/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/facade/tca/AAITest.java
new file mode 100644
index 0000000..d5c5186
--- /dev/null
+++ b/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/facade/tca/AAITest.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.model.facade.tca;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.model.BaseAnalyticsModelUnitTest;
+
+import static org.hamcrest.core.Is.is;
+import static org.junit.Assert.assertThat;
+
+/**
+ * @author Rajiv Singla . Creation Date: 12/16/2016.
+ */
+public class AAITest extends BaseAnalyticsModelUnitTest {
+
+ private AAI aai;
+
+ @Before
+ public void before() {
+ this.aai = new AAI();
+ }
+
+ @Test
+ public void getGenericVNFId() throws Exception {
+ final String genericVNFId = "testVNFID";
+ aai.setGenericVNFId(genericVNFId);
+ assertThat("VNFID must be same", aai.getGenericVNFId(), is(genericVNFId));
+ }
+
+ @Test
+ public void setGenericVNFId() throws Exception {
+ final String genericVNFId = "testVNFID";
+ aai.setGenericVNFId(genericVNFId);
+ final String changedGenericVNFId = "changedVNFID";
+ aai.setGenericVNFId(changedGenericVNFId);
+ assertThat("VNFID must be same as changed VNFID", aai.getGenericVNFId(), is(changedGenericVNFId));
+
+ }
+
+}
diff --git a/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/facade/tca/TCAVESResponseTest.java b/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/facade/tca/TCAVESResponseTest.java
new file mode 100644
index 0000000..9696823
--- /dev/null
+++ b/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/facade/tca/TCAVESResponseTest.java
@@ -0,0 +1,78 @@
+/*
+ * ===============================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.model.facade.tca;
+
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.model.BaseAnalyticsModelUnitTest;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+/**
+ * @author Rajiv Singla . Creation Date: 12/16/2016.
+ */
+public class TCAVESResponseTest extends BaseAnalyticsModelUnitTest {
+
+ final String tcaVESCEFResponseJsonFileLocation = "data/json/facade/tca_ves_cef_response.json";
+
+
+ @Test
+ public void testTCAPolicyJsonConversions() throws Exception {
+
+ final TCAVESResponse vesCEFMessageResponse =
+ assertJsonConversions(tcaVESCEFResponseJsonFileLocation, TCAVESResponse.class);
+
+ assertThat("VES CEF Message Response AAI generics VNF Id must match",
+ vesCEFMessageResponse.getAai().getGenericVNFId(), is("vpp-test(?)"));
+
+ assertThat("VES CEF Message target type must be parsed correctly as VNF",
+ vesCEFMessageResponse.getTargetType(), is("VNF"));
+
+ assertThat("VES closed Loop Name must be CL-FRWL-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8",
+ vesCEFMessageResponse.getClosedLoopControlName(),
+ is("CL-FRWL-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8"));
+
+ assertThat("version must be 1.0.2", vesCEFMessageResponse.getVersion(), is("1.0.2"));
+
+ assertThat("closedLoopAlarmStart must be 1478189220547",
+ vesCEFMessageResponse.getClosedLoopAlarmStart(), is(1478189220547L));
+ assertThat("closedLoopEventClient must be tca.instance00001",
+ vesCEFMessageResponse.getClosedLoopEventClient(), is("tca.instance00001"));
+ assertThat("target_type must be VNF", vesCEFMessageResponse.getTargetType(), is("VNF"));
+ assertThat("target must be VNF", vesCEFMessageResponse.getTarget(), is("generic-vnf.vnf-id"));
+ assertThat("aai generic vnf id must be vpp-test(?)", vesCEFMessageResponse.getAai().getGenericVNFId(),
+ is("vpp-test(?)"));
+ assertThat("from must be DCAE", vesCEFMessageResponse.getFrom(), is("DCAE"));
+ assertThat("policyScope must be resource=vFirewall;type=configuration",
+ vesCEFMessageResponse.getPolicyScope(), is("resource=vFirewall;type=configuration"));
+
+ assertThat("policyName must be configuration.dcae.microservice.tca.xml",
+ vesCEFMessageResponse.getPolicyName(), is("configuration.dcae.microservice.tca.xml"));
+
+ assertThat("policyVersion must be v0.0.1",
+ vesCEFMessageResponse.getPolicyVersion(), is("v0.0.1"));
+
+ assertThat("closedLoopEventStatus is ONSET",
+ vesCEFMessageResponse.getClosedLoopEventStatus(), is("ONSET"));
+
+ }
+
+}
diff --git a/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/util/AnalyticsModelIOUtilsTest.java b/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/util/AnalyticsModelIOUtilsTest.java
new file mode 100644
index 0000000..d9d004c
--- /dev/null
+++ b/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/util/AnalyticsModelIOUtilsTest.java
@@ -0,0 +1,89 @@
+/*
+ * ===============================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.model.util;
+
+
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.openecomp.dcae.apod.analytics.model.BaseAnalyticsModelUnitTest;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Properties;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertThat;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.doThrow;
+
+/**
+ * @author Rajiv Singla . Creation Date: 10/17/2016.
+ */
+public class AnalyticsModelIOUtilsTest extends BaseAnalyticsModelUnitTest {
+
+ private static final String TEST_CONFIG_FILE_LOCATION = "data/json/config/testAppConfig.json";
+ private static final String INVALID_TEST_CONFIG_FILE_LOCATION = "data/json/config/invalidJsonConfig.json";
+ private static final String TEST_PROPERTIES_FILE_LOCATION = "data/testApp.properties";
+
+ @Test
+ public void testConvertToJsonObjectWhenFileLocationIsValid() throws Exception {
+ ConfigHolder configHolder =
+ AnalyticsModelIOUtils.convertToJsonObject(TEST_CONFIG_FILE_LOCATION, ConfigHolder.class);
+ String appName = configHolder.getConfig().getAppName();
+ assertEquals("App Name must match with json settings file value", "TestAppName", appName);
+ String appDescription = configHolder.getConfig().getAppDescription();
+ assertEquals("App Description much with json settings file value", "Test App Description", appDescription);
+ }
+
+ @Test(expected = RuntimeException.class)
+ public void testConvertToJsonObjectWhenFileLocationIsInvValid() throws Exception {
+ AnalyticsModelIOUtils.convertToJsonObject("InvalidFileLocation", ConfigHolder.class);
+ }
+
+ @Test(expected = RuntimeException.class)
+ public void testConvertToJsonObjectWhenJsonFileHasInvalidJson() throws Exception {
+ AnalyticsModelIOUtils.convertToJsonObject(INVALID_TEST_CONFIG_FILE_LOCATION, ConfigHolder.class);
+ }
+
+
+ @Test
+ public void testValidPropertiesFileLoading() throws Exception {
+ final Properties properties =
+ AnalyticsModelIOUtils.loadPropertiesFile(TEST_PROPERTIES_FILE_LOCATION, new Properties());
+ assertThat("Properties File must contain 2 properties", properties.size(), is(2));
+ }
+
+ @Test(expected = RuntimeException.class)
+ public void testNonExistingPropertiesFileLoading() throws Exception {
+ AnalyticsModelIOUtils.loadPropertiesFile("InvalidPropertiesFileLocation", new Properties());
+ }
+
+ @Test(expected = RuntimeException.class)
+ public void testLoadPropertiesFileWhenIOException() throws Exception {
+ final Properties mockProperties = Mockito.mock(Properties.class);
+ doThrow(new IOException()).when(mockProperties).load(any(InputStream.class));
+ AnalyticsModelIOUtils.loadPropertiesFile(TEST_PROPERTIES_FILE_LOCATION, mockProperties);
+
+ }
+
+}
+
diff --git a/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/util/AnalyticsModelJsonUtilsTest.java b/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/util/AnalyticsModelJsonUtilsTest.java
new file mode 100644
index 0000000..f699ad6
--- /dev/null
+++ b/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/util/AnalyticsModelJsonUtilsTest.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.model.util;
+
+import com.fasterxml.jackson.core.type.TypeReference;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.model.BaseAnalyticsModelUnitTest;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.EventListener;
+
+import java.io.InputStream;
+import java.util.List;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertThat;
+
+/**
+ * @author Rajiv Singla . Creation Date: 12/16/2016.
+ */
+public class AnalyticsModelJsonUtilsTest extends BaseAnalyticsModelUnitTest {
+
+ private static final TypeReference<List<EventListener>> EVENT_LISTENER_TYPE_REFERENCE =
+ new TypeReference<List<EventListener>>() {
+ };
+
+ final String cefMessagesJsonFileLocation = "data/json/cef/cef_messages.json";
+ final String eventListenerJsonFileLocation = "data/json/cef/event_listener.json";
+
+ @Test
+ public void testReadValueWithTypeReference() throws Exception {
+ final InputStream resourceAsStream =
+ Thread.currentThread().getContextClassLoader().getResourceAsStream(cefMessagesJsonFileLocation);
+ List<EventListener> eventListeners = AnalyticsModelJsonUtils.readValue(resourceAsStream,
+ EVENT_LISTENER_TYPE_REFERENCE);
+ assertThat("Event Listeners size must be 350", eventListeners.size(), is(350));
+ }
+
+ @Test
+ public void testReadValueWithClassType() throws Exception {
+ final InputStream resourceAsStream =
+ Thread.currentThread().getContextClassLoader().getResourceAsStream(eventListenerJsonFileLocation);
+ final EventListener eventListener = AnalyticsModelJsonUtils.readValue(resourceAsStream, EventListener.class);
+ assertNotNull("Event Listener event is not null", eventListener.getEvent());
+ }
+
+ @Test
+ public void testWriteValueAsString() throws Exception {
+ final InputStream resourceAsStream =
+ Thread.currentThread().getContextClassLoader().getResourceAsStream(eventListenerJsonFileLocation);
+ final EventListener eventListener = AnalyticsModelJsonUtils.readValue(resourceAsStream, EventListener.class);
+ final String eventListenerString = AnalyticsModelJsonUtils.writeValueAsString(eventListener);
+ assertJson(fromStream(eventListenerJsonFileLocation), eventListenerString);
+ }
+
+ @Test
+ public void testReadValueWithJsonString() throws Exception {
+ final EventListener eventListener =
+ AnalyticsModelJsonUtils.readValue(fromStream(eventListenerJsonFileLocation), EventListener.class);
+ assertNotNull("Event Listener event is not null", eventListener.getEvent());
+ }
+
+}
diff --git a/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/util/ConfigHolder.java b/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/util/ConfigHolder.java
new file mode 100644
index 0000000..f0e15bd
--- /dev/null
+++ b/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/util/ConfigHolder.java
@@ -0,0 +1,33 @@
+/*
+ * ===============================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.model.util;
+
+/**
+ * Created by Rajiv Singla on 10/5/2016.
+ */
+public class ConfigHolder {
+
+ private TestAppConfig config;
+
+ public TestAppConfig getConfig() {
+ return config;
+ }
+}
diff --git a/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/util/TestAppConfig.java b/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/util/TestAppConfig.java
new file mode 100644
index 0000000..5699192
--- /dev/null
+++ b/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/util/TestAppConfig.java
@@ -0,0 +1,40 @@
+/*
+ * ===============================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.model.util;
+
+/**
+ * Created by Rajiv Singla on 10/5/2016.
+ */
+public class TestAppConfig {
+
+ private String appName;
+ private String appDescription;
+
+ public String getAppName() {
+ return appName;
+ }
+
+ public String getAppDescription() {
+ return appDescription;
+ }
+}
+
+
diff --git a/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/util/json/AnalyticsModelObjectMapperSupplierTest.java b/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/util/json/AnalyticsModelObjectMapperSupplierTest.java
new file mode 100644
index 0000000..7d4624d
--- /dev/null
+++ b/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/util/json/AnalyticsModelObjectMapperSupplierTest.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.model.util.json;
+
+import com.jayway.jsonpath.Configuration;
+import com.jayway.jsonpath.JsonPath;
+import com.jayway.jsonpath.Option;
+import com.jayway.jsonpath.spi.json.JsonProvider;
+import com.jayway.jsonpath.spi.mapper.MappingProvider;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.model.BaseAnalyticsModelUnitTest;
+
+import java.util.Set;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.Matchers.containsInAnyOrder;
+import static org.junit.Assert.assertThat;
+
+
+/**
+ * @author Rajiv Singla . Creation Date: 12/16/2016.
+ */
+public class AnalyticsModelObjectMapperSupplierTest extends BaseAnalyticsModelUnitTest {
+
+
+ @Test
+ public void testJsonPathSettings() throws Exception {
+ final Configuration configuration = JsonPath.parse("{\"test\": \"test\"}").configuration();
+
+ final JsonProvider jsonProvider = configuration.jsonProvider();
+ final String jsonProviderClassName = jsonProvider.getClass().getSimpleName();
+ assertThat("Json Provider cass name must be JacksonJsonProvider",
+ jsonProviderClassName, is("JacksonJsonProvider"));
+
+ final MappingProvider mappingProvider = configuration.mappingProvider();
+ final String mappingProviderClassName = mappingProvider.getClass().getSimpleName();
+ assertThat("Mapping Provider cass name must be JacksonMappingProvider",
+ mappingProviderClassName, is("JacksonMappingProvider"));
+
+ final Set<Option> configurationOptions = configuration.getOptions();
+ assertThat(configurationOptions,
+ containsInAnyOrder(Option.DEFAULT_PATH_LEAF_TO_NULL, Option.SUPPRESS_EXCEPTIONS));
+ }
+
+}
diff --git a/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/AlertTypeMixinTest.java b/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/AlertTypeMixinTest.java
new file mode 100644
index 0000000..e0792e5
--- /dev/null
+++ b/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/AlertTypeMixinTest.java
@@ -0,0 +1,51 @@
+/*
+ * ===============================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.model.util.json.mixin.cef;
+
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.model.BaseAnalyticsModelUnitTest;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.AlertType;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+import static org.openecomp.dcae.apod.analytics.model.domain.cef.AlertType.CARD_ANOMALY;
+
+/**
+ *
+ * @author Rajiv Singla . Creation Date: 11/3/2016.
+ */
+public class AlertTypeMixinTest extends BaseAnalyticsModelUnitTest {
+
+ // NOTE: Alert type enum has some special customizations in AlertTypeMixin class
+ // as Java enum names does not allow for "-" so actual values are coded as enum names
+ @Test
+ public void testAlertTypeJsonConversions() throws Exception {
+
+ final String alertTypeJson = serializeModelToJson(CARD_ANOMALY);
+ assertThat("Alert Type Json for CARD ANOMALY must have hyphen in it", alertTypeJson,
+ is("\"CARD-ANOMALY\""));
+ // convert parsed alert type back to enum
+ final AlertType alertType = objectMapper.readValue(alertTypeJson, AlertType.class);
+ LOG.debug(alertType.toString());
+ assertThat("Json String for CARD ANOMALY with hyphen can be converted back to Alert Type", alertType,
+ is(CARD_ANOMALY));
+ }
+}
diff --git a/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/EventListenerMixinTest.java b/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/EventListenerMixinTest.java
new file mode 100644
index 0000000..61259b4
--- /dev/null
+++ b/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/cef/EventListenerMixinTest.java
@@ -0,0 +1,88 @@
+/*
+ * ===============================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.model.util.json.mixin.cef;
+
+import com.fasterxml.jackson.core.type.TypeReference;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.model.BaseAnalyticsModelUnitTest;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.EventListener;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.MeasurementsForVfScalingFields;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.VNicUsageArray;
+
+import java.util.List;
+import java.util.Map;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+/**
+ * @author Rajiv Singla . Creation Date: 10/18/2016.
+ */
+public class EventListenerMixinTest extends BaseAnalyticsModelUnitTest {
+
+ final String eventListenerJsonFileLocation = "data/json/cef/event_listener.json";
+ final String cefMessagesJsonFileLocation = "data/json/cef/cef_messages.json";
+
+ @Test
+ public void testEventListenerJsonConversions() throws Exception {
+
+ final EventListener eventListener = assertJsonConversions(eventListenerJsonFileLocation, EventListener.class);
+
+ Map<String, Object> dynamicProperties = eventListener.getDynamicProperties();
+
+ assertThat("Dynamic Properties size must be 1", dynamicProperties.size(), is(1));
+
+
+ }
+
+ @Test
+ public void testCollectionOfEventListenersJsonConversion() throws Exception {
+
+ final String cefMessageAsString = fromStream(cefMessagesJsonFileLocation);
+
+ final TypeReference<List<EventListener>> eventListenerListTypeReference =
+ new TypeReference<List<EventListener>>() {
+ };
+ List<EventListener> eventListeners = objectMapper.readValue(cefMessageAsString, eventListenerListTypeReference);
+ assertThat("Event Listeners size must be 350", eventListeners.size(), is(350));
+
+ final MeasurementsForVfScalingFields measurementsForVfScalingFields = eventListeners.get(0).getEvent()
+ .getMeasurementsForVfScalingFields();
+
+ // Note: vNicUsageArray - due to odd naming convention have to be explicitly resolved with Mixin annotations
+ assertThat("vNicUsageArray is present on the first measurementForVfScaling",
+ measurementsForVfScalingFields.getVNicUsageArray().size(), is(1));
+ final VNicUsageArray vNicUsageArray = measurementsForVfScalingFields.getVNicUsageArray().get(0);
+ assertThat("ByesIn is present on vNicUsageArray", vNicUsageArray.getBytesIn(), is(6086L));
+
+ // Note: vNicIdentifier - due to odd naming convention have to be explicity resolved with Mixin annotations
+ assertThat("vNicIdentifier is present on vNicUsageArray", vNicUsageArray.getVNicIdentifier(), is("eth0"));
+
+ // Check serialized json will match deserialized json
+ final String eventListenerString = objectMapper.writeValueAsString(eventListeners);
+ assertJson(cefMessageAsString, eventListenerString);
+
+ // Checks serialization
+ testSerialization(eventListeners, getClass());
+
+ }
+
+}
diff --git a/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/facade/tca/TCAVESResponseMixinTest.java b/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/facade/tca/TCAVESResponseMixinTest.java
new file mode 100644
index 0000000..3285ded
--- /dev/null
+++ b/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/facade/tca/TCAVESResponseMixinTest.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.model.util.json.mixin.facade.tca;
+
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.model.BaseAnalyticsModelUnitTest;
+import org.openecomp.dcae.apod.analytics.model.facade.tca.TCAVESResponse;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+/**
+ *
+ * @author Rajiv Singla . Creation Date: 11/9/2016.
+ */
+public class TCAVESResponseMixinTest extends BaseAnalyticsModelUnitTest {
+
+ final String tcaVESCEFResponseJsonFileLocation = "data/json/facade/tca_ves_cef_response.json";
+
+ @Test
+ public void testTCAPolicyJsonConversions() throws Exception {
+
+ final TCAVESResponse vesCEFMessageResponse =
+ assertJsonConversions(tcaVESCEFResponseJsonFileLocation, TCAVESResponse.class);
+
+ assertThat("VES CEF Message Response AAI generics VNF Id must match",
+ vesCEFMessageResponse.getAai().getGenericVNFId(), is("vpp-test(?)"));
+
+ assertThat("VES CEF Message Response AAI generic Server Id must match",
+ vesCEFMessageResponse.getAai().getGenericServerId(), is("dfw1lb01lb01"));
+
+ assertThat("VES CEF Message target type must be parsed correctly as VNF",
+ vesCEFMessageResponse.getTargetType(), is("VNF"));
+
+ testSerialization(vesCEFMessageResponse, getClass());
+
+ }
+
+}
diff --git a/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/policy/tca/TCAPolicyMixinTest.java b/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/policy/tca/TCAPolicyMixinTest.java
new file mode 100644
index 0000000..09c9672
--- /dev/null
+++ b/dcae-analytics-model/src/test/java/org/openecomp/dcae/apod/analytics/model/util/json/mixin/policy/tca/TCAPolicyMixinTest.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.model.util.json.mixin.policy.tca;
+
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.model.BaseAnalyticsModelUnitTest;
+import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.TCAPolicy;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+/**
+ *
+ * @author Rajiv Singla . Creation Date: 11/5/2016.
+ */
+public class TCAPolicyMixinTest extends BaseAnalyticsModelUnitTest {
+
+ final String tcaPolicyJsonFileLocation = "data/json/policy/tca_policy.json";
+
+ @Test
+ public void testTCAPolicyJsonConversions() throws Exception {
+
+ final TCAPolicy tcaPolicy = assertJsonConversions(tcaPolicyJsonFileLocation, TCAPolicy.class);
+
+ assertThat("TCA Policy Metrics Per functional role must be 2",
+ tcaPolicy.getMetricsPerFunctionalRole().size(), is(2));
+
+ assertThat("TCA Policy Thresholds for first functional role must be 2",
+ tcaPolicy.getMetricsPerFunctionalRole().get(0).getThresholds().size(), is(2));
+
+ testSerialization(tcaPolicy, getClass());
+
+ }
+
+
+
+
+}
diff --git a/dcae-analytics-model/src/test/resources/data/json/cef/cef_messages.json b/dcae-analytics-model/src/test/resources/data/json/cef/cef_messages.json
new file mode 100644
index 0000000..bc7a924
--- /dev/null
+++ b/dcae-analytics-model/src/test/resources/data/json/cef/cef_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-model/src/test/resources/data/json/cef/event_listener.json b/dcae-analytics-model/src/test/resources/data/json/cef/event_listener.json
new file mode 100644
index 0000000..87a1fe2
--- /dev/null
+++ b/dcae-analytics-model/src/test/resources/data/json/cef/event_listener.json
@@ -0,0 +1,42 @@
+{
+ "hp.tag": "hp.collectorStream.20161014.0000000004",
+ "event": {
+ "measurementsForVfScalingFields": {
+ "memoryConfigured": 1,
+ "requestRate": 1,
+ "measurementInterval": 10,
+ "meanRequestLatency": 1,
+ "concurrentSessions": 1,
+ "measurementFieldsVersion": 1,
+ "vNicUsageArray": [
+ {
+ "multicastPacketsIn": 1,
+ "bytesIn": 597,
+ "unicastPacketsIn": 9,
+ "multicastPacketsOut": 1,
+ "broadcastPacketsOut": 1,
+ "bytesOut": 0,
+ "broadcastPacketsIn": 1,
+ "vNicIdentifier": "GigabitEthernet0/4/0",
+ "unicastPacketsOut": 0
+ }
+ ],
+ "memoryUsed": 1,
+ "configuredEntities": 1
+ },
+ "commonEventHeader": {
+ "reportingEntityName": "Dummy VM name - No Metadata available",
+ "startEpochMicrosec": 1476456641231767,
+ "lastEpochMicrosec": 1476456641231767,
+ "eventId": "1",
+ "priority": "Normal",
+ "sourceName": "Dummy VM name - No Metadata available",
+ "sequence": 1,
+ "functionalRole": "vFirewall",
+ "domain": "measurementsForVfScaling",
+ "reportingEntityId": "Dummy VM UUID - No Metadata available",
+ "version": 1,
+ "sourceId": "Dummy VM UUID - No Metadata available"
+ }
+ }
+}
diff --git a/dcae-analytics-model/src/test/resources/data/json/config/invalidJsonConfig.json b/dcae-analytics-model/src/test/resources/data/json/config/invalidJsonConfig.json
new file mode 100644
index 0000000..b706da0
--- /dev/null
+++ b/dcae-analytics-model/src/test/resources/data/json/config/invalidJsonConfig.json
@@ -0,0 +1,6 @@
+{
+ "config": {
+ "appName": "TestAppName",
+ "appDescription": "Test App Description",
+ }
+}
diff --git a/dcae-analytics-model/src/test/resources/data/json/config/testAppConfig.json b/dcae-analytics-model/src/test/resources/data/json/config/testAppConfig.json
new file mode 100644
index 0000000..cdad420
--- /dev/null
+++ b/dcae-analytics-model/src/test/resources/data/json/config/testAppConfig.json
@@ -0,0 +1,6 @@
+{
+ "config": {
+ "appName": "TestAppName",
+ "appDescription": "Test App Description"
+ }
+}
diff --git a/dcae-analytics-model/src/test/resources/data/json/facade/tca_ves_cef_response.json b/dcae-analytics-model/src/test/resources/data/json/facade/tca_ves_cef_response.json
new file mode 100644
index 0000000..98135ec
--- /dev/null
+++ b/dcae-analytics-model/src/test/resources/data/json/facade/tca_ves_cef_response.json
@@ -0,0 +1,18 @@
+{
+ "closedLoopControlName": "CL-FRWL-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8",
+ "version": "1.0.2",
+ "requestID": "0138afac-b032-4e4b-bd30-88260f444888",
+ "closedLoopAlarmStart": 1478189220547,
+ "closedLoopEventClient": "tca.instance00001",
+ "target_type": "VNF",
+ "target": "generic-vnf.vnf-id",
+ "AAI": {
+ "generic-vnf.vnf-id" : "vpp-test(?)",
+ "vserver.vserver-name": "dfw1lb01lb01"
+ },
+ "from": "DCAE",
+ "policyScope": "resource=vFirewall;type=configuration",
+ "policyName": "configuration.dcae.microservice.tca.xml",
+ "policyVersion": "v0.0.1",
+ "closedLoopEventStatus": "ONSET"
+}
diff --git a/dcae-analytics-model/src/test/resources/data/json/policy/tca_policy.json b/dcae-analytics-model/src/test/resources/data/json/policy/tca_policy.json
new file mode 100644
index 0000000..28b738a
--- /dev/null
+++ b/dcae-analytics-model/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": "events.measurementsForVfScaling.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": "events.measurementsForVfScaling.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": "events.measurementsForVfScaling.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": "events.measurementsForVfScaling.vNicUsageArray.packetsIn",
+ "thresholdValue": 5000,
+ "direction": "GREATER_OR_EQUAL",
+ "severity": "CRITICAL"
+ }
+ ]
+ }
+ ]
+}
diff --git a/dcae-analytics-model/src/test/resources/data/testApp.properties b/dcae-analytics-model/src/test/resources/data/testApp.properties
new file mode 100644
index 0000000..0161060
--- /dev/null
+++ b/dcae-analytics-model/src/test/resources/data/testApp.properties
@@ -0,0 +1,22 @@
+#
+# ===============================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===========================================
+#
+
+testProp1="testPropValue1"
+testProp2="testPropValue2"
diff --git a/dcae-analytics-model/src/test/resources/logback-test.xml b/dcae-analytics-model/src/test/resources/logback-test.xml
new file mode 100644
index 0000000..68d2f3d
--- /dev/null
+++ b/dcae-analytics-model/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-tca/pom.xml b/dcae-analytics-tca/pom.xml
new file mode 100644
index 0000000..a1ce2d5
--- /dev/null
+++ b/dcae-analytics-tca/pom.xml
@@ -0,0 +1,101 @@
+<?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-tca</artifactId>
+ <packaging>jar</packaging>
+
+ <!-- THIS MODULE CONTAINS CORE FUNCTIONALITY CODE FOR TCA (THRESHOLD CROSSING ALERT) -->
+ <name>DCAE Analytics TCA Core</name>
+ <description>DCAE Analytics TCA (THRESHOLD CROSSING ALERT) Core</description>
+
+ <properties>
+ <main.basedir>${project.parent.basedir}</main.basedir>
+ </properties>
+
+ <dependencies>
+
+ <!-- DCAE DEPENDENCIES -->
+ <dependency>
+ <groupId>org.openecomp.dcae.apod.analytics</groupId>
+ <artifactId>dcae-analytics-common</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.openecomp.dcae.apod.analytics</groupId>
+ <artifactId>dcae-analytics-dmaap</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ </dependency>
+
+ <!-- SCHEDULER -->
+ <dependency>
+ <groupId>org.quartz-scheduler</groupId>
+ <artifactId>quartz</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>
+ </dependency>
+ <dependency>
+ <groupId>com.google.code.findbugs</groupId>
+ <artifactId>annotations</artifactId>
+ </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>
+ </dependencies>
+
+</project>
diff --git a/dcae-analytics-tca/src/main/java/org/openecomp/dcae/apod/analytics/tca/processor/AbstractTCAECEFPolicyProcessor.java b/dcae-analytics-tca/src/main/java/org/openecomp/dcae/apod/analytics/tca/processor/AbstractTCAECEFPolicyProcessor.java
new file mode 100644
index 0000000..6cb8e7f
--- /dev/null
+++ b/dcae-analytics-tca/src/main/java/org/openecomp/dcae/apod/analytics/tca/processor/AbstractTCAECEFPolicyProcessor.java
@@ -0,0 +1,61 @@
+/*
+ * ===============================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.tca.processor;
+
+import org.openecomp.dcae.apod.analytics.common.exception.MessageProcessingException;
+import org.openecomp.dcae.apod.analytics.common.service.processor.AbstractMessageProcessor;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.EventListener;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.annotation.Nonnull;
+
+/**
+ * <p>
+ * Encapsulates common functionality for all TCA CEF Policy Processors
+ * </p>
+ *
+ * @author Rajiv Singla . Creation Date: 11/9/2016.
+ */
+public abstract class AbstractTCAECEFPolicyProcessor extends AbstractMessageProcessor<TCACEFProcessorContext> {
+
+ private static final Logger LOG = LoggerFactory.getLogger(AbstractTCAECEFPolicyProcessor.class);
+
+ /**
+ * For all TCA Policy Processor the pre processor ensures that {@link EventListener} object is
+ * present
+ *
+ * @param processorContext incoming Processor Context
+ * @return Pre processed Processor Context
+ */
+ @Override
+ public TCACEFProcessorContext preProcessor(@Nonnull TCACEFProcessorContext processorContext) {
+ // validates CEF Event Listener is Present
+ final EventListener cefEventListener = processorContext.getCEFEventListener();
+ if (cefEventListener == null) {
+ final String errorMessage = String.format(
+ "CEF Event Listener is not Present.Invalid use of Processor: %s. CEF Message: %s",
+ getProcessorInfo().getProcessorName(), processorContext.getMessage());
+ throw new MessageProcessingException(errorMessage, LOG, new IllegalArgumentException(errorMessage));
+ }
+ return super.preProcessor(processorContext);
+ }
+}
diff --git a/dcae-analytics-tca/src/main/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFJsonProcessor.java b/dcae-analytics-tca/src/main/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFJsonProcessor.java
new file mode 100644
index 0000000..944eba6
--- /dev/null
+++ b/dcae-analytics-tca/src/main/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFJsonProcessor.java
@@ -0,0 +1,98 @@
+/*
+ * ===============================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.tca.processor;
+
+import org.apache.commons.lang3.StringUtils;
+import org.openecomp.dcae.apod.analytics.common.exception.MessageProcessingException;
+import org.openecomp.dcae.apod.analytics.common.service.processor.AbstractMessageProcessor;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.EventListener;
+import org.openecomp.dcae.apod.analytics.tca.utils.TCAUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+
+/**
+ *<p>
+ * Processor that converts incoming presumed JSON string CEF message to {@link EventListener} object
+ * <br>
+ * Pre Conditions: None
+ *</p>
+ *
+ * @author Rajiv Singla . Creation Date: 11/5/2016.
+ */
+public class TCACEFJsonProcessor extends AbstractMessageProcessor<TCACEFProcessorContext> {
+
+
+ private static final long serialVersionUID = 1L;
+
+ private static final Logger LOG = LoggerFactory.getLogger(TCACEFJsonProcessor.class);
+
+
+ @Override
+ public String getProcessorDescription() {
+ return "Converts incoming TCA CEF Message to Event Listener object";
+ }
+
+ @Override
+ public TCACEFProcessorContext processMessage(TCACEFProcessorContext processorContext) {
+
+ final String cefMessage = processorContext.getMessage();
+
+ // If CEF Message is null then processor should stop processing
+ if (cefMessage == null) {
+ String errorMessage = "Null CEF message cannot be converted to CEF Event Listener Object";
+ throw new MessageProcessingException(errorMessage, LOG, new IllegalArgumentException(errorMessage));
+ }
+
+ // If CEF Message is blank then processor stop processing
+ if (StringUtils.isBlank(cefMessage)) {
+ setTerminatingProcessingMessage("Blank CEF message cannot be converted to CEF Event Listener Object",
+ processorContext);
+ return processorContext;
+ }
+
+ // trim cef message
+ final String trimmedCEFMessage = cefMessage.trim();
+
+ // if message does not start with curly brace and ends with curly brace, it is not a valid cef message
+ // processor will stop processing
+ if (!(trimmedCEFMessage.startsWith("{") && trimmedCEFMessage.endsWith("}"))) {
+ setTerminatingProcessingMessage("CEF Message must start with curly brace and must end with curly brace",
+ processorContext);
+ return processorContext;
+ }
+
+ // try parsing the cef message
+ try {
+ final EventListener eventListener = TCAUtils.readValue(trimmedCEFMessage, EventListener.class);
+ setFinishedProcessingMessage("CEF JSON to Event Listener Conversion Successful", processorContext);
+ // set new Event Listener in the Processor Context
+ processorContext.setCEFEventListener(eventListener);
+ return processorContext;
+ } catch (IOException e) {
+ final String errorMessage = String.format("Parsing Failed for CEF Message: %s, Error: %s", cefMessage, e);
+ // If parsing fails throw an exception
+ throw new MessageProcessingException(errorMessage, LOG, e);
+ }
+
+ }
+}
diff --git a/dcae-analytics-tca/src/main/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFPolicyDomainFilter.java b/dcae-analytics-tca/src/main/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFPolicyDomainFilter.java
new file mode 100644
index 0000000..40d6330
--- /dev/null
+++ b/dcae-analytics-tca/src/main/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFPolicyDomainFilter.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.tca.processor;
+
+import org.openecomp.dcae.apod.analytics.model.domain.cef.EventListener;
+
+/**
+ * <p>
+ * TCA Processor which acts like a filter to filter out messages which does not belong to TCA Policy Domain
+ * <br>
+ * Pre Conditions: CEF Event Listener must be present
+ * </p>
+ *
+ * @author Rajiv Singla . Creation Date: 11/7/2016.
+ */
+public class TCACEFPolicyDomainFilter extends AbstractTCAECEFPolicyProcessor {
+
+
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public String getProcessorDescription() {
+ return "Filters out CEF Messages which does not match TCAPolicy Domain";
+ }
+
+ @Override
+ public TCACEFProcessorContext processMessage(TCACEFProcessorContext processorContext) {
+
+ // Safe to get event Listener here without null check as pre processor will validate if
+ // event listener is indeed present
+ final EventListener eventListener = processorContext.getCEFEventListener();
+
+ String cefMessageDomain;
+
+ // Extract CEF domain as it is must be present as per CEF Schema
+ if (eventListener.getEvent() != null &&
+ eventListener.getEvent().getCommonEventHeader() != null &&
+ eventListener.getEvent().getCommonEventHeader().getDomain() != null) {
+ cefMessageDomain = eventListener.getEvent().getCommonEventHeader().getDomain();
+
+ } else {
+ final String terminatingMessage = "Invalid CEF Message.Common Event Header Domain not present.";
+ setTerminatingProcessingMessage(terminatingMessage, processorContext);
+ return processorContext;
+ }
+
+ // Get Policy Domain. TCA Policy Validation must ensure that Domain is indeed present
+ // no null check will be required here
+ final String policyDomain = processorContext.getTCAPolicy().getDomain();
+
+ // If Policy domain matches CEF message domain then continue processing
+ if (cefMessageDomain.equals(policyDomain)) {
+ final String finishMessage = String.format("Policy Domain and CEF Message Domain match successful." +
+ " Message Domain: %s, Policy Domain: %s", cefMessageDomain, policyDomain);
+ setFinishedProcessingMessage(finishMessage, processorContext);
+ } else {
+ // If policy domain does not match with CEF message terminate processing chain
+ final String terminatingMessage = String.format("Policy Domain and CEF Message Domain match unsuccessful." +
+ " Message Domain: %s, Policy Domain: %s", cefMessageDomain, policyDomain);
+ setTerminatingProcessingMessage(terminatingMessage, processorContext);
+ }
+
+ return processorContext;
+ }
+}
diff --git a/dcae-analytics-tca/src/main/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFPolicyFunctionalRoleFilter.java b/dcae-analytics-tca/src/main/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFPolicyFunctionalRoleFilter.java
new file mode 100644
index 0000000..8a97299
--- /dev/null
+++ b/dcae-analytics-tca/src/main/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFPolicyFunctionalRoleFilter.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.tca.processor;
+
+import com.google.common.base.Joiner;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.EventListener;
+import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.TCAPolicy;
+
+import java.util.List;
+
+import static org.openecomp.dcae.apod.analytics.tca.utils.TCAUtils.getPolicyFunctionalRoleSupplier;
+
+/**
+ * <p>
+ * TCA Processor that acts like a filter to filter out messages which does not belong to TCA Policy Functional Roles
+ * <br>
+ * Pre Conditions: CEF Event Listener must be present
+ * </p>
+ *
+ * @author Rajiv Singla . Creation Date: 11/9/2016.
+ */
+public class TCACEFPolicyFunctionalRoleFilter extends AbstractTCAECEFPolicyProcessor {
+
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public String getProcessorDescription() {
+ return "Filters out CEF Messages which does not match Policy Functional Roles";
+ }
+
+ @Override
+ public TCACEFProcessorContext processMessage(TCACEFProcessorContext processorContext) {
+
+ // Safe to get event Listener here without null check as pre processor will validate if
+ // event listener is indeed present
+ final EventListener eventListener = processorContext.getCEFEventListener();
+
+ String cefMessageFunctionalRole;
+
+ if (eventListener.getEvent() != null &&
+ eventListener.getEvent().getCommonEventHeader() != null &&
+ eventListener.getEvent().getCommonEventHeader().getFunctionalRole() != null) {
+ cefMessageFunctionalRole = eventListener.getEvent().getCommonEventHeader().getFunctionalRole();
+ } else {
+ String terminationMessage = "Invalid CEF Message.Common Event Header Functional Role not present.";
+ setTerminatingProcessingMessage(terminationMessage, processorContext);
+ return processorContext;
+ }
+
+ // Determine Policy Functional Roles
+ final TCAPolicy tcaPolicy = processorContext.getTCAPolicy();
+ final List<String> policyFunctionalRoles = getPolicyFunctionalRoleSupplier(tcaPolicy).get();
+ final String policyFunctionalRolesString = Joiner.on(",").join(policyFunctionalRoles);
+
+ // If Policy functional Roles contains CEF message Functional Role then continue processing
+ if (policyFunctionalRoles.contains(cefMessageFunctionalRole)) {
+ final String finishMessage = String.format(
+ "Policy Functional Roles and CEF Message Functional match successful." +
+ "Message Functional Role: %s, Policy Functional Roles: %s",
+ cefMessageFunctionalRole, policyFunctionalRolesString);
+ setFinishedProcessingMessage(finishMessage, processorContext);
+ } else {
+ // If Policy functional Roles does not contain CEF message Functiona Role then terminate processing
+ final String terminatingMessage = String.format(
+ "Policy Domain and CEF Message Domain match unsuccessful." +
+ "Message Functional Role: %s, Policy Functional Roles: %s",
+ cefMessageFunctionalRole, policyFunctionalRolesString);
+ setTerminatingProcessingMessage(terminatingMessage, processorContext);
+ }
+
+ return processorContext;
+ }
+}
diff --git a/dcae-analytics-tca/src/main/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFPolicyThresholdsProcessor.java b/dcae-analytics-tca/src/main/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFPolicyThresholdsProcessor.java
new file mode 100644
index 0000000..4d49cbb
--- /dev/null
+++ b/dcae-analytics-tca/src/main/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFPolicyThresholdsProcessor.java
@@ -0,0 +1,135 @@
+/*
+ * ===============================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.tca.processor;
+
+import com.google.common.base.Optional;
+import com.google.common.collect.Table;
+import org.openecomp.dcae.apod.analytics.common.exception.MessageProcessingException;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.EventListener;
+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.utils.TCAUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import javax.annotation.Nonnull;
+
+/**
+ *<p>
+ * TCA CEF Policy Threshold processor
+ * <br>
+ * Pre Conditions: Domain and Functional Role must be present in CEF Event Listener Object
+ *</p>
+ *
+ * @author Rajiv Singla . Creation Date: 11/9/2016.
+ */
+public class TCACEFPolicyThresholdsProcessor extends AbstractTCAECEFPolicyProcessor {
+
+ private static final long serialVersionUID = 1L;
+
+ private static final Logger LOG = LoggerFactory.getLogger(TCACEFPolicyThresholdsProcessor.class);
+
+ @Override
+ public TCACEFProcessorContext preProcessor(@Nonnull TCACEFProcessorContext processorContext) {
+ // validates Domain and Functional Role are present
+ final EventListener eventListener = processorContext.getCEFEventListener();
+ final String domain = eventListener.getEvent().getCommonEventHeader().getDomain();
+ final String functionalRole = eventListener.getEvent().getCommonEventHeader().getFunctionalRole();
+ if (domain == null || functionalRole == null) {
+ final String errorMessage = "CEF Event Listener domain or functional role not Present. " +
+ "Invalid use of this Processor";
+ throw new MessageProcessingException(errorMessage, LOG, new IllegalArgumentException(errorMessage));
+ }
+ return super.preProcessor(processorContext);
+ }
+
+ @Override
+ public String getProcessorDescription() {
+ return "Applies TCA Policy rules to incoming CEF message. If any thresholds are violated attaches max " +
+ "Severity violated threshold to TCA Processor Context";
+ }
+
+ @Override
+ public TCACEFProcessorContext processMessage(TCACEFProcessorContext processorContext) {
+
+ final String cefMessage = processorContext.getMessage();
+
+ // Determine domain and functional Role
+ final EventListener eventListener = processorContext.getCEFEventListener();
+ final String functionalRole = eventListener.getEvent().getCommonEventHeader().getFunctionalRole();
+
+ // Get Table containing Functional Role and Thresholds Field Path
+ final TCAPolicy tcaPolicy = processorContext.getTCAPolicy();
+ final Table<String, String, List<Threshold>> functionalRoleFieldPathsTable =
+ TCAUtils.getPolicyFRThresholdsTableSupplier(tcaPolicy).get();
+
+ // Get Policy Field Paths for that functional Role
+ final Map<String, List<Threshold>> policyFieldPathsMap = functionalRoleFieldPathsTable.row(functionalRole);
+ final Set<String> policyFieldPaths = policyFieldPathsMap.keySet();
+
+ // Get Json Values for Policy Fields
+ final Map<String, List<Long>> messageFieldValuesMap = TCAUtils.getJsonPathValue(cefMessage, policyFieldPaths);
+
+ // Determine all violated thresholds per message field Path
+ final Map<String, Threshold> violatedThresholdsMap = new HashMap<>();
+ for (Map.Entry<String, List<Long>> messageFieldValuesMapEntry : messageFieldValuesMap.entrySet()) {
+ final String messageFieldPath = messageFieldValuesMapEntry.getKey();
+ final List<Threshold> messageFieldAssociatedPolicyThresholds = policyFieldPathsMap.get(messageFieldPath);
+ if (messageFieldAssociatedPolicyThresholds != null) {
+ final Optional<Threshold> thresholdOptional = TCAUtils.thresholdCalculator(
+ messageFieldValuesMapEntry.getValue(), messageFieldAssociatedPolicyThresholds);
+ if (thresholdOptional.isPresent()) {
+ violatedThresholdsMap.put(messageFieldPath, thresholdOptional.get());
+ }
+ }
+ }
+
+ // No threshold were violated
+ if (violatedThresholdsMap.isEmpty()) {
+
+ final String terminationMessage = "No Policy Threshold violated by the VES CEF Message.";
+ setTerminatingProcessingMessage(terminationMessage, processorContext);
+
+ } else {
+
+ // If there are policy violations then determine max priority violation
+ final Threshold maxSeverityThresholdViolation =
+ TCAUtils.prioritizeThresholdViolations(violatedThresholdsMap);
+ final MetricsPerFunctionalRole violatedMetrics = TCAUtils.createViolatedMetrics(tcaPolicy,
+ maxSeverityThresholdViolation, functionalRole);
+ // attach policy violation to processor Context
+ processorContext.setMetricsPerFunctionalRole(violatedMetrics);
+
+ final String finishMessage = String.format("Policy Threshold violation detected for threshold: %s",
+ maxSeverityThresholdViolation);
+ setFinishedProcessingMessage(finishMessage, processorContext);
+
+ }
+
+ return processorContext;
+ }
+}
diff --git a/dcae-analytics-tca/src/main/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFProcessorContext.java b/dcae-analytics-tca/src/main/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFProcessorContext.java
new file mode 100644
index 0000000..d2ba545
--- /dev/null
+++ b/dcae-analytics-tca/src/main/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFProcessorContext.java
@@ -0,0 +1,103 @@
+/*
+ * ===============================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.tca.processor;
+
+import org.openecomp.dcae.apod.analytics.common.service.processor.AbstractProcessorContext;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.EventListener;
+import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.MetricsPerFunctionalRole;
+import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.TCAPolicy;
+
+/**
+ * TCA CEF Policy Processor Context
+ *
+ * @author Rajiv Singla . Creation Date: 11/7/2016.
+ */
+public class TCACEFProcessorContext extends AbstractProcessorContext {
+
+ private static final long serialVersionUID = 1L;
+
+ private final TCAPolicy tcaPolicy;
+ private EventListener eventListener;
+ private MetricsPerFunctionalRole metricsPerFunctionalRole;
+
+ public TCACEFProcessorContext(final String message, boolean canProcessingContinue, final TCAPolicy tcaPolicy) {
+ super(message, canProcessingContinue);
+ this.tcaPolicy = tcaPolicy;
+ // present only if cef incoming message can be parsed successfully to Event Listener Object
+ this.eventListener = null;
+ // present only if there are any threshold violations are detected
+ this.metricsPerFunctionalRole = null;
+ }
+
+ // Auxiliary Constructor which default canProcessingContinue Flag to true
+ public TCACEFProcessorContext(final String message, final TCAPolicy tcaPolicy) {
+ this(message, true, tcaPolicy);
+ }
+
+ /**
+ * Returns {@link TCAPolicy} Object
+ *
+ * @return TCA Policy
+ */
+ public TCAPolicy getTCAPolicy() {
+ return tcaPolicy;
+ }
+
+ /**
+ * Returns Common Event Format {@link EventListener} if present else null
+ *
+ * @return CEF Event Listener
+ */
+ public EventListener getCEFEventListener() {
+ return eventListener;
+ }
+
+
+ /**
+ * Sets new {@link EventListener}
+ *
+ * @param eventListener set new value for CEF event listener
+ */
+ public void setCEFEventListener(final EventListener eventListener) {
+ this.eventListener = eventListener;
+ }
+
+
+ /**
+ * Returns TCA Policy {@link MetricsPerFunctionalRole} which was has violated Threshold for the CEF Message if
+ * present else null
+ *
+ * @return Violated Threshold
+ */
+ public MetricsPerFunctionalRole getMetricsPerFunctionalRole() {
+ return metricsPerFunctionalRole;
+ }
+
+ /**
+ * Assign new TCA Policy {@link MetricsPerFunctionalRole} which was has violated Threshold for the CEF Message
+ *
+ * @param metricsPerFunctionalRole new value for Metrics Per Functional Role with violated threshold
+ */
+ public void setMetricsPerFunctionalRole(MetricsPerFunctionalRole metricsPerFunctionalRole) {
+ this.metricsPerFunctionalRole = metricsPerFunctionalRole;
+ }
+
+}
diff --git a/dcae-analytics-tca/src/main/java/org/openecomp/dcae/apod/analytics/tca/utils/TCAUtils.java b/dcae-analytics-tca/src/main/java/org/openecomp/dcae/apod/analytics/tca/utils/TCAUtils.java
new file mode 100644
index 0000000..2465fb4
--- /dev/null
+++ b/dcae-analytics-tca/src/main/java/org/openecomp/dcae/apod/analytics/tca/utils/TCAUtils.java
@@ -0,0 +1,791 @@
+/*
+ * ===============================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.tca.utils;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.google.common.base.Function;
+import com.google.common.base.Optional;
+import com.google.common.base.Predicate;
+import com.google.common.base.Predicates;
+import com.google.common.base.Supplier;
+import com.google.common.base.Suppliers;
+import com.google.common.collect.HashBasedTable;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import com.google.common.collect.Table;
+import com.jayway.jsonpath.DocumentContext;
+import com.jayway.jsonpath.JsonPath;
+import com.jayway.jsonpath.TypeRef;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.tuple.ImmutablePair;
+import org.apache.commons.lang3.tuple.Pair;
+import org.openecomp.dcae.apod.analytics.common.AnalyticsConstants;
+import org.openecomp.dcae.apod.analytics.common.exception.MessageProcessingException;
+import org.openecomp.dcae.apod.analytics.common.service.processor.AbstractMessageProcessor;
+import org.openecomp.dcae.apod.analytics.common.service.processor.GenericMessageChainProcessor;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.AlertAction;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.AlertType;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.CommonEventHeader;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.Criticality;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.EventListener;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.EventSeverity;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.PerformanceCounter;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.ThresholdCrossingAlertFields;
+import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.Direction;
+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.model.facade.tca.AAI;
+import org.openecomp.dcae.apod.analytics.model.facade.tca.TCAVESResponse;
+import org.openecomp.dcae.apod.analytics.model.util.AnalyticsModelIOUtils;
+import org.openecomp.dcae.apod.analytics.model.util.AnalyticsModelJsonUtils;
+import org.openecomp.dcae.apod.analytics.tca.processor.TCACEFJsonProcessor;
+import org.openecomp.dcae.apod.analytics.tca.processor.TCACEFPolicyDomainFilter;
+import org.openecomp.dcae.apod.analytics.tca.processor.TCACEFPolicyFunctionalRoleFilter;
+import org.openecomp.dcae.apod.analytics.tca.processor.TCACEFPolicyThresholdsProcessor;
+import org.openecomp.dcae.apod.analytics.tca.processor.TCACEFProcessorContext;
+import org.quartz.Job;
+import org.quartz.JobBuilder;
+import org.quartz.JobDataMap;
+import org.quartz.JobDetail;
+import org.quartz.Scheduler;
+import org.quartz.SchedulerException;
+import org.quartz.SimpleScheduleBuilder;
+import org.quartz.SimpleTrigger;
+import org.quartz.TriggerBuilder;
+import org.quartz.impl.StdSchedulerFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+import java.util.SortedMap;
+import java.util.TreeMap;
+import java.util.UUID;
+
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
+import static com.google.common.collect.Lists.newArrayList;
+import static org.apache.commons.lang3.time.DateFormatUtils.SMTP_DATETIME_FORMAT;
+
+/**
+ * Utility Helper methods for TCA sub module only. Extends {@link AnalyticsModelJsonUtils} to get
+ * pre configured Json Object Mapper understand serialization and deserialization of CEF Message
+ * and TCA Policy
+ *
+ * @author Rajiv Singla . Creation Date: 10/24/2016.
+ */
+public abstract class TCAUtils extends AnalyticsModelJsonUtils {
+
+ private static final Logger LOG = LoggerFactory.getLogger(TCAUtils.class);
+
+ /**
+ * Threshold Comparator which is used to order thresholds based on their severity e.g. ( CRITICAL, MAJOR, MINOR,
+ * WARNING )
+ */
+ private static final Comparator<Threshold> THRESHOLD_COMPARATOR = new Comparator<Threshold>() {
+ @Override
+ public int compare(Threshold threshold1, Threshold threshold2) {
+ return threshold1.getSeverity().compareTo(threshold2.getSeverity());
+ }
+ };
+
+ /**
+ * {@link Function} that extracts {@link TCAPolicy#getMetricsPerFunctionalRole()} from {@link TCAPolicy}
+ *
+ * @return TCA Policy Metrics Per Functional Roles List
+ */
+ public static Function<TCAPolicy, List<MetricsPerFunctionalRole>> tcaPolicyMetricsExtractorFunction() {
+ return new Function<TCAPolicy, List<MetricsPerFunctionalRole>>() {
+ @Nullable
+ @Override
+ public List<MetricsPerFunctionalRole> apply(@Nonnull TCAPolicy tcaPolicy) {
+ return tcaPolicy.getMetricsPerFunctionalRole();
+ }
+ };
+ }
+
+ /**
+ * {@link Function} that extracts {@link MetricsPerFunctionalRole#getFunctionalRole()} from
+ * {@link MetricsPerFunctionalRole}
+ *
+ * @return Functional role or a Metrics Per Functional Role object
+ */
+ public static Function<MetricsPerFunctionalRole, String> tcaFunctionalRoleExtractorFunction() {
+ return new Function<MetricsPerFunctionalRole, String>() {
+ @Override
+ public String apply(@Nonnull MetricsPerFunctionalRole metricsPerFunctionalRole) {
+ return metricsPerFunctionalRole.getFunctionalRole();
+ }
+ };
+ }
+
+
+ /**
+ * Extracts {@link TCAPolicy} Functional Roles
+ *
+ * @param tcaPolicy TCA Policy
+ * @return List of functional Roles in the tca Policy
+ */
+ public static List<String> getPolicyFunctionalRoles(@Nonnull final TCAPolicy tcaPolicy) {
+ final List<MetricsPerFunctionalRole> metricsPerFunctionalRoles =
+ tcaPolicyMetricsExtractorFunction().apply(tcaPolicy);
+
+ return Lists.transform(metricsPerFunctionalRoles, tcaFunctionalRoleExtractorFunction());
+ }
+
+ /**
+ * A {@link Supplier} which caches {@link TCAPolicy} Functional Roles as they are not expected to
+ * change during runtime
+ *
+ * @param tcaPolicy TCA Policy
+ * @return a Supplier that memoize the Functional roles
+ */
+ public static Supplier<List<String>> getPolicyFunctionalRoleSupplier(@Nonnull final TCAPolicy tcaPolicy) {
+ return Suppliers.memoize(new Supplier<List<String>>() {
+ @Override
+ public List<String> get() {
+ return getPolicyFunctionalRoles(tcaPolicy);
+ }
+ });
+ }
+
+
+ /**
+ * Creates a Table to lookup thresholds of a {@link TCAPolicy} by its Functional Role and Threshold Field path
+ *
+ * @param tcaPolicy TCA Policy
+ * @return A table with Keys of functional role and field path containing List of threshold as values
+ */
+ public static Table<String, String, List<Threshold>> getPolicyFRThresholdsTable(final TCAPolicy tcaPolicy) {
+ final Table<String, String, List<Threshold>> domainFRTable = HashBasedTable.create();
+ for (MetricsPerFunctionalRole metricsPerFunctionalRole : tcaPolicy.getMetricsPerFunctionalRole()) {
+ final String functionalRole = metricsPerFunctionalRole.getFunctionalRole();
+ final List<Threshold> thresholds = metricsPerFunctionalRole.getThresholds();
+ for (Threshold threshold : thresholds) {
+ final List<Threshold> existingThresholds = domainFRTable.get(functionalRole, threshold.getFieldPath());
+ if (existingThresholds == null) {
+ final LinkedList<Threshold> newThresholdList = new LinkedList<>();
+ newThresholdList.add(threshold);
+ domainFRTable.put(functionalRole, threshold.getFieldPath(), newThresholdList);
+ } else {
+ domainFRTable.get(functionalRole, threshold.getFieldPath()).add(threshold);
+ }
+ }
+ }
+ return domainFRTable;
+ }
+
+
+ /**
+ * A {@link Supplier} which caches Policy Functional Role and Threshold Field Path Thresholds lookup table
+ *
+ * @param tcaPolicy TCA Policy
+ * @return Cached Supplier for table with Keys of functional role and field path containing thresholds as values
+ */
+ public static Supplier<Table<String, String, List<Threshold>>> getPolicyFRThresholdsTableSupplier
+ (final TCAPolicy tcaPolicy) {
+ return Suppliers.memoize(new Supplier<Table<String, String, List<Threshold>>>() {
+ @Override
+ public Table<String, String, List<Threshold>> get() {
+ return getPolicyFRThresholdsTable(tcaPolicy);
+ }
+ });
+ }
+
+
+ /**
+ * Creates a {@link GenericMessageChainProcessor} of {@link TCACEFJsonProcessor},
+ * {@link TCACEFPolicyDomainFilter} and {@link TCACEFPolicyFunctionalRoleFilter}s to
+ * filter out messages which does not match policy domain or functional role
+ *
+ * @param cefMessage CEF Message
+ * @param tcaPolicy TCA Policy
+ * @return Message Process Context after processing filter chain
+ */
+ public static TCACEFProcessorContext filterCEFMessage(@Nullable final String cefMessage,
+ @Nonnull final TCAPolicy tcaPolicy) {
+
+ final TCACEFJsonProcessor jsonProcessor = new TCACEFJsonProcessor();
+ final TCACEFPolicyDomainFilter domainFilter = new TCACEFPolicyDomainFilter();
+ final TCACEFPolicyFunctionalRoleFilter functionalRoleFilter = new TCACEFPolicyFunctionalRoleFilter();
+ // Create a list of message processors
+ final ImmutableList<AbstractMessageProcessor<TCACEFProcessorContext>> messageProcessors =
+ ImmutableList.of(jsonProcessor, domainFilter, functionalRoleFilter);
+ final TCACEFProcessorContext processorContext = new TCACEFProcessorContext(cefMessage, tcaPolicy);
+ // Create a message processors chain
+ final GenericMessageChainProcessor<TCACEFProcessorContext> tcaProcessingChain =
+ new GenericMessageChainProcessor<>(messageProcessors, processorContext);
+ // process chain
+ return tcaProcessingChain.processChain();
+ }
+
+
+ /**
+ * Extracts json path values for given json Field Paths from using Json path notation. Assumes
+ * that values extracted are always long
+ *
+ * @param message CEF Message
+ * @param jsonFieldPaths Json Field Paths
+ * @return Map containing key as json path and values as values associated with that json path
+ */
+ public static Map<String, List<Long>> getJsonPathValue(@Nonnull String message, @Nonnull Set<String>
+ jsonFieldPaths) {
+
+ final Map<String, List<Long>> jsonFieldPathMap = new HashMap<>();
+ final DocumentContext documentContext = JsonPath.parse(message);
+
+ for (String jsonFieldPath : jsonFieldPaths) {
+ final List<Long> jsonFieldValues = documentContext.read(jsonFieldPath, new TypeRef<List<Long>>() {
+ });
+ // If Json Field Values are not or empty
+ if (jsonFieldValues != null && !jsonFieldValues.isEmpty()) {
+ // Filter out all null values in the filed values list
+ final List<Long> nonNullValues = Lists.newLinkedList(Iterables.filter(jsonFieldValues,
+ Predicates.<Long>notNull()));
+ // If there are non null values put them in the map
+ if (!nonNullValues.isEmpty()) {
+ jsonFieldPathMap.put(jsonFieldPath, nonNullValues);
+ }
+ }
+ }
+
+ return jsonFieldPathMap;
+ }
+
+ /**
+ * Computes if any CEF Message Fields have violated any Policy Thresholds. For the same policy field path
+ * it applies threshold in order of their severity and record the first threshold per message field path
+ *
+ * @param messageFieldValues Field Path Values extracted from CEF Message
+ * @param fieldThresholds Policy Thresholds for Field Path
+ * @return Optional of violated threshold for a field path
+ */
+ public static Optional<Threshold> thresholdCalculator(final List<Long> messageFieldValues, final List<Threshold>
+ fieldThresholds) {
+ // order thresholds by severity
+ Collections.sort(fieldThresholds, THRESHOLD_COMPARATOR);
+ // Now apply each threshold to field values
+ for (Threshold fieldThreshold : fieldThresholds) {
+ for (Long messageFieldValue : messageFieldValues) {
+ final Boolean isThresholdViolated =
+ fieldThreshold.getDirection().operate(messageFieldValue, fieldThreshold.getThresholdValue());
+ if (isThresholdViolated) {
+ final Threshold violatedThreshold = Threshold.copy(fieldThreshold);
+ violatedThreshold.setActualFieldValue(messageFieldValue);
+ return Optional.of(violatedThreshold);
+ }
+ }
+ }
+ return Optional.absent();
+ }
+
+ /**
+ * Prioritize Threshold to be reported in case there was multiple TCA violations in a single CEF message.
+ * Grabs first highest priority violated threshold
+ *
+ * @param violatedThresholdsMap Map containing field Path and associated violated Thresholds
+ * @return First Highest priority violated threshold
+ */
+ public static Threshold prioritizeThresholdViolations(final Map<String, Threshold> violatedThresholdsMap) {
+
+ final List<Threshold> violatedThresholds = newArrayList(violatedThresholdsMap.values());
+
+ if (violatedThresholds.size() == 1) {
+ return violatedThresholds.get(0);
+ }
+ Collections.sort(violatedThresholds, THRESHOLD_COMPARATOR);
+ // Just grab the first violated threshold with highest priority
+ return violatedThresholds.get(0);
+ }
+
+
+ /**
+ * Creates {@link MetricsPerFunctionalRole} object which contains violated thresholds
+ *
+ * @param tcaPolicy TCA Policy
+ * @param violatedThreshold Violated thresholds
+ * @param functionalRole Functional Role
+ *
+ * @return MetricsPerFunctionalRole object containing one highest severity violated threshold
+ */
+ public static MetricsPerFunctionalRole createViolatedMetrics(@Nonnull final TCAPolicy tcaPolicy,
+ @Nonnull final Threshold violatedThreshold,
+ @Nonnull final String functionalRole) {
+
+ final ArrayList<MetricsPerFunctionalRole> metricsPerFunctionalRoles = newArrayList(
+ Iterables.filter(tcaPolicy.getMetricsPerFunctionalRole(), new Predicate<MetricsPerFunctionalRole>() {
+ @Override
+ public boolean apply(@Nonnull MetricsPerFunctionalRole metricsPerFunctionalRole) {
+ return metricsPerFunctionalRole.getFunctionalRole().equals(functionalRole);
+ }
+ }));
+ // TCA policy must have only one metrics role per functional role
+ if (metricsPerFunctionalRoles.size() == 1) {
+ final MetricsPerFunctionalRole violatedMetrics =
+ MetricsPerFunctionalRole.copy(metricsPerFunctionalRoles.get(0));
+ violatedMetrics.setThresholds(ImmutableList.of(Threshold.copy(violatedThreshold)));
+ return violatedMetrics;
+ } else {
+ final String errorMessage = String.format("TCA Policy must contain functional Role: %s", functionalRole);
+ throw new MessageProcessingException(errorMessage, LOG, new IllegalStateException(errorMessage));
+ }
+ }
+
+ /**
+ * Computes threshold violations
+ *
+ * @param processorContext Filtered processor Context
+ * @return processor context with any threshold violations
+ */
+ public static TCACEFProcessorContext computeThresholdViolations(final TCACEFProcessorContext processorContext) {
+ final TCACEFPolicyThresholdsProcessor policyThresholdsProcessor = new TCACEFPolicyThresholdsProcessor();
+ return policyThresholdsProcessor.apply(processorContext);
+ }
+
+
+ /**
+ * Creates TCA Alert String - Alert String is created in both {@link EventListener} or {@link TCAVESResponse}
+ * formats
+ *
+ * @param processorContextWithViolations processor context which has TCA violations
+ * @param tcaAppName tca app name
+ * @param isAlertInCEFFormat determines if output alert is in CEF format
+ *
+ * @return TCA Alert String
+ *
+ * @throws JsonProcessingException If alert cannot be parsed into JSON String
+ */
+ public static String createTCAAlertString(final TCACEFProcessorContext processorContextWithViolations,
+ final String tcaAppName,
+ final Boolean isAlertInCEFFormat) throws JsonProcessingException {
+ if (isAlertInCEFFormat != null && isAlertInCEFFormat) {
+ final EventListener eventListenerWithViolations =
+ addThresholdViolationFields(processorContextWithViolations);
+ final String alertString = writeValueAsString(eventListenerWithViolations);
+ LOG.debug("Created alert in CEF Format: {}", alertString);
+ return alertString;
+ } else {
+ final TCAVESResponse newTCAVESResponse =
+ createNewTCAVESResponse(processorContextWithViolations, tcaAppName);
+ final String alertString = writeValueAsString(newTCAVESResponse);
+ LOG.debug("Created alert in Non CEF Format: {}", alertString);
+ return alertString;
+ }
+ }
+
+ /**
+ * Adds threshold violation fields to {@link EventListener}
+ *
+ * @param processorContextWithViolations processor context that contains violations
+ * @return event listener with threshold crossing alert fields populated
+ */
+ public static EventListener addThresholdViolationFields(
+ final TCACEFProcessorContext processorContextWithViolations) {
+
+ final MetricsPerFunctionalRole metricsPerFunctionalRole =
+ processorContextWithViolations.getMetricsPerFunctionalRole();
+ // confirm violations are indeed present
+ if (metricsPerFunctionalRole == null) {
+ final String errorMessage = "No violations metrics. Unable to add Threshold Violation Fields";
+ throw new MessageProcessingException(errorMessage, LOG, new IllegalArgumentException(errorMessage));
+ }
+
+ // get violated threshold
+ final Threshold violatedThreshold = metricsPerFunctionalRole.getThresholds().get(0);
+ final EventListener eventListener = processorContextWithViolations.getCEFEventListener();
+ final CommonEventHeader commonEventHeader = eventListener.getEvent().getCommonEventHeader();
+
+ // create new threshold crossing alert fields
+ final ThresholdCrossingAlertFields thresholdCrossingAlertFields = new ThresholdCrossingAlertFields();
+ thresholdCrossingAlertFields.setEventStartTimestamp(commonEventHeader.getStartEpochMicrosec().toString());
+ thresholdCrossingAlertFields.setEventSeverity(violatedThreshold.getSeverity());
+ thresholdCrossingAlertFields.setCollectionTimestamp(SMTP_DATETIME_FORMAT.format(new Date()));
+ thresholdCrossingAlertFields.setAlertAction(AlertAction.SET);
+ thresholdCrossingAlertFields.setAlertType(AlertType.INTERFACE_ANOMALY);
+ thresholdCrossingAlertFields.setAlertDescription(violatedThreshold.getDirection().toString());
+ thresholdCrossingAlertFields.setInterfaceName(commonEventHeader.getReportingEntityName());
+ thresholdCrossingAlertFields.setElementType(commonEventHeader.getFunctionalRole());
+
+ // create new performance count
+ final PerformanceCounter performanceCounter = new PerformanceCounter();
+ performanceCounter.setCriticality(convertSeverityToCriticality(violatedThreshold.getSeverity()));
+ performanceCounter.setName(violatedThreshold.getFieldPath());
+ performanceCounter.setValue(violatedThreshold.getActualFieldValue().toString());
+ performanceCounter.setThresholdCrossed(violatedThreshold.getThresholdValue().toString());
+
+ // set additional parameters for threshold crossing alert fields
+ thresholdCrossingAlertFields.setAdditionalParameters(ImmutableList.of(performanceCounter));
+
+ // add threshold crossing fields to existing event listener
+ eventListener.getEvent().setThresholdCrossingAlertFields(thresholdCrossingAlertFields);
+
+ return eventListener;
+ }
+
+ /**
+ * Converts {@link EventSeverity} to {@link Criticality}
+ *
+ * @param eventSeverity event severity
+ *
+ * @return performance counter criticality
+ */
+ private static Criticality convertSeverityToCriticality(final EventSeverity eventSeverity) {
+ switch (eventSeverity) {
+ case CRITICAL:
+ return Criticality.CRIT;
+ case MAJOR:
+ return Criticality.MAJ;
+ default:
+ return Criticality.UNKNOWN;
+ }
+ }
+
+ /**
+ * Creates {@link TCAVESResponse} object
+ *
+ * @param processorContext processor Context with violations
+ * @param tcaAppName TCA App Name
+ *
+ * @return TCA VES Response Message
+ */
+ public static TCAVESResponse createNewTCAVESResponse(final TCACEFProcessorContext processorContext,
+ final String tcaAppName) {
+
+ final MetricsPerFunctionalRole metricsPerFunctionalRole = processorContext.getMetricsPerFunctionalRole();
+ // confirm violations are indeed present
+ if (metricsPerFunctionalRole == null) {
+ final String errorMessage = "No violations metrics. Unable to create VES Response";
+ throw new MessageProcessingException(errorMessage, LOG, new IllegalArgumentException(errorMessage));
+ }
+
+ final String functionalRole = metricsPerFunctionalRole.getFunctionalRole();
+ final Threshold violatedThreshold = metricsPerFunctionalRole.getThresholds().get(0);
+ final EventListener eventListener = processorContext.getCEFEventListener();
+ final CommonEventHeader commonEventHeader = eventListener.getEvent().getCommonEventHeader();
+
+ final TCAVESResponse tcavesResponse = new TCAVESResponse();
+ // ClosedLoopControlName included in the DCAE configuration Policy
+ tcavesResponse.setClosedLoopControlName(violatedThreshold.getClosedLoopControlName());
+ // version included in the DCAE configuration Policy
+ tcavesResponse.setVersion(violatedThreshold.getVersion());
+ // Generate a UUID for this output message
+ tcavesResponse.setRequestID(UUID.randomUUID().toString());
+ // commonEventHeader.startEpochMicrosec from the received VES measurementsForVfScaling message
+ tcavesResponse.setClosedLoopAlarmStart(commonEventHeader.getStartEpochMicrosec());
+ // Concatenate name of this DCAE instance and name for this TCA instance, separated by dot
+ // TODO: Find out how to get this field
+ tcavesResponse.setClosedLoopEventClient("DCAE_INSTANCE_ID." + tcaAppName);
+
+ final AAI aai = new AAI();
+ tcavesResponse.setAai(aai);
+
+ // vLoadBalancer specific settings
+ if (isFunctionalRoleVLoadBalancer(functionalRole)) {
+ // Hard Coded - "VM"
+ tcavesResponse.setTargetType(AnalyticsConstants.LOAD_BALANCER_TCA_VES_RESPONSE_TARGET_TYPE);
+ // Hard Coded - "vserver.vserver-name"
+ tcavesResponse.setTarget(AnalyticsConstants.LOAD_BALANCER_TCA_VES_RESPONSE_TARGET);
+ aai.setGenericServerId(commonEventHeader.getReportingEntityName());
+ } else {
+ // Hard Coded - "VNF"
+ tcavesResponse.setTargetType(AnalyticsConstants.TCA_VES_RESPONSE_TARGET_TYPE);
+ // Hard Coded - "generic-vnf.vnf-id"
+ tcavesResponse.setTarget(AnalyticsConstants.TCA_VES_RESPONSE_TARGET);
+ // commonEventHeader.reportingEntityName from the received VES measurementsForVfScaling message (value for
+ // the data element used in A&AI)
+ aai.setGenericVNFId(commonEventHeader.getReportingEntityName());
+ }
+
+ // Hard Coded - "DCAE"
+ tcavesResponse.setFrom(AnalyticsConstants.TCA_VES_RESPONSE_FROM);
+ // policyScope included in the DCAE configuration Policy
+ tcavesResponse.setPolicyScope(metricsPerFunctionalRole.getPolicyScope());
+ // policyName included in the DCAE configuration Policy
+ tcavesResponse.setPolicyName(metricsPerFunctionalRole.getPolicyName());
+ // policyVersion included in the DCAE configuration Policy
+ tcavesResponse.setPolicyVersion(metricsPerFunctionalRole.getPolicyVersion());
+ // Hard Coded - "ONSET"
+ tcavesResponse.setClosedLoopEventStatus(AnalyticsConstants.TCA_VES_RESPONSE_CLOSED_LOOP_EVENT_STATUS);
+
+ return tcavesResponse;
+ }
+
+ /**
+ * Determines if Functional Role is vLoadBalancer
+ *
+ * @param functionalRole functional Role to check
+ *
+ * @return return true if functional role is for vLoadBalancer
+ */
+ private static boolean isFunctionalRoleVLoadBalancer(final String functionalRole) {
+ return functionalRole.equals(AnalyticsConstants.LOAD_BALANCER_FUNCTIONAL_ROLE);
+ }
+
+
+ /**
+ * Extract Domain and functional Role from processor context if present
+ *
+ * @param processorContext processor context
+ * @return Tuple of domain and functional role
+ */
+ public static Pair<String, String> getDomainAndFunctionalRole(@Nullable final TCACEFProcessorContext
+ processorContext) {
+
+ String domain = null;
+ String functionalRole = null;
+
+ if (processorContext != null &&
+ processorContext.getCEFEventListener() != null &&
+ processorContext.getCEFEventListener().getEvent() != null &&
+ processorContext.getCEFEventListener().getEvent().getCommonEventHeader() != null) {
+ final CommonEventHeader commonEventHeader = processorContext.getCEFEventListener().getEvent()
+ .getCommonEventHeader();
+
+ if (commonEventHeader.getDomain() != null) {
+ domain = commonEventHeader.getDomain();
+ }
+
+ if (commonEventHeader.getFunctionalRole() != null) {
+ functionalRole = commonEventHeader.getFunctionalRole();
+ }
+
+ }
+
+ return new ImmutablePair<>(domain, functionalRole);
+
+ }
+
+ /**
+ * Creates {@link TCAPolicy} Metrics per Functional Role list
+ *
+ * @param functionalRolesMap Map containing functional Roles as key and corresponding values
+ *
+ * @return List of {@link MetricsPerFunctionalRole}
+ */
+ public static List<MetricsPerFunctionalRole> createTCAPolicyMetricsPerFunctionalRoleList(
+ final Map<String, Map<String, String>> functionalRolesMap) {
+
+ // create a new metrics per functional role list
+ final List<MetricsPerFunctionalRole> metricsPerFunctionalRoles = new LinkedList<>();
+
+ for (Map.Entry<String, Map<String, String>> functionalRolesEntry : functionalRolesMap.entrySet()) {
+
+ // create new metrics per functional role instance
+ final MetricsPerFunctionalRole newMetricsPerFunctionalRole =
+ createNewMetricsPerFunctionalRole(functionalRolesEntry);
+ metricsPerFunctionalRoles.add(newMetricsPerFunctionalRole);
+
+ // determine all threshold related values
+ final Map<String, String> thresholdsValuesMaps =
+ filterMapByKeyNamePrefix(functionalRolesEntry.getValue(),
+ AnalyticsConstants.TCA_POLICY_THRESHOLDS_PATH_POSTFIX);
+
+ // create a map of all threshold values
+ final Map<String, Map<String, String>> thresholdsMap =
+ extractSubTree(thresholdsValuesMaps, 1, 2,
+ AnalyticsConstants.TCA_POLICY_DELIMITER);
+
+ // add thresholds to nmetrics per functional roles threshold list
+ for (Map<String, String> thresholdMap : thresholdsMap.values()) {
+ newMetricsPerFunctionalRole.getThresholds().add(createNewThreshold(thresholdMap));
+ }
+
+ }
+
+ return metricsPerFunctionalRoles;
+ }
+
+ /**
+ * Creates new instance of TCA Policy {@link Threshold} with values extracted from thresholdMap
+ *
+ * @param thresholdMap threshold map with threshold values
+ *
+ * @return new instance of TCA Policy Threshold
+ */
+ public static Threshold createNewThreshold(final Map<String, String> thresholdMap) {
+ final Threshold threshold = new Threshold();
+ threshold.setClosedLoopControlName(thresholdMap.get("policy.closedLoopControlName"));
+ threshold.setVersion(thresholdMap.get("policy.version"));
+ threshold.setFieldPath(thresholdMap.get("policy.fieldPath"));
+ threshold.setDirection(Direction.valueOf(thresholdMap.get("policy.direction")));
+ threshold.setSeverity(EventSeverity.valueOf(thresholdMap.get("policy.severity")));
+ threshold.setThresholdValue(Long.valueOf(thresholdMap.get("policy.thresholdValue")));
+ return threshold;
+ }
+
+ /**
+ * Create new {@link MetricsPerFunctionalRole} instance with policy Name, policy Version and policy Scope
+ * extracted from given functionalRolesEntry
+ *
+ * @param functionalRolesEntry Functional Role Entry
+ *
+ * @return new instance of MetricsPerFunctionalRole
+ */
+ public static MetricsPerFunctionalRole createNewMetricsPerFunctionalRole(
+ final Map.Entry<String, Map<String, String>> functionalRolesEntry) {
+ // determine functional Role
+ final String functionalRole = functionalRolesEntry.getKey();
+ // determine functional Role thresholds
+ final Map<String, String> metricsPerFunctionalRoleThresholdsMap = functionalRolesEntry.getValue();
+ final MetricsPerFunctionalRole metricsPerFunctionalRole = new MetricsPerFunctionalRole();
+ final List<Threshold> thresholds = new LinkedList<>();
+ metricsPerFunctionalRole.setThresholds(thresholds);
+ metricsPerFunctionalRole.setFunctionalRole(functionalRole);
+ // bind policyName, policyVersion and policyScope
+ metricsPerFunctionalRole.setPolicyName(metricsPerFunctionalRoleThresholdsMap.get("policyName"));
+ metricsPerFunctionalRole.setPolicyVersion(metricsPerFunctionalRoleThresholdsMap.get("policyVersion"));
+ metricsPerFunctionalRole.setPolicyScope(metricsPerFunctionalRoleThresholdsMap.get("policyScope"));
+ return metricsPerFunctionalRole;
+ }
+
+ /**
+ * Converts a flattened key/value map which has keys delimited by a given delimiter.
+ * The start Index and end index extract the sub-key value and returns a new map containing
+ * sub-keys and values.
+ *
+ * @param actualMap actual Map
+ * @param startIndex start index
+ * @param endIndex end index
+ * @param delimiter delimiter
+ *
+ * @return Map with new sub tree map
+ */
+ public static Map<String, Map<String, String>> extractSubTree(
+ final Map<String, String> actualMap, int startIndex, int endIndex, String delimiter) {
+
+ final SortedMap<String, Map<String, String>> subTreeMap = new TreeMap<>();
+
+ // iterate over actual map entries
+ for (Map.Entry<String, String> actualMapEntry : actualMap.entrySet()) {
+ final String actualMapKey = actualMapEntry.getKey();
+ final String actualMapValue = actualMapEntry.getValue();
+
+ // determine delimiter start and end index
+ final int keyStartIndex = StringUtils.ordinalIndexOf(actualMapKey, delimiter, startIndex);
+ final int keyEndIndex = StringUtils.ordinalIndexOf(actualMapKey, delimiter, endIndex);
+ final int keyLength = actualMapKey.length();
+
+ // extract sub-tree map
+ if (keyStartIndex != -1 && keyEndIndex != -1 && keyEndIndex > keyStartIndex && keyLength > keyEndIndex) {
+ final String thresholdKey = actualMapKey.substring(keyStartIndex + 1, keyEndIndex);
+ final Map<String, String> existingThresholdMap = subTreeMap.get(thresholdKey);
+ final String subMapKey = actualMapKey.substring(keyEndIndex + 1, keyLength);
+ if (existingThresholdMap == null) {
+ Map<String, String> newThresholdMap = new LinkedHashMap<>();
+ newThresholdMap.put(subMapKey, actualMapValue);
+ subTreeMap.put(thresholdKey, newThresholdMap);
+ } else {
+ existingThresholdMap.put(subMapKey, actualMapValue);
+ }
+
+ }
+ }
+
+ return subTreeMap;
+
+ }
+
+
+ /**
+ * Provides a view of underlying map that filters out entries with keys starting with give prefix
+ *
+ * @param actualMap Target map that needs to be filtered
+ * @param keyNamePrefix key prefix
+ *
+ * @return a view of actual map which only show entries which have give prefix
+ */
+ public static Map<String, String> filterMapByKeyNamePrefix(final Map<String, String> actualMap,
+ final String keyNamePrefix) {
+ return Maps.filterKeys(actualMap,
+ new Predicate<String>() {
+ @Override
+ public boolean apply(@Nullable String key) {
+ return key != null && key.startsWith(keyNamePrefix);
+ }
+ });
+ }
+
+
+ /**
+ * Creates Quartz Scheduler
+ *
+ * @param pollingIntervalMS polling interval
+ * @param stdSchedulerFactory Quartz standard schedule factory instance
+ * @param quartzPublisherPropertiesFileName quartz properties file name
+ * @param jobDataMap job Data map
+ * @param quartzJobClass Quartz Job Class
+ * @param quartzJobName Quartz Job Name
+ * @param quartzTriggerName Quartz Trigger name
+ *
+ * @param <T> An implementation of Quartz {@link Job} interface
+ * @return Configured Quartz Scheduler
+ *
+ * @throws SchedulerException expection if unable to create to Quartz Scheduler
+ */
+ public static <T extends Job> Scheduler createQuartzScheduler(final Integer pollingIntervalMS,
+ final StdSchedulerFactory stdSchedulerFactory, final String quartzPublisherPropertiesFileName,
+ final JobDataMap jobDataMap, final Class<T> quartzJobClass, final String quartzJobName,
+ final String quartzTriggerName) throws SchedulerException {
+
+ // Initialize a new Quartz Standard scheduler
+ LOG.debug("Configuring quartz scheduler for Quartz Job: {} with properties file: {}",
+ quartzJobClass.getSimpleName(), quartzPublisherPropertiesFileName);
+ final Properties quartzProperties = AnalyticsModelIOUtils.loadPropertiesFile(
+ quartzPublisherPropertiesFileName, new Properties());
+ stdSchedulerFactory.initialize(quartzProperties);
+ final Scheduler scheduler = stdSchedulerFactory.getScheduler();
+
+ // Create a new job detail
+ final JobDetail jobDetail = JobBuilder.newJob(quartzJobClass).withIdentity(quartzJobName,
+ AnalyticsConstants.TCA_QUARTZ_GROUP_NAME).usingJobData(jobDataMap).build();
+
+ // Create a new scheduling builder
+ final SimpleScheduleBuilder simpleScheduleBuilder = SimpleScheduleBuilder.simpleSchedule()
+ .withIntervalInMilliseconds(pollingIntervalMS) // job will use custom polling schedule
+ .repeatForever(); // repeats while worker is running
+
+ // Create a trigger for the TCA Publisher Job
+ final SimpleTrigger simpleTrigger = TriggerBuilder.newTrigger()
+ .withIdentity(quartzTriggerName, AnalyticsConstants.TCA_QUARTZ_GROUP_NAME)
+ .startNow() // job starts right away
+ .withSchedule(simpleScheduleBuilder).build();
+
+ scheduler.scheduleJob(jobDetail, simpleTrigger);
+ LOG.info("Scheduler Initialized successfully for JobName: {}", quartzJobClass.getSimpleName());
+ return scheduler;
+ }
+
+
+
+}
diff --git a/dcae-analytics-tca/src/test/java/org/openecomp/dcae/apod/analytics/tca/BaseAnalyticsTCAUnitTest.java b/dcae-analytics-tca/src/test/java/org/openecomp/dcae/apod/analytics/tca/BaseAnalyticsTCAUnitTest.java
new file mode 100644
index 0000000..187ffa2
--- /dev/null
+++ b/dcae-analytics-tca/src/test/java/org/openecomp/dcae/apod/analytics/tca/BaseAnalyticsTCAUnitTest.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.tca;
+
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.google.common.base.Suppliers;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.EventListener;
+import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.Direction;
+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.model.util.AnalyticsModelIOUtils;
+import org.openecomp.dcae.apod.analytics.model.util.json.AnalyticsModelObjectMapperSupplier;
+import org.openecomp.dcae.apod.analytics.test.BaseDCAEAnalyticsUnitTest;
+
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+
+/**
+ * @author Rajiv Singla . Creation Date: 10/25/2016.
+ */
+public abstract class BaseAnalyticsTCAUnitTest extends BaseDCAEAnalyticsUnitTest {
+
+ /**
+ * Object mapper to be used for all TCA Json Parsing
+ */
+ 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_MESSAGES_JSON_FILE_LOCATION = "data/json/cef/cef_messages.json";
+ protected static final String CEF_MESSAGE_JSON_FILE_LOCATION = "data/json/cef/cef_message.json";
+ protected static final String CEF_MESSAGE_WITH_THRESHOLD_VIOLATION_JSON_FILE_LOCATION =
+ "data/json/cef/cef_message_with_threshold_violation.json";
+
+ protected static final String TCA_CONTROLLER_POLICY_FILE_LOCATION =
+ "data/properties/tca_controller_policy.properties";
+
+ protected static final String TCA_TEST_APP_CONFIG_NAME = "testTCAAppName";
+ protected static final String TCA_TEST_APP_CONFIG_DESCRIPTION = "testTCAAppDescription";
+ protected static final String TCA_TEST_APP_CONFIG_SUBSCRIBER_OUTPUT_STREAM_NAME =
+ "testTcaSubscriberOutputStreamName";
+ protected static final String TCA_TEST_APP_CONFIG_VES_ALERT_TABLE_NAME = "testTcaVESAlertsTableName";
+ protected static final String TCA_TEST_APP_CONFIG_VES_MESSAGE_STATUS_TABLE_NAME =
+ "testTcaVESMessageStatusTableName";
+
+
+ /**
+ * Provides TCA Policy that can be used for testing
+ *
+ * @return test TCA Policy Object
+ */
+ protected TCAPolicy getSampleTCAPolicy() {
+ try {
+ return ANALYTICS_MODEL_OBJECT_MAPPER.readValue(fromStream(TCA_POLICY_JSON_FILE_LOCATION), TCAPolicy.class);
+ } catch (IOException e) {
+ LOG.error("Error while parsing policy: {}", e);
+ throw new RuntimeException("Error while parsing policy", e);
+ }
+ }
+
+ /**
+ * Provides list containing 350 CEF messages
+ *
+ * @return CEF Test Message
+ * @throws Exception Exception
+ */
+ protected List<EventListener> getCEFMessages() throws Exception {
+ final String cefMessageAsString = fromStream(CEF_MESSAGES_JSON_FILE_LOCATION);
+ final TypeReference<List<EventListener>> eventListenerListTypeReference =
+ new TypeReference<List<EventListener>>() {
+ };
+ return ANALYTICS_MODEL_OBJECT_MAPPER.readValue(cefMessageAsString, eventListenerListTypeReference);
+ }
+
+ /**
+ * Provides 1 valid CEF messages which does not violate Threshold as String
+ *
+ * @return CEF Test Message String
+ * @throws Exception Exception
+ */
+ protected String getValidCEFMessage() throws Exception {
+ return fromStream(CEF_MESSAGE_JSON_FILE_LOCATION);
+ }
+
+
+ /**
+ * Provides single CEF Test Message
+ *
+ * @return CEF Test Message
+ * @throws Exception Exception
+ */
+ protected EventListener getCEFEventListener() throws Exception {
+ final String cefMessageAsString = fromStream(CEF_MESSAGE_JSON_FILE_LOCATION);
+ return ANALYTICS_MODEL_OBJECT_MAPPER.readValue(cefMessageAsString, EventListener.class);
+ }
+
+ protected static List<Threshold> getThresholds() {
+ Threshold majorThreshold = new Threshold();
+ majorThreshold.setClosedLoopControlName("CL-LBAL-LOW-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241AB1A");
+ majorThreshold.setFieldPath("$.event.measurementsForVfScalingFields.vNicUsageArray[*].packetsIn");
+ majorThreshold.setVersion("Test Version");
+ majorThreshold.setThresholdValue(500L);
+ majorThreshold.setDirection(Direction.LESS_OR_EQUAL);
+
+ Threshold criticalThreshold = new Threshold();
+ criticalThreshold.setClosedLoopControlName("CL-LBAL-LOW-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241AB1A");
+ criticalThreshold.setThresholdValue(5000L);
+ criticalThreshold.setFieldPath("$.event.measurementsForVfScalingFields.vNicUsageArray[*].packetsIn");
+ criticalThreshold.setDirection(Direction.GREATER_OR_EQUAL);
+ return Arrays.asList(majorThreshold, criticalThreshold);
+ }
+
+ protected static Threshold getCriticalThreshold() {
+ Threshold criticalThreshold = new Threshold();
+ criticalThreshold.setClosedLoopControlName("CL-LBAL-LOW-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241AB1A");
+ criticalThreshold.setThresholdValue(5000L);
+ criticalThreshold.setFieldPath("$.event.measurementsForVfScalingFields.vNicUsageArray[*].packetsIn");
+ criticalThreshold.setDirection(Direction.GREATER_OR_EQUAL);
+ return criticalThreshold;
+ }
+
+ protected static Map<String, String> getControllerRuntimeArguments() {
+ final Properties controllerProperties =
+ AnalyticsModelIOUtils.loadPropertiesFile(TCA_CONTROLLER_POLICY_FILE_LOCATION, new Properties());
+
+ final Map<String, String> runtimeArgs = new LinkedHashMap<>();
+ for (Map.Entry<Object, Object> property : controllerProperties.entrySet()) {
+ runtimeArgs.put(property.getKey().toString(), property.getValue().toString());
+ }
+
+ return runtimeArgs;
+ }
+
+}
diff --git a/dcae-analytics-tca/src/test/java/org/openecomp/dcae/apod/analytics/tca/processor/AbstractTCAECEFPolicyProcessorTest.java b/dcae-analytics-tca/src/test/java/org/openecomp/dcae/apod/analytics/tca/processor/AbstractTCAECEFPolicyProcessorTest.java
new file mode 100644
index 0000000..716d5cc
--- /dev/null
+++ b/dcae-analytics-tca/src/test/java/org/openecomp/dcae/apod/analytics/tca/processor/AbstractTCAECEFPolicyProcessorTest.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.tca.processor;
+
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.common.exception.MessageProcessingException;
+import org.openecomp.dcae.apod.analytics.tca.BaseAnalyticsTCAUnitTest;
+
+/**
+ * @author Rajiv Singla . Creation Date: 12/16/2016.
+ */
+public class AbstractTCAECEFPolicyProcessorTest extends BaseAnalyticsTCAUnitTest {
+
+ private class DummyAbstractTCAECEFPolicyProcessor extends AbstractTCAECEFPolicyProcessor {
+
+ @Override
+ public String getProcessorDescription() {
+ return "dummy";
+ }
+
+ @Override
+ public TCACEFProcessorContext processMessage(TCACEFProcessorContext processorContext) {
+ return processorContext;
+ }
+ }
+
+
+ @Test(expected = MessageProcessingException.class)
+ public void preProcessorWhenThereIsNoCEFMessage() throws Exception {
+ DummyAbstractTCAECEFPolicyProcessor dummyAbstractTCAECEFPolicyProcessor = new
+ DummyAbstractTCAECEFPolicyProcessor();
+
+ final TCACEFProcessorContext processorContext = new TCACEFProcessorContext(null, getSampleTCAPolicy());
+ processorContext.setCEFEventListener(null);
+ dummyAbstractTCAECEFPolicyProcessor.preProcessor(processorContext);
+ }
+
+}
diff --git a/dcae-analytics-tca/src/test/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFJsonProcessorTest.java b/dcae-analytics-tca/src/test/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFJsonProcessorTest.java
new file mode 100644
index 0000000..6f83653
--- /dev/null
+++ b/dcae-analytics-tca/src/test/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFJsonProcessorTest.java
@@ -0,0 +1,117 @@
+/*
+ * ===============================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.tca.processor;
+
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.common.exception.MessageProcessingException;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.EventListener;
+import org.openecomp.dcae.apod.analytics.tca.BaseAnalyticsTCAUnitTest;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+
+/**
+ *
+ * @author Rajiv Singla . Creation Date: 11/9/2016.
+ */
+public class TCACEFJsonProcessorTest extends BaseAnalyticsTCAUnitTest {
+
+
+ // A valid CEF Message
+ @Test
+ public void testCEFJsonProcessorWithValidCEFMessage() throws Exception {
+
+ final String cefMessageString = fromStream(CEF_MESSAGE_JSON_FILE_LOCATION);
+ final TCACEFProcessorContext tcacefProcessorContext =
+ new TCACEFProcessorContext(cefMessageString, getSampleTCAPolicy());
+
+ TCACEFJsonProcessor tcacefJsonProcessor = new TCACEFJsonProcessor();
+ final TCACEFProcessorContext finalProcessorContext = tcacefJsonProcessor.apply(tcacefProcessorContext);
+
+ final EventListener cefEventListener = finalProcessorContext.getCEFEventListener();
+
+ assertNotNull("CEF Event Listener must be present", cefEventListener);
+
+ }
+
+ // Even if message is not a valid CEF format but still a Json - Json Processor will parse it
+ @Test
+ public void testCEFJsonProcessorWithValidJson() throws Exception {
+
+ final TCACEFProcessorContext tcacefProcessorContext = new TCACEFProcessorContext(
+ " { \"key\" : \"value\" } ", getSampleTCAPolicy());
+
+ TCACEFJsonProcessor tcacefJsonProcessor = new TCACEFJsonProcessor();
+ final TCACEFProcessorContext finalProcessorContext = tcacefJsonProcessor.apply(tcacefProcessorContext);
+ final EventListener cefEventListener = finalProcessorContext.getCEFEventListener();
+
+ assertNotNull("Even if message is not a valid CEF format but a valid Json.Json Processor must be able to " +
+ "parse it",
+ cefEventListener);
+ }
+
+ @Test(expected = MessageProcessingException.class)
+ public void testCEFJsonProcessorWithCEFMessageAsNull() throws Exception {
+
+ final TCACEFProcessorContext tcacefProcessorContext = new TCACEFProcessorContext(null, getSampleTCAPolicy());
+
+ TCACEFJsonProcessor tcacefJsonProcessor = new TCACEFJsonProcessor();
+ tcacefJsonProcessor.apply(tcacefProcessorContext);
+
+ }
+
+ @Test
+ public void testCEFJsonProcessorWithCEFMessageIsBlank() throws Exception {
+
+ final TCACEFProcessorContext tcacefProcessorContext = new TCACEFProcessorContext(" ", getSampleTCAPolicy());
+
+ TCACEFJsonProcessor tcacefJsonProcessor = new TCACEFJsonProcessor();
+ final TCACEFProcessorContext finalProcessorContext = tcacefJsonProcessor.apply(tcacefProcessorContext);
+ assertFalse("Blank message must terminate processing of message chain", finalProcessorContext
+ .canProcessingContinue());
+ }
+
+
+ @Test
+ public void testCEFJsonProcessorWithCEFMessageWhichIsNotValidMessage() throws Exception {
+
+ final TCACEFProcessorContext tcacefProcessorContext = new TCACEFProcessorContext(" Invalid Message ",
+ getSampleTCAPolicy());
+
+ TCACEFJsonProcessor tcacefJsonProcessor = new TCACEFJsonProcessor();
+ final TCACEFProcessorContext finalProcessorContext = tcacefJsonProcessor.apply(tcacefProcessorContext);
+ assertFalse("Invalid message must terminate processing of message chain", finalProcessorContext
+ .canProcessingContinue());
+ }
+
+
+ @Test(expected = MessageProcessingException.class)
+ public void testCEFJsonProcessorWithCEFMessageWhichIsNotValidJson() throws Exception {
+
+ final TCACEFProcessorContext tcacefProcessorContext = new TCACEFProcessorContext(
+ " { \"Invalid Event Listener Json\" } ", getSampleTCAPolicy());
+
+ TCACEFJsonProcessor tcacefJsonProcessor = new TCACEFJsonProcessor();
+ tcacefJsonProcessor.apply(tcacefProcessorContext);
+ }
+
+
+}
diff --git a/dcae-analytics-tca/src/test/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFPolicyDomainFilterTest.java b/dcae-analytics-tca/src/test/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFPolicyDomainFilterTest.java
new file mode 100644
index 0000000..f6925cb
--- /dev/null
+++ b/dcae-analytics-tca/src/test/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFPolicyDomainFilterTest.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.tca.processor;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.common.service.processor.ProcessingState;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.EventListener;
+import org.openecomp.dcae.apod.analytics.tca.BaseAnalyticsTCAUnitTest;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+/**
+ * @author Rajiv Singla . Creation Date: 12/16/2016.
+ */
+public class TCACEFPolicyDomainFilterTest extends BaseAnalyticsTCAUnitTest {
+
+ private TCACEFPolicyDomainFilter tcacefPolicyDomainFilter;
+ private TCACEFProcessorContext processorContext;
+ private EventListener cefEventListener;
+
+ @Before
+ public void before() throws Exception {
+ tcacefPolicyDomainFilter = new TCACEFPolicyDomainFilter();
+ processorContext = new TCACEFProcessorContext("", getSampleTCAPolicy());
+ cefEventListener = getCEFEventListener();
+ processorContext.setCEFEventListener(cefEventListener);
+ }
+
+ @Test
+ public void testProcessMessageWhenMessageIsValid() throws Exception {
+ tcacefPolicyDomainFilter.processMessage(processorContext);
+ assertThat("Processing must finish successfully",
+ tcacefPolicyDomainFilter.getProcessingState(), is(ProcessingState.PROCESSING_FINISHED_SUCCESSFULLY));
+ }
+
+ @Test
+ public void testProcessMessageWhenCEFEventIsNull() throws Exception {
+ cefEventListener.setEvent(null);
+ processorContext.setCEFEventListener(cefEventListener);
+ tcacefPolicyDomainFilter.processMessage(processorContext);
+ assertThat("Processing must terminate early",
+ tcacefPolicyDomainFilter.getProcessingState(), is(ProcessingState.PROCESSING_TERMINATED_EARLY));
+ }
+
+ @Test
+ public void testProcessMessageWhenPolicyDomainDoesNotMatchMessageDomain() throws Exception {
+ cefEventListener.getEvent().getCommonEventHeader().setDomain("notPolicyDomain");
+ tcacefPolicyDomainFilter.processMessage(processorContext);
+ assertThat("Processing must terminate early",
+ tcacefPolicyDomainFilter.getProcessingState(), is(ProcessingState.PROCESSING_TERMINATED_EARLY));
+ }
+
+}
diff --git a/dcae-analytics-tca/src/test/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFPolicyFunctionalRoleFilterTest.java b/dcae-analytics-tca/src/test/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFPolicyFunctionalRoleFilterTest.java
new file mode 100644
index 0000000..b9a1a65
--- /dev/null
+++ b/dcae-analytics-tca/src/test/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFPolicyFunctionalRoleFilterTest.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.tca.processor;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.common.service.processor.ProcessingState;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.EventListener;
+import org.openecomp.dcae.apod.analytics.tca.BaseAnalyticsTCAUnitTest;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+/**
+ * @author Rajiv Singla . Creation Date: 12/19/2016.
+ */
+public class TCACEFPolicyFunctionalRoleFilterTest extends BaseAnalyticsTCAUnitTest {
+
+ private TCACEFPolicyFunctionalRoleFilter tcacefPolicyFunctionalRoleFilter;
+ private TCACEFProcessorContext processorContext;
+ private EventListener cefEventListener;
+
+ @Before
+ public void before() throws Exception {
+ tcacefPolicyFunctionalRoleFilter = new TCACEFPolicyFunctionalRoleFilter();
+ processorContext = new TCACEFProcessorContext("", getSampleTCAPolicy());
+ cefEventListener = getCEFEventListener();
+ processorContext.setCEFEventListener(cefEventListener);
+ }
+
+ @Test
+ public void testProcessMessageWhenMessageIsValid() throws Exception {
+ tcacefPolicyFunctionalRoleFilter.processMessage(processorContext);
+ assertThat("Processing must finish successfully",
+ tcacefPolicyFunctionalRoleFilter.getProcessingState(),
+ is(ProcessingState.PROCESSING_FINISHED_SUCCESSFULLY));
+ }
+
+ @Test
+ public void testProcessMessageWhenCEFEventIsNull() throws Exception {
+ cefEventListener.setEvent(null);
+ processorContext.setCEFEventListener(cefEventListener);
+ tcacefPolicyFunctionalRoleFilter.processMessage(processorContext);
+ assertThat("Processing must terminate early",
+ tcacefPolicyFunctionalRoleFilter.getProcessingState(), is(ProcessingState.PROCESSING_TERMINATED_EARLY));
+ }
+
+ @Test
+ public void testProcessMessageWhenPolicyFunctionalRoleDoesNotMatchMessageFunctionalRole() throws Exception {
+ cefEventListener.getEvent().getCommonEventHeader().setFunctionalRole("someNonPolicyFunctionalRole");
+ tcacefPolicyFunctionalRoleFilter.processMessage(processorContext);
+ assertThat("Processing must terminate early",
+ tcacefPolicyFunctionalRoleFilter.getProcessingState(), is(ProcessingState.PROCESSING_TERMINATED_EARLY));
+ }
+
+
+}
diff --git a/dcae-analytics-tca/src/test/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFPolicyThresholdsProcessorTest.java b/dcae-analytics-tca/src/test/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFPolicyThresholdsProcessorTest.java
new file mode 100644
index 0000000..fb69e95
--- /dev/null
+++ b/dcae-analytics-tca/src/test/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFPolicyThresholdsProcessorTest.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.tca.processor;
+
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.common.service.processor.ProcessingState;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.EventListener;
+import org.openecomp.dcae.apod.analytics.tca.BaseAnalyticsTCAUnitTest;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertTrue;
+
+/**
+ *
+ * @author Rajiv Singla . Creation Date: 11/9/2016.
+ */
+public class TCACEFPolicyThresholdsProcessorTest extends BaseAnalyticsTCAUnitTest {
+
+ @Test
+ public void testCEFPolicyThresholdProcessorWithNoThresholdViolation() throws Exception {
+
+ final String cefMessageString = fromStream(CEF_MESSAGE_JSON_FILE_LOCATION);
+ final TCACEFProcessorContext tcacefProcessorContext = new TCACEFProcessorContext(cefMessageString,
+ getSampleTCAPolicy());
+ tcacefProcessorContext.setCEFEventListener(getCEFEventListener());
+
+ AbstractTCAECEFPolicyProcessor policyThresholdsProcessor = new TCACEFPolicyThresholdsProcessor();
+ final TCACEFProcessorContext finalProcessorContext = policyThresholdsProcessor.apply(tcacefProcessorContext);
+
+ assertFalse("Process Context can Processing Continue flag should be false", finalProcessorContext
+ .canProcessingContinue());
+ assertThat("Policy Threshold Processor State must be terminated early",
+ policyThresholdsProcessor.getProcessingState(), is(ProcessingState.PROCESSING_TERMINATED_EARLY));
+ assertEquals("Policy must not change", getSampleTCAPolicy(), finalProcessorContext.getTCAPolicy());
+
+ }
+
+ @Test
+ public void testCEFPolicyThresholdProcessorWithThresholdViolation() throws Exception {
+
+ final String cefMessageString = fromStream(CEF_MESSAGE_WITH_THRESHOLD_VIOLATION_JSON_FILE_LOCATION);
+ final TCACEFProcessorContext tcacefProcessorContext = new TCACEFProcessorContext(cefMessageString,
+ getSampleTCAPolicy());
+
+ final EventListener eventListener = getCEFEventListener();
+ tcacefProcessorContext.setCEFEventListener(eventListener);
+
+ AbstractTCAECEFPolicyProcessor policyThresholdsProcessor = new TCACEFPolicyThresholdsProcessor();
+ final TCACEFProcessorContext finalProcessorContext = policyThresholdsProcessor.apply(tcacefProcessorContext);
+
+ assertTrue("Process Context can Processing Continue flag should be true", finalProcessorContext
+ .canProcessingContinue());
+ assertThat("Policy Threshold Processor State must be successful",
+ policyThresholdsProcessor.getProcessingState(), is(ProcessingState.PROCESSING_FINISHED_SUCCESSFULLY));
+ assertEquals("Policy must not change", getSampleTCAPolicy(), finalProcessorContext.getTCAPolicy());
+
+ }
+
+}
diff --git a/dcae-analytics-tca/src/test/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFProcessorContextTest.java b/dcae-analytics-tca/src/test/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFProcessorContextTest.java
new file mode 100644
index 0000000..d3b0ea4
--- /dev/null
+++ b/dcae-analytics-tca/src/test/java/org/openecomp/dcae/apod/analytics/tca/processor/TCACEFProcessorContextTest.java
@@ -0,0 +1,38 @@
+/*
+ * ===============================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.tca.processor;
+
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.tca.BaseAnalyticsTCAUnitTest;
+
+/**
+ *
+ * @author Rajiv Singla . Creation Date: 11/14/2016.
+ */
+public class TCACEFProcessorContextTest extends BaseAnalyticsTCAUnitTest {
+
+ @Test
+ public void testProcessorContextSerialization() throws Exception {
+ TCACEFProcessorContext tcacefProcessorContext = new TCACEFProcessorContext(getValidCEFMessage(),
+ getSampleTCAPolicy());
+ testSerialization(tcacefProcessorContext, TCACEFProcessorContextTest.class);
+ }
+}
diff --git a/dcae-analytics-tca/src/test/java/org/openecomp/dcae/apod/analytics/tca/utils/TCAUtilsTest.java b/dcae-analytics-tca/src/test/java/org/openecomp/dcae/apod/analytics/tca/utils/TCAUtilsTest.java
new file mode 100644
index 0000000..7674eb8
--- /dev/null
+++ b/dcae-analytics-tca/src/test/java/org/openecomp/dcae/apod/analytics/tca/utils/TCAUtilsTest.java
@@ -0,0 +1,406 @@
+/*
+ * ===============================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.tca.utils;
+
+import com.google.common.base.Supplier;
+import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.Table;
+import org.apache.commons.lang3.tuple.Pair;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+import org.mockito.Mockito;
+import org.openecomp.dcae.apod.analytics.common.AnalyticsConstants;
+import org.openecomp.dcae.apod.analytics.common.exception.MessageProcessingException;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.CommonEventHeader;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.Event;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.EventListener;
+import org.openecomp.dcae.apod.analytics.model.domain.cef.EventSeverity;
+import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.Direction;
+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.model.facade.tca.TCAVESResponse;
+import org.openecomp.dcae.apod.analytics.tca.BaseAnalyticsTCAUnitTest;
+import org.openecomp.dcae.apod.analytics.tca.processor.TCACEFProcessorContext;
+import org.quartz.Job;
+import org.quartz.JobDataMap;
+import org.quartz.JobDetail;
+import org.quartz.Scheduler;
+import org.quartz.SimpleTrigger;
+import org.quartz.impl.StdSchedulerFactory;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.isA;
+import static org.hamcrest.Matchers.containsInAnyOrder;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+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: 11/9/2016.
+ */
+public class TCAUtilsTest extends BaseAnalyticsTCAUnitTest {
+
+ @Test
+ public void testGetPolicyFunctionalRoles() throws Exception {
+
+ final TCAPolicy sampleTCAPolicy = getSampleTCAPolicy();
+ final List<String> policyFunctionalRoles = TCAUtils.getPolicyFunctionalRoles(sampleTCAPolicy);
+
+ assertThat("Policy Functional Roles must contain vFirewall and vLoadBalancer", policyFunctionalRoles,
+ containsInAnyOrder("vFirewall", "vLoadBalancer"));
+ }
+
+ @Test
+ public void testGetPolicyFunctionalRoleSupplier() throws Exception {
+ final TCAPolicy sampleTCAPolicy = getSampleTCAPolicy();
+ final Supplier<List<String>> policyFunctionalRoleSupplier = TCAUtils.getPolicyFunctionalRoleSupplier
+ (sampleTCAPolicy);
+ final List<String> policyFunctionalRoles = policyFunctionalRoleSupplier.get();
+ assertThat("Policy Functional Roles must contain vFirewall and vLoadBalancer", policyFunctionalRoles,
+ containsInAnyOrder("vFirewall", "vLoadBalancer"));
+ }
+
+ @Test
+ public void testProcessCEFMessage() throws Exception {
+ final String cefMessageString = fromStream(CEF_MESSAGE_JSON_FILE_LOCATION);
+ final TCACEFProcessorContext tcacefProcessorContext = TCAUtils.filterCEFMessage(cefMessageString,
+ getSampleTCAPolicy());
+ assertThat("TCAECEFProcessor Processor Context can continue flag is true", tcacefProcessorContext
+ .canProcessingContinue(), is(true));
+ }
+
+ @Test
+ public void testGetPolicyFRThresholdsTableSupplier() throws Exception {
+ final Table<String, String, List<Threshold>> policyFRThresholdPathTable = TCAUtils
+ .getPolicyFRThresholdsTableSupplier(getSampleTCAPolicy()).get();
+
+ final Map<String, List<Threshold>> vFirewall = policyFRThresholdPathTable.row("vFirewall");
+ final Map<String, List<Threshold>> vLoadBalancer = policyFRThresholdPathTable.row("vLoadBalancer");
+
+ final Set<String> vFirewallThresholdPaths = vFirewall.keySet();
+ final Set<String> vLoadBalancerPaths = vLoadBalancer.keySet();
+
+ assertThat("vFirewall threshold field path size must be " +
+ "\"$.event.measurementsForVfScalingFields.vNicUsageArray[*].bytesIn\"",
+ vFirewallThresholdPaths.iterator().next(),
+ is("$.event.measurementsForVfScalingFields.vNicUsageArray[*].bytesIn"));
+
+ assertThat("vLoadBalancer threshold field path size must be " +
+ "\"\"$.event.measurementsForVfScalingFields.vNicUsageArray[*].packetsIn\"",
+ vLoadBalancerPaths.iterator().next(),
+ is("$.event.measurementsForVfScalingFields.vNicUsageArray[*].packetsIn"));
+
+ final List<Threshold> firewallThresholds = policyFRThresholdPathTable.get("vFirewall",
+ "$.event.measurementsForVfScalingFields.vNicUsageArray[*].bytesIn");
+ final List<Threshold> vLoadBalancerThresholds = policyFRThresholdPathTable.get("vLoadBalancer",
+ "$.event.measurementsForVfScalingFields.vNicUsageArray[*].packetsIn");
+
+ assertThat("vFirewall Threshold size must be 2", firewallThresholds.size(), is(2));
+ assertThat("vLoadBalancer Threshold size must be 2", vLoadBalancerThresholds.size(), is(2));
+ }
+
+ @Test
+ public void testGetJsonPathValueWithValidMessageAndPolicy() throws Exception {
+ final String cefMessageString = fromStream(CEF_MESSAGE_JSON_FILE_LOCATION);
+ final String jsonPath = "$.event.measurementsForVfScalingFields.vNicUsageArray[*].bytesIn";
+ final ImmutableSet<String> fieldPaths = ImmutableSet.of(jsonPath);
+ final Map<String, List<Long>> jsonPathValueMap = TCAUtils.getJsonPathValue(cefMessageString, fieldPaths);
+ assertThat("Json Path value must match", jsonPathValueMap.get(jsonPath).get(0), is(6086L));
+
+ }
+
+ @Test
+ public void testGetJsonPathValueWithValidPath() throws Exception {
+ final String cefMessageString = fromStream(CEF_MESSAGE_JSON_FILE_LOCATION);
+ final String jsonPath = "$.event.measurementsForVfScalingFields.vNicUsageArray[*].invalid";
+ final ImmutableSet<String> fieldPaths = ImmutableSet.of(jsonPath);
+ final Map<String, List<Long>> jsonPathValueMap = TCAUtils.getJsonPathValue(cefMessageString, fieldPaths);
+ assertThat("Json path value must be empty", jsonPathValueMap.size(), is(0));
+
+ }
+
+
+ @Test
+ public void testCreateNewTCAVESResponseWithFunctionalRolevLoadBalancer() throws Exception {
+ TCACEFProcessorContext tcacefProcessorContext = mock(TCACEFProcessorContext.class);
+
+ MetricsPerFunctionalRole metricsPerFunctionalRole = mock(MetricsPerFunctionalRole.class);
+ when(metricsPerFunctionalRole.getThresholds()).thenReturn(getThresholds());
+ when(metricsPerFunctionalRole.getPolicyScope()).thenReturn("Test Policy scope");
+ when(tcacefProcessorContext.getMetricsPerFunctionalRole()).thenReturn(metricsPerFunctionalRole);
+ when(metricsPerFunctionalRole.getFunctionalRole()).thenReturn("vLoadBalancer");
+
+ when(tcacefProcessorContext.getCEFEventListener()).thenReturn(getCEFEventListener());
+ TCAVESResponse tcaVESResponse = TCAUtils.createNewTCAVESResponse(tcacefProcessorContext, "TCA_APP_NAME");
+
+ //TODO : Add proper assertions, as the usage is not clearly understood
+ assertThat(tcaVESResponse.getClosedLoopControlName(),
+ is("CL-LBAL-LOW-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241AB1A"));
+ assertThat(tcaVESResponse.getVersion(), is("Test Version"));
+ assertThat(tcaVESResponse.getPolicyScope(), is("Test Policy scope"));
+ assertNull(tcaVESResponse.getAai().getGenericVNFId());
+ assertNotNull(tcaVESResponse.getAai().getGenericServerId());
+ }
+
+ @Test
+ public void testCreateNewTCAVESResponseWithFunctionalRolevFirewall() throws Exception {
+ TCACEFProcessorContext tcacefProcessorContext = mock(TCACEFProcessorContext.class);
+
+ MetricsPerFunctionalRole metricsPerFunctionalRole = mock(MetricsPerFunctionalRole.class);
+ when(metricsPerFunctionalRole.getThresholds()).thenReturn(getThresholds());
+ when(metricsPerFunctionalRole.getPolicyScope()).thenReturn("Test Policy scope");
+ when(tcacefProcessorContext.getMetricsPerFunctionalRole()).thenReturn(metricsPerFunctionalRole);
+ when(metricsPerFunctionalRole.getFunctionalRole()).thenReturn("vFirewall");
+
+ when(tcacefProcessorContext.getCEFEventListener()).thenReturn(getCEFEventListener());
+ TCAVESResponse tcaVESResponse = TCAUtils.createNewTCAVESResponse(tcacefProcessorContext, "TCA_APP_NAME");
+
+ //TODO : Add proper assertions, as the usage is not clearly understood
+ assertThat(tcaVESResponse.getClosedLoopControlName(),
+ is("CL-LBAL-LOW-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241AB1A"));
+ assertThat(tcaVESResponse.getVersion(), is("Test Version"));
+ assertThat(tcaVESResponse.getPolicyScope(), is("Test Policy scope"));
+ assertNotNull(tcaVESResponse.getAai().getGenericVNFId());
+ assertNull(tcaVESResponse.getAai().getGenericServerId());
+ }
+
+ @Rule
+ public ExpectedException expectedIllegalArgumentException = ExpectedException.none();
+
+ @Test
+ public void testCreateNewTCAVESResponseNullFunctionalRole() throws Exception {
+ expectedIllegalArgumentException.expect(MessageProcessingException.class);
+ expectedIllegalArgumentException.expectCause(isA(IllegalArgumentException.class));
+ expectedIllegalArgumentException.expectMessage("No violations metrics. Unable to create VES Response");
+
+ TCACEFProcessorContext tcacefProcessorContext = mock(TCACEFProcessorContext.class);
+ TCAVESResponse tcaVESResponse = TCAUtils.createNewTCAVESResponse(tcacefProcessorContext, "TCA_APP_NAME");
+ assertNotNull(tcaVESResponse.getClosedLoopControlName());
+ }
+
+ @Test
+ public void testPrioritizeThresholdViolations() throws Exception {
+
+ Map<String, Threshold> thresholdMap = new HashMap<>();
+ Threshold majorThreshold = mock(Threshold.class);
+ when(majorThreshold.getSeverity()).thenReturn(EventSeverity.MAJOR);
+ thresholdMap.put("MAJOR", majorThreshold);
+
+ Threshold result1 = TCAUtils.prioritizeThresholdViolations(thresholdMap);
+ assertEquals(result1.getSeverity(), EventSeverity.MAJOR);
+
+ Threshold criticalThreshold = mock(Threshold.class);
+ when(criticalThreshold.getSeverity()).thenReturn(EventSeverity.CRITICAL);
+ thresholdMap.put("CRITICAL", criticalThreshold);
+
+ Threshold result2 = TCAUtils.prioritizeThresholdViolations(thresholdMap);
+ assertEquals(result2.getSeverity(), EventSeverity.CRITICAL);
+ }
+
+ @Test
+ public void testCreateViolatedMetrics() throws Exception {
+ TCAPolicy tcaPolicy = getSampleTCAPolicy();
+ Threshold violatedThreshold = getCriticalThreshold();
+ String functionalRole = "vFirewall";
+ MetricsPerFunctionalRole result = TCAUtils.createViolatedMetrics(tcaPolicy, violatedThreshold, functionalRole);
+ assertThat(result.getPolicyScope(), is("resource=vFirewall;type=configuration"));
+ assertThat(result.getPolicyName(), is("configuration.dcae.microservice.tca.xml"));
+ }
+
+ @Test
+ public void testCreateViolatedMetricsWrongFunctionalRole() throws Exception {
+ expectedIllegalArgumentException.expect(MessageProcessingException.class);
+ expectedIllegalArgumentException.expectCause(isA(IllegalStateException.class));
+ expectedIllegalArgumentException.expectMessage("TCA Policy must contain functional Role: badFunctionRoleName");
+
+ TCAPolicy tcaPolicy = getSampleTCAPolicy();
+ Threshold violatedThreshold = getCriticalThreshold();
+ String functionalRole = "badFunctionRoleName";
+ MetricsPerFunctionalRole result = TCAUtils.createViolatedMetrics(tcaPolicy, violatedThreshold, functionalRole);
+ }
+
+ @Test
+ public void testGetDomainAndFunctionalRole() {
+ TCACEFProcessorContext tcacefProcessorContext = mock(TCACEFProcessorContext.class);
+ EventListener eventListener = mock(EventListener.class);
+ Event event = mock(Event.class);
+ CommonEventHeader commonEventHeader = mock(CommonEventHeader.class);
+
+ Pair<String, String> result = TCAUtils.getDomainAndFunctionalRole(tcacefProcessorContext);
+ assertNull(result.getLeft());
+ assertNull(result.getRight());
+
+ when(tcacefProcessorContext.getCEFEventListener()).thenReturn(eventListener);
+ result = TCAUtils.getDomainAndFunctionalRole(tcacefProcessorContext);
+ assertNull(result.getLeft());
+ assertNull(result.getRight());
+
+ when(eventListener.getEvent()).thenReturn(event);
+ result = TCAUtils.getDomainAndFunctionalRole(tcacefProcessorContext);
+ assertNull(result.getLeft());
+ assertNull(result.getRight());
+
+ when(event.getCommonEventHeader()).thenReturn(commonEventHeader);
+ result = TCAUtils.getDomainAndFunctionalRole(tcacefProcessorContext);
+ assertNull(result.getLeft());
+ assertNull(result.getRight());
+
+ when(commonEventHeader.getDomain()).thenReturn("testDomain");
+ when(commonEventHeader.getFunctionalRole()).thenReturn("functionalRole");
+
+ result = TCAUtils.getDomainAndFunctionalRole(tcacefProcessorContext);
+ assertEquals(result.getLeft(), "testDomain");
+ assertEquals(result.getRight(), "functionalRole");
+
+ }
+
+ @Test
+ public void testComputeThresholdViolationsNotPresent() throws Exception {
+ TCACEFProcessorContext tcacefProcessorContext = mock(TCACEFProcessorContext.class);
+ when(tcacefProcessorContext.canProcessingContinue()).thenReturn(true);
+ when(tcacefProcessorContext.getMessage()).thenReturn(getValidCEFMessage());
+
+ when(tcacefProcessorContext.getTCAPolicy()).thenReturn(getSampleTCAPolicy());
+ when(tcacefProcessorContext.getCEFEventListener()).thenReturn(getCEFEventListener());
+
+ TCACEFProcessorContext result = TCAUtils.computeThresholdViolations(tcacefProcessorContext);
+ assertNotNull(result);
+ verify(result, times(0)).setMetricsPerFunctionalRole(Mockito.any(MetricsPerFunctionalRole.class));
+ assertEquals("Policy must not change", getSampleTCAPolicy(), result.getTCAPolicy());
+ }
+
+ @Test
+ public void testComputeThresholdViolationsPresent() throws Exception {
+ TCACEFProcessorContext tcacefProcessorContext = mock(TCACEFProcessorContext.class);
+ when(tcacefProcessorContext.canProcessingContinue()).thenReturn(true);
+ final String cefMessageString = fromStream(CEF_MESSAGE_WITH_THRESHOLD_VIOLATION_JSON_FILE_LOCATION);
+ when(tcacefProcessorContext.getMessage()).thenReturn(cefMessageString);
+
+ when(tcacefProcessorContext.getTCAPolicy()).thenReturn(getSampleTCAPolicy());
+ when(tcacefProcessorContext.getCEFEventListener()).thenReturn(getCEFEventListener());
+
+ TCACEFProcessorContext result = TCAUtils.computeThresholdViolations(tcacefProcessorContext);
+ verify(result, times(1)).setMetricsPerFunctionalRole(Mockito.any(MetricsPerFunctionalRole.class));
+
+ assertEquals("Policy must not change", getSampleTCAPolicy(), result.getTCAPolicy());
+ }
+
+
+ @Test
+ public void testCreateTCAPolicyMetricsPerFunctionalRoleList() throws Exception {
+
+ final Map<String, String> tcaPolicyMap = TCAUtils.filterMapByKeyNamePrefix(getControllerRuntimeArguments(),
+ AnalyticsConstants.TCA_POLICY_METRICS_PER_FUNCTIONAL_ROLE_PATH);
+
+ // determine functional Roles
+ final Map<String, Map<String, String>> functionalRolesMap =
+ TCAUtils.extractSubTree(tcaPolicyMap, 2, 3, AnalyticsConstants.TCA_POLICY_DELIMITER);
+
+ final List<MetricsPerFunctionalRole> tcaPolicyMetricsPerFunctionalRoleList =
+ TCAUtils.createTCAPolicyMetricsPerFunctionalRoleList(functionalRolesMap);
+
+ assertThat("There are two Metrics per function role", 2,
+ is(tcaPolicyMetricsPerFunctionalRoleList.size()));
+ }
+
+
+ @Test
+ public void testCreateQuartzScheduler() throws Exception {
+ final Scheduler scheduler = Mockito.mock(Scheduler.class);
+ final StdSchedulerFactory stdSchedulerFactory = Mockito.mock(StdSchedulerFactory.class);
+ when(stdSchedulerFactory.getScheduler()).thenReturn(scheduler);
+ final JobDataMap jobDataMap = Mockito.mock(JobDataMap.class);
+ TCAUtils.createQuartzScheduler(1000, stdSchedulerFactory,
+ "data/properties/quartz-test.properties", jobDataMap, Job.class,
+ "testJob", "testTigger");
+ verify(scheduler, times(1))
+ .scheduleJob(Mockito.any(JobDetail.class), Mockito.any(SimpleTrigger.class));
+ }
+
+
+ @Test
+ public void testCreateTCAAlertStringWhenCEFIsEnabled() throws Exception {
+ final MetricsPerFunctionalRole violatedMetrics = createViolatedMetricsPerFunctionalRole(EventSeverity.CRITICAL);
+ TCACEFProcessorContext processorContext = mock(TCACEFProcessorContext.class);
+ when(processorContext.getMetricsPerFunctionalRole()).thenReturn(violatedMetrics);
+ when(processorContext.getCEFEventListener()).thenReturn(getCEFEventListener());
+ final String alertString = TCAUtils.createTCAAlertString(processorContext, "testApp", true);
+ assertTrue(alertString.contains("thresholdCrossingAlertFields"));
+ }
+
+ @Test(expected = MessageProcessingException.class)
+ public void testCreateTCAAlertStringWhenViolatedMetricsNotPresentAndCEFIsEnabled() throws Exception {
+ TCACEFProcessorContext processorContext = mock(TCACEFProcessorContext.class);
+ when(processorContext.getMetricsPerFunctionalRole()).thenReturn(null);
+ TCAUtils.createTCAAlertString(processorContext, "testApp", true);
+ }
+
+ @Test
+ public void testCreateTCAAlertStringWhenCEFIsDisabled() throws Exception {
+ final MetricsPerFunctionalRole violatedMetrics = createViolatedMetricsPerFunctionalRole(EventSeverity.MAJOR);
+ TCACEFProcessorContext processorContext = mock(TCACEFProcessorContext.class);
+ when(processorContext.getMetricsPerFunctionalRole()).thenReturn(violatedMetrics);
+ when(processorContext.getCEFEventListener()).thenReturn(getCEFEventListener());
+ final String alertString = TCAUtils.createTCAAlertString(processorContext, "testApp", false);
+ assertFalse(alertString.contains("thresholdCrossingAlertFields"));
+ }
+
+ @Test(expected = MessageProcessingException.class)
+ public void testCreateTCAAlertStringWhenViolatedMetricsNotPresentAndCEFIsDisabled() throws Exception {
+ TCACEFProcessorContext processorContext = mock(TCACEFProcessorContext.class);
+ when(processorContext.getMetricsPerFunctionalRole()).thenReturn(null);
+ TCAUtils.createTCAAlertString(processorContext, "testApp", false);
+ }
+
+ private static MetricsPerFunctionalRole createViolatedMetricsPerFunctionalRole(EventSeverity severity) {
+ final Threshold violatedThreshold = new Threshold();
+ violatedThreshold.setSeverity(severity);
+ violatedThreshold.setDirection(Direction.GREATER);
+ violatedThreshold.setClosedLoopControlName("violatedThresholdClosedLoopName");
+ violatedThreshold.setActualFieldValue(100L);
+ violatedThreshold.setFieldPath("violatedThresholdFieldPath");
+ violatedThreshold.setVersion("violatedThresholdVersion");
+ violatedThreshold.setThresholdValue(50L);
+
+ final MetricsPerFunctionalRole violatedMetrics = new MetricsPerFunctionalRole();
+ violatedMetrics.setPolicyName("violatePolicyName");
+ violatedMetrics.setPolicyVersion("violatedPolicyVersion");
+ violatedMetrics.setPolicyScope("violatedPolicyScope");
+ violatedMetrics.setFunctionalRole("violatedFunctionalRole");
+ violatedMetrics.setThresholds(Arrays.asList(violatedThreshold));
+ return violatedMetrics;
+ }
+}
diff --git a/dcae-analytics-tca/src/test/resources/data/json/cef/cef_message.json b/dcae-analytics-tca/src/test/resources/data/json/cef/cef_message.json
new file mode 100644
index 0000000..52cf53b
--- /dev/null
+++ b/dcae-analytics-tca/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-tca/src/test/resources/data/json/cef/cef_message_with_threshold_violation.json b/dcae-analytics-tca/src/test/resources/data/json/cef/cef_message_with_threshold_violation.json
new file mode 100644
index 0000000..bfb1672
--- /dev/null
+++ b/dcae-analytics-tca/src/test/resources/data/json/cef/cef_message_with_threshold_violation.json
@@ -0,0 +1,37 @@
+{
+ "event": {
+ "measurementsForVfScalingFields": {
+ "measurementInterval": 10,
+ "measurementsForVfScalingVersion": 1.1,
+ "vNicUsageArray": [
+ {
+ "bytesIn": 20000,
+ "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-tca/src/test/resources/data/json/cef/cef_messages.json b/dcae-analytics-tca/src/test/resources/data/json/cef/cef_messages.json
new file mode 100644
index 0000000..bc7a924
--- /dev/null
+++ b/dcae-analytics-tca/src/test/resources/data/json/cef/cef_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-tca/src/test/resources/data/json/policy/tca_policy.json b/dcae-analytics-tca/src/test/resources/data/json/policy/tca_policy.json
new file mode 100644
index 0000000..1bf9e83
--- /dev/null
+++ b/dcae-analytics-tca/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-tca/src/test/resources/data/properties/quartz-test.properties b/dcae-analytics-tca/src/test/resources/data/properties/quartz-test.properties
new file mode 100644
index 0000000..d4ad8f3
--- /dev/null
+++ b/dcae-analytics-tca/src/test/resources/data/properties/quartz-test.properties
@@ -0,0 +1,24 @@
+#
+# ===============================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===========================================
+#
+
+org.quartz.scheduler.instanceName=TCA_DMaaPMRPublisher_Scheduler
+org.quartz.threadPool.threadCount=3
+org.quartz.jobStore.class=org.quartz.simpl.RAMJobStore
+org.quartz.scheduler.skipUpdateCheck=true
diff --git a/dcae-analytics-tca/src/test/resources/data/properties/tca_controller_policy.properties b/dcae-analytics-tca/src/test/resources/data/properties/tca_controller_policy.properties
new file mode 100644
index 0000000..6eeea87
--- /dev/null
+++ b/dcae-analytics-tca/src/test/resources/data/properties/tca_controller_policy.properties
@@ -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===========================================
+#
+
+domain=measurementsForVfScaling
+
+configuration.metricsPerFunctionalRole.vFirewall.policy.functionalRole=vFirewall
+configuration.metricsPerFunctionalRole.vFirewall.policyName=configuration.dcae.microservice.tca.xml
+configuration.metricsPerFunctionalRole.vFirewall.policyVersion=v0.0.1
+configuration.metricsPerFunctionalRole.vFirewall.policyScope=resource=vFirewall;type=configuration
+
+configuration.metricsPerFunctionalRole.vFirewall.thresholds.0.policy.closedLoopControlName=CL-FRWL-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8
+configuration.metricsPerFunctionalRole.vFirewall.thresholds.0.policy.fieldPath=$.event.measurementsForVfScalingFields.vNicUsageArray[*].bytesIn
+configuration.metricsPerFunctionalRole.vFirewall.thresholds.0.policy.thresholdValue=4000
+configuration.metricsPerFunctionalRole.vFirewall.thresholds.0.policy.direction=LESS_OR_EQUAL
+configuration.metricsPerFunctionalRole.vFirewall.thresholds.0.policy.severity=MAJOR
+configuration.metricsPerFunctionalRole.vFirewall.thresholds.0.policy.version=1.0.2
+
+configuration.metricsPerFunctionalRole.vFirewall.thresholds.1.policy.closedLoopControlName=L-FRWL-HIGH-TRAFFIC-SIG-EA36FE84-9342-5E13-A656-EC5F21309A09
+configuration.metricsPerFunctionalRole.vFirewall.thresholds.1.policy.fieldPath=$.event.measurementsForVfScalingFields.vNicUsageArray[*].bytesIn
+configuration.metricsPerFunctionalRole.vFirewall.thresholds.1.policy.thresholdValue=20000
+configuration.metricsPerFunctionalRole.vFirewall.thresholds.1.policy.direction=GREATER_OR_EQUAL
+configuration.metricsPerFunctionalRole.vFirewall.thresholds.1.policy.severity=CRITICAL
+configuration.metricsPerFunctionalRole.vFirewall.thresholds.1.policy.version=1.0.2
+
+configuration.metricsPerFunctionalRole.vLoadBalancer.policy.functionalRole=vLoadBalancer
+configuration.metricsPerFunctionalRole.vLoadBalancer.policyName=configuration.dcae.microservice.tca.xml
+configuration.metricsPerFunctionalRole.vLoadBalancer.policyVersion=v0.0.1
+configuration.metricsPerFunctionalRole.vLoadBalancer.policyScope=resource=vLoadBalancer;type=configuration
+
+configuration.metricsPerFunctionalRole.vLoadBalancer.thresholds.0.policy.closedLoopControlName=CL-LBAL-LOW-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241AB1A
+configuration.metricsPerFunctionalRole.vLoadBalancer.thresholds.0.policy.fieldPath=$.event.measurementsForVfScalingFields.vNicUsageArray[*].packetsIn
+configuration.metricsPerFunctionalRole.vLoadBalancer.thresholds.0.policy.thresholdValue=500
+configuration.metricsPerFunctionalRole.vLoadBalancer.thresholds.0.policy.direction=LESS_OR_EQUAL
+configuration.metricsPerFunctionalRole.vLoadBalancer.thresholds.0.policy.severity=MAJOR
+configuration.metricsPerFunctionalRole.vLoadBalancer.thresholds.0.policy.version=1.0.2
+
+configuration.metricsPerFunctionalRole.vLoadBalancer.thresholds.1.policy.closedLoopControlName=CL-LBAL-LOW-TRAFFIC-SIG-0C5920A6-B564-8035-C878-0E814352BC2B
+configuration.metricsPerFunctionalRole.vLoadBalancer.thresholds.1.policy.fieldPath=$.event.measurementsForVfScalingFields.vNicUsageArray[*].packetsIn
+configuration.metricsPerFunctionalRole.vLoadBalancer.thresholds.1.policy.thresholdValue=5000
+configuration.metricsPerFunctionalRole.vLoadBalancer.thresholds.1.policy.direction=GREATER_OR_EQUAL
+configuration.metricsPerFunctionalRole.vLoadBalancer.thresholds.1.policy.severity=CRITICAL
+configuration.metricsPerFunctionalRole.vLoadBalancer.thresholds.1.policy.version=1.0.2
diff --git a/dcae-analytics-tca/src/test/resources/logback-test.xml b/dcae-analytics-tca/src/test/resources/logback-test.xml
new file mode 100644
index 0000000..68d2f3d
--- /dev/null
+++ b/dcae-analytics-tca/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-test/pom.xml b/dcae-analytics-test/pom.xml
new file mode 100644
index 0000000..df14029
--- /dev/null
+++ b/dcae-analytics-test/pom.xml
@@ -0,0 +1,114 @@
+<!--
+ ~ ===============================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>
+ <groupId>org.openecomp.dcae.apod.analytics</groupId>
+ <artifactId>dcae-analytics</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>dcae-analytics-test</artifactId>
+ <packaging>jar</packaging>
+
+ <!-- THIS MODULE CONTAINS COMMON TESTING CODE AND MUST NEVER BE DEPLOYED IN PRODUCTION ENVIRONMENT -->
+ <name>DCAE Analytics Test</name>
+ <description>Contains common testing code for all DCAE Analytics Modules</description>
+
+
+ <properties>
+ <main.basedir>${project.parent.basedir}</main.basedir>
+ </properties>
+
+ <dependencies>
+
+ <!-- LOGGING -->
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </dependency>
+
+ <!-- UTILITIES -->
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.google.code.findbugs</groupId>
+ <artifactId>jsr305</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.google.code.gson</groupId>
+ <artifactId>gson</artifactId>
+ </dependency>
+
+ <!-- DEPENDENCY INJECTION -->
+ <dependency>
+ <groupId>com.google.inject</groupId>
+ <artifactId>guice</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.google.inject.extensions</groupId>
+ <artifactId>guice-assistedinject</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.google.inject.extensions</groupId>
+ <artifactId>guice-multibindings</artifactId>
+ </dependency>
+
+ <!-- TEST DEPENDENCIES -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>compile</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
+ <scope>compile</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>com.jayway.jsonpath</groupId>
+ <artifactId>json-path</artifactId>
+ <scope>compile</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>com.jayway.jsonpath</groupId>
+ <artifactId>json-path-assert</artifactId>
+ <scope>compile</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.skyscreamer</groupId>
+ <artifactId>jsonassert</artifactId>
+ <scope>compile</scope>
+ </dependency>
+
+ </dependencies>
+
+</project>
diff --git a/dcae-analytics-test/src/main/java/org/openecomp/dcae/apod/analytics/test/BaseDCAEAnalyticsCommonTest.java b/dcae-analytics-test/src/main/java/org/openecomp/dcae/apod/analytics/test/BaseDCAEAnalyticsCommonTest.java
new file mode 100644
index 0000000..c1d939e
--- /dev/null
+++ b/dcae-analytics-test/src/main/java/org/openecomp/dcae/apod/analytics/test/BaseDCAEAnalyticsCommonTest.java
@@ -0,0 +1,243 @@
+/*
+ * ===============================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.test;
+
+import org.json.JSONException;
+import org.junit.Assert;
+import org.skyscreamer.jsonassert.JSONAssert;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.ObjectOutputStream;
+import java.io.OutputStreamWriter;
+import java.lang.reflect.Field;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.nio.charset.Charset;
+import java.nio.file.Paths;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+import java.util.Arrays;
+
+import static java.nio.file.Files.deleteIfExists;
+import static java.nio.file.Files.exists;
+
+/**
+ * Base common test class for all DCAE Analytics Test e.g. unit tests, integration test, CDAP tests etc.
+ * <p>
+ * @author Rajiv Singla . Creation Date: 10/19/2016.
+ */
+abstract class BaseDCAEAnalyticsCommonTest {
+
+ protected static final Logger LOG = LoggerFactory.getLogger(BaseDCAEAnalyticsCommonTest.class);
+
+ /**
+ * Asserts if expected Json String and actual Json String contain the same properties ignoring
+ * property order. Simple String assertion might fail as property order during serialization and deserialization
+ * is generally non-deterministic. Also proper error message are generated more missing or unexpected
+ * properties
+ *
+ * @param expectedJsonString expected Json String
+ * @param actualJsonString actual Json String
+ * @throws JSONException Json Exception
+ */
+ public static void assertJson(String expectedJsonString, String actualJsonString) throws JSONException {
+ JSONAssert.assertEquals(expectedJsonString, actualJsonString, true);
+ }
+
+ /**
+ * Converts given file location to String
+ *
+ * @param fileLocation location of the file which needs to be converted to String
+ * @return Contents of file as string
+ * @throws IOException IOException
+ */
+ public static String fromStream(String fileLocation) throws IOException {
+ final InputStream jsonFileInputStream =
+ BaseDCAEAnalyticsCommonTest.class.getClassLoader().getResourceAsStream(fileLocation);
+ Assert.assertNotNull("Json File Location must be valid", jsonFileInputStream);
+ try (BufferedReader reader =
+ new BufferedReader(new InputStreamReader(jsonFileInputStream, Charset.forName("UTF-8")))) {
+ final StringBuilder result = new StringBuilder();
+ final String newLine = System.getProperty("line.separator");
+ String line = reader.readLine();
+ while (line != null) {
+ result.append(line);
+ result.append(newLine);
+ line = reader.readLine();
+ }
+ jsonFileInputStream.close();
+ return result.toString();
+ }
+ }
+
+
+ /**
+ * Checks if object can be serialized properly
+ *
+ * @param object input object
+ * @param callingClass calling class
+ * @throws IOException IOException
+ */
+ public static void testSerialization(Object object, Class<?> callingClass) throws IOException {
+ final URL location = callingClass.getProtectionDomain().getCodeSource().getLocation();
+ final File serializedOutputFile =
+ new File(location.getPath() + String.format("serialization/%s.ser", object.getClass().getSimpleName()));
+
+ // Maybe file already try deleting it first
+ final boolean deleteIfExists = deleteIfExists(Paths.get(serializedOutputFile.getPath()));
+
+ if (deleteIfExists) {
+ LOG.warn("Previous serialization file was overwritten at location: {}", serializedOutputFile.getPath());
+ }
+
+ boolean mkdirs = true;
+ if (!exists(Paths.get(serializedOutputFile.getParentFile().getPath()))) {
+ mkdirs = serializedOutputFile.getParentFile().mkdirs();
+ }
+ if (mkdirs) {
+ try (FileOutputStream fileOutputStream = new FileOutputStream(serializedOutputFile);
+ ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream)) {
+ objectOutputStream.writeObject(object);
+ LOG.debug("Successfully created serialization file at location: {}", serializedOutputFile.getPath());
+ }
+ } else {
+ throw new IllegalStateException(
+ String.format("Failed to create location to store serialization file: %s",
+ serializedOutputFile));
+ }
+ }
+
+ /**
+ * Writes Text to Output file
+ *
+ * @param textFileLocation - location of text file e.g. textfiles/fileName.json
+ * @param content - file content
+ * @param callingClass - calling class
+ * @throws IOException - ioException
+ */
+ public static void writeToOutputTextFile(String textFileLocation, String content, Class<?> callingClass) throws
+ IOException {
+ final URL location = callingClass.getProtectionDomain().getCodeSource().getLocation();
+ final File fileLocation = new File(location.getPath() + textFileLocation);
+
+ // Maybe file already try deleting it first
+ final boolean deleteIfExists = deleteIfExists(Paths.get(fileLocation.getPath()));
+
+ if (deleteIfExists) {
+ LOG.warn("Previous file will be overwritten at location: {}", fileLocation.getPath());
+ }
+
+ boolean mkdirs = true;
+ if (!exists(Paths.get(fileLocation.getParentFile().getPath()))) {
+ mkdirs = fileLocation.getParentFile().mkdirs();
+ }
+ if (mkdirs) {
+ try (
+ FileOutputStream fileOutputStream = new FileOutputStream(fileLocation);
+ OutputStreamWriter outputStream =
+ new OutputStreamWriter(fileOutputStream, Charset.forName("UTF-8"))) {
+ outputStream.write(content);
+ LOG.debug("Successfully created text file at location: {}", fileLocation.getPath());
+ }
+ } else {
+ throw new IllegalStateException(
+ String.format("Failed to create location to store text file: %s", fileLocation));
+ }
+
+ }
+
+
+ /**
+ * For testing purposes only we may sometime we may want to access private fields of underlying
+ * object to confirm the values are setup correctly.
+ * <p>
+ * This method uses java reflection to get the value to private object in the class
+ *
+ * @param object Actual object which has the private field you want to check
+ * @param fieldName Field name in the Actual Object you want to get the value of
+ * @param privateFieldClass Type of the private field
+ * @param <T> Class of Actual Object
+ * @param <U> Class of private field
+ * @return value of the private field
+ */
+ public static <T, U> U getPrivateFiledValue(T object, String fieldName, Class<U> privateFieldClass) {
+
+ final Class<?> objectClass = object.getClass();
+ try {
+ final Field privateField = objectClass.getDeclaredField(fieldName);
+ try {
+
+ // mark private field to be accessible for testing purposes
+ AccessController.doPrivileged(new PrivilegedAction() {
+ @Override
+ public Object run() {
+ privateField.setAccessible(true);
+ return null;
+ }
+ });
+
+
+ return privateFieldClass.cast(privateField.get(object));
+
+ } catch (IllegalAccessException e) {
+ LOG.error("Unable to access field: {}", fieldName);
+ throw new IllegalStateException(e);
+ }
+ } catch (NoSuchFieldException e) {
+ LOG.error("Unable to locate field name: {} in class: {}", fieldName, objectClass.getSimpleName());
+ throw new IllegalStateException(e);
+ }
+
+
+ }
+
+
+ /**
+ * Prints classpath jars which are visible inside the class
+ *
+ * @param classLoader classloader of the calling class
+ */
+ public static void dumpClasspath(ClassLoader classLoader) {
+
+ LOG.info("Dumping ClassPath for classloader: {}", classLoader);
+
+ if (classLoader instanceof URLClassLoader) {
+
+ URLClassLoader ucl = (URLClassLoader) classLoader;
+ LOG.info("\t ==========>>>" + Arrays.toString(ucl.getURLs()));
+
+ } else {
+ LOG.info("\t(cannot display components as not a URLClassLoader)");
+ }
+
+ if (classLoader.getParent() != null) {
+ dumpClasspath(classLoader.getParent());
+ }
+ }
+
+}
diff --git a/dcae-analytics-test/src/main/java/org/openecomp/dcae/apod/analytics/test/BaseDCAEAnalyticsIT.java b/dcae-analytics-test/src/main/java/org/openecomp/dcae/apod/analytics/test/BaseDCAEAnalyticsIT.java
new file mode 100644
index 0000000..cbc7f1c
--- /dev/null
+++ b/dcae-analytics-test/src/main/java/org/openecomp/dcae/apod/analytics/test/BaseDCAEAnalyticsIT.java
@@ -0,0 +1,29 @@
+/*
+ * ===============================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.test;
+
+/**
+ * Base class for all DCAE Analytics Integration Tests
+ * <p>
+ * @author Rajiv Singla . Creation Date: 10/6/2016.
+ */
+public abstract class BaseDCAEAnalyticsIT extends BaseDCAEAnalyticsCommonTest {
+}
diff --git a/dcae-analytics-test/src/main/java/org/openecomp/dcae/apod/analytics/test/BaseDCAEAnalyticsUnitTest.java b/dcae-analytics-test/src/main/java/org/openecomp/dcae/apod/analytics/test/BaseDCAEAnalyticsUnitTest.java
new file mode 100644
index 0000000..84feb1d
--- /dev/null
+++ b/dcae-analytics-test/src/main/java/org/openecomp/dcae/apod/analytics/test/BaseDCAEAnalyticsUnitTest.java
@@ -0,0 +1,31 @@
+/*
+ * ===============================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.test;
+
+/**
+ * Base class for all DCAE Analytics Unit Tests
+ * <p>
+ * @author Rajiv Singla . Creation Date: 10/6/2016.
+ */
+public abstract class BaseDCAEAnalyticsUnitTest extends BaseDCAEAnalyticsCommonTest {
+
+
+}
diff --git a/dcae-analytics-test/src/main/java/org/openecomp/dcae/apod/analytics/test/annotation/GuiceModules.java b/dcae-analytics-test/src/main/java/org/openecomp/dcae/apod/analytics/test/annotation/GuiceModules.java
new file mode 100644
index 0000000..8c62db2
--- /dev/null
+++ b/dcae-analytics-test/src/main/java/org/openecomp/dcae/apod/analytics/test/annotation/GuiceModules.java
@@ -0,0 +1,45 @@
+/*
+ * ===============================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.test.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Annotation which can be used to provide test guice modules
+ * <p>
+ * @author Rajiv Singla . Creation Date: 10/20/2016.
+ */
+@Target(ElementType.TYPE)
+@Retention(RetentionPolicy.RUNTIME)
+@Inherited
+public @interface GuiceModules {
+
+ /**
+ * Test Modules
+ *
+ * @return module classes
+ */
+ Class<?>[] value();
+}
diff --git a/dcae-analytics-test/src/main/java/org/openecomp/dcae/apod/analytics/test/runner/GuiceJUnitRunner.java b/dcae-analytics-test/src/main/java/org/openecomp/dcae/apod/analytics/test/runner/GuiceJUnitRunner.java
new file mode 100644
index 0000000..6c6071e
--- /dev/null
+++ b/dcae-analytics-test/src/main/java/org/openecomp/dcae/apod/analytics/test/runner/GuiceJUnitRunner.java
@@ -0,0 +1,100 @@
+/*
+ * ===============================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.test.runner;
+
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+import com.google.inject.Module;
+import org.junit.runners.BlockJUnit4ClassRunner;
+import org.junit.runners.model.InitializationError;
+import org.openecomp.dcae.apod.analytics.test.annotation.GuiceModules;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.Arrays;
+
+/**
+ * A custom Junit Runner which can be used to run Guice Test with custom Test Modules
+ * <p>
+ * @author Rajiv Singla . Creation Date: 10/20/2016.
+ */
+public class GuiceJUnitRunner extends BlockJUnit4ClassRunner {
+
+ private static final Logger LOG = LoggerFactory.getLogger(GuiceJUnitRunner.class);
+
+ private Injector injector;
+
+ public GuiceJUnitRunner(Class<?> klass) throws InitializationError {
+ super(klass);
+ Class<?>[] classes = getModulesFor(klass);
+ injector = createInjectorFor(classes);
+ }
+
+
+ /**
+ * Returns a new fixture for running a test. Injects Guice members
+ */
+ @Override
+ public Object createTest() throws Exception {
+ Object obj = super.createTest();
+ injector.injectMembers(obj);
+ return obj;
+ }
+
+
+ /**
+ * Creates new Guice Injector and registers Guice test modules
+ *
+ * @param classes test module classes
+ * @return Guice injector with test modules
+ * @throws InitializationError
+ */
+ private Injector createInjectorFor(Class<?>[] classes) throws InitializationError {
+ Module[] modules = new Module[classes.length];
+ for (int i = 0; i < classes.length; i++) {
+ try {
+ modules[i] = (Module) (classes[i]).newInstance();
+ } catch (InstantiationException | IllegalAccessException e) {
+ throw new InitializationError(e);
+ }
+ }
+ LOG.debug("Creating Junit Test Runner with Guice Test Modules: {}", Arrays.toString(modules));
+ return Guice.createInjector(modules);
+ }
+
+ /**
+ * Extract user provide test modules from the {@link GuiceModules} annotation
+ *
+ * @param klass Target class which is running the test
+ * @return Guice modules contained passed in annotation of Guice Modules
+ * @throws InitializationError
+ */
+ private Class<?>[] getModulesFor(Class<?> klass) throws InitializationError {
+ GuiceModules annotation = klass.getAnnotation(GuiceModules.class);
+ if (annotation == null) {
+ throw new InitializationError(
+ "Missing @GuiceModules annotation for unit test '" + klass.getName()
+ + "'");
+ }
+ return annotation.value();
+ }
+
+}
diff --git a/dcae-analytics-test/src/main/resources/logback-test.xml b/dcae-analytics-test/src/main/resources/logback-test.xml
new file mode 100644
index 0000000..68d2f3d
--- /dev/null
+++ b/dcae-analytics-test/src/main/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/dpo/commands b/dpo/commands
new file mode 100644
index 0000000..29e8507
--- /dev/null
+++ b/dpo/commands
@@ -0,0 +1,17 @@
+unset http_proxy; unset https_proxy
+
+dcae_cli data_format add --update tcaInput.json
+dcae_cli data_format add --update tcaOutput.json
+dcae_cli component add --update tcaSpec.json
+dcae_cli component run --dmaap-file dmaap.json --force --additional-user USER cdap.tca.hi.lo.app
+
+# publish
+dcae_cli data_format publish "TCA Alert Definition"
+
+# to un-deploy
+dcae_cli component undeploy cdap.tca.hi.lo.app
+
+# to inspect
+dcae_cli component show cdap.tca.hi.lo.app
+dcae_cli component list
+dcae_cli component list --deployed \ No newline at end of file
diff --git a/dpo/dmaap.json b/dpo/dmaap.json
new file mode 100644
index 0000000..8bb4dd5
--- /dev/null
+++ b/dpo/dmaap.json
@@ -0,0 +1,18 @@
+{
+ "tca_handle_in": {
+ "aaf_username": "USER",
+ "aaf_password": "PASSWORD",
+ "type": "message_router",
+ "dmaap_info": {
+ "topic_url": "https://HOSTNAME:3905/events/com.att.dcae.dmaap.mtnje2.DcaeTestVESSub"
+ }
+ },
+ "tca_handle_out": {
+ "aaf_username": "USER",
+ "aaf_password": "PASSWORD",
+ "type": "message_router",
+ "dmaap_info": {
+ "topic_url": "https://HOSTNAME:3905/events/com.att.dcae.dmaap.mtnje2.DcaeTestVESPub"
+ }
+ }
+}
diff --git a/dpo/tcaInput.json b/dpo/tcaInput.json
new file mode 100644
index 0000000..0d5a81a
--- /dev/null
+++ b/dpo/tcaInput.json
@@ -0,0 +1,14 @@
+{
+ "self": {
+ "name": "Common Event Format Definition",
+ "version": "25.0.0",
+ "description": "Common Event Format Definition"
+
+ },
+ "dataformatversion": "1.0.0",
+ "reference": {
+ "name": "Common Event Format",
+ "format": "JSON",
+ "version": "25.0.0"
+ }
+} \ No newline at end of file
diff --git a/dpo/tcaOutput.json b/dpo/tcaOutput.json
new file mode 100644
index 0000000..03c836f
--- /dev/null
+++ b/dpo/tcaOutput.json
@@ -0,0 +1,63 @@
+{
+ "self": {
+ "name": "TCA Alert Definition",
+ "version": "1.0.0",
+ "description": "The format of the output event from TCA"
+ },
+ "dataformatversion": "1.0.0",
+ "jsonschema": {
+ "name": "TCA Alert",
+ "version": "1.0.0",
+ "properties": {
+ "closedLoopControlame": {
+ "type": "string"
+ },
+ "version": {
+ "type": "string"
+ },
+ "requestID": {
+ "type": "string"
+ },
+ "closedLoopAlarmStart": {
+ "type": "string"
+ },
+ "closedLoopEventClient": {
+ "type": "string"
+ },
+ "target_type": {
+ "type": "string",
+ "enum": [ "VNF", "VM" ]
+ },
+ "target": {
+ "type": "string",
+ "enum": [ "generic-vnf.vnf-id", "vserver.vserver-name" ]
+ },
+ "AAI": {"anyOf": [
+ {"generic-vnf.vnf-id": {
+ "type": "string"
+ }},
+ {"vserver.vserver-name" : {
+ "type": "string"
+ }}]
+ },
+ "from": {
+ "type": "string",
+ "enum": [ "DCAE" ]
+ },
+ "policyScope": {
+ "type": "string"
+ },
+ "policyName": {
+ "type": "string"
+ },
+ "policyVersion": {
+ "type": "string"
+ },
+ "closedLoopEventStatus": {
+ "type": "string",
+ "enum": [ "ONSET" ]
+ }
+
+ }
+ }
+} \ No newline at end of file
diff --git a/dpo/tcaSpec.json b/dpo/tcaSpec.json
new file mode 100644
index 0000000..4b3a5c9
--- /dev/null
+++ b/dpo/tcaSpec.json
@@ -0,0 +1,223 @@
+{
+ "self": {
+ "name": "cdap.tca.hi.lo.app",
+ "version": "1.0.2",
+ "description": "cdap tca hi lo application",
+ "component_type": "cdap"
+ },
+ "streams": {
+ "subscribes": [{
+ "config_key": "tca_handle_in",
+ "format": "Common Event Format Definition",
+ "version": "25.0.0",
+ "type": "message router"
+ }
+ ],
+ "publishes": [{
+ "config_key": "tca_handle_out",
+ "format": "TCA Alert Definition",
+ "version": "1.0.0",
+ "type": "message router"
+ }
+ ]
+ },
+ "services": {
+ "calls": [],
+ "provides": []
+ },
+ "auxilary": {
+ "streamname": "TCASubscriberOutputStream",
+ "artifact_name": "dcae-analytics-tca",
+ "artifact_version": "1.1.0",
+ "programs": [{
+ "program_type": "flows",
+ "program_id": "TCAVESCollectorFlow"
+ }, {
+ "program_type": "workers",
+ "program_id": "TCADMaaPMRSubscriberWorker"
+ }, {
+ "program_type": "workers",
+ "program_id": "TCADMaaPMRPublisherWorker"
+ }
+ ],
+ "namespace": "cdap_tca_hi_lo"
+ },
+ "artifacts": [{
+ "uri": "${nexusproxy}/repository/dcae-dev-raw/jar_files/dcae-analytics-tca-1.1.0.jar",
+ "type": "jar"
+ }
+ ],
+ "parameters": {
+ "app_config": [{
+ "name": "appName",
+ "description": "",
+ "value": "dcae-tca"
+ }, {
+ "name": "appDescription",
+ "description": "",
+ "value": "DCAE Analytics Threshold Crossing Alert Application"
+ }, {
+ "name": "tcaSubscriberOutputStreamName",
+ "description": "",
+ "value": "TCASubscriberOutputStream"
+ }, {
+ "name": "thresholdCalculatorFlowletInstances",
+ "description": "",
+ "value": 2
+ }, {
+ "name": "tcaVESMessageStatusTableName",
+ "description": "",
+ "value": "TCAVESMessageStatusTable"
+ }, {
+ "name": "tcaVESMessageStatusTableTTLSeconds",
+ "description": "",
+ "value": 86400
+ }, {
+ "name": "tcaVESAlertsTableName",
+ "description": "",
+ "value": "TCAVESAlertsTable"
+ }, {
+ "name": "tcaVESAlertsTableTTLSeconds",
+ "description": "",
+ "value": 1728000
+ }
+ ],
+ "app_preferences": [{
+ "name": "subscriberContentType",
+ "description": "",
+ "value": "application/json"
+ }, {
+ "name": "subscriberConsumerId",
+ "description": "",
+ "value": "c12"
+ }, {
+ "name": "subscriberConsumerGroup",
+ "description": "",
+ "value": "OpenDCAE-c12"
+ }, {
+ "name": "subscriberTimeoutMS",
+ "description": "",
+ "value": -1
+ }, {
+ "name": "subscriberMessageLimit",
+ "description": "",
+ "value": -1
+ }, {
+ "name": "subscriberPollingInterval",
+ "description": "",
+ "value": 20000
+ }, {
+ "name": "publisherContentType",
+ "description": "",
+ "value": "application/json"
+ }, {
+ "name": "publisherMaxBatchSize",
+ "description": "",
+ "value": 10
+ }, {
+ "name": "publisherMaxRecoveryQueueSize",
+ "description": "",
+ "value": 100000
+ }, {
+ "name": "publisherPollingInterval",
+ "description": "",
+ "value": 20000
+ }, {
+ "name": "tca_policy",
+ "description": "",
+ "value":
+ "'{\"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\"}]}]}'"
+ }
+ ],
+ "program_preferences": [],
+
+ "policy_parameters": [{
+ "name": "domain",
+ "description": "",
+ "type": "string",
+ "value": "measurementsForVfScaling",
+ "constraints":
+ [{
+ "equal": "measurementsForVfScaling"
+ }
+ ]
+ }, {
+ "name": "metricsPerFunctionalRole",
+ "description": "",
+ "type": "list",
+ "entry_schema":
+ [{
+ "name": "functionalRole",
+ "description": "Function of the event source e.g., eNodeB, MME, PCRF",
+ "type": "string",
+ "value": ""
+ }, {
+ "name": "policyScope",
+ "description": "Policy Scope associated with this event.For example-resource=vFirewall;type=configuration",
+ "type": "string",
+ "value": ""
+ }, {
+ "name": "policyName",
+ "description": "Policy name/ID for this event",
+ "type": "string",
+ "value": "configuration.dcae.microservice.tca.xml"
+ }, {
+ "name": "policyVersion",
+ "description": "Policy Version",
+ "type": "string",
+ "value": "v0.0.1"
+ }, {
+ "name": "thresholds",
+ "description": "",
+ "type": "list",
+ "entry_schema":
+ [{
+ "name": "closedLoopControlName",
+ "description": "A UNIQUE string identifying the Closed Loop ID this event is for.",
+ "type": "string",
+ "value": ""
+ }, {
+ "name": "version",
+ "description": "Version for the closed loop message",
+ "type": "string",
+ "value": ""
+ }, {
+ "name": "fieldPath",
+ "description": "",
+ "type": "string",
+ "value": ""
+ }, {
+ "name": "thresholdValue",
+ "description": "",
+ "type": "number",
+ "value": ""
+ }, {
+ "name": "direction",
+ "description": "",
+ "type": "string",
+ "value": "",
+ "constraints":
+ [{
+ "valid_value":
+ ["LESS", "LESS_OR_EQUAL", "GREATER", "GREATER_OR_EQUAL"]
+ }
+ ]
+ }, {
+ "name": "severity",
+ "description": "event severity or priority",
+ "value": "",
+ "type": "string",
+ "constraints":
+ [{
+ "valid_value":
+ ["CRITICAL", "MAJOR", "MINOR", "WARNING", "NORMAL"]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+}
diff --git a/findbugs-exclude.xml b/findbugs-exclude.xml
new file mode 100644
index 0000000..cd9e3f7
--- /dev/null
+++ b/findbugs-exclude.xml
@@ -0,0 +1,43 @@
+<?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===========================================
+ -->
+
+<FindBugsFilter>
+
+ <Match>
+ <!-- Ignore warnings for DACE Models project -->
+ <Class name="org.openecomp.dcae.apod.analytics.model.domain.cef.MeasurementsForVfScaling"/>
+ </Match>
+
+ <Match>
+ <!-- TCA Application has unconfirmed cast which is provided by CDAP -->
+ <Class name="org.openecomp.dcae.apod.analytics.cdap.tca.TCAAnalyticsApplication"/>
+ <Bug pattern="BC_UNCONFIRMED_CAST_OF_RETURN_VALUE"/>
+ </Match>
+
+ <Match>
+ <!-- Ignore Metrics not serializable in DMaaPMRReceiver as metrics is a CDAP interface which is
+ not serializable -->
+ <Class name="org.openecomp.dcae.apod.analytics.cdap.plugins.streaming.dmaap.DMaaPMRReceiver"/>
+ <Bug pattern="SE_BAD_FIELD"/>
+ </Match>
+
+</FindBugsFilter>
diff --git a/pmd-exclude.properties b/pmd-exclude.properties
new file mode 100644
index 0000000..7aac262
--- /dev/null
+++ b/pmd-exclude.properties
@@ -0,0 +1,23 @@
+#
+# ===============================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===========================================
+#
+
+# List fully qualified names of classes that can be excluded for PMD (PROGRAMMING-MISTAKE-DETECTOR)
+# e.g.
+# org.openecomp.dcae.apod.analytics.tca.worker.TCADMaaPSubscriberWorker=TooManyStaticImports
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..b0d5cf4
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,1242 @@
+<?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>
+
+
+ <groupId>org.openecomp.dcae.apod.analytics</groupId>
+ <artifactId>dcae-analytics</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <name>DCAE Analytics Framework</name>
+ <description>Application Framework for DCAE Analytics</description>
+
+ <licenses>
+ <license>
+ <name>The Apache Software License, Version 2.0</name>
+ <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+ </license>
+ </licenses>
+
+ <pluginRepositories>
+ <!-- Black Duck plugin dependencies -->
+ <pluginRepository>
+ <id>JCenter</id>
+ <name>JCenter Repository</name>
+ <url>http://jcenter.bintray.com</url>
+ </pluginRepository>
+
+ <pluginRepository>
+ <id>Restlet</id>
+ <name>Restlet Repository</name>
+ <url>http://maven.restlet.com</url>
+ </pluginRepository>
+ </pluginRepositories>
+
+ <distributionManagement>
+ <repository>
+ <id>ecomp-releases</id>
+ <name>OpenECOMP Release Repository</name>
+ <url>${nexusproxy}/content/repositories/releases</url>
+ </repository>
+ <snapshotRepository>
+ <id>ecomp-snapshots</id>
+ <name>OpenECOMP Snapshot Repository</name>
+ <url>${nexusproxy}/content/repositories/snapshots</url>
+ </snapshotRepository>
+ <site>
+ <id>ecomp-site</id>
+ <url>dav:${nexusproxy}/content/sites/site/org/onap/dcae/apod/analytics/${project.artifactId}/${project.version}/</url>
+ </site>
+ </distributionManagement>
+
+ <properties>
+
+ <!-- PROJECT SETTINGS-->
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+ <main.basedir>${project.basedir}</main.basedir>
+
+ <!--TEST SETTINGS -->
+ <surefire.redirectTestOutputToFile>true</surefire.redirectTestOutputToFile>
+
+ <!-- PROJECT DEPENDENCIES -->
+ <cdap.version>4.0.0</cdap.version>
+ <cask.common.version>0.7.1</cask.common.version>
+ <hadoop.version>2.3.0</hadoop.version>
+ <spark.version>1.6.1</spark.version>
+ <!-- NOTE: Jackson version should match spark version jackson dependency -->
+ <jackson.json.version>2.4.4</jackson.json.version>
+ <netty.http.version>0.16.0</netty.http.version>
+ <gson.version>2.2.4</gson.version>
+ <guava.version>13.0.1</guava.version>
+ <guice.version>3.0</guice.version>
+ <slf4j.version>1.7.5</slf4j.version>
+ <logback.version>1.0.9</logback.version>
+ <findbugs.jsr305.version>2.0.1</findbugs.jsr305.version>
+ <findbugs.annotations.version>3.0.0</findbugs.annotations.version>
+ <lombok.version>1.16.10</lombok.version>
+
+ <json.path.version>2.2.0</json.path.version>
+ <quartz.version>2.2.0</quartz.version>
+ <httpclient.version>4.5.2</httpclient.version>
+ <commons.lang3.version>3.5</commons.lang3.version>
+
+
+ <!--TESTING DEPENDENCIES -->
+ <junit.version>4.12</junit.version>
+ <jayway.jsonpath.version>2.2.0</jayway.jsonpath.version>
+ <jsonassert.version>1.4.0</jsonassert.version>
+ <mockito.version>2.5.7</mockito.version>
+ <cucumber.version>1.2.5</cucumber.version>
+
+
+ <!-- PLUGINS VERSIONS -->
+ <compiler.plugin.version>3.3</compiler.plugin.version>
+ <surefire.plugin.version>2.19.1</surefire.plugin.version>
+ <failsafe.plugin.version>2.19.1</failsafe.plugin.version>
+ <bundle.plugin.version>2.5.4</bundle.plugin.version>
+ <autorun.plugin.version>1.7</autorun.plugin.version>
+ <eclipe.plugin.version>2.10</eclipe.plugin.version>
+ <findbugs.plugin.version>3.0.2</findbugs.plugin.version>
+ <cobertura.plugin.version>2.7</cobertura.plugin.version>
+ <pmd.plugin.version>3.5</pmd.plugin.version>
+ <surefire.report.plugin.version>2.19.1</surefire.report.plugin.version>
+ <checkstyle.plugin.version>2.16</checkstyle.plugin.version>
+ <javadoc.plugin.version>2.10.4</javadoc.plugin.version>
+ <source.plugin.version>2.4</source.plugin.version>
+ <jar.plugin.version>2.4</jar.plugin.version>
+ <deploy.plugin.version>2.8</deploy.plugin.version>
+ <jacoco.plugin.version>0.7.7.201606060606</jacoco.plugin.version>
+ <lombok.plugin.version>1.16.10.0</lombok.plugin.version>
+ <jgitflow.plugin.version>1.0-m5.1</jgitflow.plugin.version>
+ <maven.site.plugin>3.5.1</maven.site.plugin>
+ <jxr.plugin.version>2.5</jxr.plugin.version>
+ <project.info.reports.plugin.version>2.7</project.info.reports.plugin.version>
+ <blackduck.hub.version>2.0.0</blackduck.hub.version>
+ <sonar.plugin.version>3.2</sonar.plugin.version>
+ <license.plugin.version>1.12</license.plugin.version>
+
+ <!--PLUGIN SETTINGS -->
+ <compiler.source.version>1.7</compiler.source.version>
+ <compiler.target.version>1.7</compiler.target.version>
+ <unit.test.pattern>**/*Test.java</unit.test.pattern>
+ <skip.unit.tests>false</skip.unit.tests>
+ <integration.test.pattern>**/*IT.java</integration.test.pattern>
+ <skip.integration.tests>true</skip.integration.tests>
+ <pmd.violation.buildfail>true</pmd.violation.buildfail>
+ <findbugs.failOnError>true</findbugs.failOnError>
+ <checkstyle.failOnViolation>true</checkstyle.failOnViolation>
+ <checkstyle.file.name>checkstyle.xml</checkstyle.file.name>
+ <checkstyle.suppression.file.name>suppressions.xml</checkstyle.suppression.file.name>
+ <jacoco.it.execution.data.file>${project.build.directory}/coverage-reports/jacoco-it.exec
+ </jacoco.it.execution.data.file>
+ <jacoco.ut.execution.data.file>${project.build.directory}/coverage-reports/jacoco-ut.exec
+ </jacoco.ut.execution.data.file>
+ <dependency.locations.enabled>false</dependency.locations.enabled>
+
+ </properties>
+
+ <dependencyManagement>
+
+ <dependencies>
+
+ <!-- CDAP -->
+ <dependency>
+ <groupId>co.cask.cdap</groupId>
+ <artifactId>cdap-api</artifactId>
+ <version>${cdap.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>co.cask.cdap</groupId>
+ <artifactId>cdap-etl-api</artifactId>
+ <version>${cdap.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>co.cask.cdap</groupId>
+ <artifactId>cdap-etl-api-spark</artifactId>
+ <version>${cdap.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>co.cask.cdap</groupId>
+ <artifactId>cdap-etl-realtime</artifactId>
+ <version>${cdap.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>co.cask.cdap</groupId>
+ <artifactId>cdap-data-pipeline</artifactId>
+ <version>${cdap.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>co.cask.cdap</groupId>
+ <artifactId>cdap-data-streams</artifactId>
+ <version>${cdap.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.spark</groupId>
+ <artifactId>spark-streaming_2.10</artifactId>
+ <version>${spark.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>co.cask.http</groupId>
+ <artifactId>netty-http</artifactId>
+ <version>${netty.http.version}</version>
+ </dependency>
+
+
+ <dependency>
+ <groupId>co.cask.common</groupId>
+ <artifactId>common-http</artifactId>
+ <version>${cask.common.version}</version>
+ <!-- exclude this, otherwise an old version of asm will get pulled in -->
+ <exclusions>
+ <exclusion>
+ <groupId>org.ow2.asm</groupId>
+ <artifactId>asm-all</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <!-- HADOOP -->
+ <dependency>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-common</artifactId>
+ <version>${hadoop.version}</version>
+ <scope>provided</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.avro</groupId>
+ <artifactId>avro</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.zookeeper</groupId>
+ <artifactId>zookeeper</artifactId>
+ </exclusion>
+ <exclusion>
+ <artifactId>guava</artifactId>
+ <groupId>com.google.guava</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>jersey-core</artifactId>
+ <groupId>com.sun.jersey</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>jersey-json</artifactId>
+ <groupId>com.sun.jersey</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>jersey-server</artifactId>
+ <groupId>com.sun.jersey</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>servlet-api</artifactId>
+ <groupId>javax.servlet</groupId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty-util</artifactId>
+ </exclusion>
+ <exclusion>
+ <artifactId>jasper-compiler</artifactId>
+ <groupId>tomcat</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>jasper-runtime</artifactId>
+ <groupId>tomcat</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>jsp-api</artifactId>
+ <groupId>javax.servlet.jsp</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>slf4j-api</artifactId>
+ <groupId>org.slf4j</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>httpcore</artifactId>
+ <groupId>org.apache.httpcomponents</groupId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-mapreduce-client-core</artifactId>
+ <version>${hadoop.version}</version>
+ <scope>provided</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>asm</groupId>
+ <artifactId>asm</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>io.netty</groupId>
+ <artifactId>netty</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+
+ <!-- SPARK -->
+ <dependency>
+ <groupId>org.apache.spark</groupId>
+ <artifactId>spark-core_2.10</artifactId>
+ <version>${spark.version}</version>
+ <scope>provided</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>asm</groupId>
+ <artifactId>asm</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-client</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>com.esotericsoftware.reflectasm</groupId>
+ <artifactId>reflectasm</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.curator</groupId>
+ <artifactId>curator-recipes</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.tachyonproject</groupId>
+ <artifactId>tachyon-client</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.scala-lang</groupId>
+ <artifactId>scala-compiler</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.eclipse.jetty.orbit</groupId>
+ <artifactId>javax.servlet</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <!-- LOGGING -->
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>${slf4j.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>ch.qos.logback</groupId>
+ <artifactId>logback-core</artifactId>
+ <version>${logback.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>ch.qos.logback</groupId>
+ <artifactId>logback-classic</artifactId>
+ <version>${logback.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <!-- UTILITIES -->
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ <version>${guava.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>com.google.code.gson</groupId>
+ <artifactId>gson</artifactId>
+ <version>${gson.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ <version>${commons.lang3.version}</version>
+ </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>
+
+ <!-- JACKSON JSON -->
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-core</artifactId>
+ <version>${jackson.json.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
+ <version>${jackson.json.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-annotations</artifactId>
+ <version>${jackson.json.version}</version>
+ </dependency>
+
+ <!-- JSON PATH -->
+ <dependency>
+ <groupId>com.jayway.jsonpath</groupId>
+ <artifactId>json-path</artifactId>
+ <version>${json.path.version}</version>
+ </dependency>
+
+ <!-- CODE GENERATION -->
+ <dependency>
+ <groupId>org.projectlombok</groupId>
+ <artifactId>lombok</artifactId>
+ <version>${lombok.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+
+ <!-- DEPENDENCY INJECTION -->
+ <dependency>
+ <groupId>com.google.inject</groupId>
+ <artifactId>guice</artifactId>
+ <version>${guice.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.inject.extensions</groupId>
+ <artifactId>guice-assistedinject</artifactId>
+ <version>${guice.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.inject.extensions</groupId>
+ <artifactId>guice-multibindings</artifactId>
+ <version>${guice.version}</version>
+ </dependency>
+
+ <!-- SCHEDULER -->
+ <dependency>
+ <groupId>org.quartz-scheduler</groupId>
+ <artifactId>quartz</artifactId>
+ <version>${quartz.version}</version>
+ </dependency>
+
+ <!-- HTTP CLIENT -->
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpclient</artifactId>
+ <version>${httpclient.version}</version>
+ </dependency>
+
+
+ <!-- TEST DEPENDENCIES -->
+ <dependency>
+ <groupId>co.cask.cdap</groupId>
+ <artifactId>cdap-unit-test</artifactId>
+ <version>${cdap.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>co.cask.cdap</groupId>
+ <artifactId>hydrator-test</artifactId>
+ <version>${cdap.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>${junit.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
+ <version>${mockito.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>com.jayway.jsonpath</groupId>
+ <artifactId>json-path-assert</artifactId>
+ <version>${jayway.jsonpath.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.skyscreamer</groupId>
+ <artifactId>jsonassert</artifactId>
+ <version>${jsonassert.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <!-- BDD TEST DEPENDENCIES -->
+ <dependency>
+ <groupId>info.cukes</groupId>
+ <artifactId>cucumber-java</artifactId>
+ <version>${cucumber.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>info.cukes</groupId>
+ <artifactId>cucumber-guice</artifactId>
+ <version>${cucumber.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>info.cukes</groupId>
+ <artifactId>cucumber-junit</artifactId>
+ <version>${cucumber.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+ </dependencyManagement>
+
+
+ <build>
+
+ <extensions>
+ <extension>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-webdav-jackrabbit</artifactId>
+ <version>1.0-beta-7</version>
+ </extension>
+ </extensions>
+
+ <pluginManagement>
+
+ <plugins>
+
+ <!-- COMPILER PLUGIN -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>${compiler.plugin.version}</version>
+ <configuration>
+ <source>${compiler.target.version}</source>
+ <target>${compiler.source.version}</target>
+ </configuration>
+ </plugin>
+
+ <!-- MAVEN SOURCE PLUGIN -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-source-plugin</artifactId>
+ <version>${source.plugin.version}</version>
+ <configuration>
+ <excludeResources>true</excludeResources>
+ </configuration>
+ <executions>
+ <execution>
+ <id>attach-sources</id>
+ <phase>verify</phase>
+ <goals>
+ <goal>jar-no-fork</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <!-- MAVEN JAVADOC PLUGIN -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>${javadoc.plugin.version}</version>
+ <configuration>
+ <!-- minimize console output messages -->
+ <quiet>true</quiet>
+ <verbose>false</verbose>
+ <useStandardDocletOptions>false</useStandardDocletOptions>
+ </configuration>
+ <executions>
+ <execution>
+ <id>aggregate</id>
+ <phase>site</phase>
+ <goals>
+ <goal>aggregate</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>attach-javadoc</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!-- MAVEN BUNDLE PLUGIN -->
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <version>${bundle.plugin.version}</version>
+ <extensions>true</extensions>
+ <configuration>
+ <instructions>
+ <Embed-Dependency>*;inline=false;scope=compile</Embed-Dependency>
+ <Embed-Transitive>true</Embed-Transitive>
+ <Embed-Directory>lib</Embed-Directory>
+ </instructions>
+ </configuration>
+ <executions>
+ <execution>
+ <id>Bundling CDAP Jar</id>
+ <phase>package</phase>
+ <goals>
+ <goal>bundle</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!-- MAVEN AUTO RUN PLUGIN -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <version>${autorun.plugin.version}</version>
+ </plugin>
+
+ <!-- JACOCO CODE COVERAGE PLUGIN -->
+ <plugin>
+ <groupId>org.jacoco</groupId>
+ <artifactId>jacoco-maven-plugin</artifactId>
+ <version>${jacoco.plugin.version}</version>
+ <configuration>
+ <excludes>
+ <!-- Exclude all test classes for code coverage reports -->
+ <exclude>**/test/**</exclude>
+ <!-- Exclude all domain classes as they should only contain domain objects, no logic -->
+ <exclude>**/domain/**</exclude>
+ <!-- Exclude all facade classes as they should only contain facade objects, no logic -->
+ <exclude>**/facade/**</exclude>
+ <!-- Exclude mixin class for code coverage as they are just for json parsing hints -->
+ <exclude>**/mixin/**</exclude>
+ <!-- Exclude classes ending with "Constants" as they should only store static constants -->
+ <exclude>**/*Constants.*</exclude>
+ <!-- Exclude classes ending with "Module" as they are used for wiring beans by guice -->
+ <exclude>**/*Module.*</exclude>
+ <!-- Exclude classes ending with "Exception" as they are mostly wrapper over java
+ exceptions -->
+ <exclude>**/*Exception.*</exclude>
+ <!-- Exclude classes ending with "Entity" as they should not contain any logic -->
+ <exclude>**/*Entity.*</exclude>
+ </excludes>
+ </configuration>
+ <executions>
+ <!-- prepare jacoco agent before unit tests -->
+ <execution>
+ <id>pre-unit-test</id>
+ <goals>
+ <goal>prepare-agent</goal>
+ </goals>
+ <configuration>
+ <destFile>${jacoco.ut.execution.data.file}</destFile>
+ <propertyName>surefireArgLine</propertyName>
+ </configuration>
+ </execution>
+ <!-- generate unit test coverage report -->
+ <execution>
+ <id>post-unit-test</id>
+ <phase>test</phase>
+ <goals>
+ <goal>report</goal>
+ </goals>
+ <configuration>
+ <dataFile>${jacoco.ut.execution.data.file}</dataFile>
+ <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
+ </configuration>
+ </execution>
+ <!-- prepare jacoco agent before integration tests -->
+ <execution>
+ <id>pre-integration-test</id>
+ <phase>pre-integration-test</phase>
+ <goals>
+ <goal>prepare-agent</goal>
+ </goals>
+ <configuration>
+ <destFile>${jacoco.it.execution.data.file}</destFile>
+ <propertyName>failsafeArgLine</propertyName>
+ </configuration>
+ </execution>
+ <!-- generate integration test coverage report -->
+ <execution>
+ <id>post-integration-test</id>
+ <phase>post-integration-test</phase>
+ <goals>
+ <goal>report</goal>
+ </goals>
+ <configuration>
+ <dataFile>${jacoco.it.execution.data.file}</dataFile>
+ <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <!-- SUREFIRE TEST PLUGIN -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${surefire.plugin.version}</version>
+ <configuration>
+ <skipTests>${skip.unit.tests}</skipTests>
+ <argLine>-Xmx2048m -Djava.awt.headless=true -XX:+UseConcMarkSweepGC
+ -XX:OnOutOfMemoryError="kill -9 %p" -XX:+HeapDumpOnOutOfMemoryError
+ </argLine>
+ <redirectTestOutputToFile>${surefire.redirectTestOutputToFile}</redirectTestOutputToFile>
+ <parallel>methods</parallel>
+ <threadCount>8</threadCount>
+ <forkCount>8</forkCount>
+ <reuseForks>true</reuseForks>
+ <reportFormat>xml</reportFormat>
+ <trimStackTrace>false</trimStackTrace>
+ <systemPropertyVariables>
+ <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
+ <logback.configurationFile>
+ ${basedir}/src/test/resources/logback-test.xml
+ </logback.configurationFile>
+ <HADOOP_HOME>${project.build.directory}</HADOOP_HOME>
+ </systemPropertyVariables>
+ <includes>
+ <include>${unit.test.pattern}</include>
+ </includes>
+ <excludes>
+ <exclude>${integration.test.pattern}</exclude>
+ </excludes>
+ <!-- Sets the VM argument line used when unit tests are run. -->
+ <argLine>${surefireArgLine}</argLine>
+ </configuration>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.surefire</groupId>
+ <artifactId>surefire-junit47</artifactId>
+ <version>${surefire.plugin.version}</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+
+ <!-- FAIL SAFE PLUGIN FOR INTEGRATION TEST -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-failsafe-plugin</artifactId>
+ <version>${failsafe.plugin.version}</version>
+ <executions>
+ <execution>
+ <id>integration-tests</id>
+ <goals>
+ <goal>integration-test</goal>
+ <goal>verify</goal>
+ </goals>
+ <configuration>
+ <skipTests>${skip.integration.tests}</skipTests>
+ <!-- Sets the VM argument line used when integration tests are run. -->
+ <!--suppress MavenModelInspection -->
+ <argLine>${failsafeArgLine}</argLine>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <!-- FIND BUGS (STATIC CODE ANALYSIS) PLUGIN -->
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>findbugs-maven-plugin</artifactId>
+ <version>${findbugs.plugin.version}</version>
+ <configuration>
+ <effort>Max</effort>
+ <threshold>Low</threshold>
+ <xmlOutput>true</xmlOutput>
+ <!-- BUILD FAIL ON FINDBUGS ERRORS -->
+ <failOnError>${findbugs.failOnError}</failOnError>
+ <excludeFilterFile>${main.basedir}/findbugs-exclude.xml</excludeFilterFile>
+ <outputDirectory>${project.reporting.outputDirectory}/findbugs</outputDirectory>
+ <findbugsXmlOutputDirectory>${project.reporting.outputDirectory}/findbugs
+ </findbugsXmlOutputDirectory>
+ </configuration>
+ <executions>
+ <execution>
+ <id>analyze-compile</id>
+ <phase>compile</phase>
+ <goals>
+ <goal>check</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!-- PMD PLUGIN SETUP -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-pmd-plugin</artifactId>
+ <version>${pmd.plugin.version}</version>
+ <configuration>
+ <sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
+ <targetJdk>${compiler.target.version}</targetJdk>
+ <linkXRef>false</linkXRef>
+ <excludes>
+ <!-- IGNORE PMD & CPD ANALYTICS MODEL FACADE OBJECTS -->
+ <exclude>**/model/facade/**/*.java</exclude>
+ </excludes>
+ <!-- BUILD FAIL ON PMD VIOLATION -->
+ <failOnViolation>${pmd.violation.buildfail}</failOnViolation>
+ <targetDirectory>${project.reporting.outputDirectory}/pmd</targetDirectory>
+ </configuration>
+ <executions>
+ <execution>
+ <id>pmd-check</id>
+ <goals>
+ <goal>check</goal>
+ </goals>
+ <configuration>
+ <printFailingErrors>true</printFailingErrors>
+ <excludeFromFailureFile>${main.basedir}/pmd-exclude.properties</excludeFromFailureFile>
+ </configuration>
+ </execution>
+ <execution>
+ <id>cpd-check</id>
+ <goals>
+ <goal>cpd-check</goal>
+ </goals>
+ <configuration>
+ <printFailingErrors>true</printFailingErrors>
+ <excludeFromFailureFile>${main.basedir}/cpd-exclude.properties</excludeFromFailureFile>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <!-- CHECKSTYLE PLUGIN -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-checkstyle-plugin</artifactId>
+ <version>${checkstyle.plugin.version}</version>
+ <executions>
+ <execution>
+ <id>validate</id>
+ <phase>validate</phase>
+ <configuration>
+ <configLocation>${checkstyle.file.name}</configLocation>
+ <suppressionsLocation>${checkstyle.suppression.file.name}</suppressionsLocation>
+ <encoding>UTF-8</encoding>
+ <consoleOutput>true</consoleOutput>
+ <!-- BUILD FAIL ON CHECKSTYLE VIOLATION -->
+ <failOnViolation>${checkstyle.failOnViolation}</failOnViolation>
+ <includeTestSourceDirectory>true</includeTestSourceDirectory>
+ <outputFile>${project.reporting.outputDirectory}/checkstyle</outputFile>
+ </configuration>
+ <goals>
+ <goal>check</goal>
+ </goals>
+ </execution>
+ </executions>
+ <dependencies>
+ <dependency>
+ <groupId>com.puppycrawl.tools</groupId>
+ <artifactId>checkstyle</artifactId>
+ <version>6.19</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+
+ <!-- ECLIPSE PLUGIN -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-eclipse-plugin</artifactId>
+ <version>${eclipe.plugin.version}</version>
+ </plugin>
+
+
+ <!-- LOMBOK PLUGIN -->
+ <plugin>
+ <groupId>org.projectlombok</groupId>
+ <artifactId>lombok-maven-plugin</artifactId>
+ <version>${lombok.plugin.version}</version>
+ <executions>
+ <execution>
+ <id>delombok</id>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>delombok</goal>
+ </goals>
+ <configuration>
+ <addOutputDirectory>false</addOutputDirectory>
+ <sourceDirectory>src/main/java</sourceDirectory>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ <!-- JGIT FLOW PLUGIN -->
+
+ <plugin>
+ <groupId>external.atlassian.jgitflow</groupId>
+ <artifactId>jgitflow-maven-plugin</artifactId>
+ <version>${jgitflow.plugin.version}</version>
+ <configuration>
+ <!-- Enable this to push to origin using SSH keys -->
+ <enableSshAgent>true</enableSshAgent>
+ <!-- Keep your maven sub modules at the same version as the parent POM -->
+ <autoVersionSubmodules>true</autoVersionSubmodules>
+ <!--
+ Pushing in-development features to origin allows all devs to see what each other
+ are working on
+ -->
+ <pushFeatures>true</pushFeatures>
+ <!--
+ This allows the CI server (e.g. Jenkins) to automatically push new releases to
+ origin; you can then either manually deploy them or, if you are doing Continuous
+ Deployments, auto-deploy them to prod
+ -->
+ <pushReleases>true</pushReleases>
+ <!--
+ Hot Fixes should be pushed to origin as well so that any dev can pick them up
+ -->
+ <pushHotfixes>true</pushHotfixes>
+ <!--
+ Prevents deployments from dev workstations so that they can be done by a CI
+ server
+ -->
+ <flowInitContext>
+ <masterBranchName>master</masterBranchName>
+ <developBranchName>develop</developBranchName>
+ <featureBranchPrefix>feature</featureBranchPrefix>
+ <releaseBranchPrefix>release</releaseBranchPrefix>
+ <hotfixBranchPrefix>hotfix</hotfixBranchPrefix>
+ </flowInitContext>
+ <noDeploy>true</noDeploy>
+ </configuration>
+ </plugin>
+
+ <!-- JAR PLUGIN -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>${jar.plugin.version}</version>
+ <configuration>
+ <archive>
+ <manifest>
+ <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+ </manifest>
+ <manifestEntries>
+ <Implementation-Build-Version>${project.version}</Implementation-Build-Version>
+ </manifestEntries>
+ </archive>
+ </configuration>
+ </plugin>
+
+
+ <!-- BLACK DUCK LICENSE SCANNER -->
+ <!--
+ <plugin>
+ <groupId>com.blackducksoftware.integration</groupId>
+ <artifactId>hub-maven-plugin</artifactId>
+ <version>${blackduck.hub.version}</version>
+ <inherited>false</inherited>
+ <configuration>
+ <hubProjectName>${project.name}</hubProjectName>
+ <outputDirectory>${project.basedir}</outputDirectory>
+ <deployHubBdio>false</deployHubBdio>
+ </configuration>
+ <executions>
+ <execution>
+ <id>create-bdio-file</id>
+ <phase>package</phase>
+ <goals>
+ <goal>build-bom</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ -->
+
+ <!-- LICENSE PLUGIN -->
+ <!--
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>license-maven-plugin</artifactId>
+ <version>${license.plugin.version}</version>
+ <configuration>
+ <addJavaLicenseAfterPackage>false</addJavaLicenseAfterPackage>
+ <processStartTag>============LICENSE_START=======================================================</processStartTag>
+ <processEndTag>============LICENSE_END=========================================================</processEndTag>
+ <sectionDelimiter>================================================================================</sectionDelimiter>
+ <licenseName>apache_v2</licenseName>
+ <inceptionYear>2017</inceptionYear>
+ <organizationName>AT&amp;T Intellectual Property. All rights reserved.</organizationName>
+ <projectName>dcae-analytics</projectName>
+ <canUpdateCopyright>true</canUpdateCopyright>
+ <canUpdateDescription>true</canUpdateDescription>
+ <canUpdateLicense>true</canUpdateLicense>
+ <emptyLineAfterHeader>true</emptyLineAfterHeader>
+ </configuration>
+ <executions>
+ <execution>
+ <id>first</id>
+ <goals>
+ <goal>update-file-header</goal>
+ </goals>
+ <phase>process-sources</phase>
+ </execution>
+ </executions>
+ </plugin>
+ -->
+
+ <!-- SONAR PLUGIN -->
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>sonar-maven-plugin</artifactId>
+ <version>${sonar.plugin.version}</version>
+ </plugin>
+
+ <!-- DEPLOY PLUGIN -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>${deploy.plugin.version}</version>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-site-plugin</artifactId>
+ <version>${maven.site.plugin}</version>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jxr-plugin</artifactId>
+ <version>${jxr.plugin.version}</version>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-project-info-reports-plugin</artifactId>
+ <version>${project.info.reports.plugin.version}</version>
+ <configuration>
+ <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
+ <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-report-plugin</artifactId>
+ <version>${surefire.report.plugin.version}</version>
+ </plugin>
+
+ </plugins>
+
+ </pluginManagement>
+
+ <plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <skipTests>true</skipTests>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-failsafe-plugin</artifactId>
+ </plugin>
+
+ <plugin>
+ <groupId>org.jacoco</groupId>
+ <artifactId>jacoco-maven-plugin</artifactId>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-source-plugin</artifactId>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-pmd-plugin</artifactId>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>findbugs-maven-plugin</artifactId>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-checkstyle-plugin</artifactId>
+ </plugin>
+
+ <plugin>
+ <groupId>external.atlassian.jgitflow</groupId>
+ <artifactId>jgitflow-maven-plugin</artifactId>
+ </plugin>
+
+ <!--
+ <plugin>
+ <groupId>com.blackducksoftware.integration</groupId>
+ <artifactId>hub-maven-plugin</artifactId>
+ </plugin>
+ -->
+
+ </plugins>
+ </build>
+
+
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-site-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-checkstyle-plugin</artifactId>
+ <configuration>
+ <configLocation>${checkstyle.file.name}</configLocation>
+ <suppressionsLocation>${checkstyle.suppression.file.name}</suppressionsLocation>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.jacoco</groupId>
+ <artifactId>jacoco-maven-plugin</artifactId>
+ <version>${jacoco.plugin.version}</version>
+ <configuration>
+ <dataFile>${jacoco.ut.execution.data.file}</dataFile>
+ <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jxr-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-pmd-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-project-info-reports-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-report-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </reporting>
+
+ <modules>
+ <module>dcae-analytics-test</module>
+ <module>dcae-analytics-model</module>
+ <module>dcae-analytics-common</module>
+ <module>dcae-analytics-dmaap</module>
+ <module>dcae-analytics-tca</module>
+ <module>dcae-analytics-cdap-common</module>
+ <module>dcae-analytics-cdap-tca</module>
+ <module>dcae-analytics-cdap-plugins</module>
+ <module>dcae-analytics-it</module>
+ </modules>
+
+</project>
diff --git a/suppressions.xml b/suppressions.xml
new file mode 100644
index 0000000..8a96d43
--- /dev/null
+++ b/suppressions.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+
+<!--
+ ~ ===============================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===========================================
+ -->
+
+<!DOCTYPE suppressions PUBLIC
+ "-//Puppy Crawl//DTD Suppressions 1.1//EN"
+ "http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">
+
+<suppressions>
+
+ <suppress checks="Javadoc.*" files=".*[/\\]src[/\\]test[/\\]java[/\\].*" />
+ <suppress checks="Header" files=".*[/\\]src[/\\]test[/\\]java[/\\].*"/>
+
+ <suppress checks="JavadocPackage" files=".*[/\\]src[/\\](main|integration)[/\\]java[/\\].*" />
+ <suppress checks="JavadocPackage" files=".*[/\\]src[/\\].*[/\\]internal[/\\].*" />
+
+ <suppress checks="JavadocStyle" files=".*[/\\]src[/\\](main|integration)[/\\]java[/\\].*" />
+ <suppress checks="JavadocStyle" files=".*[/\\]src[/\\].*[/\\]internal[/\\].*" />
+
+ <suppress checks="RedundantModifier" files=".*[/\\]src[/\\]test[/\\]java[/\\].*" />
+
+
+ <suppress checks=".*" files=".*[/\\]target[/\\]generated-sources[/\\]delombok[/\\].*"/>
+
+
+</suppressions>