Skip to content

Commit a46aee9

Browse files
authored
Replace global logger with local logger in monitoring/adapter (#341)
* Replace global logger with local logger in monitoring/adapter * skip caller 1 in recover
1 parent 10b7865 commit a46aee9

File tree

3 files changed

+12
-11
lines changed

3 files changed

+12
-11
lines changed

logp/logger.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -340,7 +340,7 @@ func (l *Logger) DPanicw(msg string, keysAndValues ...interface{}) {
340340
func (l *Logger) Recover(msg string) {
341341
if r := recover(); r != nil {
342342
msg := fmt.Sprintf("%s. Recovering, but please report this.", msg)
343-
l.Error(msg, zap.Any("panic", r), zap.Stack("stack"))
343+
l.WithOptions(zap.AddCallerSkip(1)).Error(msg, zap.Any("panic", r), zap.Stack("stack"))
344344
}
345345
}
346346

monitoring/adapter/go-metrics.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -58,23 +58,23 @@ type GoMetricsRegistry struct {
5858
//
5959
// it's recommended to have the underlying registry being generated with
6060
// `monitoring.IgnorePublishExpvar`.
61-
func GetGoMetrics(parent *monitoring.Registry, name string, filters ...MetricFilter) *GoMetricsRegistry {
61+
func GetGoMetrics(parent *monitoring.Registry, name string, logger *logp.Logger, filters ...MetricFilter) *GoMetricsRegistry {
6262
v := parent.Get(name)
6363
if v == nil {
64-
return NewGoMetrics(parent, name, filters...)
64+
return NewGoMetrics(parent, name, logger, filters...)
6565
}
66-
return newGoMetrics(v.(*monitoring.Registry), filters...) //nolint:errcheck //code depends on panic
66+
return newGoMetrics(v.(*monitoring.Registry), logger, filters...) //nolint:errcheck //code depends on panic
6767
}
6868

6969
// NewGoMetrics creates and registers a new GoMetricsRegistry with the parent
7070
// registry.
71-
func NewGoMetrics(parent *monitoring.Registry, name string, filters ...MetricFilter) *GoMetricsRegistry {
72-
return newGoMetrics(parent.NewRegistry(name, monitoring.IgnorePublishExpvar), filters...)
71+
func NewGoMetrics(parent *monitoring.Registry, name string, logger *logp.Logger, filters ...MetricFilter) *GoMetricsRegistry {
72+
return newGoMetrics(parent.NewRegistry(name, monitoring.IgnorePublishExpvar), logger, filters...)
7373
}
7474

75-
func newGoMetrics(reg *monitoring.Registry, filters ...MetricFilter) *GoMetricsRegistry {
75+
func newGoMetrics(reg *monitoring.Registry, logger *logp.Logger, filters ...MetricFilter) *GoMetricsRegistry {
7676
return &GoMetricsRegistry{
77-
log: logp.NewLogger("monitoring"),
77+
log: logger.Named("monitoring"),
7878
reg: reg,
7979
shadow: metrics.NewRegistry(),
8080
filters: makeFilters(filters...),

monitoring/adapter/go-metrics_test.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import (
2525
"github.com/stretchr/testify/assert"
2626
"github.com/stretchr/testify/require"
2727

28+
"github.com/elastic/elastic-agent-libs/logp"
2829
"github.com/elastic/elastic-agent-libs/monitoring"
2930
)
3031

@@ -53,7 +54,7 @@ func TestGoMetricsAdapter(t *testing.T) {
5354
}
5455

5556
monReg := monitoring.NewRegistry()
56-
var reg metrics.Registry = GetGoMetrics(monReg, "test", filters...)
57+
var reg metrics.Registry = GetGoMetrics(monReg, "test", logp.NewNopLogger(), filters...)
5758

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

0 commit comments

Comments
 (0)