mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-15 11:53:49 +07:00
[fus] Add toString() for EventIds to help with debug
GitOrigin-RevId: 9ad4c679e0933411bedc61ccb2e8a0cc93c0c804
This commit is contained in:
committed by
intellij-monorepo-bot
parent
0122b9f4e0
commit
4e26888d95
@@ -87,6 +87,7 @@ f:com.intellij.internal.statistic.eventLog.EventLogGroup
|
||||
- f:registerVarargEvent(java.lang.String,java.lang.String,com.intellij.internal.statistic.eventLog.events.EventField[]):com.intellij.internal.statistic.eventLog.events.VarargEventId
|
||||
- f:registerVarargEvent(java.lang.String,com.intellij.internal.statistic.eventLog.events.EventField[]):com.intellij.internal.statistic.eventLog.events.VarargEventId
|
||||
- bs:registerVarargEvent$default(com.intellij.internal.statistic.eventLog.EventLogGroup,java.lang.String,java.lang.String,com.intellij.internal.statistic.eventLog.events.EventField[],I,java.lang.Object):com.intellij.internal.statistic.eventLog.events.VarargEventId
|
||||
- toString():java.lang.String
|
||||
a:com.intellij.internal.statistic.eventLog.EventLogRecorderConfigOptionsListener
|
||||
- com.intellij.internal.statistic.eventLog.EventLogConfigOptionsListener
|
||||
- p:<init>(java.lang.String):V
|
||||
|
||||
@@ -10,8 +10,6 @@ import org.jetbrains.annotations.NonNls
|
||||
* - Prefer a bigger group with many (related) event types to many small groups of 1-2 events each
|
||||
* - Prefer shorter group names; avoid common prefixes (such as "statistics.")
|
||||
*/
|
||||
|
||||
|
||||
class EventLogGroup(@NonNls @EventIdName val id: String,
|
||||
val version: Int,
|
||||
val recorder: String,
|
||||
@@ -33,7 +31,7 @@ class EventLogGroup(@NonNls @EventIdName val id: String,
|
||||
}
|
||||
|
||||
/**
|
||||
* New style API to record IDE events (e.g. invoked action, opened dialog) or state.
|
||||
* New style API to record IDE events (e.g., invoked action, opened dialog) or state.
|
||||
*
|
||||
* For events with more than 3 fields use EventLogGroup.registerVarargEvent
|
||||
*
|
||||
@@ -44,7 +42,7 @@ class EventLogGroup(@NonNls @EventIdName val id: String,
|
||||
* - Otherwise, create a YT issue in FUS project with group data scheme and descriptions to register it on the statistics metadata server
|
||||
*
|
||||
* To test collector:
|
||||
* - If group is not registered on the server, add it to events test scheme with "Add Group to Events Test Scheme" action.
|
||||
* - If a group is not registered on the server, add it to an events test scheme with "Add Group to Events Test Scheme" action.
|
||||
* (com.intellij.internal.statistic.actions.scheme.AddGroupToTestSchemeAction)
|
||||
*
|
||||
* @see registerVarargEvent
|
||||
@@ -128,4 +126,8 @@ class EventLogGroup(@NonNls @EventIdName val id: String,
|
||||
if (EventLogSystemEvents.SYSTEM_EVENTS.contains(eventId)) return true
|
||||
return registeredEventIds.isEmpty() || eventId in registeredEventIds
|
||||
}
|
||||
|
||||
override fun toString(): String {
|
||||
return "EventLogGroup(id='$id')"
|
||||
}
|
||||
}
|
||||
@@ -12,7 +12,7 @@ import org.jetbrains.annotations.NonNls
|
||||
import java.security.InvalidParameterException
|
||||
import kotlin.reflect.KProperty
|
||||
|
||||
// region Base low level fields
|
||||
// region Base low-level fields
|
||||
|
||||
sealed class EventField<T> {
|
||||
abstract val name: String
|
||||
@@ -31,7 +31,7 @@ abstract class PrimitiveEventField<T>(@NonNls override val description: String?
|
||||
abstract val validationRule: List<String>
|
||||
}
|
||||
|
||||
abstract class ListEventField<T>() : EventField<List<T>>() {
|
||||
abstract class ListEventField<T> : EventField<List<T>>() {
|
||||
abstract val validationRule: List<String>
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ data class EventPair<T>(val field: EventField<T>, val data: T) {
|
||||
fun addData(featureUsageData: FeatureUsageData): Unit = field.addData(featureUsageData, data)
|
||||
}
|
||||
|
||||
// endregion Base low level fields
|
||||
// endregion Base low-level fields
|
||||
|
||||
abstract class StringEventField(override val name: String) : PrimitiveEventField<String?>() {
|
||||
override fun addData(fuData: FeatureUsageData, value: String?) {
|
||||
@@ -292,7 +292,6 @@ data class AnonymizedListEventField @JvmOverloads constructor(@NonNls @EventFiel
|
||||
get() = listOf("{regexp#hash}")
|
||||
}
|
||||
|
||||
|
||||
internal data class ShortAnonymizedEventField(@NonNls @EventFieldName override val name: String,
|
||||
@NonNls override val description: String? = null) : PrimitiveEventField<String?>() {
|
||||
override val shouldBeAnonymized: Boolean = true
|
||||
@@ -420,7 +419,7 @@ abstract class StringListEventField(@NonNls @EventFieldName override val name: S
|
||||
}
|
||||
}
|
||||
|
||||
val classCheckAndTransform: (Class<*>) -> String = {
|
||||
private val classCheckAndTransform: (Class<*>) -> String = {
|
||||
if (getPluginInfo(it).isSafeToReport()) StringUtil.substringBeforeLast(it.name, "$\$Lambda$", true) else "third.party"
|
||||
}
|
||||
|
||||
@@ -441,8 +440,8 @@ data class ClassEventField @JvmOverloads constructor(@NonNls @EventFieldName ove
|
||||
data class ClassListEventField @JvmOverloads constructor(override val name: String,
|
||||
@NonNls override val description: String? = null) : ListEventField<Class<*>?>() {
|
||||
|
||||
override fun addData(fuData: FeatureUsageData, values: List<Class<*>?>) {
|
||||
val classList = values.filterNotNull()
|
||||
override fun addData(fuData: FeatureUsageData, value: List<Class<*>?>) {
|
||||
val classList = value.filterNotNull()
|
||||
if (classList.isEmpty()) {
|
||||
return
|
||||
}
|
||||
@@ -531,6 +530,10 @@ class ObjectEventData(private val values: List<EventPair<*>>) {
|
||||
|
||||
return values == other.values
|
||||
}
|
||||
|
||||
override fun hashCode(): Int {
|
||||
return values.hashCode()
|
||||
}
|
||||
}
|
||||
|
||||
class EventFieldDelegate<T>(val eventField: EventField<T>) {
|
||||
@@ -553,7 +556,6 @@ class EventFieldDelegate<T>(val eventField: EventField<T>) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class ObjectListEventField @JvmOverloads constructor(@NonNls @EventFieldName override val name: String,
|
||||
vararg val fields: EventField<*>,
|
||||
@NonNls override val description: String? = null) : EventField<List<ObjectEventData>>() {
|
||||
|
||||
@@ -6,7 +6,6 @@ import com.intellij.internal.statistic.eventLog.EventLogGroup
|
||||
import com.intellij.internal.statistic.eventLog.FeatureUsageData
|
||||
import com.intellij.internal.statistic.eventLog.StatisticsEventLogProviderUtil
|
||||
import com.intellij.internal.statistic.eventLog.StatisticsEventLogger
|
||||
import com.intellij.openapi.diagnostic.Logger
|
||||
import com.intellij.openapi.project.Project
|
||||
import org.jetbrains.annotations.NonNls
|
||||
import java.util.function.Consumer
|
||||
@@ -39,6 +38,10 @@ class EventId(
|
||||
}
|
||||
|
||||
override fun getFields(): List<EventField<*>> = emptyList()
|
||||
|
||||
override fun toString(): String {
|
||||
return "EventId(eventId='$eventId')"
|
||||
}
|
||||
}
|
||||
|
||||
class EventId1<in T>(
|
||||
@@ -67,6 +70,10 @@ class EventId1<in T>(
|
||||
}
|
||||
|
||||
override fun getFields(): List<EventField<*>> = listOf(field1)
|
||||
|
||||
override fun toString(): String {
|
||||
return "EventId1(eventId='$eventId')"
|
||||
}
|
||||
}
|
||||
|
||||
class EventId2<in T1, in T2>(
|
||||
@@ -97,6 +104,10 @@ class EventId2<in T1, in T2>(
|
||||
}
|
||||
|
||||
override fun getFields(): List<EventField<*>> = listOf(field1, field2)
|
||||
|
||||
override fun toString(): String {
|
||||
return "EventId2(eventId='$eventId')"
|
||||
}
|
||||
}
|
||||
|
||||
class EventId3<in T1, in T2, in T3>(
|
||||
@@ -129,6 +140,10 @@ class EventId3<in T1, in T2, in T3>(
|
||||
}
|
||||
|
||||
override fun getFields(): List<EventField<*>> = listOf(field1, field2, field3)
|
||||
|
||||
override fun toString(): String {
|
||||
return "EventId3(eventId='$eventId')"
|
||||
}
|
||||
}
|
||||
|
||||
class EventDataCollector : ArrayList<EventPair<*>>() {
|
||||
@@ -208,7 +223,7 @@ class VarargEventId internal constructor(
|
||||
|
||||
override fun getFields(): List<EventField<*>> = fields.toList()
|
||||
|
||||
companion object {
|
||||
val LOG = Logger.getInstance(VarargEventId::class.java)
|
||||
override fun toString(): String {
|
||||
return "VarargEventId(eventId='$eventId')"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user