diff options
| author | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2021-10-13 11:57:16 +0200 |
|---|---|---|
| committer | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2021-10-25 16:40:40 +0200 |
| commit | ff94e63d5f80df317505c7ae0c6a5465f9a0c1f5 (patch) | |
| tree | 8f12ed923cea16b2016d80840a20e602229a2816 /opendc-trace/opendc-trace-tools/src | |
| parent | 5f08ea93901266b6b50a5846af692fdaa90b5fde (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.kt | 17 |
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() } |
