Skip to content
Closed
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
2 changes: 1 addition & 1 deletion logp/logger.go
Original file line number Diff line number Diff line change
Expand Up @@ -322,7 +322,7 @@ func (l *Logger) DPanicw(msg string, keysAndValues ...interface{}) {
func (l *Logger) Recover(msg string) {
if r := recover(); r != nil {
msg := fmt.Sprintf("%s. Recovering, but please report this.", msg)
l.Error(msg, zap.Any("panic", r), zap.Stack("stack"))
l.WithOptions(zap.AddCallerSkip(1)).Error(msg, zap.Any("panic", r), zap.Stack("stack"))
}
}

Expand Down
14 changes: 7 additions & 7 deletions monitoring/adapter/go-metrics.go
Original file line number Diff line number Diff line change
Expand Up @@ -58,23 +58,23 @@
//
// it's recommended to have the underlying registry being generated with
// `monitoring.IgnorePublishExpvar`.
func GetGoMetrics(parent *monitoring.Registry, name string, filters ...MetricFilter) *GoMetricsRegistry {
func GetGoMetrics(parent *monitoring.Registry, name string, logger *logp.Logger, filters ...MetricFilter) *GoMetricsRegistry {
v := parent.Get(name)
if v == nil {
return NewGoMetrics(parent, name, filters...)
return NewGoMetrics(parent, name, logger, filters...)
}
return newGoMetrics(v.(*monitoring.Registry), filters...) //nolint:errcheck //code depends on panic
return newGoMetrics(v.(*monitoring.Registry), logger, filters...) //nolint:errcheck //code depends on panic
}

// NewGoMetrics creates and registers a new GoMetricsRegistry with the parent
// registry.
func NewGoMetrics(parent *monitoring.Registry, name string, filters ...MetricFilter) *GoMetricsRegistry {
return newGoMetrics(parent.NewRegistry(name, monitoring.IgnorePublishExpvar), filters...)
func NewGoMetrics(parent *monitoring.Registry, name string, logger *logp.Logger, filters ...MetricFilter) *GoMetricsRegistry {
return newGoMetrics(parent.NewRegistry(name, monitoring.IgnorePublishExpvar), logger, filters...)

Check failure on line 72 in monitoring/adapter/go-metrics.go

View workflow job for this annotation

GitHub Actions / lint (ubuntu-latest)

SA1019: parent.NewRegistry is deprecated: Use GetOrCreateRegistry instead, which does not panic if the given name already exists. (staticcheck)

Check failure on line 72 in monitoring/adapter/go-metrics.go

View workflow job for this annotation

GitHub Actions / lint (macos-latest)

SA1019: parent.NewRegistry is deprecated: Use GetOrCreateRegistry instead, which does not panic if the given name already exists. (staticcheck)
}

func newGoMetrics(reg *monitoring.Registry, filters ...MetricFilter) *GoMetricsRegistry {
func newGoMetrics(reg *monitoring.Registry, logger *logp.Logger, filters ...MetricFilter) *GoMetricsRegistry {
return &GoMetricsRegistry{
log: logp.NewLogger("monitoring"),
log: logger.Named("monitoring"),
reg: reg,
shadow: metrics.NewRegistry(),
filters: makeFilters(filters...),
Expand Down
7 changes: 4 additions & 3 deletions monitoring/adapter/go-metrics_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"

"github.com/elastic/elastic-agent-libs/logp"
"github.com/elastic/elastic-agent-libs/monitoring"
)

Expand Down Expand Up @@ -53,7 +54,7 @@ func TestGoMetricsAdapter(t *testing.T) {
}

monReg := monitoring.NewRegistry()
var reg metrics.Registry = GetGoMetrics(monReg, "test", filters...)
var reg metrics.Registry = GetGoMetrics(monReg, "test", logp.NewNopLogger(), filters...)

// register some metrics and check they're satisfying the go-metrics interface
// no matter if owned by monitoring or go-metrics
Expand Down Expand Up @@ -116,8 +117,8 @@ func TestGoMetricsHistogramClearOnVisit(t *testing.T) {
monReg := monitoring.NewRegistry()
histogramSample := metrics.NewUniformSample(10)
clearedHistogramSample := metrics.NewUniformSample(10)
_ = NewGoMetrics(monReg, "original", Accept).Register("histogram", metrics.NewHistogram(histogramSample))
_ = NewGoMetrics(monReg, "cleared", Accept).Register("histogram", NewClearOnVisitHistogram(clearedHistogramSample))
_ = NewGoMetrics(monReg, "original", logp.NewNopLogger(), Accept).Register("histogram", metrics.NewHistogram(histogramSample))
_ = NewGoMetrics(monReg, "cleared", logp.NewNopLogger(), Accept).Register("histogram", NewClearOnVisitHistogram(clearedHistogramSample))
dataPoints := [...]int{2, 4, 8, 4, 2}
dataPointsMedian := 4.0
for _, i := range dataPoints {
Expand Down
Loading