From e3b4e9c22943de62dc8f39ffc06c0c522e9bb161 Mon Sep 17 00:00:00 2001 From: Victor Agababov Date: Mon, 12 Oct 2020 15:14:17 -0700 Subject: [PATCH] Step I: move memstats to metrics (#1799) step II: update deps (serving and eventing) step: III: remove from shared main For https://github.com/knative/serving/issues/9787 --- injection/sharedmain/main.go | 8 +------- metrics/memstats.go | 12 ++++++++++++ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/injection/sharedmain/main.go b/injection/sharedmain/main.go index c9dd034de..cce73e82b 100644 --- a/injection/sharedmain/main.go +++ b/injection/sharedmain/main.go @@ -24,7 +24,6 @@ import ( "os" "time" - "go.opencensus.io/stats/view" _ "go.uber.org/automaxprocs" // automatically set GOMAXPROCS based on cgroups "go.uber.org/zap" "golang.org/x/sync/errgroup" @@ -257,12 +256,7 @@ func ParseAndGetConfigOrDie() *rest.Config { // MemStatsOrDie sets up reporting on Go memory usage every 30 seconds or dies // by calling log.Fatalf. func MemStatsOrDie(ctx context.Context) { - msp := metrics.NewMemStatsAll() - msp.Start(ctx, 30*time.Second) - - if err := view.Register(msp.DefaultViews()...); err != nil { - log.Fatal("Error exporting go memstats view: ", err) - } + metrics.MemStatsOrDie(ctx) } // SetupLoggerOrDie sets up the logger using the config from the given context diff --git a/metrics/memstats.go b/metrics/memstats.go index 51c1ede14..719c7e018 100644 --- a/metrics/memstats.go +++ b/metrics/memstats.go @@ -18,6 +18,7 @@ package metrics import ( "context" + "log" "runtime" "time" @@ -167,6 +168,17 @@ func NewMemStatsAll() *MemStatsProvider { } } +// MemStatsOrDie sets up reporting on Go memory usage every 30 seconds or dies +// by calling log.Fatalf. +func MemStatsOrDie(ctx context.Context) { + msp := NewMemStatsAll() + msp.Start(ctx, 30*time.Second) + + if err := view.Register(msp.DefaultViews()...); err != nil { + log.Fatal("Error exporting go memstats view: ", err) + } +} + // MemStatsProvider is used to expose metrics based on Go's runtime.MemStats. // The fields below (and their comments) are a filtered list taken from // Go's runtime.MemStats.