mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
report action usage statistics for package management UI (FUS-601)
GitOrigin-RevId: 094f509304244622e4c57c2289d2d36a56544857
This commit is contained in:
committed by
intellij-monorepo-bot
parent
d3d1e5941d
commit
fac10bba0c
@@ -86,12 +86,14 @@ public class InstalledPackagesPanel extends JPanel {
|
||||
myUpgradeButton = new DumbAwareActionButton("Upgrade", IconUtil.getMoveUpIcon()) {
|
||||
@Override
|
||||
public void actionPerformed(@NotNull AnActionEvent e) {
|
||||
PackageManagementUsageCollector.triggerUpgradePerformed(myProject, myPackageManagementService);
|
||||
upgradeAction();
|
||||
}
|
||||
};
|
||||
myInstallButton = new DumbAwareActionButton("Install", IconUtil.getAddIcon()) {
|
||||
@Override
|
||||
public void actionPerformed(@NotNull AnActionEvent e) {
|
||||
PackageManagementUsageCollector.triggerInstallPerformed(myProject, myPackageManagementService);
|
||||
if (myPackageManagementService != null) {
|
||||
ManagePackagesDialog dialog = createManagePackagesDialog();
|
||||
dialog.show();
|
||||
@@ -102,6 +104,7 @@ public class InstalledPackagesPanel extends JPanel {
|
||||
myUninstallButton = new DumbAwareActionButton("Uninstall", IconUtil.getRemoveIcon()) {
|
||||
@Override
|
||||
public void actionPerformed(@NotNull AnActionEvent e) {
|
||||
PackageManagementUsageCollector.triggerUninstallPerformed(myProject, myPackageManagementService);
|
||||
uninstallAction();
|
||||
}
|
||||
};
|
||||
|
||||
+47
@@ -0,0 +1,47 @@
|
||||
// Copyright 2000-2019 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.webcore.packaging;
|
||||
|
||||
import com.intellij.internal.statistic.eventLog.FeatureUsageData;
|
||||
import com.intellij.internal.statistic.service.fus.collectors.FUCounterUsageLogger;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Pair;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public class PackageManagementUsageCollector {
|
||||
|
||||
private static final Map<String, String> CLASS_TO_NAME = ContainerUtil.newHashMap(
|
||||
Pair.create("com.intellij.javascript.nodejs.settings.NodePackageManagementService", "Node.js"),
|
||||
Pair.create("com.jetbrains.python.packaging.ui.PyPackageManagementService", "Python")
|
||||
);
|
||||
|
||||
private PackageManagementUsageCollector() {}
|
||||
|
||||
public static void triggerInstallPerformed(@NotNull Project project, @Nullable PackageManagementService service) {
|
||||
trigger(project, service, "install");
|
||||
}
|
||||
|
||||
public static void triggerUpgradePerformed(@NotNull Project project, @Nullable PackageManagementService service) {
|
||||
trigger(project, service, "upgrade");
|
||||
}
|
||||
|
||||
public static void triggerUninstallPerformed(@NotNull Project project, @Nullable PackageManagementService service) {
|
||||
trigger(project, service, "uninstall");
|
||||
}
|
||||
|
||||
private static void trigger(@NotNull Project project, @Nullable PackageManagementService service, @NotNull String actionName) {
|
||||
String serviceName = toKnownServiceName(service);
|
||||
if (serviceName != null) {
|
||||
FeatureUsageData data = new FeatureUsageData().addData("action", actionName);
|
||||
FUCounterUsageLogger.getInstance().logEvent(project, "package.management.ui", serviceName, data);
|
||||
}
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private static String toKnownServiceName(@Nullable PackageManagementService service) {
|
||||
return service != null ? CLASS_TO_NAME.get(service.getClass().getName()) : null;
|
||||
}
|
||||
}
|
||||
@@ -919,6 +919,7 @@
|
||||
|
||||
<statistics.counterUsagesCollector groupId="tooltip.action.events" version="1"/>
|
||||
<statistics.counterUsagesCollector groupId="rename.refactoring" version="1"/>
|
||||
<statistics.counterUsagesCollector groupId="package.management.ui" version="1"/>
|
||||
|
||||
<statistics.projectUsagesCollector implementation="com.intellij.internal.statistic.collectors.fus.fileTypes.FileTypeUsagesCollector"/>
|
||||
<statistics.validation.customWhiteListRule implementation="com.intellij.internal.statistic.collectors.fus.actions.persistence.ToolWindowCollector$ToolWindowUtilValidator" />
|
||||
|
||||
Reference in New Issue
Block a user