X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=integration-test%2Fsrc%2Ftest%2Fgroovy%2Forg%2Fonap%2Fcps%2Fintegration%2Fperformance%2Fcps%2FWritePerfTest.groovy;h=f9f0986133d60d32ab31af6572245cc4c2558eab;hb=500134c9c745eeda707e5738a5a699c69bb899c6;hp=419ec6096b21a3b581c8ce8b47300ec9226792fa;hpb=2a1e576e6d12456e43c47d4cd81be7f88d1a2a2b;p=cps.git diff --git a/integration-test/src/test/groovy/org/onap/cps/integration/performance/cps/WritePerfTest.groovy b/integration-test/src/test/groovy/org/onap/cps/integration/performance/cps/WritePerfTest.groovy index 419ec6096..f9f098613 100644 --- a/integration-test/src/test/groovy/org/onap/cps/integration/performance/cps/WritePerfTest.groovy +++ b/integration-test/src/test/groovy/org/onap/cps/integration/performance/cps/WritePerfTest.groovy @@ -23,6 +23,8 @@ package org.onap.cps.integration.performance.cps import java.time.OffsetDateTime import org.onap.cps.integration.performance.base.CpsPerfTestBase +import java.util.concurrent.TimeUnit + class WritePerfTest extends CpsPerfTestBase { def 'Writing openroadm data has linear time.'() { @@ -31,24 +33,24 @@ class WritePerfTest extends CpsPerfTestBase { and: 'a list of device nodes to add' def jsonData = generateOpenRoadData(totalNodes) when: 'device nodes are added' - stopWatch.start() + resourceMeter.start() cpsDataService.saveData(CPS_PERFORMANCE_TEST_DATASPACE, 'writeAnchor', jsonData, OffsetDateTime.now()) - stopWatch.stop() - def durationInMillis = stopWatch.getTotalTimeMillis() - then: 'the operation takes less than #expectedDuration' - recordAndAssertPerformance("Writing ${totalNodes} devices", expectedDuration, durationInMillis) + resourceMeter.stop() + def durationInMillis = resourceMeter.getTotalTimeMillis() + then: 'the operation takes less than #expectedDuration and memory used is within limit' + recordAndAssertResourceUsage("Writing ${totalNodes} devices", TimeUnit.SECONDS.toMillis(expectedDurationInSeconds), durationInMillis, 400, resourceMeter.getTotalMemoryUsageInMB()) cleanup: cpsDataService.deleteDataNodes(CPS_PERFORMANCE_TEST_DATASPACE, 'writeAnchor', OffsetDateTime.now()) cpsAdminService.deleteAnchor(CPS_PERFORMANCE_TEST_DATASPACE, 'writeAnchor') where: - totalNodes || expectedDuration - 50 || 2_500 - 100 || 4_000 - 200 || 8_000 - 400 || 16_000 -// 800 || 32_000 -// 1600 || 64_000 -// 3200 || 128_000 + totalNodes || expectedDurationInSeconds + 50 || 3 + 100 || 5 + 200 || 10 + 400 || 20 +// 800 || 40 +// 1600 || 80 +// 3200 || 160 } def 'Writing bookstore data has exponential time.'() { @@ -59,25 +61,25 @@ class WritePerfTest extends CpsPerfTestBase { and: 'a list of books to add' def booksData = '{"books":[' + (1..totalBooks).collect {'{ "title": "' + it + '" }' }.join(',') + ']}' when: 'books are added' - stopWatch.start() + resourceMeter.start() cpsDataService.saveData(CPS_PERFORMANCE_TEST_DATASPACE, 'writeAnchor', '/bookstore/categories[@code=1]', booksData, OffsetDateTime.now()) - stopWatch.stop() - def durationInMillis = stopWatch.getTotalTimeMillis() - then: 'the operation takes less than #expectedDuration' - recordAndAssertPerformance("Writing ${totalBooks} books", expectedDuration, durationInMillis) + resourceMeter.stop() + def durationInMillis = resourceMeter.getTotalTimeMillis() + then: 'the operation takes less than #expectedDuration and memory used is within limit' + recordAndAssertResourceUsage("Writing ${totalBooks} books", expectedDuration, durationInMillis, 400, resourceMeter.getTotalMemoryUsageInMB()) cleanup: cpsDataService.deleteDataNodes(CPS_PERFORMANCE_TEST_DATASPACE, 'writeAnchor', OffsetDateTime.now()) cpsAdminService.deleteAnchor(CPS_PERFORMANCE_TEST_DATASPACE, 'writeAnchor') where: totalBooks || expectedDuration - 400 || 200 - 800 || 500 - 1600 || 1_000 - 3200 || 2_500 - 6400 || 10_000 -// 12800 || 30_000 -// 25600 || 120_000 -// 51200 || 600_000 + 400 || 200 + 800 || 500 + 1600 || TimeUnit.SECONDS.toMillis(1) + 3200 || TimeUnit.SECONDS.toMillis(3) + 6400 || TimeUnit.SECONDS.toMillis(10) +// 12800 || TimeUnit.SECONDS.toMillis(30) +// 25600 || TimeUnit.SECONDS.toMillis(120) +// 51200 || TimeUnit.SECONDS.toMillis(600) } }