mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
FUS: log skipped third-party groups
GitOrigin-RevId: 4262d17bfdfa38f63d21bacdbbecfb5584503283
This commit is contained in:
committed by
intellij-monorepo-bot
parent
58c5f63600
commit
e9771b8129
+19
-12
@@ -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;
|
||||
* <p>To record IDE events (e.g. invoked action, opened dialog) use {@link FUCounterUsageLogger}</p>
|
||||
*/
|
||||
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<CompletableFuture<Void>> 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<MetricEvent>> 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<MetricEvent>> 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<CompletableFuture<Void>> 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<Set<MetricEvent>> 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<Set<MetricEvent>> metrics = Promises.resolvedPromise(usagesCollector.getMetrics());
|
||||
futures.add(logMetricsOrError(null, group, usagesCollector.getData(), metrics));
|
||||
}
|
||||
return CompletableFuture.allOf(futures.toArray(new CompletableFuture[0]));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user