From 7d0e9654bd6af83087514b28c26a14e4c99289fe Mon Sep 17 00:00:00 2001 From: Vladimir Dolzhenko Date: Sun, 1 Nov 2020 14:29:15 +0100 Subject: [PATCH] Clean ups in IDE performance tests output --- .../jetbrains/kotlin/idea/perf/util/Metric.kt | 2 +- .../kotlin/idea/perf/util/aggregateResults.kt | 24 ++++++++++--------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/idea/performanceTests/test/org/jetbrains/kotlin/idea/perf/util/Metric.kt b/idea/performanceTests/test/org/jetbrains/kotlin/idea/perf/util/Metric.kt index d0b3eb455c1..e708c3130a1 100644 --- a/idea/performanceTests/test/org/jetbrains/kotlin/idea/perf/util/Metric.kt +++ b/idea/performanceTests/test/org/jetbrains/kotlin/idea/perf/util/Metric.kt @@ -46,7 +46,7 @@ data class Benchmark( hasError = if (metrics.any { it.ifHasError() == true }) true else null } - private fun String?.escapeName() = this?.replace(Regex("[^A-Za-z0-9_]"), "_") + private fun String?.escapeName() = this?.replace(Regex("[^A-Za-z0-9]"), "") fun id(): String = listOfNotNull( diff --git a/idea/performanceTests/test/org/jetbrains/kotlin/idea/perf/util/aggregateResults.kt b/idea/performanceTests/test/org/jetbrains/kotlin/idea/perf/util/aggregateResults.kt index 19d8880353a..fefce6700e6 100644 --- a/idea/performanceTests/test/org/jetbrains/kotlin/idea/perf/util/aggregateResults.kt +++ b/idea/performanceTests/test/org/jetbrains/kotlin/idea/perf/util/aggregateResults.kt @@ -12,14 +12,15 @@ fun main(args: Array) { val argFile = File(args[0]) val groupBy = argFile.listFiles() .filter { it.length() > 0 && it.name.startsWith("stats-") && it.extension == "json" } - .map { it.loadBenchmark() } - .groupBy { it.benchmark } + .groupBy { it.name.replace("stats-", "").split("_")[0] } - groupBy.forEach { (k, benchmarks) -> - if (benchmarks.isEmpty()) return@forEach + groupBy.forEach { (k, v) -> + if (v.isEmpty()) return@forEach + + val benchmarks = v.map { it.loadBenchmark() } benchmarks.forEach { benchmark -> - benchmark.metrics.firstOrNull { it.metricName == "_value" }?.let { metric -> + benchmark.metrics.firstOrNull { it.metricName == "" }?.let { metric -> metric.rawMetrics?.firstOrNull { it.warmUp == true && it.index == 0 }?.let { val warmUpBenchmark = Benchmark( agentName = benchmark.agentName, @@ -39,15 +40,16 @@ fun main(args: Array) { } // build geom mean benchmark - val first = benchmarks.first() + val first = v.first() + val loadBenchmark = first.loadBenchmark() val geomMeanBenchmark = Benchmark( - agentName = first.agentName, - buildBranch = first.buildBranch, - buildId = first.buildId, - benchmark = first.benchmark, + agentName = loadBenchmark.agentName, + buildBranch = loadBenchmark.buildBranch, + buildId = loadBenchmark.buildId, + benchmark = loadBenchmark.benchmark, synthetic = true, name = "geomMean", - buildTimestamp = first.buildTimestamp + buildTimestamp = loadBenchmark.buildTimestamp ) benchmarks