Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 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 double histogram.
# Required: one of int gauge, int sum, int histogram, double gauge, sum, or double 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 double histogram.
# Required for int sum, int histogram, sum, and double 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