From fd5a80b7ba84a1fe813f3211f54e15387cf0b5d4 Mon Sep 17 00:00:00 2001 From: Kschappacher <56745262+Kschappacher@users.noreply.github.com> Date: Wed, 4 Dec 2024 15:20:33 -0500 Subject: [PATCH 1/8] log important viam env variables --- web/server/entrypoint.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/web/server/entrypoint.go b/web/server/entrypoint.go index a2b5b1fdbdc..f199499176e 100644 --- a/web/server/entrypoint.go +++ b/web/server/entrypoint.go @@ -57,6 +57,18 @@ type robotServer struct { registry *logging.Registry } +func logViamEnvVariables(logger logging.Logger) { + if value, exists := os.LookupEnv("VIAM_MODULE_ROOT"); exists { + logger.Info("VIAM_MODULE_ROOT set : ", value) + } + if value, exists := os.LookupEnv("VIAM_RESOURCE_CONFIGURATION_TIMEOUT"); exists { + logger.Info("VIAM_RESOURCE_CONFIGURATION_TIMEOUT set :", value) + } + if value, exists := os.LookupEnv("VIAM_MODULE_STARTUP_TIMEOUT"); exists { + logger.Info("VIAM_MODULE_STARTUP_TIMEOUT is set to:", value) + } +} + func logVersion(logger logging.Logger) { var versionFields []interface{} if config.Version != "" { @@ -70,6 +82,7 @@ func logVersion(logger logging.Logger) { } else { logger.Info("Viam RDK built from source; version unknown") } + logViamEnvVariables(logger) } // RunServer is an entry point to starting the web server that can be called by main in a code From b275ba43d32b6a290cf2f8cb532ec1d4695c4d62 Mon Sep 17 00:00:00 2001 From: Kschappacher <56745262+Kschappacher@users.noreply.github.com> Date: Wed, 4 Dec 2024 15:22:44 -0500 Subject: [PATCH 2/8] fix log --- web/server/entrypoint.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/web/server/entrypoint.go b/web/server/entrypoint.go index f199499176e..4b783aebfd6 100644 --- a/web/server/entrypoint.go +++ b/web/server/entrypoint.go @@ -59,13 +59,13 @@ type robotServer struct { func logViamEnvVariables(logger logging.Logger) { if value, exists := os.LookupEnv("VIAM_MODULE_ROOT"); exists { - logger.Info("VIAM_MODULE_ROOT set : ", value) + logger.Info("VIAM_MODULE_ROOT is set to: ", value) } if value, exists := os.LookupEnv("VIAM_RESOURCE_CONFIGURATION_TIMEOUT"); exists { - logger.Info("VIAM_RESOURCE_CONFIGURATION_TIMEOUT set :", value) + logger.Info("VIAM_RESOURCE_CONFIGURATION_TIMEOUT is set to: ", value) } if value, exists := os.LookupEnv("VIAM_MODULE_STARTUP_TIMEOUT"); exists { - logger.Info("VIAM_MODULE_STARTUP_TIMEOUT is set to:", value) + logger.Info("VIAM_MODULE_STARTUP_TIMEOUT is set to: ", value) } } From d15127be35c18f43bf1c4d13a3d8e9989bd60842 Mon Sep 17 00:00:00 2001 From: Kschappacher <56745262+Kschappacher@users.noreply.github.com> Date: Wed, 4 Dec 2024 15:48:06 -0500 Subject: [PATCH 3/8] use logger.infow and move log out of version log --- web/server/entrypoint.go | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/web/server/entrypoint.go b/web/server/entrypoint.go index 4b783aebfd6..67fd182fa60 100644 --- a/web/server/entrypoint.go +++ b/web/server/entrypoint.go @@ -58,14 +58,18 @@ type robotServer struct { } func logViamEnvVariables(logger logging.Logger) { + var viamEnvVariables []interface{} if value, exists := os.LookupEnv("VIAM_MODULE_ROOT"); exists { - logger.Info("VIAM_MODULE_ROOT is set to: ", value) + viamEnvVariables = append(viamEnvVariables, "VIAM_MODULE_ROOT: ", value) } if value, exists := os.LookupEnv("VIAM_RESOURCE_CONFIGURATION_TIMEOUT"); exists { - logger.Info("VIAM_RESOURCE_CONFIGURATION_TIMEOUT is set to: ", value) + viamEnvVariables = append(viamEnvVariables, "VIAM_RESOURCE_CONFIGURATION_TIMEOUT: ", value) } if value, exists := os.LookupEnv("VIAM_MODULE_STARTUP_TIMEOUT"); exists { - logger.Info("VIAM_MODULE_STARTUP_TIMEOUT is set to: ", value) + viamEnvVariables = append(viamEnvVariables, "VIAM_MODULE_STARTUP_TIMEOUT: ", value) + } + if len(viamEnvVariables) != 0 { + logger.Infow("Viam Env variables", viamEnvVariables...) } } @@ -82,7 +86,6 @@ func logVersion(logger logging.Logger) { } else { logger.Info("Viam RDK built from source; version unknown") } - logViamEnvVariables(logger) } // RunServer is an entry point to starting the web server that can be called by main in a code @@ -112,6 +115,8 @@ func RunServer(ctx context.Context, args []string, _ logging.Logger) (err error) return } + logViamEnvVariables(logger) + // log version locally if server fails and exits while attempting to start up var versionLogged bool defer func() { From bad0c9879f24b8a7def6ef64e2318a1046d38b11 Mon Sep 17 00:00:00 2001 From: Kschappacher <56745262+Kschappacher@users.noreply.github.com> Date: Wed, 4 Dec 2024 15:50:11 -0500 Subject: [PATCH 4/8] update casing --- web/server/entrypoint.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/server/entrypoint.go b/web/server/entrypoint.go index 67fd182fa60..f83509e79c9 100644 --- a/web/server/entrypoint.go +++ b/web/server/entrypoint.go @@ -69,7 +69,7 @@ func logViamEnvVariables(logger logging.Logger) { viamEnvVariables = append(viamEnvVariables, "VIAM_MODULE_STARTUP_TIMEOUT: ", value) } if len(viamEnvVariables) != 0 { - logger.Infow("Viam Env variables", viamEnvVariables...) + logger.Infow("Viam env variables", viamEnvVariables...) } } From 79517d49d1a08eb80dd32662792943b6e7a8d8a6 Mon Sep 17 00:00:00 2001 From: Kschappacher <56745262+Kschappacher@users.noreply.github.com> Date: Wed, 4 Dec 2024 16:22:27 -0500 Subject: [PATCH 5/8] add home variable --- web/server/entrypoint.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/web/server/entrypoint.go b/web/server/entrypoint.go index f83509e79c9..b375dec261d 100644 --- a/web/server/entrypoint.go +++ b/web/server/entrypoint.go @@ -60,13 +60,16 @@ type robotServer struct { func logViamEnvVariables(logger logging.Logger) { var viamEnvVariables []interface{} if value, exists := os.LookupEnv("VIAM_MODULE_ROOT"); exists { - viamEnvVariables = append(viamEnvVariables, "VIAM_MODULE_ROOT: ", value) + viamEnvVariables = append(viamEnvVariables, "VIAM_MODULE_ROOT", value) } if value, exists := os.LookupEnv("VIAM_RESOURCE_CONFIGURATION_TIMEOUT"); exists { - viamEnvVariables = append(viamEnvVariables, "VIAM_RESOURCE_CONFIGURATION_TIMEOUT: ", value) + viamEnvVariables = append(viamEnvVariables, "VIAM_RESOURCE_CONFIGURATION_TIMEOUT", value) } if value, exists := os.LookupEnv("VIAM_MODULE_STARTUP_TIMEOUT"); exists { - viamEnvVariables = append(viamEnvVariables, "VIAM_MODULE_STARTUP_TIMEOUT: ", value) + viamEnvVariables = append(viamEnvVariables, "VIAM_MODULE_STARTUP_TIMEOUT", value) + } + if rutils.PlatformHomeDir() != "" { + viamEnvVariables = append(viamEnvVariables, "HOME", rutils.PlatformHomeDir()) } if len(viamEnvVariables) != 0 { logger.Infow("Viam env variables", viamEnvVariables...) From a6728a83914dfd44588992a1e6a462d1a441d08e Mon Sep 17 00:00:00 2001 From: Kurt S <56745262+Kschappacher@users.noreply.github.com> Date: Wed, 4 Dec 2024 17:14:36 -0500 Subject: [PATCH 6/8] Update web/server/entrypoint.go Co-authored-by: Cheuk <90270663+cheukt@users.noreply.github.com> --- web/server/entrypoint.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/server/entrypoint.go b/web/server/entrypoint.go index b375dec261d..55de0084eaa 100644 --- a/web/server/entrypoint.go +++ b/web/server/entrypoint.go @@ -72,7 +72,7 @@ func logViamEnvVariables(logger logging.Logger) { viamEnvVariables = append(viamEnvVariables, "HOME", rutils.PlatformHomeDir()) } if len(viamEnvVariables) != 0 { - logger.Infow("Viam env variables", viamEnvVariables...) + logger.Infow("Starting viam-server with following environment variables", viamEnvVariables...) } } From d093f17b9d202d5a63fa10dc6948d1ee7799a9dc Mon Sep 17 00:00:00 2001 From: Kschappacher <56745262+Kschappacher@users.noreply.github.com> Date: Wed, 4 Dec 2024 17:16:39 -0500 Subject: [PATCH 7/8] move logger so it is captured on cloud --- web/server/entrypoint.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/web/server/entrypoint.go b/web/server/entrypoint.go index b375dec261d..ab782188295 100644 --- a/web/server/entrypoint.go +++ b/web/server/entrypoint.go @@ -118,8 +118,6 @@ func RunServer(ctx context.Context, args []string, _ logging.Logger) (err error) return } - logViamEnvVariables(logger) - // log version locally if server fails and exits while attempting to start up var versionLogged bool defer func() { @@ -185,6 +183,8 @@ func RunServer(ctx context.Context, args []string, _ logging.Logger) (err error) logVersion(logger) versionLogged = true + logViamEnvVariables(logger) + server := robotServer{ logger: logger, args: argsParsed, From 52fb336f5cef0b14f4ffbf486d6cb1f55a94d72d Mon Sep 17 00:00:00 2001 From: Kschappacher <56745262+Kschappacher@users.noreply.github.com> Date: Thu, 5 Dec 2024 14:44:38 -0500 Subject: [PATCH 8/8] refactor to couple log version and logViamEnvVariables --- web/server/entrypoint.go | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/web/server/entrypoint.go b/web/server/entrypoint.go index 0d87cae9714..759e7f5f4fb 100644 --- a/web/server/entrypoint.go +++ b/web/server/entrypoint.go @@ -91,6 +91,11 @@ func logVersion(logger logging.Logger) { } } +func logStartupInfo(logger logging.Logger) { + logVersion(logger) + logViamEnvVariables(logger) +} + // RunServer is an entry point to starting the web server that can be called by main in a code // sample or otherwise be used to initialize the server. func RunServer(ctx context.Context, args []string, _ logging.Logger) (err error) { @@ -113,17 +118,17 @@ func RunServer(ctx context.Context, args []string, _ logging.Logger) (err error) config.InitLoggingSettings(logger, argsParsed.Debug) if argsParsed.Version { - // log version here and return if version flag. - logVersion(logger) + // log startup info here and return if version flag. + logStartupInfo(logger) return } - // log version locally if server fails and exits while attempting to start up - var versionLogged bool + // log startup info locally if server fails and exits while attempting to start up + var startupInfoLogged bool defer func() { - if !versionLogged { + if !startupInfoLogged { logger.CInfo(ctx, "error starting viam-server, logging version and exiting") - logVersion(logger) + logStartupInfo(logger) } }() @@ -179,11 +184,9 @@ func RunServer(ctx context.Context, args []string, _ logging.Logger) (err error) registry.AddAppenderToAll(netAppender) } - // log version after netlogger is initialized so it's captured in cloud machine logs. - logVersion(logger) - versionLogged = true - - logViamEnvVariables(logger) + // log startup info after netlogger is initialized so it's captured in cloud machine logs. + logStartupInfo(logger) + startupInfoLogged = true server := robotServer{ logger: logger,