FUS: report ui collectors from listed or JB plugins

This commit is contained in:
Svetlana.Zemlyanskaya
2018-11-22 11:15:31 +01:00
parent d7dbf50b7c
commit 644c1b834f
3 changed files with 29 additions and 6 deletions
@@ -9,6 +9,8 @@ import com.intellij.internal.statistic.collectors.fus.actions.IntentionUsagesCol
import com.intellij.internal.statistic.eventLog.FeatureUsageLogger;
import com.intellij.internal.statistic.persistence.UsageStatisticsPersistenceComponent;
import com.intellij.internal.statistic.service.fus.collectors.FUSUsageContext;
import com.intellij.internal.statistic.utils.PluginType;
import com.intellij.internal.statistic.utils.StatisticsUtilKt;
import com.intellij.lang.Language;
import com.intellij.openapi.components.*;
import com.intellij.openapi.util.text.StringUtil;
@@ -57,7 +59,7 @@ public class IntentionsCollector extends BaseUICollector implements PersistentSt
}
@NotNull
private String getIntentionId(@NotNull IntentionAction action) {
private static String getIntentionId(@NotNull IntentionAction action) {
Object handler = action;
if (action instanceof IntentionActionDelegate) {
IntentionAction delegate = ((IntentionActionDelegate)action).getDelegate();
@@ -71,15 +73,20 @@ public class IntentionsCollector extends BaseUICollector implements PersistentSt
}
}
String fqn = handler.getClass().getName();
final Class<?> clazz = handler.getClass();
final PluginType type = StatisticsUtilKt.getPluginType(clazz);
if (!type.isSafeToReport()) {
return type.name();
}
String fqn = clazz.getName();
for (String prefix : PREFIXES_TO_STRIP) {
fqn = StringUtil.trimStart(fqn, prefix);
}
if (isNotBundledPluginClass(handler.getClass())) {
if (!type.isBundled()) {
fqn = "[!]" + fqn;
}
return fqn;
}
@@ -6,6 +6,8 @@ import com.intellij.internal.statistic.collectors.fus.actions.MainMenuUsagesColl
import com.intellij.internal.statistic.eventLog.FeatureUsageLogger;
import com.intellij.internal.statistic.persistence.UsageStatisticsPersistenceComponent;
import com.intellij.internal.statistic.service.fus.collectors.FUSUsageContext;
import com.intellij.internal.statistic.utils.PluginType;
import com.intellij.internal.statistic.utils.StatisticsUtilKt;
import com.intellij.openapi.actionSystem.ActionManager;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.impl.ActionMenu;
@@ -53,7 +55,8 @@ public class MainMenuCollector extends BaseUICollector implements PersistentStat
public void record(@NotNull AnAction action) {
try {
if (isNotBundledPluginClass(action.getClass())) {
final PluginType type = StatisticsUtilKt.getPluginType(action.getClass());
if (!type.isJBPlugin()) {
return;
}
@@ -2,10 +2,13 @@
package com.intellij.internal.statistic.collectors.fus.ui.persistence;
import com.intellij.internal.statistic.beans.ConvertUsagesUtil;
import com.intellij.internal.statistic.collectors.fus.actions.persistence.BaseUICollector;
import com.intellij.internal.statistic.collectors.fus.ui.ToolbarClicksUsagesCollector;
import com.intellij.internal.statistic.eventLog.FeatureUsageLogger;
import com.intellij.internal.statistic.persistence.UsageStatisticsPersistenceComponent;
import com.intellij.internal.statistic.service.fus.collectors.FUSUsageContext;
import com.intellij.internal.statistic.utils.PluginType;
import com.intellij.internal.statistic.utils.StatisticsUtilKt;
import com.intellij.openapi.actionSystem.ActionManager;
import com.intellij.openapi.actionSystem.ActionWithDelegate;
import com.intellij.openapi.actionSystem.AnAction;
@@ -47,6 +50,16 @@ public class ToolbarClicksCollector implements PersistentStateComponent<ToolbarC
}
public static void record(@NotNull AnAction action, String place) {
record(toRecordedId(action), place);
}
@NotNull
private static String toRecordedId(@NotNull AnAction action) {
final PluginType type = StatisticsUtilKt.getPluginType(action.getClass());
if (!type.isJBPlugin()) {
return type.name();
}
String id = ActionManager.getInstance().getId(action);
if (id == null) {
if (action instanceof ActionWithDelegate) {
@@ -55,7 +68,7 @@ public class ToolbarClicksCollector implements PersistentStateComponent<ToolbarC
id = action.getClass().getName();
}
}
record(id, place);
return id;
}
public static void record(String actionId, String place) {