expectedDuration, resourceMeter.getTotalTimeInSeconds(),
memoryLimit, resourceMeter.getTotalMemoryUsageInMB())
cleanup:
- cpsDataService.deleteDataNodes(CPS_PERFORMANCE_TEST_DATASPACE, WRITE_TEST_ANCHOR, OffsetDateTime.now())
cpsAnchorService.deleteAnchor(CPS_PERFORMANCE_TEST_DATASPACE, WRITE_TEST_ANCHOR)
where:
totalNodes || expectedDuration | memoryLimit
- 50 || 4 | 100
- 100 || 7 | 200
- 200 || 14 | 400
- 400 || 28 | 500
+ 50 || 1.98 | 100
+ 100 || 3.84 | 200
+ 200 || 8.6 | 400
+ 400 || 16.37 | 500
}
def 'Writing bookstore data has exponential time.'() {
resourceMeter.stop()
then: 'the operation takes less than #expectedDuration and memory used is within limit'
recordAndAssertResourceUsage("Writing ${totalBooks} books",
- expectedDuration, resourceMeter.getTotalTimeInSeconds(),
- memoryLimit, resourceMeter.getTotalMemoryUsageInMB())
+ expectedDuration, resourceMeter.totalTimeInSeconds,
+ memoryLimit, resourceMeter.totalMemoryUsageInMB)
cleanup:
- cpsDataService.deleteDataNodes(CPS_PERFORMANCE_TEST_DATASPACE, WRITE_TEST_ANCHOR, OffsetDateTime.now())
cpsAnchorService.deleteAnchor(CPS_PERFORMANCE_TEST_DATASPACE, WRITE_TEST_ANCHOR)
where:
totalBooks || expectedDuration | memoryLimit
- 800 || 1 | 50
- 1600 || 2 | 100
- 3200 || 6 | 150
- 6400 || 18 | 200
+ 800 || 0.38 | 50
+ 1600 || 0.95 | 100
+ 3200 || 2.71 | 150
+ 6400 || 8.08 | 200
}
def 'Writing openroadm list data using saveListElements.'() {
resourceMeter.stop()
then: 'the operation takes less than #expectedDuration and memory used is within limit'
recordAndAssertResourceUsage("Saving list of ${totalNodes} devices",
- expectedDuration, resourceMeter.getTotalTimeInSeconds(),
- memoryLimit, resourceMeter.getTotalMemoryUsageInMB())
- cleanup:
- cpsDataService.deleteDataNodes(CPS_PERFORMANCE_TEST_DATASPACE, WRITE_TEST_ANCHOR, OffsetDateTime.now())
- cpsAnchorService.deleteAnchor(CPS_PERFORMANCE_TEST_DATASPACE, WRITE_TEST_ANCHOR)
- where:
- totalNodes || expectedDuration | memoryLimit
- 50 || 4 | 200
- 100 || 7 | 200
- 200 || 14 | 250
- 400 || 28 | 250
- }
-
- def 'Writing openroadm list data using saveListElementsBatch.'() {
- given: 'an anchor and empty container node for openroadm'
- cpsAnchorService.createAnchor(CPS_PERFORMANCE_TEST_DATASPACE, LARGE_SCHEMA_SET, WRITE_TEST_ANCHOR)
- cpsDataService.saveData(CPS_PERFORMANCE_TEST_DATASPACE, WRITE_TEST_ANCHOR,
- '{ "openroadm-devices": { "openroadm-device": []}}', now)
- and: 'a list of device nodes to add'
- def innerNode = readResourceDataFile('openroadm/innerNode.json')
- def multipleJsonData = (1..totalNodes).collect {
- '{ "openroadm-device": [' + innerNode.replace('NODE_ID_HERE', it.toString()) + ']}' }
- when: 'device nodes are added'
- resourceMeter.start()
- cpsDataService.saveListElementsBatch(CPS_PERFORMANCE_TEST_DATASPACE, WRITE_TEST_ANCHOR, '/openroadm-devices', multipleJsonData, OffsetDateTime.now())
- resourceMeter.stop()
- then: 'the operation takes less than #expectedDuration and memory used is within limit'
- recordAndAssertResourceUsage("Saving batch of ${totalNodes} lists",
- expectedDuration, resourceMeter.getTotalTimeInSeconds(),
- memoryLimit, resourceMeter.getTotalMemoryUsageInMB())
+ expectedDuration, resourceMeter.totalTimeInSeconds,
+ memoryLimit, resourceMeter.totalMemoryUsageInMB)
cleanup:
- cpsDataService.deleteDataNodes(CPS_PERFORMANCE_TEST_DATASPACE, WRITE_TEST_ANCHOR, OffsetDateTime.now())
cpsAnchorService.deleteAnchor(CPS_PERFORMANCE_TEST_DATASPACE, WRITE_TEST_ANCHOR)
where:
totalNodes || expectedDuration | memoryLimit
- 50 || 16 | 500
- 100 || 32 | 500
- 200 || 64 | 1000
- 400 || 128 | 1250
+ 50 || 1.8 | 100
+ 100 || 3.93 | 200
+ 200 || 7.77 | 400
+ 400 || 16.59 | 500
}
}