aboutsummaryrefslogtreecommitdiffstats
path: root/sources/hv-collector-main
AgeCommit message (Collapse)AuthorFilesLines
2019-04-08Flatten configuration structureFilip Krzywka1-11/+6
Change-Id: I9a5a53f3c4cf0973d071f2bc6962016b5613972d Issue-ID: DCAEGEN2-710 Signed-off-by: Filip Krzywka <filip.krzywka@nokia.com>
2019-04-04Get rid of arrow-effects usagePiotr Jaszczyk3-5/+3
Also clean-up dependencies + use Kotlin BOM to force single kotlin-stdlib on classpath. Issue-ID: DCAEGEN2-1392 Change-Id: I447c4686707de81f35f7734255ce0b13c997c4a4 Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
2019-04-03Simplify factory/provider logicPiotr Jaszczyk1-6/+4
Change-Id: I59467c41e1de63ead7c190a7c8fd688e3216237a Issue-ID: DCAEGEN2-1385 Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
2019-04-03Fix shutting down when new config received bugPiotr Jaszczyk5-23/+26
When new configuration has been received and at least one client connection has been active the collector used to shut down. Also got rid of some more IO monad usage. Change-Id: I7981ff388ff1264a79d722727ef3005cf39e9f0d Issue-ID: DCAEGEN2-1382 Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
2019-04-02Merge configurationsFilip Krzywka4-24/+14
- changed temporarily HV-VES default log level to DEBUG as in current implementation we are applying LogLevel defined in configuration file only if we successfully retrieve one from configuration-module, which means that inside of this module we are logging on default level (from logback file). This should be fixed in future work - reduced log level on SDK's CbsClientImpl as it's logging frequency was too high Change-Id: If50df18df099c34bfc36d39b045140f9b9ad87f6 Issue-ID: DCAEGEN2-1347 Signed-off-by: Filip Krzywka <filip.krzywka@nokia.com>
2019-04-01Move ConfigurationProvider to config modulePiotr Jaszczyk2-6/+20
Change-Id: Ic6f955f4e777e06e7c7eed6e08c0cac470e9a51d Issue-ID: DCAEGEN2-1347 Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
2019-03-29Read HV-VES healthcheck api port from cmd linekjaniak2-4/+4
Change-Id: I6b4680a62512ef6ba15a0454e109b19619a997a6 Issue-ID: DCAEGEN2-1364 Signed-off-by: kjaniak <kornel.janiak@nokia.com>
2019-03-28Redefine RoutingFilip Krzywka3-19/+24
As all needed information to route messege is contained inside of KafkaSink message, we can simply put this object as part of single Route. Change-Id: I2e7df2e0193eb2af5283980d4d5c8df03ac94df9 Issue-ID: DCAEGEN2-1347 Signed-off-by: Filip Krzywka <filip.krzywka@nokia.com>
2019-03-27Remove dummyMode configuration optionFilip Krzywka1-1/+0
As it's not really used by anyone and it's functionality does not bring much value Change-Id: I99b07e484a8494a036f1f1b07e21666e044edbdb Issue-ID: DCAEGEN2-1347 Signed-off-by: Filip Krzywka <filip.krzywka@nokia.com>
2019-03-26Revert "Read HV-VES healtcheck api port from cmd line"Piotr Jaszczyk2-2/+3
This reverts commit f3d3e6745328b9ec8bb68dfbfb3d3d57aa47b36f. Change-Id: I9d8813484831483812b0f7062d39e3d031dd7083 Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com> Issue-ID: DCAEGEN2-1364
2019-03-25Read HV-VES healtcheck api port from cmd linekjaniak2-3/+2
Issue-ID: DCAEGEN2-1364 Change-Id: I17c38d7397174fadc7d382cfa3dd0b3a7f4d97ff Signed-off-by: kjaniak <kornel.janiak@nokia.com>
2019-03-21Include basic configuration in Docker imagePiotr Jaszczyk4-1/+31
Makes the collector start out of the box, even without valid CBS configuration. Note: the basic configuration will need to be changed later. Issue-ID: DCAEGEN2-1340 Change-Id: I3c2b502f253677e78a4f4990002e683613b8869e Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
2019-03-20Remove environment variables and program argumentsJakub Dudycz5-108/+98
- Move all command line program arguments to json file. - Reorganize configuration classes and the way they are passed through application - Implement HV VES configuration stream - Create concrete configuration from partial one - Modify main HV-VES server starting pipeline Change-Id: I6cf874b6904ed768e4820b8132f5f760299c929e Signed-off-by: Jakub Dudycz <jakub.dudycz@nokia.com> Issue-ID: DCAEGEN2-1340
2019-03-14Extract HV-VES configuration moduleFilip Krzywka18-873/+23
To avoid cyclic dependency between "modules trio" configuration-core-ssl some classes from core.model were also extracted. Change-Id: Ie11029ae3500964f67f4d72279ddd68cdb2a1f0c Issue-ID: DCAEGEN2-1332 Signed-off-by: Filip Krzywka <filip.krzywka@nokia.com>
2019-03-11Use CBS by means of SDK in place of ConsulFilip Krzywka5-44/+31
- changed IO creation in main to fix error with too early calling changeState method on collector HealthState - increased coverage a little with few tests - corrected coverage-report pom file to include new modules - temporarily changed to 1.1.4-SNAPSHOT version of sdk due to need of new version of CBSLookup Change-Id: Ic73b46cf881ab4fabf52bef0327b09082aa90dc6 Issue-ID: DCAEGEN2-1302 Signed-off-by: Filip Krzywka <filip.krzywka@nokia.com>
2019-03-11Merge "Assure coverage is checked for all modules"Piotr Wielebski1-4/+0
2019-03-11Assure coverage is checked for all modulesPiotr Jaszczyk1-4/+0
Change-Id: Ia9bb6cef9154d64cfa45455e38c9fe7603a64c74 Issue-ID: DCAEGEN2-1328 Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
2019-03-11Added JSON config file format utilspbiniek10-0/+511
Change-Id: I97fdd72324495b4c838e44c306cbcacac6b11bc1 Signed-off-by: Pawel Biniek <pawel.biniek@nokia.com> Issue-ID: DCAEGEN2-1323
2019-03-05Extract module for ArgBasedConfigurationJakub Dudycz4-25/+23
Change-Id: Ib11700650583378eb347451950a24c5f238382e4 Signed-off-by: Jakub Dudycz <jakub.dudycz@nokia.com> Issue-ID: DCAEGEN2-1292
2019-02-19Use SDK/SSL in HV-VESPiotr Jaszczyk2-119/+133
Issue-ID: DCAEGEN2-1226 Change-Id: I7cfc09001f7315c1b6f4fcf150ad631630c810ef Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
2019-01-29Change Health Status when shutting downPiotr Jaszczyk2-3/+81
Change-Id: I889c934f29d34c1211c6e07f18cb16bbe35d711f Issue-ID: DCAEGEN2-1065 Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
2019-01-22Merge "Close KafkaSender when handling SIGINT"Piotr Wielebski3-21/+32
2019-01-22Close KafkaSender when handling SIGINTPiotr Jaszczyk3-21/+32
Closing KafkaSender should result in flushing any pending messages. Change-Id: Ib251f5ca3527266831189df542784cc17173d8dc Issue-ID: DCAEGEN2-1065 Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
2019-01-22Enable percentile histograms in metricsFilip Krzywka1-2/+7
To allow more precise graphing. Change-Id: I3c498b24c01e599eec316f552e25d06d653a08bb Issue-ID: DCAEGEN2-1107 Signed-off-by: Filip Krzywka <filip.krzywka@nokia.com>
2019-01-16Fix inconsistencies with logging guidelinePiotr Jaszczyk1-20/+25
Change-Id: I527ba0b3c313d946ae979b599e87bb4267a1793d Issue-ID: DCAEGEN2-1085 Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
2019-01-10Merge "Align kafka properties with VESHV_MAX_PAYLOAD_SIZE"Piotr Jaszczyk1-1/+1
2019-01-10Align kafka properties with VESHV_MAX_PAYLOAD_SIZEkjaniak1-1/+1
Change-Id: I5cbfb8a982cd1efbdf58c2c0aed71f064f7b7cb8 Issue-ID: DCAEGEN2-1066 Signed-off-by: kjaniak <kornel.janiak@nokia.com>
2019-01-08Handle sigterm signalPiotr Jaszczyk2-5/+22
Change-Id: If6f431bfdc42f8d53497078b18813147cad1bad0 Issue-ID: DCAEGEN2-1065 Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
2018-12-27Rename of metricskjaniak2-105/+65
Names of metrics were a bit misleading e.g. total and count addition to name of metrics. Clean up in unit tests. Change-Id: I339c8824f31a226bdbe648027b114321e3fd9858 Issue-ID: DCAEGEN2-1046 Signed-off-by: kjaniak <kornel.janiak@nokia.com>
2018-12-21Enable setting log level from command lineIzabela Zawadzka4-97/+171
Change-Id: I8397e0134d254cd5b6be79ed2b847ce265fc775c Signed-off-by: Izabela Zawadzka <izabela.zawadzka@nokia.com> Issue-ID: DCAEGEN2-1045
2018-12-20There should be one KafkaSender per configurationPiotr Jaszczyk5-4/+14
We should keep only one instance of KafkaSender per instance. However, as the configuration might be changed (Consul update) it cannot be a strict singleton. Hence there should be 1to1 relationship beetween ConsulConfiguration and KafkaSender. Change-Id: Ie168028c4427741254b8c2fe316b82cca72d7668 Issue-ID: DCAEGEN2-1047 Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
2018-12-18Add metrics for active connections countJakub Dudycz3-36/+129
* Fix and refactor gauges tests in MicrometerMetricsTests as they were not executing * Fix client disconnection handler in NettyTcpServer * Add metrics gauge and counters required to measure active connections Change-Id: I5620d398525c6859679cd5a49dc55a9fefd8b592 Signed-off-by: Jakub Dudycz <jakub.dudycz@nokia.com> Issue-ID: DCAEGEN2-1041
2018-12-18Metric: Message latencyPiotr Jaszczyk2-27/+84
Defined as a difference between now and vesHeader.lastEpochTime. Change-Id: I4aa97e8efc13cb0039fde38b4fd2aa6411c7b89a Issue-ID: DCAEGEN2-1036 Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
2018-12-18Add metric for rejected clients countFilip Krzywka2-31/+79
- renamed few counters to be more verbose about what they count - removed not needed 'total' suffix in metrics name Change-Id: I6be0201e5f39f1298706c536b12410413d49df19 Issue-ID: DCAEGEN2-1043 Signed-off-by: Filip Krzywka <filip.krzywka@nokia.com>
2018-12-17Metric: Processing timePiotr Jaszczyk2-21/+71
Add processing time metric measured as difference between "sent to DMaaP" and "WTP decoded" events. Change-Id: I73bb665145019fcca5ae36e2199ed0e1cc088fdf Issue-ID: DCAEGEN2-1036 Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
2018-12-17Add metrics for dropped messagesJakub Dudycz2-30/+82
Add counters for messages dropped due to validation or undefined routing Slight refactoring Change-Id: Ibe4e38445e81babc745d7a7d95356910845293ce Signed-off-by: Jakub Dudycz <jakub.dudycz@nokia.com> Issue-ID: DCAEGEN2-1037
2018-12-14Merge "Expose Prometheus metrics"Piotr Wielebski7-94/+164
2018-12-14Merge "Allow to specify JVM options by means of env-var"Piotr Wielebski2-2/+7
2018-12-13Expose Prometheus metricsPiotr Jaszczyk7-94/+164
Expose both JVM and HV-VES metrics by means of HealthCheckApiServer in Prometheus format. Change-Id: I81b74cd945c67569703a4a74f5a2683ede18d64a Issue-ID: DCAEGEN2-1029 Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
2018-12-13Align logback configurationFilip Krzywka1-11/+57
- followed current logging guidelines in regard of format - in simulators currently very simple (minimalistic) pattern will be used as they do not contain any MDCs or Markers - in main logbacks included three patterns varying on verbosity and human-readability (for production full logging, ie. ONAP_LOG_PATTERN, should be used) - removed logback-test from domain module as it was not enabled anyway (no dependency on logback) and we should never have need for logging in this module - made logback-tests consistent (using simple pattern) except in component-tests, where it might be useful to have more verbose output (including MDCs etc.) Change-Id: Ifd851d12a77d5303b836a25c0e168e18a3a804e9 Issue-ID: DCAEGEN2-1026 Signed-off-by: Filip Krzywka <filip.krzywka@nokia.com>
2018-12-13Allow to specify JVM options by means of env-varPiotr Jaszczyk2-2/+7
Change-Id: I042e022d650a07804096b397c31abc82a9633089 Issue-ID: DCAEGEN2-1025 Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
2018-12-10Add Markers logsFilip Krzywka1-1/+2
Change-Id: I5d3c9e1e4659782719e4847c5bcedbca39c173a0 Issue-ID: DCAEGEN2-669 Signed-off-by: Filip Krzywka <filip.krzywka@nokia.com>
2018-12-10Add log diagnostic contextPiotr Jaszczyk3-4/+5
As it's not trivial to use MDC directly from logging framework in reactive application, we need to do some work manually. The approach proposed is an explicit MDC handling, which means that context is kept as an object created after establishing client connection. Next, new instance of HvVesCollector (and its dependencies) is created. Every object is propagated with ClientContext so it can use it when calling logger methods. In the future ClientContext might be used to support other use-cases, ie. per-topic access control. As a by-product I had to refactor our Logger wrapper, too. It already had too many functions and after adding MDC number would be doubled. Change-Id: I9c5d3f5e1d1be1db66d28d292eb0e1c38d8d0ffe Issue-ID: DCAEGEN2-671 Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
2018-12-04Harmonize logging and add new logsFilip Krzywka1-5/+8
- corrected docker-compose consul url Change-Id: I78df868e0dd51008ef39d01553e6a0a3b8273a54 Issue-ID: DCAEGEN2-1003 Signed-off-by: Filip Krzywka <filip.krzywka@nokia.com>
2018-11-29Custom detekt rule for logger usage checkPiotr Jaszczyk13-0/+1007
Check if logger invocations don't use unoptimal invocations, eg. concatenation `debug("a=" + a)` instead of lambda use `debug {"a=" + a}` Unfortunately to avoid defining dependencies in many places and having circural dependencies it was necessarry to reorganize the maven module structure. The goal was to have `sources` module with production code and `build` module with build-time tooling (detekt rules among them). Issue-ID: DCAEGEN2-1002 Change-Id: I36e677b98972aaae6905d722597cbce5e863d201 Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>