Report lines number and LpS in build reports

#KT-55540 Fixed
This commit is contained in:
Andrey Uskov
2022-12-15 22:43:44 +03:00
parent 5e06c52073
commit 2be68065af
2 changed files with 22 additions and 2 deletions
@@ -16,6 +16,10 @@ enum class BuildPerformanceMetric(val parent: BuildPerformanceMetric? = null, va
BUNDLE_SIZE(readableString = "Total size of the final bundle", type = ValueType.BYTES),
COMPILE_ITERATION(parent = null, "Total compiler iteration", type = ValueType.NUMBER),
ANALYZED_LINES_NUMBER(parent = COMPILE_ITERATION, "Number of lines analyzed", type = ValueType.NUMBER),
CODE_GENERATED_LINES_NUMBER(parent = COMPILE_ITERATION, "Number of lines for code generation", type = ValueType.NUMBER),
ANALYSIS_LPS(parent = COMPILE_ITERATION, "Analysis lines per second", type = ValueType.NUMBER),
CODE_GENERATION_LPS(parent = COMPILE_ITERATION, "Code generation lines per second", type = ValueType.NUMBER),
// Metrics for the `kotlin.incremental.useClasspathSnapshot` feature
CLASSPATH_ENTRY_SNAPSHOT_TRANSFORM_EXECUTION_COUNT(parent = null, "Number of times 'ClasspathEntrySnapshotTransform' ran", type = ValueType.NUMBER),
@@ -585,8 +585,24 @@ abstract class IncrementalCompilerRunner<
defaultPerformanceManager.getMeasurementResults().forEach {
when (it) {
is CompilerInitializationMeasurement -> reporter.addTimeMetricMs(BuildTime.COMPILER_INITIALIZATION, it.milliseconds)
is CodeAnalysisMeasurement -> reporter.addTimeMetricMs(BuildTime.CODE_ANALYSIS, it.milliseconds)
is CodeGenerationMeasurement -> reporter.addTimeMetricMs(BuildTime.CODE_GENERATION, it.milliseconds)
is CodeAnalysisMeasurement -> {
reporter.addTimeMetricMs(BuildTime.CODE_ANALYSIS, it.milliseconds)
it.lines?.apply {
reporter.addMetric(BuildPerformanceMetric.ANALYZED_LINES_NUMBER, this.toLong())
if (it.milliseconds > 0) {
reporter.addMetric(BuildPerformanceMetric.ANALYSIS_LPS, this * 1000 / it.milliseconds)
}
}
}
is CodeGenerationMeasurement -> {
reporter.addTimeMetricMs(BuildTime.CODE_GENERATION, it.milliseconds)
it.lines?.apply {
reporter.addMetric(BuildPerformanceMetric.CODE_GENERATED_LINES_NUMBER, this.toLong())
if (it.milliseconds > 0) {
reporter.addMetric(BuildPerformanceMetric.CODE_GENERATION_LPS, this * 1000 / it.milliseconds)
}
}
}
}
}
}