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