From 35bff443c89bad230b798d17398bb75a15f8829a Mon Sep 17 00:00:00 2001 From: ChrsMark Date: Thu, 25 Sep 2025 22:33:59 +0300 Subject: [PATCH] [chore][loadbalancingexporter] Add stability level per metric Signed-off-by: ChrsMark --- .../loadbalancingexporter/documentation.md | 40 +++++++++---------- .../internal/metadata/generated_telemetry.go | 10 ++--- .../metadatatest/generated_telemetrytest.go | 10 ++--- exporter/loadbalancingexporter/metadata.yaml | 10 +++++ 4 files changed, 40 insertions(+), 30 deletions(-) diff --git a/exporter/loadbalancingexporter/documentation.md b/exporter/loadbalancingexporter/documentation.md index d0b306c9dc81b..70da87e937136 100644 --- a/exporter/loadbalancingexporter/documentation.md +++ b/exporter/loadbalancingexporter/documentation.md @@ -8,11 +8,11 @@ The following telemetry is emitted by this component. ### otelcol_loadbalancer_backend_latency -Response latency in ms for the backends. +Response latency in ms for the backends. [development] -| Unit | Metric Type | Value Type | -| ---- | ----------- | ---------- | -| ms | Histogram | Int | +| Unit | Metric Type | Value Type | Stability | +| ---- | ----------- | ---------- | --------- | +| ms | Histogram | Int | development | #### Attributes @@ -22,11 +22,11 @@ Response latency in ms for the backends. ### otelcol_loadbalancer_backend_outcome -Number of successes and failures for each endpoint. +Number of successes and failures for each endpoint. [development] -| Unit | Metric Type | Value Type | Monotonic | -| ---- | ----------- | ---------- | --------- | -| {outcomes} | Sum | Int | true | +| Unit | Metric Type | Value Type | Monotonic | Stability | +| ---- | ----------- | ---------- | --------- | --------- | +| {outcomes} | Sum | Int | true | development | #### Attributes @@ -36,11 +36,11 @@ Number of successes and failures for each endpoint. ### otelcol_loadbalancer_num_backend_updates -Number of times the list of backends was updated. +Number of times the list of backends was updated. [development] -| Unit | Metric Type | Value Type | Monotonic | -| ---- | ----------- | ---------- | --------- | -| {updates} | Sum | Int | true | +| Unit | Metric Type | Value Type | Monotonic | Stability | +| ---- | ----------- | ---------- | --------- | --------- | +| {updates} | Sum | Int | true | development | #### Attributes @@ -50,11 +50,11 @@ Number of times the list of backends was updated. ### otelcol_loadbalancer_num_backends -Current number of backends in use. +Current number of backends in use. [development] -| Unit | Metric Type | Value Type | -| ---- | ----------- | ---------- | -| {backends} | Gauge | Int | +| Unit | Metric Type | Value Type | Stability | +| ---- | ----------- | ---------- | --------- | +| {backends} | Gauge | Int | development | #### Attributes @@ -64,11 +64,11 @@ Current number of backends in use. ### otelcol_loadbalancer_num_resolutions -Number of times the resolver has triggered new resolutions. +Number of times the resolver has triggered new resolutions. [development] -| Unit | Metric Type | Value Type | Monotonic | -| ---- | ----------- | ---------- | --------- | -| {resolutions} | Sum | Int | true | +| Unit | Metric Type | Value Type | Monotonic | Stability | +| ---- | ----------- | ---------- | --------- | --------- | +| {resolutions} | Sum | Int | true | development | #### Attributes diff --git a/exporter/loadbalancingexporter/internal/metadata/generated_telemetry.go b/exporter/loadbalancingexporter/internal/metadata/generated_telemetry.go index a64a758d4428a..fba163fe633c4 100644 --- a/exporter/loadbalancingexporter/internal/metadata/generated_telemetry.go +++ b/exporter/loadbalancingexporter/internal/metadata/generated_telemetry.go @@ -64,32 +64,32 @@ func NewTelemetryBuilder(settings component.TelemetrySettings, options ...Teleme var err, errs error builder.LoadbalancerBackendLatency, err = builder.meter.Int64Histogram( "otelcol_loadbalancer_backend_latency", - metric.WithDescription("Response latency in ms for the backends."), + metric.WithDescription("Response latency in ms for the backends. [development]"), metric.WithUnit("ms"), metric.WithExplicitBucketBoundaries([]float64{5, 10, 20, 50, 100, 200, 500, 1000, 2000, 5000}...), ) errs = errors.Join(errs, err) builder.LoadbalancerBackendOutcome, err = builder.meter.Int64Counter( "otelcol_loadbalancer_backend_outcome", - metric.WithDescription("Number of successes and failures for each endpoint."), + metric.WithDescription("Number of successes and failures for each endpoint. [development]"), metric.WithUnit("{outcomes}"), ) errs = errors.Join(errs, err) builder.LoadbalancerNumBackendUpdates, err = builder.meter.Int64Counter( "otelcol_loadbalancer_num_backend_updates", - metric.WithDescription("Number of times the list of backends was updated."), + metric.WithDescription("Number of times the list of backends was updated. [development]"), metric.WithUnit("{updates}"), ) errs = errors.Join(errs, err) builder.LoadbalancerNumBackends, err = builder.meter.Int64Gauge( "otelcol_loadbalancer_num_backends", - metric.WithDescription("Current number of backends in use."), + metric.WithDescription("Current number of backends in use. [development]"), metric.WithUnit("{backends}"), ) errs = errors.Join(errs, err) builder.LoadbalancerNumResolutions, err = builder.meter.Int64Counter( "otelcol_loadbalancer_num_resolutions", - metric.WithDescription("Number of times the resolver has triggered new resolutions."), + metric.WithDescription("Number of times the resolver has triggered new resolutions. [development]"), metric.WithUnit("{resolutions}"), ) errs = errors.Join(errs, err) diff --git a/exporter/loadbalancingexporter/internal/metadatatest/generated_telemetrytest.go b/exporter/loadbalancingexporter/internal/metadatatest/generated_telemetrytest.go index 8777ab1f6fe2d..94e6bf58f4df5 100644 --- a/exporter/loadbalancingexporter/internal/metadatatest/generated_telemetrytest.go +++ b/exporter/loadbalancingexporter/internal/metadatatest/generated_telemetrytest.go @@ -24,7 +24,7 @@ func NewSettings(tt *componenttest.Telemetry) exporter.Settings { func AssertEqualLoadbalancerBackendLatency(t *testing.T, tt *componenttest.Telemetry, dps []metricdata.HistogramDataPoint[int64], opts ...metricdatatest.Option) { want := metricdata.Metrics{ Name: "otelcol_loadbalancer_backend_latency", - Description: "Response latency in ms for the backends.", + Description: "Response latency in ms for the backends. [development]", Unit: "ms", Data: metricdata.Histogram[int64]{ Temporality: metricdata.CumulativeTemporality, @@ -39,7 +39,7 @@ func AssertEqualLoadbalancerBackendLatency(t *testing.T, tt *componenttest.Telem func AssertEqualLoadbalancerBackendOutcome(t *testing.T, tt *componenttest.Telemetry, dps []metricdata.DataPoint[int64], opts ...metricdatatest.Option) { want := metricdata.Metrics{ Name: "otelcol_loadbalancer_backend_outcome", - Description: "Number of successes and failures for each endpoint.", + Description: "Number of successes and failures for each endpoint. [development]", Unit: "{outcomes}", Data: metricdata.Sum[int64]{ Temporality: metricdata.CumulativeTemporality, @@ -55,7 +55,7 @@ func AssertEqualLoadbalancerBackendOutcome(t *testing.T, tt *componenttest.Telem func AssertEqualLoadbalancerNumBackendUpdates(t *testing.T, tt *componenttest.Telemetry, dps []metricdata.DataPoint[int64], opts ...metricdatatest.Option) { want := metricdata.Metrics{ Name: "otelcol_loadbalancer_num_backend_updates", - Description: "Number of times the list of backends was updated.", + Description: "Number of times the list of backends was updated. [development]", Unit: "{updates}", Data: metricdata.Sum[int64]{ Temporality: metricdata.CumulativeTemporality, @@ -71,7 +71,7 @@ func AssertEqualLoadbalancerNumBackendUpdates(t *testing.T, tt *componenttest.Te func AssertEqualLoadbalancerNumBackends(t *testing.T, tt *componenttest.Telemetry, dps []metricdata.DataPoint[int64], opts ...metricdatatest.Option) { want := metricdata.Metrics{ Name: "otelcol_loadbalancer_num_backends", - Description: "Current number of backends in use.", + Description: "Current number of backends in use. [development]", Unit: "{backends}", Data: metricdata.Gauge[int64]{ DataPoints: dps, @@ -85,7 +85,7 @@ func AssertEqualLoadbalancerNumBackends(t *testing.T, tt *componenttest.Telemetr func AssertEqualLoadbalancerNumResolutions(t *testing.T, tt *componenttest.Telemetry, dps []metricdata.DataPoint[int64], opts ...metricdatatest.Option) { want := metricdata.Metrics{ Name: "otelcol_loadbalancer_num_resolutions", - Description: "Number of times the resolver has triggered new resolutions.", + Description: "Number of times the resolver has triggered new resolutions. [development]", Unit: "{resolutions}", Data: metricdata.Sum[int64]{ Temporality: metricdata.CumulativeTemporality, diff --git a/exporter/loadbalancingexporter/metadata.yaml b/exporter/loadbalancingexporter/metadata.yaml index d870237e7a86d..ed8c650709bfb 100644 --- a/exporter/loadbalancingexporter/metadata.yaml +++ b/exporter/loadbalancingexporter/metadata.yaml @@ -32,6 +32,8 @@ telemetry: loadbalancer_num_resolutions: attributes: [success, resolver] enabled: true + stability: + level: development description: Number of times the resolver has triggered new resolutions. unit: "{resolutions}" sum: @@ -40,6 +42,8 @@ telemetry: loadbalancer_num_backends: attributes: [resolver] enabled: true + stability: + level: development description: Current number of backends in use. unit: "{backends}" gauge: @@ -47,6 +51,8 @@ telemetry: loadbalancer_backend_latency: attributes: [endpoint] enabled: true + stability: + level: development description: Response latency in ms for the backends. unit: ms histogram: @@ -55,6 +61,8 @@ telemetry: loadbalancer_num_backend_updates: attributes: [resolver] enabled: true + stability: + level: development description: Number of times the list of backends was updated. unit: "{updates}" sum: @@ -63,6 +71,8 @@ telemetry: loadbalancer_backend_outcome: attributes: [success] enabled: true + stability: + level: development description: Number of successes and failures for each endpoint. unit: "{outcomes}" sum: