From 6d53151256f055a8fd271b97d688f47f94af64c1 Mon Sep 17 00:00:00 2001 From: Anton Yalyshev Date: Tue, 23 Jul 2019 12:37:41 +0300 Subject: [PATCH] Add statistics (FUS) collector for IDE Settings. At the moment - New Inference only. --- .../statistics/IDESettingsFUSCollector.kt | 30 +++++++++++++++++++ .../statistics/IDESettingsFUSCollector.kt.183 | 3 ++ .../IDESettingsFUSCollector.kt.as33 | 3 ++ .../IDESettingsFUSCollector.kt.as34 | 3 ++ .../IDESettingsFUSCollector.kt.as35 | 3 ++ idea/resources/META-INF/plugin.xml | 1 + idea/resources/META-INF/plugin.xml.192 | 1 + 7 files changed, 44 insertions(+) create mode 100644 idea/idea-core/src/org/jetbrains/kotlin/idea/statistics/IDESettingsFUSCollector.kt create mode 100644 idea/idea-core/src/org/jetbrains/kotlin/idea/statistics/IDESettingsFUSCollector.kt.183 create mode 100644 idea/idea-core/src/org/jetbrains/kotlin/idea/statistics/IDESettingsFUSCollector.kt.as33 create mode 100644 idea/idea-core/src/org/jetbrains/kotlin/idea/statistics/IDESettingsFUSCollector.kt.as34 create mode 100644 idea/idea-core/src/org/jetbrains/kotlin/idea/statistics/IDESettingsFUSCollector.kt.as35 diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/statistics/IDESettingsFUSCollector.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/statistics/IDESettingsFUSCollector.kt new file mode 100644 index 00000000000..219725ac8f8 --- /dev/null +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/statistics/IDESettingsFUSCollector.kt @@ -0,0 +1,30 @@ +/* + * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.idea.statistics + +import com.intellij.internal.statistic.beans.UsageDescriptor +import com.intellij.internal.statistic.eventLog.FeatureUsageData +import com.intellij.internal.statistic.service.fus.collectors.ProjectUsagesCollector +import com.intellij.openapi.project.Project +import org.jetbrains.kotlin.idea.KotlinPluginUtil +import org.jetbrains.kotlin.idea.project.NewInferenceForIDEAnalysisComponent + +class IDESettingsFUSCollector : ProjectUsagesCollector() { + + override fun getUsages(project: Project): Set { + val usages = mutableSetOf() + val inferenceState = NewInferenceForIDEAnalysisComponent.isEnabled(project) + val data = FeatureUsageData() + .addData("enabled", inferenceState) + .addData("pluginVersion", KotlinPluginUtil.getPluginVersion()) + + usages.add(UsageDescriptor("newInference", data)) + return usages + } + + override fun getGroupId() = "kotlin.ide.settings"; + override fun getVersion(): Int = 1 +} \ No newline at end of file diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/statistics/IDESettingsFUSCollector.kt.183 b/idea/idea-core/src/org/jetbrains/kotlin/idea/statistics/IDESettingsFUSCollector.kt.183 new file mode 100644 index 00000000000..939c6c53fe5 --- /dev/null +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/statistics/IDESettingsFUSCollector.kt.183 @@ -0,0 +1,3 @@ +class IDESettingsFUSCollector { + // Not whitelisted +} diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/statistics/IDESettingsFUSCollector.kt.as33 b/idea/idea-core/src/org/jetbrains/kotlin/idea/statistics/IDESettingsFUSCollector.kt.as33 new file mode 100644 index 00000000000..939c6c53fe5 --- /dev/null +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/statistics/IDESettingsFUSCollector.kt.as33 @@ -0,0 +1,3 @@ +class IDESettingsFUSCollector { + // Not whitelisted +} diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/statistics/IDESettingsFUSCollector.kt.as34 b/idea/idea-core/src/org/jetbrains/kotlin/idea/statistics/IDESettingsFUSCollector.kt.as34 new file mode 100644 index 00000000000..939c6c53fe5 --- /dev/null +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/statistics/IDESettingsFUSCollector.kt.as34 @@ -0,0 +1,3 @@ +class IDESettingsFUSCollector { + // Not whitelisted +} diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/statistics/IDESettingsFUSCollector.kt.as35 b/idea/idea-core/src/org/jetbrains/kotlin/idea/statistics/IDESettingsFUSCollector.kt.as35 new file mode 100644 index 00000000000..939c6c53fe5 --- /dev/null +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/statistics/IDESettingsFUSCollector.kt.as35 @@ -0,0 +1,3 @@ +class IDESettingsFUSCollector { + // Not whitelisted +} diff --git a/idea/resources/META-INF/plugin.xml b/idea/resources/META-INF/plugin.xml index 760dee9db90..e0b66dee5fd 100644 --- a/idea/resources/META-INF/plugin.xml +++ b/idea/resources/META-INF/plugin.xml @@ -79,6 +79,7 @@ The Kotlin plugin provides language support in IntelliJ IDEA and Android Studio. + diff --git a/idea/resources/META-INF/plugin.xml.192 b/idea/resources/META-INF/plugin.xml.192 index 15ef01c7fcb..266262862ad 100644 --- a/idea/resources/META-INF/plugin.xml.192 +++ b/idea/resources/META-INF/plugin.xml.192 @@ -79,6 +79,7 @@ The Kotlin plugin provides language support in IntelliJ IDEA and Android Studio. +