diff --git a/NOTICE-fips.txt b/NOTICE-fips.txt index cde4838c80..d960a6aff5 100644 --- a/NOTICE-fips.txt +++ b/NOTICE-fips.txt @@ -872,11 +872,11 @@ Contents of probable licence file $GOMODCACHE/github.com/elastic/elastic-agent-l -------------------------------------------------------------------------------- Dependency : github.com/elastic/elastic-agent-system-metrics -Version: v0.11.16 +Version: v0.13.2 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/elastic/elastic-agent-system-metrics@v0.11.16/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/elastic/elastic-agent-system-metrics@v0.13.2/LICENSE.txt: Apache License Version 2.0, January 2004 diff --git a/NOTICE.txt b/NOTICE.txt index 0dfcfbd513..6487788b3e 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -872,11 +872,11 @@ Contents of probable licence file $GOMODCACHE/github.com/elastic/elastic-agent-l -------------------------------------------------------------------------------- Dependency : github.com/elastic/elastic-agent-system-metrics -Version: v0.11.16 +Version: v0.13.2 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/elastic/elastic-agent-system-metrics@v0.11.16/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/elastic/elastic-agent-system-metrics@v0.13.2/LICENSE.txt: Apache License Version 2.0, January 2004 diff --git a/go.mod b/go.mod index b1f70a7c01..189b859fcf 100644 --- a/go.mod +++ b/go.mod @@ -9,7 +9,7 @@ require ( github.com/docker/go-units v0.5.0 github.com/elastic/elastic-agent-client/v7 v7.17.2 github.com/elastic/elastic-agent-libs v0.24.0 - github.com/elastic/elastic-agent-system-metrics v0.11.16 + github.com/elastic/elastic-agent-system-metrics v0.13.2 github.com/elastic/go-elasticsearch/v8 v8.18.1 github.com/elastic/go-ucfg v0.8.8 github.com/fxamacker/cbor/v2 v2.8.0 diff --git a/go.sum b/go.sum index 667566d10d..07b7f31647 100644 --- a/go.sum +++ b/go.sum @@ -37,8 +37,8 @@ github.com/elastic/elastic-agent-client/v7 v7.17.2 h1:Cl2TeABqWZgW40t5fchGWT/sRk github.com/elastic/elastic-agent-client/v7 v7.17.2/go.mod h1:5irRFqp6HLqtu1S+OeY0jg8x7K6PLL+DW+PwVk1vJnk= github.com/elastic/elastic-agent-libs v0.24.0 h1:8skd0le8Y/zAGVaj4m44ljiJMAp0xuJz07ngDTL/1kM= github.com/elastic/elastic-agent-libs v0.24.0/go.mod h1:xSeIP3NtOIT4N2pPS4EyURmS1Q8mK0lWZ8Wd1Du6q3w= -github.com/elastic/elastic-agent-system-metrics v0.11.16 h1:cLjuO8pE5cUwPGWUHmy1VOERmJVDaep8gY+U4YRQ5vs= -github.com/elastic/elastic-agent-system-metrics v0.11.16/go.mod h1:qiZC5p1hd8te4XVnhh7FkXdcYhxFnl5i9GJpROtf6zo= +github.com/elastic/elastic-agent-system-metrics v0.13.2 h1:R4ogKHESuWhWTtopnw/aHnBxxSZbxd7KHV4GefdwT2M= +github.com/elastic/elastic-agent-system-metrics v0.13.2/go.mod h1:ezM1kzDUT+vWXFh5oK8QXB/AEB0UoLWqWA8rkRicFFo= github.com/elastic/elastic-transport-go/v8 v8.7.0 h1:OgTneVuXP2uip4BA658Xi6Hfw+PeIOod2rY3GVMGoVE= github.com/elastic/elastic-transport-go/v8 v8.7.0/go.mod h1:YLHer5cj0csTzNFXoNQ8qhtGY1GTvSqPnKWKaqQE3Hk= github.com/elastic/go-elasticsearch/v8 v8.18.1 h1:lPsN2Wk6+QqBeD4ckmOax7G/Y8tAZgroDYG8j6/5Ce0= diff --git a/internal/pkg/api/metrics.go b/internal/pkg/api/metrics.go index 7e4c6f096d..cc2aaa4920 100644 --- a/internal/pkg/api/metrics.go +++ b/internal/pkg/api/metrics.go @@ -10,6 +10,7 @@ import ( "fmt" "sync" + "github.com/gofrs/uuid/v5" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/promhttp" "github.com/rs/zerolog" @@ -55,7 +56,17 @@ var ( // metrics must be explicitly exposed with a call to InitMetrics // FIXME we have global metrics but an internal and external API; this may lead to some confusion. func init() { - err := report.SetupMetrics(logger.NewZapStub("instance-metrics"), build.ServiceName, version.DefaultVersion) + // maintain original behaviour from deprecated report.SetupMetrics + ephemeralID, _ := uuid.NewV4() + err := report.SetupMetricsOptions(report.MetricOptions{ + Name: build.ServiceName, + Version: version.DefaultVersion, + EphemeralID: ephemeralID.String(), + Logger: logger.NewZapStub("instance-metrics"), + SystemMetrics: monitoring.Default.GetOrCreateRegistry("system"), + ProcessMetrics: monitoring.Default.GetOrCreateRegistry("beat"), + }) + if err != nil { zerolog.Ctx(context.TODO()).Error().Err(err).Msg("unable to initialize metrics") // TODO is used because this may logged during the package load } @@ -91,7 +102,7 @@ func newMetricsRegistry(name string) *metricsRegistry { reg := monitoring.Default return &metricsRegistry{ fullName: name, - registry: reg.NewRegistry(name), + registry: reg.GetOrCreateRegistry(name), promReg: prometheus.NewRegistry(), } } @@ -103,7 +114,7 @@ func (r *metricsRegistry) newRegistry(name string) *metricsRegistry { } return &metricsRegistry{ fullName: fullName, - registry: r.registry.NewRegistry(name), + registry: r.registry.GetOrCreateRegistry(name), promReg: r.promReg, } }