From 3926b91bb14ebccdab5552f7bdc681b44411d49f Mon Sep 17 00:00:00 2001 From: Anton Yalyshev Date: Mon, 26 Aug 2019 15:04:32 +0300 Subject: [PATCH] Add window appearance time. Fix final context data structure. --- .../idea/statistics/CompletionFUSCollector.kt | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/statistics/CompletionFUSCollector.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/statistics/CompletionFUSCollector.kt index d1391ba8ca5..3dfc115d14e 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/statistics/CompletionFUSCollector.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/statistics/CompletionFUSCollector.kt @@ -8,6 +8,7 @@ package org.jetbrains.kotlin.idea.statistics object CompletionFUSCollector { private const val FileTypeAttribute = "file_type" private const val WindowPopulationTimeAttribute = "window_population_time" + private const val WindowAppearanceTimeAttribute = "window_appearance_time" private const val CompletionEventAttribute = "completion_event" private const val ChoiceAtPositionAttribute = "choice_at_position" private const val CompletionTypeAttribute = "completion_type" @@ -33,20 +34,26 @@ object CompletionFUSCollector { fun log(completionStatsData: CompletionStatsData?) { if (completionStatsData == null) return + val data = mutableMapOf() - .plus(Pair(FileTypeAttribute, completionStatsData.fileType.toString())) - .plus(Pair(CompletionTypeAttribute, completionStatsData.completionType.toString())) + data[FileTypeAttribute] = completionStatsData.fileType.toString() + data[CompletionTypeAttribute] = completionStatsData.completionType.toString() if (completionStatsData.finishTime != null) { val populationTime = (completionStatsData.finishTime - completionStatsData.startTime).toString() - data.plus(Pair(WindowPopulationTimeAttribute, populationTime)) + data[WindowPopulationTimeAttribute] = populationTime + } + + if (completionStatsData.shownTime != null) { + val appearanceTime = (completionStatsData.shownTime - completionStatsData.startTime).toString() + data[WindowAppearanceTimeAttribute] = appearanceTime } if (completionStatsData.selectedItem != null) { - data.plus(Pair(ChoiceAtPositionAttribute, completionStatsData.selectedItem.toString())) - .plus(Pair(CompletionEventAttribute, Chosen)) + data[ChoiceAtPositionAttribute] = completionStatsData.selectedItem.toString() + data[CompletionEventAttribute] = Chosen } else { - data.plus(Pair(CompletionEventAttribute, NotChosen)) + data[CompletionEventAttribute] = NotChosen } KotlinFUSLogger.log(FUSEventGroups.Editor, EventName, data)