Wizard: add logging for hyperlink handler
This commit is contained in:
+1
@@ -15,6 +15,7 @@ import com.intellij.openapi.progress.Task
|
||||
import com.intellij.openapi.progress.impl.BackgroundableProcessIndicator
|
||||
import com.intellij.openapi.project.ProjectManager
|
||||
import com.intellij.openapi.roots.ui.configuration.ModulesProvider
|
||||
import org.jetbrains.kotlin.idea.projectWizard.WizardStatsService
|
||||
import org.jetbrains.kotlin.tools.projectWizard.projectTemplates.ProjectTemplate
|
||||
import org.jetbrains.kotlin.utils.addToStdlib.safeAs
|
||||
|
||||
|
||||
+2
@@ -6,6 +6,7 @@
|
||||
package org.jetbrains.kotlin.tools.projectWizard.wizard
|
||||
|
||||
import com.intellij.openapi.application.JBProtocolCommand
|
||||
import org.jetbrains.kotlin.idea.projectWizard.WizardStatsService
|
||||
import org.jetbrains.kotlin.tools.projectWizard.projectTemplates.ProjectTemplate
|
||||
|
||||
class OpenNewProjectWizardProtocolCommand : JBProtocolCommand(COMMAND_NAME) {
|
||||
@@ -19,6 +20,7 @@ class OpenNewProjectWizardProtocolCommand : JBProtocolCommand(COMMAND_NAME) {
|
||||
val template = parameters[NEW_PROJECT_TARGET_TEMPLATE_PARAMETER]
|
||||
?.let(ProjectTemplate.Companion::byId)
|
||||
|
||||
WizardStatsService.logWizardOpenByHyperlink(template?.id)
|
||||
NewWizardOpener.open(template)
|
||||
}
|
||||
|
||||
|
||||
@@ -38,18 +38,28 @@ data class UiEditorUsageStats(
|
||||
}
|
||||
|
||||
private enum class WizardStatsEvent(@NonNls val text: String) {
|
||||
PROJECT_OPEN_BY_HYPERLINK("Wizard opened by hyperlink"),
|
||||
PROJECT_CREATED("Project Created"),
|
||||
WIZARD_STATE_CHANGE("New Wizard enabled or disable")
|
||||
}
|
||||
|
||||
object WizardStatsService {
|
||||
fun logWizardOpenByHyperlink(templateId: String?) {
|
||||
val data = mapOf("templateId" to (templateId ?: "None"))
|
||||
log(WizardStatsEvent.PROJECT_OPEN_BY_HYPERLINK, data)
|
||||
}
|
||||
|
||||
fun logDataOnProjectGenerated(projectCreationStats: ProjectCreationStats, uiEditorUsageStats: UiEditorUsageStats) {
|
||||
val data = projectCreationStats.toMap() + uiEditorUsageStats.toMap()
|
||||
KotlinFUSLogger.log(FUSEventGroups.NewWizard, WizardStatsEvent.PROJECT_CREATED.text, data)
|
||||
log(WizardStatsEvent.PROJECT_CREATED, data)
|
||||
}
|
||||
|
||||
fun logWizardStatusChanged(isEnabled: Boolean) {
|
||||
val data = mapOf("enabled" to isEnabled.toString())
|
||||
KotlinFUSLogger.log(FUSEventGroups.NewWizard, WizardStatsEvent.WIZARD_STATE_CHANGE.text, data)
|
||||
log(WizardStatsEvent.WIZARD_STATE_CHANGE, data)
|
||||
}
|
||||
|
||||
private fun log(event: WizardStatsEvent, data: Map<String, String>) {
|
||||
KotlinFUSLogger.log(FUSEventGroups.NewWizard, event.text, data)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user