From 330efa6527253b02cd15310e71596136f1fbc64d Mon Sep 17 00:00:00 2001 From: Marc Paquette Date: Mon, 21 Oct 2024 19:09:39 +0000 Subject: [PATCH 1/2] Change the Reconfigurablesink to be an interface We can now accept other logging solutions (slog) as an argument for greater flexiblity --- cf_debug_server_suite_test.go | 2 +- server.go | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/cf_debug_server_suite_test.go b/cf_debug_server_suite_test.go index 7b82d24..b328253 100644 --- a/cf_debug_server_suite_test.go +++ b/cf_debug_server_suite_test.go @@ -19,5 +19,5 @@ func TestCfDebugServer(t *testing.T) { var _ = SynchronizedBeforeSuite(func() []byte { return nil }, func(encodedBuiltArtifacts []byte) { - address = fmt.Sprintf("127.0.0.1:%d", 10000+GinkgoParallelNode()) + address = fmt.Sprintf("127.0.0.1:%d", 10000+GinkgoParallelProcess()) }) diff --git a/server.go b/server.go index f45137b..280442f 100644 --- a/server.go +++ b/server.go @@ -21,6 +21,11 @@ type DebugServerConfig struct { DebugAddress string `json:"debug_address"` } +type ReconfigurableSinkInterface interface { + SetMinLevel(level lager.LogLevel) + GetMinLevel() lager.LogLevel +} + func AddFlags(flags *flag.FlagSet) { flags.String( DebugFlag, @@ -38,11 +43,11 @@ func DebugAddress(flags *flag.FlagSet) string { return dbgFlag.Value.String() } -func Runner(address string, sink *lager.ReconfigurableSink) ifrit.Runner { +func Runner(address string, sink ReconfigurableSinkInterface) ifrit.Runner { return http_server.New(address, Handler(sink)) } -func Run(address string, sink *lager.ReconfigurableSink) (ifrit.Process, error) { +func Run(address string, sink ReconfigurableSinkInterface) (ifrit.Process, error) { p := ifrit.Invoke(Runner(address, sink)) select { case <-p.Ready(): @@ -52,7 +57,7 @@ func Run(address string, sink *lager.ReconfigurableSink) (ifrit.Process, error) return p, nil } -func Handler(sink *lager.ReconfigurableSink) http.Handler { +func Handler(sink ReconfigurableSinkInterface) http.Handler { mux := http.NewServeMux() mux.Handle("/debug/pprof/", http.HandlerFunc(pprof.Index)) mux.Handle("/debug/pprof/trace", http.HandlerFunc(pprof.Trace)) From a83d9c181101f2cb196698f9d784956a80eb4770 Mon Sep 17 00:00:00 2001 From: Marc Paquette Date: Wed, 23 Oct 2024 14:30:02 +0000 Subject: [PATCH 2/2] Remove GetMinLevel() requirement from interface as it's not used --- server.go | 1 - 1 file changed, 1 deletion(-) diff --git a/server.go b/server.go index 280442f..e1fbd4e 100644 --- a/server.go +++ b/server.go @@ -23,7 +23,6 @@ type DebugServerConfig struct { type ReconfigurableSinkInterface interface { SetMinLevel(level lager.LogLevel) - GetMinLevel() lager.LogLevel } func AddFlags(flags *flag.FlagSet) {