diff options
| author | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2021-10-25 17:40:04 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-10-25 17:40:04 +0200 |
| commit | b4bf7268cbb6d22d3966f469a6b7721b04d91907 (patch) | |
| tree | 13756bd08650c0e41e24132b8dab0fad327ddf31 /opendc-trace/opendc-trace-api/src | |
| parent | a41cd2504f15f3e3e49eb533faca390911cc5110 (diff) | |
| parent | c4ce5ebb7de6494cb8d90076cba8596aa0cbabeb (diff) | |
merge: Support conversion from Azure traces to OpenDC traces (#36)
This pull request adds support for converting Azure traces to the OpenDC trace format.
* Support GZIP files in Azure trace
* Fix timestamp retrieval for Azure trace
* Add column for CPU capacity in OpenDC format
* Support conversion from Azure trace format
Diffstat (limited to 'opendc-trace/opendc-trace-api/src')
| -rw-r--r-- | opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/util/CompositeTableReader.kt | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/util/CompositeTableReader.kt b/opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/util/CompositeTableReader.kt index dafc0798..11e032c7 100644 --- a/opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/util/CompositeTableReader.kt +++ b/opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/util/CompositeTableReader.kt @@ -46,11 +46,7 @@ public abstract class CompositeTableReader : TableReader { protected abstract fun nextReader(): TableReader? override fun nextRow(): Boolean { - if (!hasStarted) { - assert(delegate == null) { "Duplicate initialization" } - delegate = nextReader() - hasStarted = true - } + tryStart() var delegate = delegate @@ -68,6 +64,8 @@ public abstract class CompositeTableReader : TableReader { } override fun resolve(column: TableColumn<*>): Int { + tryStart() + val delegate = delegate return delegate?.resolve(column) ?: -1 } @@ -107,4 +105,15 @@ public abstract class CompositeTableReader : TableReader { } override fun toString(): String = "CompositeTableReader" + + /** + * Try to obtain the initial delegate. + */ + private fun tryStart() { + if (!hasStarted) { + assert(delegate == null) { "Duplicate initialization" } + delegate = nextReader() + hasStarted = true + } + } } |
