[metrics] AT-845 Do not sum gauges

GitOrigin-RevId: 08b9e8c7fb0da4bcc06bf998e548e056ec24617f
This commit is contained in:
Nikita Kudrin
2024-07-09 15:13:06 +03:00
committed by intellij-monorepo-bot
parent 4783a1c9ee
commit 36d120f059
2 changed files with 4 additions and 42 deletions

View File

@@ -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)
}
}
}

View File

@@ -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)
}
}
}