summaryrefslogtreecommitdiff
path: root/opendc/opendc-experiments-sc20/src
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2020-05-13 23:49:15 +0200
committerFabian Mastenbroek <mail.fabianm@gmail.com>2020-05-13 23:49:15 +0200
commit0068fd4e3c47e9bfb2b61c7c90527a2ccda3952d (patch)
tree6bef49b1be098dc6a7fcea56eeb5c6def9a21463 /opendc/opendc-experiments-sc20/src
parentefd62bbc3bbe236503095e5cb27af42423500d85 (diff)
perf: Do not share metric writers across experiments
Diffstat (limited to 'opendc/opendc-experiments-sc20/src')
-rw-r--r--opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/ExperimentRunnerCli.kt19
-rw-r--r--opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/Portfolios.kt2
-rw-r--r--opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/reporter/PostgresMetricsWriter.kt2
3 files changed, 14 insertions, 9 deletions
diff --git a/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/ExperimentRunnerCli.kt b/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/ExperimentRunnerCli.kt
index d5990c01..b072fb12 100644
--- a/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/ExperimentRunnerCli.kt
+++ b/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/ExperimentRunnerCli.kt
@@ -170,18 +170,23 @@ internal sealed class Reporter(name: String) : OptionGroup(name), ExperimentRepo
}
class Postgres : Reporter("Options for reporting using PostgreSQL") {
- lateinit var hostWriter: PostgresHostMetricsWriter
+ lateinit var ds: DataSource
override fun init(ds: DataSource) {
- hostWriter = PostgresHostMetricsWriter(ds, batchSize)
+ this.ds = ds
}
- override fun createReporter(scenario: Long, run: Int): ExperimentReporter =
- ExperimentPostgresReporter(scenario, run, hostWriter)
-
- override fun close() {
- hostWriter.close()
+ override fun createReporter(scenario: Long, run: Int): ExperimentReporter {
+ val hostWriter = PostgresHostMetricsWriter(ds, batchSize)
+ val delegate = ExperimentPostgresReporter(scenario, run, hostWriter)
+ return object : ExperimentReporter by delegate {
+ override fun close() {
+ hostWriter.close()
+ }
+ }
}
+
+ override fun close() {}
}
}
diff --git a/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/Portfolios.kt b/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/Portfolios.kt
index 04bddce3..f2ac84a1 100644
--- a/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/Portfolios.kt
+++ b/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/Portfolios.kt
@@ -72,7 +72,7 @@ object HorVerPortfolio : AbstractSc20Portfolio("horizontal_vs_vertical") {
// Workload("solvinity", 0.1),
// Workload("solvinity", 0.25),
// Workload("small-parquet", 0.5),
- Workload("small-parquet", 0.5)
+ Workload("small-parquet", 1.0)
)
override val operationalPhenomena = listOf(
diff --git a/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/reporter/PostgresMetricsWriter.kt b/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/reporter/PostgresMetricsWriter.kt
index bfa89e3a..367a3a5a 100644
--- a/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/reporter/PostgresMetricsWriter.kt
+++ b/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/reporter/PostgresMetricsWriter.kt
@@ -43,7 +43,7 @@ public abstract class PostgresMetricsWriter<T>(
/**
* The queue of commands to process.
*/
- private val queue: BlockingQueue<Action> = ArrayBlockingQueue(12 * batchSize)
+ private val queue: BlockingQueue<Action> = ArrayBlockingQueue(4 * batchSize)
/**
* The thread for the actual writer.