FUS: report os and java versions as context

This commit is contained in:
Svetlana.Zemlyanskaya
2019-01-24 13:09:48 +01:00
parent a0505f9e61
commit 095a4cba4a
2 changed files with 12 additions and 8 deletions
@@ -3,15 +3,14 @@ package com.intellij.internal.statistic.eventLog
import com.intellij.concurrency.JobScheduler
import com.intellij.internal.statistic.collectors.fus.os.OsVersionUsageCollector
import com.intellij.internal.statistic.service.fus.collectors.FUStateUsagesLogger
import com.intellij.openapi.util.SystemInfo
import com.intellij.util.lang.JavaVersion
import java.util.concurrent.TimeUnit
class SystemStateMonitor : FeatureUsageStateEventTracker {
private val OS_NAME = FeatureUsageGroup("system.os.name", 1)
private val OS_VERSION = FeatureUsageGroup("system.os.version", 1)
private val JVM_VENDOR = FeatureUsageGroup("system.jvm.vendor", 1)
private val JVM_VERSION = FeatureUsageGroup("system.jvm.version", 1)
private val OS_GROUP = FeatureUsageGroup("system.os", 1)
private val JAVA_GROUP = FeatureUsageGroup("system.java", 1)
private val INITIAL_DELAY = 0
private val PERIOD_DELAY = 24 * 60
@@ -28,11 +27,10 @@ class SystemStateMonitor : FeatureUsageStateEventTracker {
}
private fun logSystemEvent() {
FeatureUsageLogger.logState(OS_NAME, getOSName())
FeatureUsageLogger.logState(OS_VERSION, getOSVersion())
FUStateUsagesLogger.logStateEvent(OS_GROUP, getOSName(), FeatureUsageDataBuilder().addData("version", getOSVersion()))
FeatureUsageLogger.logState(JVM_VENDOR, System.getProperty("java.vendor", "Unknown"))
FeatureUsageLogger.logState(JVM_VERSION, "1." + JavaVersion.current().feature)
val data = FeatureUsageDataBuilder().addData("version", "1." + JavaVersion.current().feature)
FUStateUsagesLogger.logStateEvent(JAVA_GROUP, System.getProperty("java.vendor", "Unknown"), data)
}
private fun getOSName() : String {
@@ -3,6 +3,7 @@ package com.intellij.internal.statistic.service.fus.collectors;
import com.intellij.internal.statistic.beans.UsageDescriptor;
import com.intellij.internal.statistic.eventLog.EventLogExternalSettingsService;
import com.intellij.internal.statistic.eventLog.FeatureUsageDataBuilder;
import com.intellij.internal.statistic.eventLog.FeatureUsageGroup;
import com.intellij.internal.statistic.eventLog.FeatureUsageLogger;
import com.intellij.internal.statistic.utils.StatisticsUtilKt;
@@ -72,4 +73,9 @@ public class FUStateUsagesLogger implements UsagesCollectorConsumer {
}
logger.logState(group, INVOKED);
}
public static void logStateEvent(@NotNull FeatureUsageGroup group, @NotNull String event, @NotNull FeatureUsageDataBuilder data) {
FeatureUsageLogger.INSTANCE.logState(group, event, data.createData());
FeatureUsageLogger.INSTANCE.logState(group, INVOKED);
}
}