use of com.intellij.internal.statistic.beans.UsageDescriptor in project intellij-community by JetBrains.
the class PyInterpreterUsagesCollector method getProjectUsages.
@NotNull
@Override
public Set<UsageDescriptor> getProjectUsages(@NotNull Project project) throws CollectUsagesException {
Set<UsageDescriptor> result = new HashSet<>();
for (Module m : ModuleManager.getInstance(project).getModules()) {
Sdk pythonSdk = PythonSdkType.findPythonSdk(m);
if (pythonSdk != null) {
String versionString = pythonSdk.getVersionString();
if (StringUtil.isEmpty(versionString)) {
versionString = "unknown version";
}
if (PythonSdkType.isRemote(pythonSdk)) {
versionString = versionString + " (" + getRemoteSuffix(pythonSdk) + ")";
}
if (PythonSdkType.isVirtualEnv(pythonSdk)) {
versionString += " [virtualenv]";
}
if (PythonSdkType.isCondaVirtualEnv(pythonSdk)) {
versionString += " [condavenv]";
}
result.add(new UsageDescriptor(versionString, 1));
}
}
return result;
}
use of com.intellij.internal.statistic.beans.UsageDescriptor in project intellij-community by JetBrains.
the class BackgroundImagesUsageCollector method getUsages.
@NotNull
@Override
public Set<UsageDescriptor> getUsages() throws CollectUsagesException {
// join usages from all projects
HashMap<String, UsageDescriptor> map = ContainerUtil.newHashMap();
for (UsageDescriptor descriptor : super.getUsages()) {
String key = descriptor.getKey();
int idx = key.indexOf(' ');
key = idx > 0 ? key.substring(0, idx) : key;
UsageDescriptor existing = map.get(key);
if (existing == null || existing.getValue() == 0) {
map.put(key, new UsageDescriptor(key, descriptor.getValue()));
}
}
return ContainerUtil.newHashSet(map.values());
}
use of com.intellij.internal.statistic.beans.UsageDescriptor in project intellij-community by JetBrains.
the class CompilerSettingsUsageCollector method getProjectUsages.
@NotNull
@Override
public Set<UsageDescriptor> getProjectUsages(@Nullable Project project) throws CollectUsagesException {
final CompilerWorkspaceConfiguration wsConfig = CompilerWorkspaceConfiguration.getInstance(project);
final Set<UsageDescriptor> result = new HashSet<>();
if (wsConfig.MAKE_PROJECT_ON_SAVE) {
result.add(new UsageDescriptor("auto_make", 1));
}
if (wsConfig.PARALLEL_COMPILATION) {
result.add(new UsageDescriptor("compile_parallel", 1));
}
return result;
}
use of com.intellij.internal.statistic.beans.UsageDescriptor in project intellij-community by JetBrains.
the class NonBundledPluginsUsagesCollector method getUsages.
@NotNull
public Set<UsageDescriptor> getUsages() {
final IdeaPluginDescriptor[] plugins = PluginManagerCore.getPlugins();
final List<IdeaPluginDescriptor> nonBundledEnabledPlugins = ContainerUtil.filter(plugins, d -> d.isEnabled() && !d.isBundled() && d.getPluginId() != null);
return ContainerUtil.map2Set(nonBundledEnabledPlugins, descriptor -> new UsageDescriptor(descriptor.getPluginId().getIdString(), 1));
}
use of com.intellij.internal.statistic.beans.UsageDescriptor in project intellij-community by JetBrains.
the class VcsLogFeaturesCollector method getProjectUsages.
@NotNull
@Override
public Set<UsageDescriptor> getProjectUsages(@NotNull Project project) throws CollectUsagesException {
VcsProjectLog projectLog = VcsProjectLog.getInstance(project);
if (projectLog != null) {
VcsLogUiImpl ui = projectLog.getMainLogUi();
if (ui != null) {
MainVcsLogUiProperties properties = ui.getProperties();
Set<UsageDescriptor> usages = ContainerUtil.newHashSet();
usages.add(StatisticsUtilKt.getBooleanUsage("ui.details", properties.get(CommonUiProperties.SHOW_DETAILS)));
usages.add(StatisticsUtilKt.getBooleanUsage("ui.long.edges", properties.get(SHOW_LONG_EDGES)));
PermanentGraph.SortType sortType = properties.get(BEK_SORT_TYPE);
usages.add(StatisticsUtilKt.getBooleanUsage("ui.sort.linear.bek", sortType.equals(PermanentGraph.SortType.LinearBek)));
usages.add(StatisticsUtilKt.getBooleanUsage("ui.sort.bek", sortType.equals(PermanentGraph.SortType.Bek)));
usages.add(StatisticsUtilKt.getBooleanUsage("ui.sort.normal", sortType.equals(PermanentGraph.SortType.Normal)));
if (ui.isMultipleRoots()) {
usages.add(StatisticsUtilKt.getBooleanUsage("ui.roots", properties.get(SHOW_ROOT_NAMES)));
}
usages.add(StatisticsUtilKt.getBooleanUsage("ui.labels.compact", properties.get(COMPACT_REFERENCES_VIEW)));
usages.add(StatisticsUtilKt.getBooleanUsage("ui.labels.showTagNames", properties.get(SHOW_TAG_NAMES)));
usages.add(StatisticsUtilKt.getBooleanUsage("ui.textFilter.regex", properties.get(TEXT_FILTER_REGEX)));
usages.add(StatisticsUtilKt.getBooleanUsage("ui.textFilter.matchCase", properties.get(TEXT_FILTER_MATCH_CASE)));
for (VcsLogHighlighterFactory factory : Extensions.getExtensions(LOG_HIGHLIGHTER_FACTORY_EP, project)) {
if (factory.showMenuItem()) {
VcsLogHighlighterProperty property = VcsLogHighlighterProperty.get(factory.getId());
usages.add(StatisticsUtilKt.getBooleanUsage("ui.highlighter." + ConvertUsagesUtil.ensureProperKey(factory.getId()), properties.exists(property) && properties.get(property)));
}
}
return usages;
}
}
return Collections.emptySet();
}
Aggregations