FUS-260 fus: do not report DiffTool names for unknown third-party plugins

This commit is contained in:
Aleksey Pivovarov
2019-01-31 17:39:53 +03:00
parent fa6f818c33
commit 6d449a19c4
3 changed files with 24 additions and 4 deletions
@@ -642,7 +642,7 @@ public abstract class DiffRequestProcessor implements Disposable {
public void actionPerformed(@NotNull AnActionEvent e) {
if (myState.getActiveTool() == myDiffTool) return;
DiffUsageTriggerCollector.trigger("toggle.diff.tool." + myDiffTool.getName());
DiffUsageTriggerCollector.trigger("toggle.diff.tool", myDiffTool);
moveToolOnTop(myDiffTool);
updateRequest(true);
@@ -269,7 +269,7 @@ public class TextDiffViewerUtil {
@Override
protected void setValue(@NotNull HighlightPolicy option) {
if (getValue() == option) return;
DiffUsageTriggerCollector.trigger("toggle.highlight.policy." + option.name());
DiffUsageTriggerCollector.trigger("toggle.highlight.policy", option);
mySettings.setHighlightPolicy(option);
}
@@ -310,7 +310,7 @@ public class TextDiffViewerUtil {
@Override
protected void setValue(@NotNull IgnorePolicy option) {
if (getValue() == option) return;
DiffUsageTriggerCollector.trigger("toggle.ignore.policy." + option.name());
DiffUsageTriggerCollector.trigger("toggle.ignore.policy", option);
mySettings.setIgnorePolicy(option);
}
@@ -1,11 +1,31 @@
// Copyright 2000-2018 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.openapi.diff.impl;
import com.intellij.diff.DiffTool;
import com.intellij.internal.statistic.service.fus.collectors.FUCounterUsageLogger;
import com.intellij.internal.statistic.utils.PluginInfo;
import com.intellij.internal.statistic.utils.PluginInfoDetectorKt;
import org.jetbrains.annotations.NotNull;
public class DiffUsageTriggerCollector {
public static void trigger(String feature) {
public static void trigger(@NotNull String feature) {
FUCounterUsageLogger.getInstance().logEvent("vcs.diff.trigger", feature);
}
public static void trigger(@NotNull String feature, @NotNull Enum value) {
trigger(feature + "." + value.name());
}
public static void trigger(@NotNull String feature, @NotNull DiffTool diffTool) {
trigger(feature + "." + getDiffToolName(diffTool));
}
@NotNull
private static String getDiffToolName(@NotNull DiffTool diffTool) {
PluginInfo pluginInfo = PluginInfoDetectorKt.getPluginInfo(diffTool.getClass());
if (pluginInfo.isDevelopedByJetBrains()) return diffTool.getName();
if (pluginInfo.isSafeToReport()) return "third.party." + pluginInfo.getId();
return "third.party.other";
}
}