Add FUS collector for Migration tool
This commit is contained in:
@@ -23,7 +23,8 @@ enum class FUSEventGroups(groupIdSuffix: String, val events: Set<String> = setOf
|
|||||||
Editor("ide.editor"),
|
Editor("ide.editor"),
|
||||||
Settings("ide.settings"),
|
Settings("ide.settings"),
|
||||||
GradlePerformance("gradle.performance"),
|
GradlePerformance("gradle.performance"),
|
||||||
NewWizard("ide.new.wizard");
|
NewWizard("ide.new.wizard"),
|
||||||
|
MigrationTool("ide.migrationTool");
|
||||||
|
|
||||||
val GROUP_ID: String = "kotlin.$groupIdSuffix"
|
val GROUP_ID: String = "kotlin.$groupIdSuffix"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2020 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
|
||||||
|
|
||||||
|
object MigrationToolFUSCollector {
|
||||||
|
|
||||||
|
fun logNotification(oldVersions: Map<String, String>) {
|
||||||
|
KotlinFUSLogger.log(FUSEventGroups.MigrationTool, Events.Notification.toString(), oldVersions)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun logRun() {
|
||||||
|
KotlinFUSLogger.log(FUSEventGroups.MigrationTool, Events.Run.toString())
|
||||||
|
}
|
||||||
|
|
||||||
|
enum class Events {
|
||||||
|
Notification, Run
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -101,6 +101,7 @@ The Kotlin plugin provides language support in IntelliJ IDEA and Android Studio.
|
|||||||
<statistics.counterUsagesCollector groupId="kotlin.ide.debugger" version="2"/>
|
<statistics.counterUsagesCollector groupId="kotlin.ide.debugger" version="2"/>
|
||||||
<statistics.counterUsagesCollector groupId="kotlin.ide.j2k" version="1"/>
|
<statistics.counterUsagesCollector groupId="kotlin.ide.j2k" version="1"/>
|
||||||
<statistics.counterUsagesCollector groupId="kotlin.ide.editor" version="1"/>
|
<statistics.counterUsagesCollector groupId="kotlin.ide.editor" version="1"/>
|
||||||
|
<statistics.counterUsagesCollector groupId="kotlin.ide.migrationTool" version="1"/>
|
||||||
<statistics.counterUsagesCollector groupId="kotlin.ide.new.wizard" version="1"/>
|
<statistics.counterUsagesCollector groupId="kotlin.ide.new.wizard" version="1"/>
|
||||||
<statistics.counterUsagesCollector groupId="kotlin.gradle.performance" version="1"/>
|
<statistics.counterUsagesCollector groupId="kotlin.gradle.performance" version="1"/>
|
||||||
<statistics.projectUsagesCollector implementation="org.jetbrains.kotlin.idea.statistics.IDESettingsFUSCollector"/>
|
<statistics.projectUsagesCollector implementation="org.jetbrains.kotlin.idea.statistics.IDESettingsFUSCollector"/>
|
||||||
|
|||||||
@@ -114,6 +114,7 @@ The Kotlin plugin provides language support in IntelliJ IDEA and Android Studio.
|
|||||||
<statistics.counterUsagesCollector groupId="kotlin.ide.debugger" version="2"/>
|
<statistics.counterUsagesCollector groupId="kotlin.ide.debugger" version="2"/>
|
||||||
<statistics.counterUsagesCollector groupId="kotlin.ide.j2k" version="1"/>
|
<statistics.counterUsagesCollector groupId="kotlin.ide.j2k" version="1"/>
|
||||||
<statistics.counterUsagesCollector groupId="kotlin.ide.editor" version="1"/>
|
<statistics.counterUsagesCollector groupId="kotlin.ide.editor" version="1"/>
|
||||||
|
<statistics.counterUsagesCollector groupId="kotlin.ide.migrationTool" version="1"/>
|
||||||
<statistics.counterUsagesCollector groupId="kotlin.ide.new.wizard" version="1"/>
|
<statistics.counterUsagesCollector groupId="kotlin.ide.new.wizard" version="1"/>
|
||||||
<statistics.counterUsagesCollector groupId="kotlin.gradle.performance" version="1"/>
|
<statistics.counterUsagesCollector groupId="kotlin.gradle.performance" version="1"/>
|
||||||
<statistics.projectUsagesCollector implementation="org.jetbrains.kotlin.idea.statistics.IDESettingsFUSCollector"/>
|
<statistics.projectUsagesCollector implementation="org.jetbrains.kotlin.idea.statistics.IDESettingsFUSCollector"/>
|
||||||
|
|||||||
@@ -114,6 +114,7 @@ The Kotlin plugin provides language support in IntelliJ IDEA and Android Studio.
|
|||||||
<statistics.counterUsagesCollector groupId="kotlin.ide.debugger" version="2"/>
|
<statistics.counterUsagesCollector groupId="kotlin.ide.debugger" version="2"/>
|
||||||
<statistics.counterUsagesCollector groupId="kotlin.ide.j2k" version="1"/>
|
<statistics.counterUsagesCollector groupId="kotlin.ide.j2k" version="1"/>
|
||||||
<statistics.counterUsagesCollector groupId="kotlin.ide.editor" version="1"/>
|
<statistics.counterUsagesCollector groupId="kotlin.ide.editor" version="1"/>
|
||||||
|
<statistics.counterUsagesCollector groupId="kotlin.ide.migrationTool" version="1"/>
|
||||||
<statistics.counterUsagesCollector groupId="kotlin.ide.new.wizard" version="1"/>
|
<statistics.counterUsagesCollector groupId="kotlin.ide.new.wizard" version="1"/>
|
||||||
<statistics.counterUsagesCollector groupId="kotlin.gradle.performance" version="1"/>
|
<statistics.counterUsagesCollector groupId="kotlin.gradle.performance" version="1"/>
|
||||||
<statistics.projectUsagesCollector implementation="org.jetbrains.kotlin.idea.statistics.IDESettingsFUSCollector"/>
|
<statistics.projectUsagesCollector implementation="org.jetbrains.kotlin.idea.statistics.IDESettingsFUSCollector"/>
|
||||||
|
|||||||
@@ -97,6 +97,7 @@ The Kotlin plugin provides language support in IntelliJ IDEA and Android Studio.
|
|||||||
<statistics.counterUsagesCollector groupId="kotlin.ide.debugger" version="2"/>
|
<statistics.counterUsagesCollector groupId="kotlin.ide.debugger" version="2"/>
|
||||||
<statistics.counterUsagesCollector groupId="kotlin.ide.j2k" version="1"/>
|
<statistics.counterUsagesCollector groupId="kotlin.ide.j2k" version="1"/>
|
||||||
<statistics.counterUsagesCollector groupId="kotlin.ide.editor" version="1"/>
|
<statistics.counterUsagesCollector groupId="kotlin.ide.editor" version="1"/>
|
||||||
|
<statistics.counterUsagesCollector groupId="kotlin.ide.migrationTool" version="1"/>
|
||||||
<statistics.counterUsagesCollector groupId="kotlin.ide.new.wizard" version="1"/>
|
<statistics.counterUsagesCollector groupId="kotlin.ide.new.wizard" version="1"/>
|
||||||
<statistics.counterUsagesCollector groupId="kotlin.gradle.performance" version="1"/>
|
<statistics.counterUsagesCollector groupId="kotlin.gradle.performance" version="1"/>
|
||||||
<statistics.projectUsagesCollector implementation="org.jetbrains.kotlin.idea.statistics.IDESettingsFUSCollector"/>
|
<statistics.projectUsagesCollector implementation="org.jetbrains.kotlin.idea.statistics.IDESettingsFUSCollector"/>
|
||||||
|
|||||||
+6
@@ -219,6 +219,12 @@ data class MigrationInfo(
|
|||||||
val oldLanguageVersion: LanguageVersion,
|
val oldLanguageVersion: LanguageVersion,
|
||||||
val newLanguageVersion: LanguageVersion
|
val newLanguageVersion: LanguageVersion
|
||||||
) {
|
) {
|
||||||
|
fun oldVersionsToMap(): Map<String, String> = mapOf(
|
||||||
|
"old_stdlib_version" to oldStdlibVersion,
|
||||||
|
"old_api_version" to oldApiVersion.versionString,
|
||||||
|
"old_language_version" to oldLanguageVersion.versionString
|
||||||
|
)
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun create(
|
fun create(
|
||||||
oldStdlibVersion: String,
|
oldStdlibVersion: String,
|
||||||
|
|||||||
@@ -204,6 +204,12 @@ data class MigrationInfo(
|
|||||||
val oldLanguageVersion: LanguageVersion,
|
val oldLanguageVersion: LanguageVersion,
|
||||||
val newLanguageVersion: LanguageVersion
|
val newLanguageVersion: LanguageVersion
|
||||||
) {
|
) {
|
||||||
|
fun oldVersionsToMap(): Map<String, String> = mapOf(
|
||||||
|
"old_stdlib_version" to oldStdlibVersion,
|
||||||
|
"old_api_version" to oldApiVersion.versionString,
|
||||||
|
"old_language_version" to oldLanguageVersion.versionString
|
||||||
|
)
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun create(
|
fun create(
|
||||||
oldStdlibVersion: String,
|
oldStdlibVersion: String,
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import com.intellij.openapi.project.Project
|
|||||||
import org.jetbrains.kotlin.idea.KotlinBundle
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.configuration.MigrationInfo
|
import org.jetbrains.kotlin.idea.configuration.MigrationInfo
|
||||||
import org.jetbrains.kotlin.idea.migration.CodeMigrationAction
|
import org.jetbrains.kotlin.idea.migration.CodeMigrationAction
|
||||||
|
import org.jetbrains.kotlin.idea.statistics.MigrationToolFUSCollector
|
||||||
|
|
||||||
internal fun showMigrationNotification(project: Project, migrationInfo: MigrationInfo) {
|
internal fun showMigrationNotification(project: Project, migrationInfo: MigrationInfo) {
|
||||||
val detectedChangeMessage = buildString {
|
val detectedChangeMessage = buildString {
|
||||||
@@ -47,6 +48,7 @@ internal fun showMigrationNotification(project: Project, migrationInfo: Migratio
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MigrationToolFUSCollector.logNotification(migrationInfo.oldVersionsToMap())
|
||||||
KOTLIN_MIGRATION_NOTIFICATION_GROUP
|
KOTLIN_MIGRATION_NOTIFICATION_GROUP
|
||||||
.createNotification(
|
.createNotification(
|
||||||
KotlinBundle.message("configuration.migration.title.kotlin.migration"),
|
KotlinBundle.message("configuration.migration.title.kotlin.migration"),
|
||||||
@@ -59,6 +61,7 @@ internal fun showMigrationNotification(project: Project, migrationInfo: Migratio
|
|||||||
val projectContext = SimpleDataContext.getProjectContext(project)
|
val projectContext = SimpleDataContext.getProjectContext(project)
|
||||||
val action = ActionManager.getInstance().getAction(CodeMigrationAction.ACTION_ID)
|
val action = ActionManager.getInstance().getAction(CodeMigrationAction.ACTION_ID)
|
||||||
Notification.fire(notification, action, projectContext)
|
Notification.fire(notification, action, projectContext)
|
||||||
|
MigrationToolFUSCollector.logRun()
|
||||||
|
|
||||||
notification.expire()
|
notification.expire()
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user