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
7 changes: 4 additions & 3 deletions remappers/hostmetrics/cpu.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@
package hostmetrics

import (
"errors"

"go.opentelemetry.io/collector/pdata/pcommon"
"go.opentelemetry.io/collector/pdata/pmetric"

Expand Down Expand Up @@ -146,7 +144,10 @@ func remapCPUMetrics(
)

if numCores == 0 {
return errors.New("system.cpu.logical.count metric is missing in the hostmetrics")
// system.cpu.logical.count is optional, and if it's not
// present we can't calculate the normalized values.
// This is not an error, so we just return early.
return nil
}

totalNorm := totalPercent / float64(numCores)
Expand Down
11 changes: 10 additions & 1 deletion remappers/hostmetrics/hostmetrics_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,10 @@ import (
"github.com/stretchr/testify/assert"
"go.opentelemetry.io/collector/pdata/pcommon"
"go.opentelemetry.io/collector/pdata/pmetric"
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
"go.uber.org/zap/zaptest"
"go.uber.org/zap/zaptest/observer"
)

var (
Expand Down Expand Up @@ -348,10 +351,16 @@ func doTestRemap(t *testing.T, id string, remapOpts ...Option) {
resource := pcommon.NewResource()
resource.Attributes().FromRaw(tc.resourceAttrs)

core, observedLogs := observer.New(zapcore.WarnLevel)
logger := zap.New(core)

actual := pmetric.NewMetricSlice()
r := NewRemapper(zaptest.NewLogger(t), remapOpts...)
r := NewRemapper(logger, remapOpts...)
r.Remap(sm, actual, resource)
assert.Empty(t, cmp.Diff(tc.expected, testutils.MetricSliceToTestMetric(t, actual), cmpopts.EquateApprox(0, 0.001)))

// There should be no warning or error logs.
assert.Zero(t, observedLogs.Len())
})
}
}
Expand Down
Loading