diff --git a/platform/statistics/src/com/intellij/internal/statistic/service/fus/collectors/FUStateUsagesLogger.java b/platform/statistics/src/com/intellij/internal/statistic/service/fus/collectors/FUStateUsagesLogger.java
index 22f392402531..a87d06e2963b 100644
--- a/platform/statistics/src/com/intellij/internal/statistic/service/fus/collectors/FUStateUsagesLogger.java
+++ b/platform/statistics/src/com/intellij/internal/statistic/service/fus/collectors/FUStateUsagesLogger.java
@@ -6,8 +6,8 @@ import com.intellij.internal.statistic.eventLog.EventLogGroup;
import com.intellij.internal.statistic.eventLog.EventLogSystemEvents;
import com.intellij.internal.statistic.eventLog.FeatureUsageData;
import com.intellij.internal.statistic.eventLog.fus.FeatureUsageLogger;
-import com.intellij.internal.statistic.utils.PluginInfo;
import com.intellij.internal.statistic.utils.PluginInfoDetectorKt;
+import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.progress.ProgressIndicator;
import com.intellij.openapi.project.Project;
import org.jetbrains.annotations.NotNull;
@@ -27,7 +27,8 @@ import java.util.concurrent.CompletableFuture;
*
To record IDE events (e.g. invoked action, opened dialog) use {@link FUCounterUsageLogger}
*/
public class FUStateUsagesLogger implements UsagesCollectorConsumer {
- public static final Object LOCK = new Object();
+ private static final Logger LOG = Logger.getInstance(FUStateUsagesLogger.class);
+ private static final Object LOCK = new Object();
public static FUStateUsagesLogger create() { return new FUStateUsagesLogger(); }
@@ -35,12 +36,15 @@ public class FUStateUsagesLogger implements UsagesCollectorConsumer {
synchronized (LOCK) {
List> futures = new ArrayList<>();
for (ProjectUsagesCollector usagesCollector : ProjectUsagesCollector.getExtensions(this)) {
- PluginInfo info = PluginInfoDetectorKt.getPluginInfo(usagesCollector.getClass());
- if (info.isDevelopedByJetBrains()) {
- EventLogGroup group = new EventLogGroup(usagesCollector.getGroupId(), usagesCollector.getVersion());
- Promise extends Set> metrics = usagesCollector.getMetrics(project, indicator);
- futures.add(logMetricsOrError(project, group, usagesCollector.getData(project), metrics));
+ String groupId = usagesCollector.getGroupId();
+ if (!PluginInfoDetectorKt.getPluginInfo(usagesCollector.getClass()).isDevelopedByJetBrains()) {
+ LOG.warn("Skip '" + groupId + "' because its registered in a third-party plugin");
+ continue;
}
+
+ EventLogGroup group = new EventLogGroup(groupId, usagesCollector.getVersion());
+ Promise extends Set> metrics = usagesCollector.getMetrics(project, indicator);
+ futures.add(logMetricsOrError(project, group, usagesCollector.getData(project), metrics));
}
return CompletableFuture.allOf(futures.toArray(new CompletableFuture[0]));
}
@@ -50,12 +54,15 @@ public class FUStateUsagesLogger implements UsagesCollectorConsumer {
synchronized (LOCK) {
List> futures = new ArrayList<>();
for (ApplicationUsagesCollector usagesCollector : ApplicationUsagesCollector.getExtensions(this)) {
- PluginInfo info = PluginInfoDetectorKt.getPluginInfo(usagesCollector.getClass());
- if (info.isDevelopedByJetBrains()) {
- EventLogGroup group = new EventLogGroup(usagesCollector.getGroupId(), usagesCollector.getVersion());
- Promise> metrics = Promises.resolvedPromise(usagesCollector.getMetrics());
- futures.add(logMetricsOrError(null, group, usagesCollector.getData(), metrics));
+ String groupId = usagesCollector.getGroupId();
+ if (!PluginInfoDetectorKt.getPluginInfo(usagesCollector.getClass()).isDevelopedByJetBrains()) {
+ LOG.warn("Skip '" + groupId + "' because its registered in a third-party plugin");
+ continue;
}
+
+ EventLogGroup group = new EventLogGroup(groupId, usagesCollector.getVersion());
+ Promise> metrics = Promises.resolvedPromise(usagesCollector.getMetrics());
+ futures.add(logMetricsOrError(null, group, usagesCollector.getData(), metrics));
}
return CompletableFuture.allOf(futures.toArray(new CompletableFuture[0]));
}