summaryrefslogtreecommitdiffstats
path: root/sources/hv-collector-test-utils
diff options
context:
space:
mode:
authorkjaniak <kornel.janiak@nokia.com>2019-10-07 11:46:48 +0200
committerkjaniak <kornel.janiak@nokia.com>2019-10-08 20:38:34 +0200
commit2e334500fba9893f1f2d2ab3b9528c638d993a03 (patch)
treee1dcd04962cf25b51c55ace0994954c24f63c1a6 /sources/hv-collector-test-utils
parentfb61c90d9e2531588fe2a9491b588a4bc65bcf97 (diff)
Add graphs for performance monitoring
Performance tests need graphs representing: total, message queue on HV-VES, offset per kafka topic partition, incoming data rate. Added deletion of producers at test end. Gauges for offsets turned to Range vector (distinguishable based on tag). Since Producer is to fast it was reconfigured to send messages with 1 ms interval. Change-Id: I09fc1edbcd824294d0bb89acc2ea2306a6df00ca Issue-ID: DCAEGEN2-1807 Signed-off-by: kjaniak <kornel.janiak@nokia.com>
Diffstat (limited to 'sources/hv-collector-test-utils')
-rw-r--r--sources/hv-collector-test-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/tests/utils/metrics.kt12
1 files changed, 9 insertions, 3 deletions
diff --git a/sources/hv-collector-test-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/tests/utils/metrics.kt b/sources/hv-collector-test-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/tests/utils/metrics.kt
index 1aefdb34..52f9ae87 100644
--- a/sources/hv-collector-test-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/tests/utils/metrics.kt
+++ b/sources/hv-collector-test-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/tests/utils/metrics.kt
@@ -32,6 +32,9 @@ import org.assertj.core.api.Assertions
fun <T> PrometheusMeterRegistry.verifyGauge(name: String, verifier: (Gauge) -> T) =
verifyMeter(findMeter(name), RequiredSearch::gauge, verifier)
+fun <T> PrometheusMeterRegistry.verifyGauge(name: String, tagKey: String = "partition", tagValue: String, verifier: (Gauge) -> T) =
+ verifyMeter(findMeter(name, tagKey, tagValue), RequiredSearch::gauge, verifier)
+
fun <T> PrometheusMeterRegistry.verifyTimer(name: String, verifier: (Timer) -> T) =
verifyMeter(findMeter(name), RequiredSearch::timer, verifier)
@@ -43,13 +46,16 @@ fun <T> PrometheusMeterRegistry.verifyCounter(name: String, tags: Tags, verifier
private fun PrometheusMeterRegistry.findMeter(meterName: String) = RequiredSearch.`in`(this).name(meterName)
+private fun PrometheusMeterRegistry.findMeter(meterName: String, tagKey: String, tagValue: String) =
+ RequiredSearch.`in`(this).tag(tagKey, tagValue).name(meterName)
+
private fun <T> verifyCounter(search: RequiredSearch, verifier: (Counter) -> T) =
verifyMeter(search, RequiredSearch::counter, verifier)
private inline fun <M, T> verifyMeter(search: RequiredSearch,
- map: (RequiredSearch) -> M,
- verifier: (M) -> T) =
+ map: (RequiredSearch) -> M,
+ verifier: (M) -> T) =
Try { map(search) }.fold(
{ ex -> Assertions.assertThat(ex).doesNotThrowAnyException() },
verifier
- ) \ No newline at end of file
+ )