From d8f7ad643c2f52b6f7beda6bcd714acfa013dcca Mon Sep 17 00:00:00 2001 From: Cian Johnston Date: Fri, 16 Aug 2024 11:11:27 +0100 Subject: [PATCH] fix(provisionerd/runner): do not log entire resources fix(coderd/workspaceagentsrpc): do not log entire agent --- coderd/workspaceagentsrpc.go | 14 +++++++++++++- provisionerd/runner/runner.go | 21 +++++++++++++++++---- 2 files changed, 30 insertions(+), 5 deletions(-) diff --git a/coderd/workspaceagentsrpc.go b/coderd/workspaceagentsrpc.go index 1d5a80729680f..a47fa0c12ed1a 100644 --- a/coderd/workspaceagentsrpc.go +++ b/coderd/workspaceagentsrpc.go @@ -116,7 +116,19 @@ func (api *API) workspaceAgentRPC(rw http.ResponseWriter, r *http.Request) { } defer mux.Close() - logger.Debug(ctx, "accepting agent RPC connection", slog.F("agent", workspaceAgent)) + logger.Debug(ctx, "accepting agent RPC connection", + slog.F("agent_id", workspaceAgent.ID), + slog.F("agent_created_at", workspaceAgent.CreatedAt), + slog.F("agent_updated_at", workspaceAgent.UpdatedAt), + slog.F("agent_name", workspaceAgent.Name), + slog.F("agent_first_connected_at", workspaceAgent.FirstConnectedAt.Time), + slog.F("agent_last_connected_at", workspaceAgent.LastConnectedAt.Time), + slog.F("agent_disconnected_at", workspaceAgent.DisconnectedAt.Time), + slog.F("agent_version", workspaceAgent.Version), + slog.F("agent_last_connected_replica_id", workspaceAgent.LastConnectedReplicaID), + slog.F("agent_connection_timeout_seconds", workspaceAgent.ConnectionTimeoutSeconds), + slog.F("agent_api_version", workspaceAgent.APIVersion), + slog.F("agent_resource_id", workspaceAgent.ResourceID)) closeCtx, closeCtxCancel := context.WithCancel(ctx) defer closeCtxCancel() diff --git a/provisionerd/runner/runner.go b/provisionerd/runner/runner.go index edeb5d80f3194..af8add30ef3d8 100644 --- a/provisionerd/runner/runner.go +++ b/provisionerd/runner/runner.go @@ -724,7 +724,7 @@ func (r *Runner) runTemplateImportProvisionWithRichParameters( r.logger.Info(context.Background(), "parse dry-run provision successful", slog.F("resource_count", len(c.Resources)), - slog.F("resources", c.Resources), + slog.F("resources", resourceNames(c.Resources)), ) return &templateImportProvision{ @@ -854,7 +854,7 @@ func (r *Runner) buildWorkspace(ctx context.Context, stage string, req *sdkproto func (r *Runner) commitQuota(ctx context.Context, resources []*sdkproto.Resource) *proto.FailedJob { cost := sumDailyCost(resources) r.logger.Debug(ctx, "committing quota", - slog.F("resources", resources), + slog.F("resources", resourceNames(resources)), slog.F("cost", cost), ) if cost == 0 { @@ -965,7 +965,7 @@ func (r *Runner) runWorkspaceBuild(ctx context.Context) (*proto.CompletedJob, *p r.logger.Info(context.Background(), "plan request successful", slog.F("resource_count", len(planComplete.Resources)), - slog.F("resources", planComplete.Resources), + slog.F("resources", resourceNames(planComplete.Resources)), ) r.flushQueuedLogs(ctx) if commitQuota { @@ -1021,7 +1021,7 @@ func (r *Runner) runWorkspaceBuild(ctx context.Context) (*proto.CompletedJob, *p r.logger.Info(context.Background(), "apply successful", slog.F("resource_count", len(applyComplete.Resources)), - slog.F("resources", applyComplete.Resources), + slog.F("resources", resourceNames(applyComplete.Resources)), slog.F("state_len", len(applyComplete.State)), ) r.flushQueuedLogs(ctx) @@ -1038,6 +1038,19 @@ func (r *Runner) runWorkspaceBuild(ctx context.Context) (*proto.CompletedJob, *p }, nil } +func resourceNames(rs []*sdkproto.Resource) []string { + var sb strings.Builder + names := make([]string, 0, len(rs)) + for _, r := range rs { + _, _ = sb.WriteString(r.Type) + _, _ = sb.WriteString(".") + _, _ = sb.WriteString(r.Name) + names = append(names, sb.String()) + sb.Reset() + } + return names +} + func (r *Runner) failedWorkspaceBuildf(format string, args ...interface{}) *proto.FailedJob { failedJob := r.failedJobf(format, args...) failedJob.Type = &proto.FailedJob_WorkspaceBuild_{} pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy