summaryrefslogtreecommitdiff
path: root/opendc-trace/opendc-trace-tools/src
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2021-10-13 11:57:16 +0200
committerFabian Mastenbroek <mail.fabianm@gmail.com>2021-10-25 16:40:40 +0200
commitff94e63d5f80df317505c7ae0c6a5465f9a0c1f5 (patch)
tree8f12ed923cea16b2016d80840a20e602229a2816 /opendc-trace/opendc-trace-tools/src
parent5f08ea93901266b6b50a5846af692fdaa90b5fde (diff)
feat(trace): Add column for CPU capacity in OpenDC format
This change adds a new column to resource table of the OpenDC trace format for the CPU capacity provisioned for a virtual machine, so that this capacity can be assigned to the virtual machine during simulation.
Diffstat (limited to 'opendc-trace/opendc-trace-tools/src')
-rw-r--r--opendc-trace/opendc-trace-tools/src/main/kotlin/org/opendc/trace/tools/TraceConverter.kt17
1 files changed, 10 insertions, 7 deletions
diff --git a/opendc-trace/opendc-trace-tools/src/main/kotlin/org/opendc/trace/tools/TraceConverter.kt b/opendc-trace/opendc-trace-tools/src/main/kotlin/org/opendc/trace/tools/TraceConverter.kt
index 6fad43be..75472dff 100644
--- a/opendc-trace/opendc-trace-tools/src/main/kotlin/org/opendc/trace/tools/TraceConverter.kt
+++ b/opendc-trace/opendc-trace-tools/src/main/kotlin/org/opendc/trace/tools/TraceConverter.kt
@@ -130,9 +130,10 @@ internal class TraceConverterCli : CliktCommand(name = "trace-converter") {
while (hasNextRow) {
var id: String
- var numCpus = Int.MIN_VALUE
- var memCapacity = Double.MIN_VALUE
- var memUsage = Double.MIN_VALUE
+ var cpuCount = 0
+ var cpuCapacity = 0.0
+ var memCapacity = 0.0
+ var memUsage = 0.0
var startTime = Long.MAX_VALUE
var stopTime = Long.MIN_VALUE
@@ -140,12 +141,13 @@ internal class TraceConverterCli : CliktCommand(name = "trace-converter") {
id = reader.get(RESOURCE_ID)
val timestamp = reader.get(RESOURCE_STATE_TIMESTAMP).toEpochMilli()
+
startTime = min(startTime, timestamp)
stopTime = max(stopTime, timestamp)
-
- numCpus = max(numCpus, reader.getInt(RESOURCE_CPU_COUNT))
-
+ cpuCount = max(cpuCount, reader.getInt(RESOURCE_CPU_COUNT))
+ cpuCapacity = max(cpuCapacity, reader.getDouble(RESOURCE_CPU_CAPACITY))
memCapacity = max(memCapacity, reader.getDouble(RESOURCE_MEM_CAPACITY))
+
if (reader.hasColumn(RESOURCE_STATE_MEM_USAGE)) {
memUsage = max(memUsage, reader.getDouble(RESOURCE_STATE_MEM_USAGE))
}
@@ -165,7 +167,8 @@ internal class TraceConverterCli : CliktCommand(name = "trace-converter") {
writer.set(RESOURCE_ID, id)
writer.set(RESOURCE_START_TIME, Instant.ofEpochMilli(startTime))
writer.set(RESOURCE_STOP_TIME, Instant.ofEpochMilli(stopTime))
- writer.setInt(RESOURCE_CPU_COUNT, numCpus)
+ writer.setInt(RESOURCE_CPU_COUNT, cpuCount)
+ writer.setDouble(RESOURCE_CPU_CAPACITY, cpuCapacity)
writer.setDouble(RESOURCE_MEM_CAPACITY, max(memCapacity, memUsage))
writer.endRow()
}