summaryrefslogtreecommitdiff
path: root/opendc/opendc-experiments-sc20
diff options
context:
space:
mode:
Diffstat (limited to 'opendc/opendc-experiments-sc20')
-rw-r--r--opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/Sc20HypervisorMonitor.kt4
-rw-r--r--opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/TestExperiment.kt6
2 files changed, 8 insertions, 2 deletions
diff --git a/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/Sc20HypervisorMonitor.kt b/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/Sc20HypervisorMonitor.kt
index 36db25bc..55a0ce75 100644
--- a/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/Sc20HypervisorMonitor.kt
+++ b/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/Sc20HypervisorMonitor.kt
@@ -27,10 +27,12 @@ class Sc20HypervisorMonitor : HypervisorMonitor, Closeable {
val usage = driver.usage.first()
val powerDraw = driver.powerDraw.first()
- outputFile.write("$time,$requestedBurst,$grantedBurst,$numberOfDeployedImages,$numberOfDeployedImages,${hostServer.uid},$usage,$powerDraw\n")
+ outputFile.write("$time,$requestedBurst,$grantedBurst,$numberOfDeployedImages,$numberOfDeployedImages,${hostServer.uid},$usage,$powerDraw")
+ outputFile.newLine()
}
override fun close() {
+ outputFile.flush()
outputFile.close()
}
}
diff --git a/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/TestExperiment.kt b/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/TestExperiment.kt
index 1d12df29..76f7b600 100644
--- a/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/TestExperiment.kt
+++ b/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/TestExperiment.kt
@@ -52,6 +52,7 @@ fun main(args: Array<String>) {
return
}
+ val hypervisorMonitor = Sc20HypervisorMonitor()
val monitor = object : ServerMonitor {
override suspend fun onUpdate(server: Server, previousState: ServerState) {
println(server)
@@ -76,7 +77,7 @@ fun main(args: Array<String>) {
AvailableMemoryAllocationPolicy(),
simulationContext,
environment.platforms[0].zones[0].services[ProvisioningService.Key],
- Sc20HypervisorMonitor()
+ hypervisorMonitor
)
val reader = VmTraceReader(File(args[0]), performanceInterferenceModel)
@@ -94,4 +95,7 @@ fun main(args: Array<String>) {
system.run()
system.terminate()
}
+
+ // Explicitly close the monitor to flush its buffer
+ hypervisorMonitor.close()
}