From e4657d68ababf91e06d5ad1d2858ae14d7a59228 Mon Sep 17 00:00:00 2001 From: Julia Beliaeva Date: Sat, 15 Jun 2019 01:56:37 +0300 Subject: [PATCH] [vcs-log] extract enum for events FUS-397, FUS-411 GitOrigin-RevId: 6175d3e0e88f427db041996700fec1fcdc333364 --- .../history/VcsLogFileHistoryProviderImpl.kt | 2 +- .../vcs/log/impl/VcsLogTabsWatcher.java | 2 +- .../VcsLogUsageTriggerCollector.java | 25 +++++++++++++++---- .../vcs/log/ui/filter/FilterModel.java | 2 +- .../log/ui/table/GraphTableController.java | 2 +- .../vcs/log/ui/table/VcsLogGraphTable.java | 2 +- 6 files changed, 25 insertions(+), 10 deletions(-) diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/history/VcsLogFileHistoryProviderImpl.kt b/platform/vcs-log/impl/src/com/intellij/vcs/log/history/VcsLogFileHistoryProviderImpl.kt index e8937d95908e..629c5d31f90d 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/history/VcsLogFileHistoryProviderImpl.kt +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/history/VcsLogFileHistoryProviderImpl.kt @@ -77,7 +77,7 @@ class VcsLogFileHistoryProviderImpl : VcsLogFileHistoryProvider { } private fun triggerFileHistoryUsage(paths: Collection, hash: Hash?) { - VcsLogUsageTriggerCollector.triggerUsage("history.shown") { data -> + VcsLogUsageTriggerCollector.triggerUsage(VcsLogUsageTriggerCollector.VcsLogEvent.HISTORY_SHOWN) { data -> val kind = if (paths.size > 1) "multiple" else if (paths.first().isDirectory) "folder" else "file" data.addData("kind", kind).addData("has.revision", hash != null) } diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/impl/VcsLogTabsWatcher.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/impl/VcsLogTabsWatcher.java index 55d839614405..a55e4abbb7bf 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/impl/VcsLogTabsWatcher.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/impl/VcsLogTabsWatcher.java @@ -159,7 +159,7 @@ public class VcsLogTabsWatcher implements Disposable { window -> window instanceof VcsLogTab && ((VcsLogTab)window).myTabId.equals(tabId)); if (logWindow != null) { LOG.debug("Selected log window \'" + logWindow + "\'"); - VcsLogUsageTriggerCollector.triggerUsage("tab.navigated", null); + VcsLogUsageTriggerCollector.triggerUsage(VcsLogUsageTriggerCollector.VcsLogEvent.TAB_NAVIGATED, null); myRefresher.refresherActivated(logWindow.getRefresher(), false); } } diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/statistics/VcsLogUsageTriggerCollector.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/statistics/VcsLogUsageTriggerCollector.java index 56fbe8b31efa..2402e3d9871b 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/statistics/VcsLogUsageTriggerCollector.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/statistics/VcsLogUsageTriggerCollector.java @@ -8,6 +8,7 @@ import com.intellij.vcs.log.ui.VcsLogInternalDataKeys; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.util.Locale; import java.util.function.Consumer; public class VcsLogUsageTriggerCollector { @@ -17,7 +18,7 @@ public class VcsLogUsageTriggerCollector { } public static void triggerUsage(@NotNull AnActionEvent e, @NotNull Object action, @Nullable Consumer configurator) { - triggerUsage("action.called", data -> { + triggerUsage(VcsLogEvent.ACTION_CALLED, data -> { addContext(data, e.getData(VcsLogInternalDataKeys.FILE_HISTORY_UI) != null); data.addInputEvent(e); data.addData("class", action.getClass().getName()); @@ -25,20 +26,34 @@ public class VcsLogUsageTriggerCollector { }); } - public static void triggerUsage(@NotNull String text, boolean isFromHistory, @Nullable Consumer configurator) { - triggerUsage(text, data -> { + public static void triggerUsage(@NotNull VcsLogEvent event, boolean isFromHistory, @Nullable Consumer configurator) { + triggerUsage(event, data -> { addContext(data, isFromHistory); if (configurator != null) configurator.accept(data); }); } - public static void triggerUsage(@NotNull String text, @Nullable Consumer configurator) { + public static void triggerUsage(@NotNull VcsLogEvent event, @Nullable Consumer configurator) { FeatureUsageData data = new FeatureUsageData(); if (configurator != null) configurator.accept(data); - FUCounterUsageLogger.getInstance().logEvent("vcs.log.trigger", text, data); + FUCounterUsageLogger.getInstance().logEvent("vcs.log.trigger", event.getId(), data); } private static void addContext(@NotNull FeatureUsageData data, boolean isFromHistory) { data.addData("context", isFromHistory ? "history" : "log"); } + + public enum VcsLogEvent { + ACTION_CALLED, + FILTER_SET, + TABLE_CLICKED, + COLUMN_RESET, + HISTORY_SHOWN, + TAB_NAVIGATED; + + @NotNull + String getId() { + return name().toLowerCase(Locale.ENGLISH).replace('_', '.'); + } + } } diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/filter/FilterModel.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/filter/FilterModel.java index 5f71d0e5a766..d6fb94282fde 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/filter/FilterModel.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/filter/FilterModel.java @@ -64,7 +64,7 @@ abstract class FilterModel { } protected static void triggerFilterSet(@NotNull String name) { - VcsLogUsageTriggerCollector.triggerUsage("filter.set", false, + VcsLogUsageTriggerCollector.triggerUsage(VcsLogUsageTriggerCollector.VcsLogEvent.FILTER_SET, false, data -> data.addData("filter_name", name)); } diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/table/GraphTableController.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/table/GraphTableController.java index 3ae017eb9fa9..f24a929c1909 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/table/GraphTableController.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/table/GraphTableController.java @@ -226,7 +226,7 @@ public class GraphTableController { } private static void triggerClick(@NotNull String target) { - VcsLogUsageTriggerCollector.triggerUsage("table.clicked", + VcsLogUsageTriggerCollector.triggerUsage(VcsLogUsageTriggerCollector.VcsLogEvent.TABLE_CLICKED, data -> data.addData("target", target)); } diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/table/VcsLogGraphTable.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/table/VcsLogGraphTable.java index 72f2135ba9a9..74ecf06906c1 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/table/VcsLogGraphTable.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/table/VcsLogGraphTable.java @@ -278,7 +278,7 @@ public class VcsLogGraphTable extends TableWithProgress implements DataProvider, } public void resetColumnWidth(int column) { - VcsLogUsageTriggerCollector.triggerUsage("column.reset", null); + VcsLogUsageTriggerCollector.triggerUsage(VcsLogUsageTriggerCollector.VcsLogEvent.COLUMN_RESET, null); if (CommonUiProperties.getColumnWidth(myProperties, column) != -1) { CommonUiProperties.saveColumnWidth(myProperties, column, -1); }