From 405e271b6892731944ed3db836b87b5ac1482139 Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Wed, 19 Aug 2020 15:13:38 +0300 Subject: [PATCH] Add js generate externals collecting statistics #KT-39995 Fixed --- .../org/jetbrains/kotlin/idea/statistics/FUSEventGroups.kt | 1 + .../kotlin/idea/statistics/KotlinGradleFUSLogger.kt | 5 +++++ .../jetbrains/kotlin/gradle/targets/js/dukat/DtsResolver.kt | 6 ++++++ .../jetbrains/kotlin/statistics/metrics/BooleanMetrics.kt | 2 ++ 4 files changed, 14 insertions(+) diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/statistics/FUSEventGroups.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/statistics/FUSEventGroups.kt index 52edd99b61b..23e48f0f1cc 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/statistics/FUSEventGroups.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/statistics/FUSEventGroups.kt @@ -35,6 +35,7 @@ enum class GradleStatisticsEvents { Kapt, CompilerPlugins, MPP, + JS, Libraries, GradleConfiguration, ComponentVersions, diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/statistics/KotlinGradleFUSLogger.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/statistics/KotlinGradleFUSLogger.kt index ed29b2ad772..abf4c23c6e6 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/statistics/KotlinGradleFUSLogger.kt +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/statistics/KotlinGradleFUSLogger.kt @@ -99,6 +99,11 @@ class KotlinGradleFUSLogger : StartupActivity, DumbAware, Runnable { StringMetrics.JVM_DEFAULTS ) + container.log( + GradleStatisticsEvents.JS, + BooleanMetrics.JS_GENERATE_EXTERNALS + ) + container.log( GradleStatisticsEvents.MPP, StringMetrics.MPP_PLATFORMS, diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/dukat/DtsResolver.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/dukat/DtsResolver.kt index 11afc5d9ef4..a50b267cbf7 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/dukat/DtsResolver.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/dukat/DtsResolver.kt @@ -5,10 +5,12 @@ package org.jetbrains.kotlin.gradle.targets.js.dukat +import org.jetbrains.kotlin.gradle.plugin.statistics.KotlinBuildStatsService import org.jetbrains.kotlin.gradle.targets.js.npm.NpmDependency import org.jetbrains.kotlin.gradle.targets.js.npm.NpmDependency.Scope.NORMAL import org.jetbrains.kotlin.gradle.targets.js.npm.NpmDependency.Scope.OPTIONAL import org.jetbrains.kotlin.gradle.targets.js.npm.NpmProject +import org.jetbrains.kotlin.statistics.metrics.BooleanMetrics import java.io.File class DtsResolver(val npmProject: NpmProject) { @@ -22,6 +24,7 @@ class DtsResolver(val npmProject: NpmProject) { externalNpmDependencies: Collection, considerGeneratingFlag: Boolean = true ): List { + val buildStatsService = KotlinBuildStatsService.getInstance() return externalNpmDependencies .asSequence() .filter { !considerGeneratingFlag || it.generateExternals } @@ -31,6 +34,9 @@ class DtsResolver(val npmProject: NpmProject) { } .sortedBy { it.inputKey } .toList() + .also { + buildStatsService?.report(BooleanMetrics.JS_GENERATE_EXTERNALS, it.isNotEmpty()) + } } private fun getDtsFromDependency( diff --git a/libraries/tools/kotlin-gradle-statistics/src/org/jetbrains/kotlin/statistics/metrics/BooleanMetrics.kt b/libraries/tools/kotlin-gradle-statistics/src/org/jetbrains/kotlin/statistics/metrics/BooleanMetrics.kt index 5bbecbc6c26..f72aa7b19bb 100644 --- a/libraries/tools/kotlin-gradle-statistics/src/org/jetbrains/kotlin/statistics/metrics/BooleanMetrics.kt +++ b/libraries/tools/kotlin-gradle-statistics/src/org/jetbrains/kotlin/statistics/metrics/BooleanMetrics.kt @@ -38,6 +38,8 @@ enum class BooleanMetrics(val type: BooleanOverridePolicy, val anonymization: Bo KOTLIN_KTS_USED(OR, SAFE), JVM_COMPILER_IR_MODE(OR, SAFE), + JS_GENERATE_EXTERNALS(OR, SAFE), + // User scenarios DEBUGGER_ENABLED(OVERRIDE, SAFE), COMPILATION_STARTED(OVERRIDE, SAFE),