fix(provisionerd/runner): do not log entire resources (#14538)

fix(coderd/workspaceagentsrpc): do not log entire agent
fix(provisionerd/runner): do not log entire resources
This commit is contained in:
Cian Johnston
2024-09-04 10:23:34 +01:00
committed by GitHub
parent 8f85464fe6
commit 5366f2576f
2 changed files with 30 additions and 5 deletions
+13 -1
View File
@@ -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()
+17 -4
View File
@@ -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_{}