diff options
| author | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2020-03-11 20:02:27 +0100 |
|---|---|---|
| committer | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2020-03-11 20:02:27 +0100 |
| commit | 7665c089ac44166f284d5757087ea1e7b3bc0a2d (patch) | |
| tree | 7c1bbb69ea19014d3bf3848ce143cfdbd2289ca2 /opendc/opendc-format | |
| parent | 0655127dcd945289f045d8e04304e6a050e2a2f9 (diff) | |
| parent | d1d9e059cb83c1d8cf01e704136d0af2b6564e5b (diff) | |
Merge branch '2.x-sc20-setup' into '2.x'
Pass all relevant SC20 parameters as arguments
See merge request opendc/opendc-simulator!39
Diffstat (limited to 'opendc/opendc-format')
| -rw-r--r-- | opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/trace/sc20/Sc20TraceReader.kt | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/trace/sc20/Sc20TraceReader.kt b/opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/trace/sc20/Sc20TraceReader.kt index d4656823..498f147f 100644 --- a/opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/trace/sc20/Sc20TraceReader.kt +++ b/opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/trace/sc20/Sc20TraceReader.kt @@ -45,7 +45,8 @@ import java.util.UUID */ class Sc20TraceReader( traceDirectory: File, - performanceInterferenceModel: PerformanceInterferenceModel + performanceInterferenceModel: PerformanceInterferenceModel, + selectedVms: List<String> ) : TraceReader<VmWorkload> { /** * The internal iterator to use for this reader. @@ -56,7 +57,7 @@ class Sc20TraceReader( * Initialize the reader. */ init { - val entries = mutableMapOf<String, TraceEntry<VmWorkload>>() + val entries = mutableMapOf<UUID, TraceEntry<VmWorkload>>() val timestampCol = 0 val cpuUsageCol = 1 @@ -65,9 +66,18 @@ class Sc20TraceReader( val provisionedMemoryCol = 20 val traceInterval = 5 * 60 * 1000L - traceDirectory.walk() - .filterNot { it.isDirectory } - .filter { it.extension == "csv" || it.extension == "txt" } + val vms = if (selectedVms.isEmpty()) { + traceDirectory.walk() + .filterNot { it.isDirectory } + .filter { it.extension == "csv" || it.extension == "txt" } + .toList() + } else { + selectedVms.map { + File(traceDirectory, it) + } + } + + vms .forEach { vmFile -> println(vmFile) val flopsHistory = mutableListOf<FlopsHistoryFragment>() @@ -112,7 +122,7 @@ class Sc20TraceReader( } } - val uuid = UUID(0L, vmId.hashCode().toLong()) + val uuid = UUID.randomUUID() val relevantPerformanceInterferenceModelItems = PerformanceInterferenceModel( performanceInterferenceModel.items.filter { it.workloadIds.contains(uuid) }.toSet() @@ -129,7 +139,7 @@ class Sc20TraceReader( requiredMemory ) ) - entries[vmId] = TraceEntryImpl( + entries[uuid] = TraceEntryImpl( flopsHistory.firstOrNull()?.tick ?: -1, vmWorkload ) |
