mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Don't update usage collectors data before sending. Some collectors change to per-project collection.
This commit is contained in:
@@ -15,8 +15,8 @@
|
||||
*/
|
||||
package com.intellij.compiler;
|
||||
|
||||
import com.intellij.internal.statistic.AbstractApplicationUsagesCollector;
|
||||
import com.intellij.internal.statistic.CollectUsagesException;
|
||||
import com.intellij.internal.statistic.UsagesCollector;
|
||||
import com.intellij.internal.statistic.beans.GroupDescriptor;
|
||||
import com.intellij.internal.statistic.beans.UsageDescriptor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
@@ -30,12 +30,12 @@ import java.util.Set;
|
||||
* @author Eugene Zhuravlev
|
||||
* Date: 4/11/13
|
||||
*/
|
||||
public class CompilerSettingsUsageCollector extends UsagesCollector{
|
||||
public class CompilerSettingsUsageCollector extends AbstractApplicationUsagesCollector{
|
||||
public static final String GROUP_ID = "compiler";
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public Set<UsageDescriptor> getUsages(@Nullable Project project) throws CollectUsagesException {
|
||||
public Set<UsageDescriptor> getProjectUsages(@Nullable Project project) throws CollectUsagesException {
|
||||
final CompilerWorkspaceConfiguration wsConfig = CompilerWorkspaceConfiguration.getInstance(project);
|
||||
|
||||
final Set<UsageDescriptor> result = new HashSet<UsageDescriptor>();
|
||||
|
||||
+2
-6
@@ -15,13 +15,11 @@
|
||||
*/
|
||||
package com.intellij.featureStatistics;
|
||||
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.internal.statistic.UsagesCollector;
|
||||
import com.intellij.internal.statistic.beans.*;
|
||||
import com.intellij.internal.statistic.beans.GroupDescriptor;
|
||||
import com.intellij.internal.statistic.beans.UsageDescriptor;
|
||||
import com.intellij.util.containers.HashSet;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
@@ -35,11 +33,9 @@ public class FeaturesUsageCollector extends UsagesCollector {
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public Set<UsageDescriptor> getUsages(@Nullable Project project) {
|
||||
public Set<UsageDescriptor> getUsages() {
|
||||
Set<UsageDescriptor> usages = new HashSet<UsageDescriptor>();
|
||||
|
||||
final FeatureUsageTracker usageTracker = FeatureUsageTracker.getInstance(); //
|
||||
|
||||
final ProductivityFeaturesRegistry registry = ProductivityFeaturesRegistry.getInstance();
|
||||
for (String featureId : registry.getFeatureIds()) {
|
||||
final FeatureDescriptor featureDescriptor = registry.getFeatureDescriptor(featureId);
|
||||
|
||||
+1
-3
@@ -18,11 +18,9 @@ package com.intellij.ide.plugins;
|
||||
import com.intellij.internal.statistic.UsagesCollector;
|
||||
import com.intellij.internal.statistic.beans.GroupDescriptor;
|
||||
import com.intellij.internal.statistic.beans.UsageDescriptor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.util.Function;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
@@ -35,7 +33,7 @@ public class DisabledPluginsUsagesCollector extends UsagesCollector {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Set<UsageDescriptor> getUsages(@Nullable Project project) {
|
||||
public Set<UsageDescriptor> getUsages() {
|
||||
return ContainerUtil.map2Set(PluginManagerCore.getDisabledPlugins(), new Function<String, UsageDescriptor>() {
|
||||
@Override
|
||||
public UsageDescriptor fun(String descriptor) {
|
||||
|
||||
+2
-4
@@ -18,12 +18,10 @@ package com.intellij.ide.plugins;
|
||||
import com.intellij.internal.statistic.UsagesCollector;
|
||||
import com.intellij.internal.statistic.beans.GroupDescriptor;
|
||||
import com.intellij.internal.statistic.beans.UsageDescriptor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Condition;
|
||||
import com.intellij.util.Function;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
@@ -37,8 +35,8 @@ public class NonBundledPluginsUsagesCollector extends UsagesCollector {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Set<UsageDescriptor> getUsages(@Nullable Project project) {
|
||||
final IdeaPluginDescriptor[] plugins = PluginManager.getPlugins();
|
||||
public Set<UsageDescriptor> getUsages() {
|
||||
final IdeaPluginDescriptor[] plugins = PluginManagerCore.getPlugins();
|
||||
final List<IdeaPluginDescriptor> nonBundledEnabledPlugins = ContainerUtil.filter(plugins, new Condition<IdeaPluginDescriptor>() {
|
||||
public boolean value(final IdeaPluginDescriptor d) {
|
||||
return d.isEnabled() && !d.isBundled() && d.getPluginId() != null;
|
||||
|
||||
+2
-6
@@ -24,7 +24,6 @@ import com.intellij.util.containers.ObjectIntHashMap;
|
||||
import gnu.trove.THashSet;
|
||||
import gnu.trove.TObjectIntProcedure;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Set;
|
||||
@@ -64,7 +63,7 @@ public abstract class AbstractApplicationUsagesCollector extends UsagesCollector
|
||||
result.ensureCapacity(usageDescriptors.size());
|
||||
for (UsageDescriptor usageDescriptor : usageDescriptors) {
|
||||
String key = usageDescriptor.getKey();
|
||||
result.put(key, result.get(key, 0) + 1);
|
||||
result.put(key, result.get(key, 0) + usageDescriptor.getValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -87,10 +86,7 @@ public abstract class AbstractApplicationUsagesCollector extends UsagesCollector
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public Set<UsageDescriptor> getUsages(@Nullable Project project) throws CollectUsagesException {
|
||||
if (project != null) {
|
||||
persistProjectUsages(project, getProjectUsages(project));
|
||||
}
|
||||
public Set<UsageDescriptor> getUsages() throws CollectUsagesException {
|
||||
return getApplicationUsages();
|
||||
}
|
||||
|
||||
|
||||
+1
-3
@@ -17,10 +17,8 @@ package com.intellij.internal.statistic;
|
||||
|
||||
import com.intellij.internal.statistic.beans.GroupDescriptor;
|
||||
import com.intellij.internal.statistic.beans.UsageDescriptor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.SystemInfo;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Set;
|
||||
@@ -31,7 +29,7 @@ import java.util.Set;
|
||||
class JdkInfoUsageCollector extends UsagesCollector {
|
||||
@NotNull
|
||||
@Override
|
||||
public Set<UsageDescriptor> getUsages(@Nullable Project project) throws CollectUsagesException {
|
||||
public Set<UsageDescriptor> getUsages() throws CollectUsagesException {
|
||||
final String vendor = System.getProperty("java.vendor", "Unknown");
|
||||
for (String version : new String[]{"1.9", "1.8", "1.7", "1.6"}) {
|
||||
if (SystemInfo.isJavaVersionAtLeast(version)) {
|
||||
|
||||
+1
-3
@@ -17,10 +17,8 @@ package com.intellij.internal.statistic;
|
||||
|
||||
import com.intellij.internal.statistic.beans.GroupDescriptor;
|
||||
import com.intellij.internal.statistic.beans.UsageDescriptor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.SystemInfo;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Set;
|
||||
@@ -31,7 +29,7 @@ import java.util.Set;
|
||||
class OsNameUsageCollector extends UsagesCollector {
|
||||
@NotNull
|
||||
@Override
|
||||
public Set<UsageDescriptor> getUsages(@Nullable Project project) throws CollectUsagesException {
|
||||
public Set<UsageDescriptor> getUsages() throws CollectUsagesException {
|
||||
String osName = SystemInfo.isLinux ? "Linux" : SystemInfo.isMac ? "Mac OS X" : SystemInfo.isWindows ? "Windows" : SystemInfo.OS_NAME;
|
||||
return Collections.singleton(new UsageDescriptor(osName, 1));
|
||||
}
|
||||
|
||||
+1
-3
@@ -17,10 +17,8 @@ package com.intellij.internal.statistic;
|
||||
|
||||
import com.intellij.internal.statistic.beans.GroupDescriptor;
|
||||
import com.intellij.internal.statistic.beans.UsageDescriptor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.SystemInfo;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Set;
|
||||
@@ -31,7 +29,7 @@ import java.util.Set;
|
||||
class OsVersionUsageCollector extends UsagesCollector {
|
||||
@NotNull
|
||||
@Override
|
||||
public Set<UsageDescriptor> getUsages(@Nullable Project project) throws CollectUsagesException {
|
||||
public Set<UsageDescriptor> getUsages() throws CollectUsagesException {
|
||||
UsageDescriptor descriptor = null;
|
||||
|
||||
if (SystemInfo.isUnix && !SystemInfo.isMac) {
|
||||
|
||||
+10
-16
@@ -29,8 +29,6 @@ import com.intellij.internal.statistic.persistence.SentUsagesPersistence;
|
||||
import com.intellij.internal.statistic.persistence.UsageStatisticsPersistenceComponent;
|
||||
import com.intellij.openapi.application.impl.ApplicationInfoImpl;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.ProjectManager;
|
||||
import com.intellij.openapi.util.Condition;
|
||||
import com.intellij.openapi.util.KeyedExtensionCollector;
|
||||
import com.intellij.openapi.util.Pair;
|
||||
@@ -75,7 +73,7 @@ public class StatisticsUploadAssistant {
|
||||
}
|
||||
|
||||
public String getData(@NotNull Set<String> disabledGroups) {
|
||||
return getStringPatch(disabledGroups, ProjectManager.getInstance().getOpenProjects());
|
||||
return getStringPatch(disabledGroups);
|
||||
}
|
||||
|
||||
public static void persistSentPatch(@NotNull String patchStr) {
|
||||
@@ -90,19 +88,18 @@ public class StatisticsUploadAssistant {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static String getStringPatch(@NotNull Set<String> disabledGroups, Project... project) {
|
||||
return getStringPatch(disabledGroups, project, UsageStatisticsPersistenceComponent.getInstance(), 0);
|
||||
public static String getStringPatch(@NotNull Set<String> disabledGroups) {
|
||||
return getStringPatch(disabledGroups, UsageStatisticsPersistenceComponent.getInstance(), 0);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static String getStringPatch(@NotNull Set<String> disabledGroups,
|
||||
@NotNull Project[] projects,
|
||||
@NotNull SentUsagesPersistence usagesPersistence,
|
||||
int maxSize) {
|
||||
return getStringPatch(getPatchedUsages(disabledGroups, projects, usagesPersistence), maxSize);
|
||||
return getStringPatch(getPatchedUsages(disabledGroups, usagesPersistence), maxSize);
|
||||
}
|
||||
|
||||
public static String getStringPatch(@NotNull Map<GroupDescriptor, Set<PatchedUsage>> patchedUsages, int maxSize) {
|
||||
public static <T extends UsageDescriptor> String getStringPatch(@NotNull Map<GroupDescriptor, Set<T>> patchedUsages, int maxSize) {
|
||||
if (patchedUsages.isEmpty()) {
|
||||
return "";
|
||||
}
|
||||
@@ -113,14 +110,11 @@ public class StatisticsUploadAssistant {
|
||||
|
||||
@NotNull
|
||||
public static Map<GroupDescriptor, Set<PatchedUsage>> getPatchedUsages(@NotNull Set<String> disabledGroups,
|
||||
@NotNull Project[] projects,
|
||||
@NotNull SentUsagesPersistence usagesPersistence) {
|
||||
Map<GroupDescriptor, Set<PatchedUsage>> usages = new LinkedHashMap<GroupDescriptor, Set<PatchedUsage>>();
|
||||
for (Project project : projects) {
|
||||
Map<GroupDescriptor, Set<UsageDescriptor>> allUsages = getAllUsages(project, disabledGroups);
|
||||
Map<GroupDescriptor, Set<UsageDescriptor>> sentUsages = filterDisabled(disabledGroups, usagesPersistence.getSentUsages());
|
||||
usages.putAll(getPatchedUsages(allUsages, sentUsages));
|
||||
}
|
||||
Map<GroupDescriptor, Set<UsageDescriptor>> allUsages = getAllUsages(disabledGroups);
|
||||
Map<GroupDescriptor, Set<UsageDescriptor>> sentUsages = filterDisabled(disabledGroups, usagesPersistence.getSentUsages());
|
||||
usages.putAll(getPatchedUsages(allUsages, sentUsages));
|
||||
return usages;
|
||||
}
|
||||
|
||||
@@ -226,13 +220,13 @@ public class StatisticsUploadAssistant {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static Map<GroupDescriptor, Set<UsageDescriptor>> getAllUsages(@Nullable Project project, @NotNull Set<String> disabledGroups) {
|
||||
public static Map<GroupDescriptor, Set<UsageDescriptor>> getAllUsages(@NotNull Set<String> disabledGroups) {
|
||||
Map<GroupDescriptor, Set<UsageDescriptor>> usageDescriptors = new LinkedHashMap<GroupDescriptor, Set<UsageDescriptor>>();
|
||||
for (UsagesCollector usagesCollector : UsagesCollector.EP_NAME.getExtensions()) {
|
||||
GroupDescriptor groupDescriptor = usagesCollector.getGroupId();
|
||||
if (!disabledGroups.contains(groupDescriptor.getId())) {
|
||||
try {
|
||||
usageDescriptors.put(groupDescriptor, usagesCollector.getUsages(project));
|
||||
usageDescriptors.put(groupDescriptor, usagesCollector.getUsages());
|
||||
}
|
||||
catch (CollectUsagesException e) {
|
||||
LOG.info(e);
|
||||
|
||||
+1
-3
@@ -20,11 +20,9 @@ import com.intellij.ide.ui.UISettings;
|
||||
import com.intellij.internal.statistic.beans.GroupDescriptor;
|
||||
import com.intellij.internal.statistic.beans.UsageDescriptor;
|
||||
import com.intellij.openapi.editor.ex.EditorSettingsExternalizable;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.util.ui.UIUtil;
|
||||
import gnu.trove.THashSet;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.util.Set;
|
||||
@@ -35,7 +33,7 @@ import java.util.Set;
|
||||
class UiInfoUsageCollector extends UsagesCollector {
|
||||
@NotNull
|
||||
@Override
|
||||
public Set<UsageDescriptor> getUsages(@Nullable Project project) throws CollectUsagesException {
|
||||
public Set<UsageDescriptor> getUsages() throws CollectUsagesException {
|
||||
Set<UsageDescriptor> set = new THashSet<UsageDescriptor>();
|
||||
|
||||
add(set, "Nav Bar visible", navbar() ? 1 : 0);
|
||||
|
||||
@@ -19,13 +19,11 @@ import com.intellij.internal.statistic.beans.ConvertUsagesUtil;
|
||||
import com.intellij.internal.statistic.beans.GroupDescriptor;
|
||||
import com.intellij.internal.statistic.beans.UsageDescriptor;
|
||||
import com.intellij.openapi.components.*;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.util.Function;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.util.xmlb.annotations.MapAnnotation;
|
||||
import com.intellij.util.xmlb.annotations.Tag;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
@@ -75,7 +73,7 @@ public class UsageTrigger implements PersistentStateComponent<UsageTrigger.State
|
||||
private static final GroupDescriptor GROUP = GroupDescriptor.create("features counts", GroupDescriptor.HIGHER_PRIORITY);
|
||||
|
||||
@NotNull
|
||||
public Set<UsageDescriptor> getUsages(@Nullable final Project project) {
|
||||
public Set<UsageDescriptor> getUsages() {
|
||||
State state = getInstance().getState();
|
||||
assert state != null;
|
||||
return ContainerUtil.map2Set(state.myValues.entrySet(), new Function<Map.Entry<String, Integer>, UsageDescriptor>() {
|
||||
|
||||
@@ -18,16 +18,14 @@ package com.intellij.internal.statistic;
|
||||
import com.intellij.internal.statistic.beans.GroupDescriptor;
|
||||
import com.intellij.internal.statistic.beans.UsageDescriptor;
|
||||
import com.intellij.openapi.extensions.ExtensionPointName;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
public abstract class UsagesCollector {
|
||||
public static final ExtensionPointName<UsagesCollector> EP_NAME = ExtensionPointName.create("com.intellij.statistics.usagesCollector");
|
||||
|
||||
public abstract @NotNull Set<UsageDescriptor> getUsages(@Nullable Project project) throws CollectUsagesException;
|
||||
public abstract @NotNull Set<UsageDescriptor> getUsages() throws CollectUsagesException;
|
||||
|
||||
public abstract @NotNull GroupDescriptor getGroupId();
|
||||
}
|
||||
|
||||
+1
-3
@@ -5,11 +5,9 @@ import com.intellij.internal.statistic.CollectUsagesException;
|
||||
import com.intellij.internal.statistic.UsagesCollector;
|
||||
import com.intellij.internal.statistic.beans.GroupDescriptor;
|
||||
import com.intellij.internal.statistic.beans.UsageDescriptor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.SystemInfo;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.util.Collections;
|
||||
@@ -18,7 +16,7 @@ import java.util.Set;
|
||||
public class LaFUsagesCollector extends UsagesCollector {
|
||||
@NotNull
|
||||
@Override
|
||||
public Set<UsageDescriptor> getUsages(@Nullable Project project) throws CollectUsagesException {
|
||||
public Set<UsageDescriptor> getUsages() throws CollectUsagesException {
|
||||
UIManager.LookAndFeelInfo laf = LafManager.getInstance().getCurrentLookAndFeel();
|
||||
String key = SystemInfo.OS_NAME + " - ";
|
||||
if (!StringUtil.isEmptyOrSpaces(SystemInfo.SUN_DESKTOP)) {
|
||||
|
||||
Reference in New Issue
Block a user