diff --git a/platform/lang-impl/src/com/intellij/ide/actions/searcheverywhere/GroupedSearchListModel.java b/platform/lang-impl/src/com/intellij/ide/actions/searcheverywhere/GroupedSearchListModel.java index cea1a78b445f..5a2661d6e038 100644 --- a/platform/lang-impl/src/com/intellij/ide/actions/searcheverywhere/GroupedSearchListModel.java +++ b/platform/lang-impl/src/com/intellij/ide/actions/searcheverywhere/GroupedSearchListModel.java @@ -1,6 +1,7 @@ // Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.intellij.ide.actions.searcheverywhere; +import com.intellij.ide.actions.searcheverywhere.statistics.SearchEverywhereUsageTriggerCollector; import com.intellij.util.Range; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -131,6 +132,11 @@ class GroupedSearchListModel extends SearchListModel { if (!alreadyHas && newVal) { index += 1; + int elementsCount = index - contributors().indexOf(contributor); + SearchEverywhereUsageTriggerCollector.MORE_ITEM_SHOWN.log( + SearchEverywhereUsageTriggerCollector.ITEM_NUMBER_BEFORE_MORE.with(elementsCount), + SearchEverywhereUsageTriggerCollector.IS_ONLY_MORE.with(false) + ); listElements.add(index, new SearchEverywhereFoundElementInfo(MORE_ELEMENT, 0, contributor)); fireIntervalAdded(this, index, index); } diff --git a/platform/lang-impl/src/com/intellij/ide/actions/searcheverywhere/MixedSearchListModel.java b/platform/lang-impl/src/com/intellij/ide/actions/searcheverywhere/MixedSearchListModel.java index 427be2344dda..d3759c6c7373 100644 --- a/platform/lang-impl/src/com/intellij/ide/actions/searcheverywhere/MixedSearchListModel.java +++ b/platform/lang-impl/src/com/intellij/ide/actions/searcheverywhere/MixedSearchListModel.java @@ -1,6 +1,7 @@ // Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.intellij.ide.actions.searcheverywhere; +import com.intellij.ide.actions.searcheverywhere.statistics.SearchEverywhereUsageTriggerCollector; import com.intellij.openapi.util.Conditions; import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; @@ -118,6 +119,10 @@ class MixedSearchListModel extends SearchListModel { } if (!alreadyHas && hasMore) { + SearchEverywhereUsageTriggerCollector.MORE_ITEM_SHOWN.log( + SearchEverywhereUsageTriggerCollector.ITEM_NUMBER_BEFORE_MORE.with(listElements.size()), + SearchEverywhereUsageTriggerCollector.IS_ONLY_MORE.with(true) + ); listElements.add(new SearchEverywhereFoundElementInfo(MORE_ELEMENT, 0, null)); lasItemIndex += 1; fireIntervalAdded(this, lasItemIndex, lasItemIndex); diff --git a/platform/lang-impl/src/com/intellij/ide/actions/searcheverywhere/statistics/SearchEverywhereUsageTriggerCollector.java b/platform/lang-impl/src/com/intellij/ide/actions/searcheverywhere/statistics/SearchEverywhereUsageTriggerCollector.java index 52209d1ee715..d14e281bb785 100644 --- a/platform/lang-impl/src/com/intellij/ide/actions/searcheverywhere/statistics/SearchEverywhereUsageTriggerCollector.java +++ b/platform/lang-impl/src/com/intellij/ide/actions/searcheverywhere/statistics/SearchEverywhereUsageTriggerCollector.java @@ -42,7 +42,7 @@ public final class SearchEverywhereUsageTriggerCollector extends CounterUsagesCo "third.party", "Vcs.Git"); public static final StringEventField CURRENT_TAB_FIELD = EventFields.String("currentTabId", ourTabs); - private static final EventLogGroup GROUP = new EventLogGroup("searchEverywhere", 9); + private static final EventLogGroup GROUP = new EventLogGroup("searchEverywhere", 10); public static final EventId2 DIALOG_OPEN = GROUP.registerEvent("dialogOpen", CONTRIBUTOR_ID_FIELD, @@ -59,6 +59,9 @@ public final class SearchEverywhereUsageTriggerCollector extends CounterUsagesCo EventFields.Language, CURRENT_TAB_FIELD, SELECTED_ITEM_NUMBER); public static final EventId MORE_ITEM_SELECTED = GROUP.registerEvent("moreItemChosen"); + public static final IntEventField ITEM_NUMBER_BEFORE_MORE = EventFields.Int("itemsNumberBeforeMore"); + public static final BooleanEventField IS_ONLY_MORE = EventFields.Boolean("isOnlyMore"); + public static final VarargEventId MORE_ITEM_SHOWN = GROUP.registerVarargEvent("moreItemShown", ITEM_NUMBER_BEFORE_MORE, IS_ONLY_MORE); public static final EventId COMMAND_USED = GROUP.registerEvent("commandUsed"); public static final VarargEventId COMMAND_COMPLETED = GROUP.registerVarargEvent("commandCompleted",