From 46f0c9ea139437467a469b48c85b15713875f85b Mon Sep 17 00:00:00 2001 From: Kuisong Tong Date: Fri, 21 Oct 2022 09:43:19 -0700 Subject: [PATCH 1/5] Set IsMonotonic to true for opencensus sum fix #3388 --- bridge/opencensus/internal/ocmetric/metric.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bridge/opencensus/internal/ocmetric/metric.go b/bridge/opencensus/internal/ocmetric/metric.go index 575e99abe75..54b6619a1f6 100644 --- a/bridge/opencensus/internal/ocmetric/metric.go +++ b/bridge/opencensus/internal/ocmetric/metric.go @@ -92,7 +92,7 @@ func convertGauge[N int64 | float64](labelKeys []ocmetricdata.LabelKey, ts []*oc func convertSum[N int64 | float64](labelKeys []ocmetricdata.LabelKey, ts []*ocmetricdata.TimeSeries) (metricdata.Sum[N], error) { points, err := convertNumberDataPoints[N](labelKeys, ts) // OpenCensus sums are always Cumulative - return metricdata.Sum[N]{DataPoints: points, Temporality: metricdata.CumulativeTemporality}, err + return metricdata.Sum[N]{DataPoints: points, Temporality: metricdata.CumulativeTemporality, IsMonotonic: true}, err } // convertNumberDataPoints converts OpenCensus TimeSeries to OpenTelemetry DataPoints. From 24a1dacbc8099510529a4c2dc51877748c0c8a4e Mon Sep 17 00:00:00 2001 From: Kuisong Tong Date: Fri, 21 Oct 2022 11:14:36 -0700 Subject: [PATCH 2/5] Update metric_test.go --- bridge/opencensus/internal/ocmetric/metric_test.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bridge/opencensus/internal/ocmetric/metric_test.go b/bridge/opencensus/internal/ocmetric/metric_test.go index b93bc413088..83cdd25c12c 100644 --- a/bridge/opencensus/internal/ocmetric/metric_test.go +++ b/bridge/opencensus/internal/ocmetric/metric_test.go @@ -312,6 +312,7 @@ func TestConvertMetrics(t *testing.T) { Description: "an int testing sum", Unit: unit.Milliseconds, Data: metricdata.Sum[int64]{ + IsMonotonic: true, Temporality: metricdata.CumulativeTemporality, DataPoints: []metricdata.DataPoint[int64]{ { @@ -342,6 +343,7 @@ func TestConvertMetrics(t *testing.T) { Description: "a float testing sum", Unit: unit.Milliseconds, Data: metricdata.Sum[float64]{ + IsMonotonic: true, Temporality: metricdata.CumulativeTemporality, DataPoints: []metricdata.DataPoint[float64]{ { From 8525a6e539e595ec985767e492ea33759d62cdee Mon Sep 17 00:00:00 2001 From: Kuisong Tong Date: Fri, 21 Oct 2022 11:15:54 -0700 Subject: [PATCH 3/5] fix test --- bridge/opencensus/internal/ocmetric/metric_test.go | 1 + 1 file changed, 1 insertion(+) diff --git a/bridge/opencensus/internal/ocmetric/metric_test.go b/bridge/opencensus/internal/ocmetric/metric_test.go index 83cdd25c12c..19f74a6a887 100644 --- a/bridge/opencensus/internal/ocmetric/metric_test.go +++ b/bridge/opencensus/internal/ocmetric/metric_test.go @@ -412,6 +412,7 @@ func TestConvertMetrics(t *testing.T) { Description: "a testing sum", Unit: unit.Dimensionless, Data: metricdata.Sum[float64]{ + IsMonotonic: true, Temporality: metricdata.CumulativeTemporality, DataPoints: []metricdata.DataPoint[float64]{}, }, From 71e1d3f10acf670c627e5434a71e9069587f43da Mon Sep 17 00:00:00 2001 From: Kuisong Tong Date: Fri, 21 Oct 2022 11:21:03 -0700 Subject: [PATCH 4/5] add changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f8f29e5c979..bb9815ebb14 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm ### Fixed - The `go.opentelemetry.io/otel/exporters/prometheus` exporter fixes duplicated `_total` suffixes. (#3369) +- The IsMonotonic is set to true for cumulative metric the OpenCensus bridge (`go.opentelemetry.io/otel/bridge/opencensus`). (#3389) ## [1.11.1/0.33.0] 2022-10-19 From 0ed5d62db2c95c0fd0bd92c34a4b6b9c317bab4b Mon Sep 17 00:00:00 2001 From: Kuisong Tong Date: Fri, 21 Oct 2022 13:43:56 -0700 Subject: [PATCH 5/5] Update CHANGELOG.md Co-authored-by: Tyler Yahn --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bb9815ebb14..e9862a9e3af 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,7 +11,7 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm ### Fixed - The `go.opentelemetry.io/otel/exporters/prometheus` exporter fixes duplicated `_total` suffixes. (#3369) -- The IsMonotonic is set to true for cumulative metric the OpenCensus bridge (`go.opentelemetry.io/otel/bridge/opencensus`). (#3389) +- Cumulative metrics from the OpenCensus bridge (`go.opentelemetry.io/otel/bridge/opencensus`) are defined as monotonic sums, instead of non-monotonic. (#3389) ## [1.11.1/0.33.0] 2022-10-19