mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-03-22 15:19:59 +07:00
[metrics] AT-845 Do not sum gauges
GitOrigin-RevId: 08b9e8c7fb0da4bcc06bf998e548e056ec24617f
This commit is contained in:
committed by
intellij-monorepo-bot
parent
4783a1c9ee
commit
36d120f059
@@ -2,14 +2,7 @@ package com.intellij.tools.ide.metrics.collector.meters
|
||||
|
||||
import com.intellij.tools.ide.metrics.collector.metrics.MetricsSelectionStrategy
|
||||
import com.intellij.tools.ide.metrics.collector.metrics.MetricsSelectionStrategy.*
|
||||
import io.opentelemetry.api.common.Attributes
|
||||
import io.opentelemetry.sdk.common.InstrumentationScopeInfo
|
||||
import io.opentelemetry.sdk.metrics.data.DoublePointData
|
||||
import io.opentelemetry.sdk.metrics.data.MetricData
|
||||
import io.opentelemetry.sdk.metrics.internal.data.ImmutableDoublePointData
|
||||
import io.opentelemetry.sdk.metrics.internal.data.ImmutableGaugeData
|
||||
import io.opentelemetry.sdk.metrics.internal.data.ImmutableMetricData
|
||||
import io.opentelemetry.sdk.resources.Resource
|
||||
|
||||
class DoubleGaugeMeterSelector : MetersSelector {
|
||||
override fun selectMetric(selectionType: MetricsSelectionStrategy, metrics: List<MetricData>): MetricData {
|
||||
@@ -18,21 +11,9 @@ class DoubleGaugeMeterSelector : MetersSelector {
|
||||
LATEST -> selectLatestMeter(metrics)
|
||||
MINIMUM -> metrics.minBy { it.doubleGaugeData.points.first().value }
|
||||
MAXIMUM -> metrics.maxBy { it.doubleGaugeData.points.first().value }
|
||||
SUM -> {
|
||||
val sum: DoublePointData = ImmutableDoublePointData.create(
|
||||
selectMetric(EARLIEST, metrics).doubleGaugeData.points.first().startEpochNanos,
|
||||
selectMetric(LATEST, metrics).doubleGaugeData.points.first().epochNanos,
|
||||
Attributes.empty(),
|
||||
metrics.sumOf { it.doubleGaugeData.points.first().value }
|
||||
)
|
||||
|
||||
val sumData = ImmutableGaugeData.create(listOf(sum))
|
||||
|
||||
ImmutableMetricData.createDoubleGauge(Resource.empty(), InstrumentationScopeInfo.empty(),
|
||||
metrics.first().name, metrics.first().description,
|
||||
metrics.first().unit, sumData)
|
||||
|
||||
}
|
||||
// there is no point to sum the same gauge
|
||||
SUM -> selectLatestMeter(metrics)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,14 +2,7 @@ package com.intellij.tools.ide.metrics.collector.meters
|
||||
|
||||
import com.intellij.tools.ide.metrics.collector.metrics.MetricsSelectionStrategy
|
||||
import com.intellij.tools.ide.metrics.collector.metrics.MetricsSelectionStrategy.*
|
||||
import io.opentelemetry.api.common.Attributes
|
||||
import io.opentelemetry.sdk.common.InstrumentationScopeInfo
|
||||
import io.opentelemetry.sdk.metrics.data.LongPointData
|
||||
import io.opentelemetry.sdk.metrics.data.MetricData
|
||||
import io.opentelemetry.sdk.metrics.internal.data.ImmutableGaugeData
|
||||
import io.opentelemetry.sdk.metrics.internal.data.ImmutableLongPointData
|
||||
import io.opentelemetry.sdk.metrics.internal.data.ImmutableMetricData
|
||||
import io.opentelemetry.sdk.resources.Resource
|
||||
|
||||
class LongGaugeMeterSelector : MetersSelector {
|
||||
override fun selectMetric(selectionType: MetricsSelectionStrategy, metrics: List<MetricData>): MetricData {
|
||||
@@ -18,21 +11,9 @@ class LongGaugeMeterSelector : MetersSelector {
|
||||
LATEST -> selectLatestMeter(metrics)
|
||||
MINIMUM -> metrics.minBy { it.longGaugeData.points.first().value }
|
||||
MAXIMUM -> metrics.maxBy { it.longGaugeData.points.first().value }
|
||||
SUM -> {
|
||||
val sum: LongPointData = ImmutableLongPointData.create(
|
||||
selectMetric(EARLIEST, metrics).longGaugeData.points.first().startEpochNanos,
|
||||
selectMetric(LATEST, metrics).longGaugeData.points.first().epochNanos,
|
||||
Attributes.empty(),
|
||||
metrics.sumOf { it.longGaugeData.points.first().value }
|
||||
)
|
||||
|
||||
val sumData = ImmutableGaugeData.create(listOf(sum))
|
||||
|
||||
ImmutableMetricData.createLongGauge(Resource.empty(), InstrumentationScopeInfo.empty(),
|
||||
metrics.first().name, metrics.first().description,
|
||||
metrics.first().unit, sumData)
|
||||
|
||||
}
|
||||
// there is no point to sum the same gauge
|
||||
SUM -> selectLatestMeter(metrics)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user