Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

## Unreleased

## 🛑 Breaking changes 🛑

- Rename `pdata.DoubleSum` to `pdata.Sum` (#3583)

## 🧰 Bug fixes 🧰

- `scraperhelper`: Include the scraper name in log messages (#3487)
Expand Down
6 changes: 3 additions & 3 deletions cmd/mdatagen/loader_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ metrics:
description: Total CPU seconds broken down by different states.
unit: s
data:
type: double sum
type: sum
monotonic: true
aggregation: cumulative
labels: [freeFormLabel, freeFormLabelWithValue, enumLabel]
Expand All @@ -53,7 +53,7 @@ metrics:
description: Total CPU seconds broken down by different states.
unit: s
data:
type: double sum
type: sum
monotonic: true
aggregation: cumulative
labels: [missing]
Expand Down Expand Up @@ -97,7 +97,7 @@ func Test_loadMetadata(t *testing.T) {
"system.cpu.time": {
Description: "Total CPU seconds broken down by different states.",
Unit: "s",
Data: &doubleSum{
Data: &sum{
Aggregated: Aggregated{Aggregation: "cumulative"},
Mono: Mono{Monotonic: true},
},
Expand Down
2 changes: 1 addition & 1 deletion cmd/mdatagen/main_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ metrics:
description: Total CPU seconds broken down by different states.
unit: s
data:
type: double sum
type: sum
aggregation: cumulative
labels: []
`
Expand Down
16 changes: 8 additions & 8 deletions cmd/mdatagen/metricdata.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ var (
_ MetricData = &intSum{}
_ MetricData = &intHistogram{}
_ MetricData = &doubleGauge{}
_ MetricData = &doubleSum{}
_ MetricData = &sum{}
_ MetricData = &histogram{}
)

Expand Down Expand Up @@ -52,8 +52,8 @@ func (e *ymlMetricData) UnmarshalYAML(unmarshal func(interface{}) error) error {
md = &intHistogram{}
case "double gauge":
md = &doubleGauge{}
case "double sum":
md = &doubleSum{}
case "sum":
md = &sum{}
case "histogram":
md = &histogram{}
default:
Expand Down Expand Up @@ -148,20 +148,20 @@ func (i intSum) HasAggregated() bool {
return true
}

type doubleSum struct {
type sum struct {
Aggregated `yaml:",inline"`
Mono `yaml:",inline"`
}

func (d doubleSum) Type() string {
return "DoubleSum"
func (d sum) Type() string {
return "Sum"
}

func (d doubleSum) HasMonotonic() bool {
func (d sum) HasMonotonic() bool {
return true
}

func (d doubleSum) HasAggregated() bool {
func (d sum) HasAggregated() bool {
return true
}

Expand Down
2 changes: 1 addition & 1 deletion cmd/mdatagen/metricdata_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ func TestMetricData(t *testing.T) {
{&intSum{}, "IntSum", true, true},
{&intHistogram{}, "IntHistogram", true, false},
{&doubleGauge{}, "DoubleGauge", false, false},
{&doubleSum{}, "DoubleSum", true, true},
{&sum{}, "Sum", true, true},
{&histogram{}, "Histogram", true, false},
} {
assert.Equal(t, arg.typ, arg.metricData.Type())
Expand Down
4 changes: 2 additions & 2 deletions cmd/pdatagen/internal/metrics_structs.go
Original file line number Diff line number Diff line change
Expand Up @@ -169,8 +169,8 @@ var intSum = &messageValueStruct{
}

var doubleSum = &messageValueStruct{
structName: "DoubleSum",
description: "// DoubleSum represents the type of a numeric double scalar metric that is calculated as a sum of all reported measurements over a time interval.",
structName: "Sum",
description: "// Sum represents the type of a numeric double scalar metric that is calculated as a sum of all reported measurements over a time interval.",
originFullName: "otlpmetrics.Sum",
fields: []baseField{
aggregationTemporalityField,
Expand Down
6 changes: 3 additions & 3 deletions docs/metric-metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@ metrics:
unit:
# Required
data:
# Required: one of int gauge, int sum, int histogram, double gauge, double sum, or histogram.
# Required: one of int gauge, int sum, int histogram, double gauge, sum, or histogram.
type:
# Required for int sum and double sum.
# Required for int sum and sum.
monotonic: # true | false
# Required for int sum, int histogram, double sum, and histogram.
# Required for int sum, int histogram, sum, and histogram.
aggregation: # delta | cumulative
# Optional: array of labels that were defined in the labels section that are emitted by this metric.
labels:
4 changes: 2 additions & 2 deletions exporter/exporterhelper/resource_to_label.go
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,8 @@ func addLabelsToMetric(metric *pdata.Metric, labelMap pdata.StringMap) {
addLabelsToDoubleDataPoints(metric.DoubleGauge().DataPoints(), labelMap)
case pdata.MetricDataTypeIntSum:
addLabelsToIntDataPoints(metric.IntSum().DataPoints(), labelMap)
case pdata.MetricDataTypeDoubleSum:
addLabelsToDoubleDataPoints(metric.DoubleSum().DataPoints(), labelMap)
case pdata.MetricDataTypeSum:
addLabelsToDoubleDataPoints(metric.Sum().DataPoints(), labelMap)
case pdata.MetricDataTypeIntHistogram:
addLabelsToIntHistogramDataPoints(metric.IntHistogram().DataPoints(), labelMap)
case pdata.MetricDataTypeHistogram:
Expand Down
6 changes: 3 additions & 3 deletions exporter/exporterhelper/resource_to_label_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ func TestConvertResourceToLabelsAllDataTypesEmptyDataPoint(t *testing.T) {
assert.Equal(t, 1, md.ResourceMetrics().At(0).Resource().Attributes().Len())
assert.Equal(t, 0, md.ResourceMetrics().At(0).InstrumentationLibraryMetrics().At(0).Metrics().At(0).DoubleGauge().DataPoints().At(0).LabelsMap().Len())
assert.Equal(t, 0, md.ResourceMetrics().At(0).InstrumentationLibraryMetrics().At(0).Metrics().At(1).IntGauge().DataPoints().At(0).LabelsMap().Len())
assert.Equal(t, 0, md.ResourceMetrics().At(0).InstrumentationLibraryMetrics().At(0).Metrics().At(2).DoubleSum().DataPoints().At(0).LabelsMap().Len())
assert.Equal(t, 0, md.ResourceMetrics().At(0).InstrumentationLibraryMetrics().At(0).Metrics().At(2).Sum().DataPoints().At(0).LabelsMap().Len())
assert.Equal(t, 0, md.ResourceMetrics().At(0).InstrumentationLibraryMetrics().At(0).Metrics().At(3).IntSum().DataPoints().At(0).LabelsMap().Len())
assert.Equal(t, 0, md.ResourceMetrics().At(0).InstrumentationLibraryMetrics().At(0).Metrics().At(4).Histogram().DataPoints().At(0).LabelsMap().Len())
assert.Equal(t, 0, md.ResourceMetrics().At(0).InstrumentationLibraryMetrics().At(0).Metrics().At(5).IntHistogram().DataPoints().At(0).LabelsMap().Len())
Expand All @@ -59,15 +59,15 @@ func TestConvertResourceToLabelsAllDataTypesEmptyDataPoint(t *testing.T) {
assert.Equal(t, 1, cloneMd.ResourceMetrics().At(0).Resource().Attributes().Len())
assert.Equal(t, 1, cloneMd.ResourceMetrics().At(0).InstrumentationLibraryMetrics().At(0).Metrics().At(0).DoubleGauge().DataPoints().At(0).LabelsMap().Len())
assert.Equal(t, 1, cloneMd.ResourceMetrics().At(0).InstrumentationLibraryMetrics().At(0).Metrics().At(1).IntGauge().DataPoints().At(0).LabelsMap().Len())
assert.Equal(t, 1, cloneMd.ResourceMetrics().At(0).InstrumentationLibraryMetrics().At(0).Metrics().At(2).DoubleSum().DataPoints().At(0).LabelsMap().Len())
assert.Equal(t, 1, cloneMd.ResourceMetrics().At(0).InstrumentationLibraryMetrics().At(0).Metrics().At(2).Sum().DataPoints().At(0).LabelsMap().Len())
assert.Equal(t, 1, cloneMd.ResourceMetrics().At(0).InstrumentationLibraryMetrics().At(0).Metrics().At(3).IntSum().DataPoints().At(0).LabelsMap().Len())
assert.Equal(t, 1, cloneMd.ResourceMetrics().At(0).InstrumentationLibraryMetrics().At(0).Metrics().At(4).Histogram().DataPoints().At(0).LabelsMap().Len())
assert.Equal(t, 1, cloneMd.ResourceMetrics().At(0).InstrumentationLibraryMetrics().At(0).Metrics().At(5).IntHistogram().DataPoints().At(0).LabelsMap().Len())

assert.Equal(t, 1, md.ResourceMetrics().At(0).Resource().Attributes().Len())
assert.Equal(t, 0, md.ResourceMetrics().At(0).InstrumentationLibraryMetrics().At(0).Metrics().At(0).DoubleGauge().DataPoints().At(0).LabelsMap().Len())
assert.Equal(t, 0, md.ResourceMetrics().At(0).InstrumentationLibraryMetrics().At(0).Metrics().At(1).IntGauge().DataPoints().At(0).LabelsMap().Len())
assert.Equal(t, 0, md.ResourceMetrics().At(0).InstrumentationLibraryMetrics().At(0).Metrics().At(2).DoubleSum().DataPoints().At(0).LabelsMap().Len())
assert.Equal(t, 0, md.ResourceMetrics().At(0).InstrumentationLibraryMetrics().At(0).Metrics().At(2).Sum().DataPoints().At(0).LabelsMap().Len())
assert.Equal(t, 0, md.ResourceMetrics().At(0).InstrumentationLibraryMetrics().At(0).Metrics().At(3).IntSum().DataPoints().At(0).LabelsMap().Len())
assert.Equal(t, 0, md.ResourceMetrics().At(0).InstrumentationLibraryMetrics().At(0).Metrics().At(4).Histogram().DataPoints().At(0).LabelsMap().Len())
assert.Equal(t, 0, md.ResourceMetrics().At(0).InstrumentationLibraryMetrics().At(0).Metrics().At(5).IntHistogram().DataPoints().At(0).LabelsMap().Len())
Expand Down
22 changes: 11 additions & 11 deletions exporter/prometheusexporter/accumulator.go
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,8 @@ func (a *lastValueAccumulator) addMetric(metric pdata.Metric, il pdata.Instrumen
return a.accumulateIntSum(metric, il, now)
case pdata.MetricDataTypeDoubleGauge:
return a.accumulateDoubleGauge(metric, il, now)
case pdata.MetricDataTypeDoubleSum:
return a.accumulateDoubleSum(metric, il, now)
case pdata.MetricDataTypeSum:
return a.accumulateSum(metric, il, now)
case pdata.MetricDataTypeIntHistogram:
return a.accumulateIntHistogram(metric, il, now)
case pdata.MetricDataTypeHistogram:
Expand Down Expand Up @@ -232,8 +232,8 @@ func (a *lastValueAccumulator) accumulateIntSum(metric pdata.Metric, il pdata.In
return
}

func (a *lastValueAccumulator) accumulateDoubleSum(metric pdata.Metric, il pdata.InstrumentationLibrary, now time.Time) (n int) {
doubleSum := metric.DoubleSum()
func (a *lastValueAccumulator) accumulateSum(metric pdata.Metric, il pdata.InstrumentationLibrary, now time.Time) (n int) {
doubleSum := metric.Sum()

// Drop metrics with non-cumulative aggregations
if doubleSum.AggregationTemporality() != pdata.AggregationTemporalityCumulative {
Expand All @@ -249,24 +249,24 @@ func (a *lastValueAccumulator) accumulateDoubleSum(metric pdata.Metric, il pdata
v, ok := a.registeredMetrics.Load(signature)
if !ok {
m := createMetric(metric)
m.DoubleSum().SetIsMonotonic(metric.DoubleSum().IsMonotonic())
m.DoubleSum().SetAggregationTemporality(pdata.AggregationTemporalityCumulative)
ip.CopyTo(m.DoubleSum().DataPoints().AppendEmpty())
m.Sum().SetIsMonotonic(metric.Sum().IsMonotonic())
m.Sum().SetAggregationTemporality(pdata.AggregationTemporalityCumulative)
ip.CopyTo(m.Sum().DataPoints().AppendEmpty())
a.registeredMetrics.Store(signature, &accumulatedValue{value: m, instrumentationLibrary: il, updated: now})
n++
continue
}
mv := v.(*accumulatedValue)

if ip.Timestamp().AsTime().Before(mv.value.DoubleSum().DataPoints().At(0).Timestamp().AsTime()) {
if ip.Timestamp().AsTime().Before(mv.value.Sum().DataPoints().At(0).Timestamp().AsTime()) {
// only keep datapoint with latest timestamp
continue
}

m := createMetric(metric)
m.DoubleSum().SetIsMonotonic(metric.DoubleSum().IsMonotonic())
m.DoubleSum().SetAggregationTemporality(pdata.AggregationTemporalityCumulative)
ip.CopyTo(m.DoubleSum().DataPoints().AppendEmpty())
m.Sum().SetIsMonotonic(metric.Sum().IsMonotonic())
m.Sum().SetAggregationTemporality(pdata.AggregationTemporalityCumulative)
ip.CopyTo(m.Sum().DataPoints().AppendEmpty())
a.registeredMetrics.Store(signature, &accumulatedValue{value: m, instrumentationLibrary: il, updated: now})
n++
}
Expand Down
40 changes: 20 additions & 20 deletions exporter/prometheusexporter/accumulator_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,12 +52,12 @@ func TestAccumulateDeltaAggregation(t *testing.T) {
},
},
{
name: "DoubleSum",
name: "Sum",
fillMetric: func(ts time.Time, metric pdata.Metric) {
metric.SetName("test_metric")
metric.SetDataType(pdata.MetricDataTypeDoubleSum)
metric.DoubleSum().SetAggregationTemporality(pdata.AggregationTemporalityDelta)
dp := metric.DoubleSum().DataPoints().AppendEmpty()
metric.SetDataType(pdata.MetricDataTypeSum)
metric.Sum().SetAggregationTemporality(pdata.AggregationTemporalityDelta)
dp := metric.Sum().DataPoints().AppendEmpty()
dp.SetValue(42.42)
dp.LabelsMap().Insert("label_1", "1")
dp.LabelsMap().Insert("label_2", "2")
Expand Down Expand Up @@ -168,15 +168,15 @@ func TestAccumulateMetrics(t *testing.T) {
},
},
{
name: "DoubleSum",
name: "Sum",
metric: func(ts time.Time, v float64, metrics pdata.MetricSlice) {
metric := metrics.AppendEmpty()
metric.SetName("test_metric")
metric.SetDataType(pdata.MetricDataTypeDoubleSum)
metric.DoubleSum().SetIsMonotonic(false)
metric.DoubleSum().SetAggregationTemporality(pdata.AggregationTemporalityCumulative)
metric.SetDataType(pdata.MetricDataTypeSum)
metric.Sum().SetIsMonotonic(false)
metric.Sum().SetAggregationTemporality(pdata.AggregationTemporalityCumulative)
metric.SetDescription("test description")
dp := metric.DoubleSum().DataPoints().AppendEmpty()
dp := metric.Sum().DataPoints().AppendEmpty()
dp.SetValue(v)
dp.LabelsMap().Insert("label_1", "1")
dp.LabelsMap().Insert("label_2", "2")
Expand All @@ -200,15 +200,15 @@ func TestAccumulateMetrics(t *testing.T) {
},
},
{
name: "MonotonicDoubleSum",
name: "MonotonicSum",
metric: func(ts time.Time, v float64, metrics pdata.MetricSlice) {
metric := metrics.AppendEmpty()
metric.SetName("test_metric")
metric.SetDataType(pdata.MetricDataTypeDoubleSum)
metric.DoubleSum().SetIsMonotonic(true)
metric.DoubleSum().SetAggregationTemporality(pdata.AggregationTemporalityCumulative)
metric.SetDataType(pdata.MetricDataTypeSum)
metric.Sum().SetIsMonotonic(true)
metric.Sum().SetAggregationTemporality(pdata.AggregationTemporalityCumulative)
metric.SetDescription("test description")
dp := metric.DoubleSum().DataPoints().AppendEmpty()
dp := metric.Sum().DataPoints().AppendEmpty()
dp.SetValue(v)
dp.LabelsMap().Insert("label_1", "1")
dp.LabelsMap().Insert("label_2", "2")
Expand Down Expand Up @@ -345,12 +345,12 @@ func getMerticProperties(metric pdata.Metric) (
value = metric.DoubleGauge().DataPoints().At(0).Value()
temporality = pdata.AggregationTemporalityUnspecified
isMonotonic = false
case pdata.MetricDataTypeDoubleSum:
labels = metric.DoubleSum().DataPoints().At(0).LabelsMap()
ts = metric.DoubleSum().DataPoints().At(0).Timestamp().AsTime()
value = metric.DoubleSum().DataPoints().At(0).Value()
temporality = metric.DoubleSum().AggregationTemporality()
isMonotonic = metric.DoubleSum().IsMonotonic()
case pdata.MetricDataTypeSum:
labels = metric.Sum().DataPoints().At(0).LabelsMap()
ts = metric.Sum().DataPoints().At(0).Timestamp().AsTime()
value = metric.Sum().DataPoints().At(0).Value()
temporality = metric.Sum().AggregationTemporality()
isMonotonic = metric.Sum().IsMonotonic()
case pdata.MetricDataTypeIntHistogram:
labels = metric.IntHistogram().DataPoints().At(0).LabelsMap()
ts = metric.IntHistogram().DataPoints().At(0).Timestamp().AsTime()
Expand Down
10 changes: 5 additions & 5 deletions exporter/prometheusexporter/collector.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,8 @@ func (c *collector) convertMetric(metric pdata.Metric) (prometheus.Metric, error
return c.convertIntSum(metric)
case pdata.MetricDataTypeDoubleGauge:
return c.convertDoubleGauge(metric)
case pdata.MetricDataTypeDoubleSum:
return c.convertDoubleSum(metric)
case pdata.MetricDataTypeSum:
return c.convertSum(metric)
case pdata.MetricDataTypeIntHistogram:
return c.convertIntHistogram(metric)
case pdata.MetricDataTypeHistogram:
Expand Down Expand Up @@ -152,11 +152,11 @@ func (c *collector) convertIntSum(metric pdata.Metric) (prometheus.Metric, error
return m, nil
}

func (c *collector) convertDoubleSum(metric pdata.Metric) (prometheus.Metric, error) {
ip := metric.DoubleSum().DataPoints().At(0)
func (c *collector) convertSum(metric pdata.Metric) (prometheus.Metric, error) {
ip := metric.Sum().DataPoints().At(0)

metricType := prometheus.GaugeValue
if metric.DoubleSum().IsMonotonic() {
if metric.Sum().IsMonotonic() {
metricType = prometheus.CounterValue
}

Expand Down
26 changes: 13 additions & 13 deletions exporter/prometheusexporter/collector_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ func TestConvertInvalidMetric(t *testing.T) {
for _, mType := range []pdata.MetricDataType{
pdata.MetricDataTypeHistogram,
pdata.MetricDataTypeIntHistogram,
pdata.MetricDataTypeDoubleSum,
pdata.MetricDataTypeSum,
pdata.MetricDataTypeIntSum,
pdata.MetricDataTypeDoubleGauge,
pdata.MetricDataTypeIntGauge,
Expand All @@ -83,8 +83,8 @@ func TestConvertInvalidMetric(t *testing.T) {
metric.IntSum().DataPoints().AppendEmpty()
case pdata.MetricDataTypeDoubleGauge:
metric.DoubleGauge().DataPoints().AppendEmpty()
case pdata.MetricDataTypeDoubleSum:
metric.DoubleSum().DataPoints().AppendEmpty()
case pdata.MetricDataTypeSum:
metric.Sum().DataPoints().AppendEmpty()
case pdata.MetricDataTypeIntHistogram:
metric.IntHistogram().DataPoints().AppendEmpty()
case pdata.MetricDataTypeHistogram:
Expand Down Expand Up @@ -225,17 +225,17 @@ func TestCollectMetrics(t *testing.T) {
},
},
{
name: "DoubleSum",
name: "Sum",
metricType: prometheus.GaugeValue,
value: 42.42,
metric: func(ts time.Time) (metric pdata.Metric) {
metric = pdata.NewMetric()
metric.SetName("test_metric")
metric.SetDataType(pdata.MetricDataTypeDoubleSum)
metric.DoubleSum().SetIsMonotonic(false)
metric.DoubleSum().SetAggregationTemporality(pdata.AggregationTemporalityCumulative)
metric.SetDataType(pdata.MetricDataTypeSum)
metric.Sum().SetIsMonotonic(false)
metric.Sum().SetAggregationTemporality(pdata.AggregationTemporalityCumulative)
metric.SetDescription("test description")
dp := metric.DoubleSum().DataPoints().AppendEmpty()
dp := metric.Sum().DataPoints().AppendEmpty()
dp.SetValue(42.42)
dp.LabelsMap().Insert("label_1", "1")
dp.LabelsMap().Insert("label_2", "2")
Expand Down Expand Up @@ -265,17 +265,17 @@ func TestCollectMetrics(t *testing.T) {
},
},
{
name: "MonotonicDoubleSum",
name: "MonotonicSum",
metricType: prometheus.CounterValue,
value: 42.42,
metric: func(ts time.Time) (metric pdata.Metric) {
metric = pdata.NewMetric()
metric.SetName("test_metric")
metric.SetDataType(pdata.MetricDataTypeDoubleSum)
metric.DoubleSum().SetIsMonotonic(true)
metric.DoubleSum().SetAggregationTemporality(pdata.AggregationTemporalityCumulative)
metric.SetDataType(pdata.MetricDataTypeSum)
metric.Sum().SetIsMonotonic(true)
metric.Sum().SetAggregationTemporality(pdata.AggregationTemporalityCumulative)
metric.SetDescription("test description")
dp := metric.DoubleSum().DataPoints().AppendEmpty()
dp := metric.Sum().DataPoints().AppendEmpty()
dp.SetValue(42.42)
dp.LabelsMap().Insert("label_1", "1")
dp.LabelsMap().Insert("label_2", "2")
Expand Down
Loading