mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
FUS: get rid of StatisticsEventProvider annotation
GitOrigin-RevId: f2ac0d5b788b11ade1eb78dda678ce93e7d86bc1
This commit is contained in:
committed by
intellij-monorepo-bot
parent
1676eb9602
commit
5cb2d1dfd2
@@ -18,8 +18,7 @@ import java.util.*
|
||||
* @see newCounterMetric
|
||||
*/
|
||||
@ApiStatus.Internal
|
||||
class MetricEvent @JvmOverloads @StatisticsEventProvider(eventIdIndex = 0, dataIndex = 1) constructor(@NonNls val eventId: String,
|
||||
data: FeatureUsageData? = null) {
|
||||
class MetricEvent @JvmOverloads constructor(@NonNls val eventId: String, data: FeatureUsageData? = null) {
|
||||
val data: FeatureUsageData = data ?: FeatureUsageData()
|
||||
|
||||
override fun equals(other: Any?): Boolean {
|
||||
|
||||
@@ -14,7 +14,6 @@ import java.util.*
|
||||
* * merging this metric with another one, e.g. eventId="has.config.file", eventData={"type":"dockerfile"} or eventData={"type":"docker-compose.yml"};
|
||||
* * adding more information about this metric, e.g. eventId="has.dockerfile", eventData={"version":"2.3", "location":"project.root"};
|
||||
*/
|
||||
@StatisticsEventProvider(eventIdIndex = 0)
|
||||
fun newMetric(@NonNls eventId: String): MetricEvent {
|
||||
return MetricEvent(eventId, null)
|
||||
}
|
||||
@@ -25,7 +24,6 @@ fun newMetric(@NonNls eventId: String): MetricEvent {
|
||||
* eventId="breakpoint", eventData={"type":"line", "lang":"Java", "count":5}
|
||||
* eventId="gradle", eventData={"version":"2.3.1"}
|
||||
*/
|
||||
@StatisticsEventProvider(eventIdIndex = 0, dataIndex = 1)
|
||||
fun newMetric(@NonNls eventId: String, data: FeatureUsageData?): MetricEvent {
|
||||
return MetricEvent(eventId, data)
|
||||
}
|
||||
@@ -35,7 +33,6 @@ fun newMetric(@NonNls eventId: String, data: FeatureUsageData?): MetricEvent {
|
||||
*
|
||||
* eventId="upload.files", eventData={"value":"ON_SAVE"}
|
||||
*/
|
||||
@StatisticsEventProvider(eventIdIndex = 0, additionalDataFields = ["value::1"])
|
||||
fun newMetric(@NonNls eventId: String, value: String): MetricEvent {
|
||||
return newMetric(eventId, value, null)
|
||||
}
|
||||
@@ -45,7 +42,6 @@ fun newMetric(@NonNls eventId: String, value: String): MetricEvent {
|
||||
*
|
||||
* eventId="upload.files", eventData={"value":"ON_SAVE"}
|
||||
*/
|
||||
@StatisticsEventProvider(eventIdIndex = 0, dataIndex = 2, additionalDataFields = ["value::1"])
|
||||
fun newMetric(@NonNls eventId: String, value: String, data: FeatureUsageData?): MetricEvent {
|
||||
val newData = data?.copy() ?: FeatureUsageData()
|
||||
return MetricEvent(eventId, newData.addValue(value))
|
||||
@@ -56,7 +52,6 @@ fun newMetric(@NonNls eventId: String, value: String, data: FeatureUsageData?):
|
||||
*
|
||||
* eventId="upload.files", eventData={"value":"ON_SAVE"}
|
||||
*/
|
||||
@StatisticsEventProvider(eventIdIndex = 0, additionalDataFields = ["value::1"])
|
||||
fun newMetric(@NonNls eventId: String, value: Enum<*>?): MetricEvent {
|
||||
return newMetric(eventId, value, null)
|
||||
}
|
||||
@@ -66,7 +61,6 @@ fun newMetric(@NonNls eventId: String, value: Enum<*>?): MetricEvent {
|
||||
*
|
||||
* eventId="upload.files", eventData={"value":"ON_SAVE"}
|
||||
*/
|
||||
@StatisticsEventProvider(eventIdIndex = 0, dataIndex = 2, additionalDataFields = ["value::1"])
|
||||
fun newMetric(@NonNls eventId: String, value: Enum<*>?, data: FeatureUsageData?): MetricEvent {
|
||||
val newData = data?.copy() ?: FeatureUsageData()
|
||||
val newValue = value?.name?.toLowerCase(Locale.ENGLISH) ?: "unknown"
|
||||
@@ -78,7 +72,6 @@ fun newMetric(@NonNls eventId: String, value: Enum<*>?, data: FeatureUsageData?)
|
||||
*
|
||||
* eventId="allowed.connections", eventData={"value":3}
|
||||
*/
|
||||
@StatisticsEventProvider(eventIdIndex = 0, additionalDataFields = ["value:regexp#integer"])
|
||||
fun newMetric(@NonNls eventId: String, value: Int): MetricEvent {
|
||||
return newMetric(eventId, value, null)
|
||||
}
|
||||
@@ -88,7 +81,6 @@ fun newMetric(@NonNls eventId: String, value: Int): MetricEvent {
|
||||
*
|
||||
* eventId="allowed.connections", eventData={"value":3}
|
||||
*/
|
||||
@StatisticsEventProvider(eventIdIndex = 0, dataIndex = 2, additionalDataFields = ["value:regexp#integer"])
|
||||
fun newMetric(@NonNls eventId: String, value: Int, data: FeatureUsageData?): MetricEvent {
|
||||
val newData = data?.copy() ?: FeatureUsageData()
|
||||
return MetricEvent(eventId, newData.addValue(value))
|
||||
@@ -99,7 +91,6 @@ fun newMetric(@NonNls eventId: String, value: Int, data: FeatureUsageData?): Met
|
||||
*
|
||||
* eventId="line.spacing", eventData={"value":1.2}
|
||||
*/
|
||||
@StatisticsEventProvider(eventIdIndex = 0, additionalDataFields = ["value:regexp#float"])
|
||||
fun newMetric(@NonNls eventId: String, value: Float): MetricEvent {
|
||||
return newMetric(eventId, value, null)
|
||||
}
|
||||
@@ -109,7 +100,6 @@ fun newMetric(@NonNls eventId: String, value: Float): MetricEvent {
|
||||
*
|
||||
* eventId="line.spacing", eventData={"value":1.2}
|
||||
*/
|
||||
@StatisticsEventProvider(eventIdIndex = 0, dataIndex = 2, additionalDataFields = ["value:regexp#float"])
|
||||
fun newMetric(@NonNls eventId: String, value: Float, data: FeatureUsageData?): MetricEvent {
|
||||
val newData = data?.copy() ?: FeatureUsageData()
|
||||
return MetricEvent(eventId, newData.addValue(value))
|
||||
@@ -120,7 +110,6 @@ fun newMetric(@NonNls eventId: String, value: Float, data: FeatureUsageData?): M
|
||||
*
|
||||
* eventId="font.ligatures", eventData={"enabled":true}
|
||||
*/
|
||||
@StatisticsEventProvider(eventIdIndex = 0, additionalDataFields = ["enabled:enum#boolean"])
|
||||
fun newBooleanMetric(@NonNls eventId: String, enabled: Boolean): MetricEvent {
|
||||
return newBooleanMetric(eventId, enabled, null)
|
||||
}
|
||||
@@ -130,7 +119,6 @@ fun newBooleanMetric(@NonNls eventId: String, enabled: Boolean): MetricEvent {
|
||||
*
|
||||
* eventId="font.ligatures", eventData={"enabled":true}
|
||||
*/
|
||||
@StatisticsEventProvider(eventIdIndex = 0, dataIndex = 2, additionalDataFields = ["enabled:enum#boolean"])
|
||||
fun newBooleanMetric(@NonNls eventId: String, enabled: Boolean, data: FeatureUsageData?): MetricEvent {
|
||||
val newData = data?.copy() ?: FeatureUsageData()
|
||||
return MetricEvent(eventId, newData.addEnabled(enabled))
|
||||
@@ -141,7 +129,6 @@ fun newBooleanMetric(@NonNls eventId: String, enabled: Boolean, data: FeatureUsa
|
||||
*
|
||||
* eventId="tool.is.under.project.root", eventData={"value":true}
|
||||
*/
|
||||
@StatisticsEventProvider(eventIdIndex = 0, additionalDataFields = ["value:enum#boolean"])
|
||||
fun newMetric(@NonNls eventId: String, value: Boolean): MetricEvent {
|
||||
return newMetric(eventId, value, null)
|
||||
}
|
||||
@@ -151,7 +138,6 @@ fun newMetric(@NonNls eventId: String, value: Boolean): MetricEvent {
|
||||
*
|
||||
* eventId="tool.is.under.project.root", eventData={"value":true}
|
||||
*/
|
||||
@StatisticsEventProvider(eventIdIndex = 0, dataIndex = 2, additionalDataFields = ["value:enum#boolean"])
|
||||
fun newMetric(@NonNls eventId: String, value: Boolean, data: FeatureUsageData? = null): MetricEvent {
|
||||
val newData = data?.copy() ?: FeatureUsageData()
|
||||
return MetricEvent(eventId, newData.addValue(value))
|
||||
@@ -162,7 +148,6 @@ fun newMetric(@NonNls eventId: String, value: Boolean, data: FeatureUsageData? =
|
||||
*
|
||||
* eventId="source_roots", eventData={"count":3}
|
||||
*/
|
||||
@StatisticsEventProvider(eventIdIndex = 0, additionalDataFields = ["count:regexp#integer"])
|
||||
fun newCounterMetric(@NonNls eventId: String, count: Int): MetricEvent {
|
||||
return newCounterMetric(eventId, count, null)
|
||||
}
|
||||
@@ -172,7 +157,6 @@ fun newCounterMetric(@NonNls eventId: String, count: Int): MetricEvent {
|
||||
*
|
||||
* eventId="source_roots", eventData={"count":3}
|
||||
*/
|
||||
@StatisticsEventProvider(eventIdIndex = 0, dataIndex = 2, additionalDataFields = ["count:regexp#integer"])
|
||||
fun newCounterMetric(@NonNls eventId: String, count: Int, data: FeatureUsageData?): MetricEvent {
|
||||
val newData = data?.copy() ?: FeatureUsageData()
|
||||
return MetricEvent(eventId, newData.addCount(count))
|
||||
@@ -186,7 +170,6 @@ fun newCounterMetric(@NonNls eventId: String, count: Int, data: FeatureUsageData
|
||||
* @see newCounterMetric(java.lang.String, int)
|
||||
*/
|
||||
@Deprecated("Only for existing counter metrics, new metrics should report absolute counter value")
|
||||
@StatisticsEventProvider(eventIdIndex = 0, dataIndex = 2, additionalDataFields = ["count:regexp#integer", "count_group"])
|
||||
fun newCounterRangeMetric(@NonNls eventId: String, count: Int, data: FeatureUsageData? = null): MetricEvent {
|
||||
val newData = data?.copy() ?: FeatureUsageData()
|
||||
newData.addCount(count).addData("count_group", getCountingUsage(count))
|
||||
@@ -201,7 +184,6 @@ fun newCounterRangeMetric(@NonNls eventId: String, count: Int, data: FeatureUsag
|
||||
* @see newCounterMetric(java.lang.String, int)
|
||||
*/
|
||||
@Deprecated("Only for existing counter metrics, new metrics should report absolute counter value")
|
||||
@StatisticsEventProvider(eventIdIndex = 0, dataIndex = 3, additionalDataFields = ["count:regexp#integer", "count_group"])
|
||||
fun newCounterRangeMetric(@NonNls eventId: String, count: Int, steps: List<Int>, data: FeatureUsageData? = null): MetricEvent {
|
||||
val newData = data?.copy() ?: FeatureUsageData()
|
||||
newData.addCount(count).addData("count_group", getCountingUsage(count, steps))
|
||||
|
||||
@@ -7,7 +7,6 @@ import com.intellij.openapi.util.Comparing
|
||||
/**
|
||||
* Reports numerical or string value of the setting if it's not default.
|
||||
*/
|
||||
@StatisticsEventProvider(eventIdIndex = 4, additionalDataFields = ["value"])
|
||||
fun <T> addIfDiffers(set: MutableSet<in MetricEvent>, settingsBean: T, defaultSettingsBean: T,
|
||||
valueFunction: Function1<T, Any>, eventId: String) {
|
||||
addIfDiffers(set, settingsBean, defaultSettingsBean, valueFunction, eventId, null)
|
||||
@@ -16,7 +15,6 @@ fun <T> addIfDiffers(set: MutableSet<in MetricEvent>, settingsBean: T, defaultSe
|
||||
/**
|
||||
* Reports numerical or string value of the setting if it's not default.
|
||||
*/
|
||||
@StatisticsEventProvider(eventIdIndex = 4, dataIndex = 5, additionalDataFields = ["value"])
|
||||
fun <T> addIfDiffers(set: MutableSet<in MetricEvent>, settingsBean: T, defaultSettingsBean: T,
|
||||
valueFunction: Function1<T, Any>, eventId: String, data: FeatureUsageData?) {
|
||||
addMetricIfDiffers(set, settingsBean, defaultSettingsBean, valueFunction) {
|
||||
@@ -31,7 +29,6 @@ fun <T> addIfDiffers(set: MutableSet<in MetricEvent>, settingsBean: T, defaultSe
|
||||
/**
|
||||
* Reports the value of boolean setting (i.e. enabled or disabled) if it's not default.
|
||||
*/
|
||||
@StatisticsEventProvider(eventIdIndex = 4, additionalDataFields = ["enabled:enum#boolean"])
|
||||
fun <T> addBoolIfDiffers(set: MutableSet<in MetricEvent>, settingsBean: T, defaultSettingsBean: T,
|
||||
valueFunction: Function1<T, Boolean>, eventId: String) {
|
||||
addBoolIfDiffers(set, settingsBean, defaultSettingsBean, valueFunction, eventId, null)
|
||||
@@ -40,7 +37,6 @@ fun <T> addBoolIfDiffers(set: MutableSet<in MetricEvent>, settingsBean: T, defau
|
||||
/**
|
||||
* Reports the value of boolean setting (i.e. enabled or disabled) if it's not default.
|
||||
*/
|
||||
@StatisticsEventProvider(eventIdIndex = 4, dataIndex = 5, additionalDataFields = ["enabled:enum#boolean"])
|
||||
fun <T> addBoolIfDiffers(set: MutableSet<in MetricEvent>, settingsBean: T, defaultSettingsBean: T,
|
||||
valueFunction: Function1<T, Boolean>, eventId: String, data: FeatureUsageData?) {
|
||||
addMetricIfDiffers(set, settingsBean, defaultSettingsBean, valueFunction) { newBooleanMetric(eventId, it, data) }
|
||||
@@ -49,7 +45,6 @@ fun <T> addBoolIfDiffers(set: MutableSet<in MetricEvent>, settingsBean: T, defau
|
||||
/**
|
||||
* Adds counter value if count is greater than 0
|
||||
*/
|
||||
@StatisticsEventProvider(eventIdIndex = 1, additionalDataFields = ["count:regexp#integer"])
|
||||
fun <T> addCounterIfNotZero(set: MutableSet<in MetricEvent>, eventId: String, count: Int) {
|
||||
if (count > 0) {
|
||||
set.add(newCounterMetric(eventId, count))
|
||||
@@ -59,50 +54,42 @@ fun <T> addCounterIfNotZero(set: MutableSet<in MetricEvent>, eventId: String, co
|
||||
/**
|
||||
* Adds counter value if count is greater than 0
|
||||
*/
|
||||
@StatisticsEventProvider(eventIdIndex = 1, dataIndex = 3, additionalDataFields = ["count:regexp#integer"])
|
||||
fun <T> addCounterIfNotZero(set: MutableSet<in MetricEvent>, eventId: String, count: Int, data: FeatureUsageData?) {
|
||||
if (count > 0) {
|
||||
set.add(newCounterMetric(eventId, count, data))
|
||||
}
|
||||
}
|
||||
|
||||
@StatisticsEventProvider(eventIdIndex = 4, additionalDataFields = ["count:regexp#integer"])
|
||||
fun <T> addCounterIfDiffers(set: MutableSet<in MetricEvent>, settingsBean: T, defaultSettingsBean: T,
|
||||
valueFunction: Function1<T, Int>, eventId: String) {
|
||||
addMetricIfDiffers(set, settingsBean, defaultSettingsBean, valueFunction) { newCounterMetric(eventId, it) }
|
||||
}
|
||||
|
||||
@StatisticsEventProvider(eventIdIndex = 4, dataIndex = 5, additionalDataFields = ["count:regexp#integer"])
|
||||
fun <T> addCounterIfDiffers(set: MutableSet<in MetricEvent>, settingsBean: T, defaultSettingsBean: T,
|
||||
valueFunction: Function1<T, Int>, eventId: String, data: FeatureUsageData?) {
|
||||
addMetricIfDiffers(set, settingsBean, defaultSettingsBean, valueFunction) { newCounterMetric(eventId, it, data) }
|
||||
}
|
||||
|
||||
@StatisticsEventProvider(eventIdIndex = 4, dataIndex = 5, additionalDataFields = ["count:regexp#integer", "count_group"])
|
||||
fun <T> addCounterRangeIfDiffers(set: MutableSet<in MetricEvent>, settingsBean: T, defaultSettingsBean: T,
|
||||
valueFunction: Function1<T, Int>, eventId: String, data: FeatureUsageData?) {
|
||||
addMetricIfDiffers(set, settingsBean, defaultSettingsBean, valueFunction) { newCounterRangeMetric(eventId, it, data) }
|
||||
}
|
||||
|
||||
@StatisticsEventProvider(eventIdIndex = 4, additionalDataFields = ["count:regexp#integer", "count_group"])
|
||||
fun <T> addCounterRangeIfDiffers(set: MutableSet<in MetricEvent>, settingsBean: T, defaultSettingsBean: T,
|
||||
valueFunction: Function1<T, Int>, eventId: String) {
|
||||
addMetricIfDiffers(set, settingsBean, defaultSettingsBean, valueFunction) { newCounterRangeMetric(eventId, it) }
|
||||
}
|
||||
|
||||
@StatisticsEventProvider(eventIdIndex = 4, dataIndex = 6, additionalDataFields = ["count:regexp#integer", "count_group"])
|
||||
fun <T> addCounterRangeIfDiffers(set: MutableSet<in MetricEvent>, settingsBean: T, defaultSettingsBean: T,
|
||||
valueFunction: Function1<T, Int>, featureId: String, steps: List<Int>, data: FeatureUsageData?) {
|
||||
addMetricIfDiffers(set, settingsBean, defaultSettingsBean, valueFunction) { newCounterRangeMetric(featureId, it, steps, data) }
|
||||
}
|
||||
|
||||
@StatisticsEventProvider(eventIdIndex = 4, additionalDataFields = ["count:regexp#integer", "count_group"])
|
||||
fun <T> addCounterRangeIfDiffers(set: MutableSet<in MetricEvent>, settingsBean: T, defaultSettingsBean: T,
|
||||
valueFunction: Function1<T, Int>, eventId: String, steps: List<Int>) {
|
||||
addMetricIfDiffers(set, settingsBean, defaultSettingsBean, valueFunction) { newCounterRangeMetric(eventId, it, steps) }
|
||||
}
|
||||
|
||||
@StatisticsEventProvider(eventIdIndex = 4, additionalDataFields = ["value"])
|
||||
fun <T, V : Enum<*>> addEnumIfDiffers(set: MutableSet<in MetricEvent>, settingsBean: T, defaultSettingsBean: T,
|
||||
valueFunction: Function1<T, V>, eventId: String) {
|
||||
addMetricIfDiffers(set, settingsBean, defaultSettingsBean, valueFunction) { newMetric(eventId, it, null) }
|
||||
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package com.intellij.internal.statistic.beans
|
||||
|
||||
/**
|
||||
* Mark the methods that create or modify FeatureUsageData. Annotation is used to facilitate analysis.
|
||||
* @param dataIndex - FeatureUsageData index in the signature of factory method, starts at 0
|
||||
* @param eventIdIndex - event id index in the signature of factory method, starts at 0
|
||||
* @param additionalDataFields - an array of event data fields, that the factory method adds to FeatureUsageData.
|
||||
* You can describe validation rules for each field as "<fieldName>:<validationRule>". For example, "count:regexp#integer"
|
||||
* If you can't describe validation rule, you can pass value index in the signature of factory method,
|
||||
* starts at 0 ("<fieldName>::<valueIndex>"). For example, "count::4"
|
||||
*
|
||||
* @see newBooleanMetric
|
||||
* @see newMetric
|
||||
*/
|
||||
@Retention(AnnotationRetention.RUNTIME)
|
||||
@Target(AnnotationTarget.FUNCTION, AnnotationTarget.CONSTRUCTOR)
|
||||
annotation class StatisticsEventProvider(val dataIndex: Int = -1,
|
||||
val eventIdIndex: Int = -1,
|
||||
val additionalDataFields: Array<String> = [])
|
||||
Reference in New Issue
Block a user