Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion controller/appcontroller.go
Original file line number Diff line number Diff line change
Expand Up @@ -1696,7 +1696,7 @@ func (ctrl *ApplicationController) processAppRefreshQueueItem() (processNext boo
"time_ms": reconcileDuration.Milliseconds(),
"patch_ms": patchDuration.Milliseconds(),
"setop_ms": setOpDuration.Milliseconds(),
}).Info("Reconciliation completed")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i personally look at the times that are emitted by this log message. they can be helpful in seeing where the application controller is spending its time during a reconcile.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rumstead Since i'm changing this log line to DEBUG it will still be available, but users need to turn on debug logs.
Would that be sufficient or do you feel like this is a must have log as INFO?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Setting the logging to debug is a reactive step. I see the log line going back to 2019. Why do we feel it's too verbose now?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

isn't that just adding 3 additional fields? project, namespace, and application name?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, those additional field will make the log line longer, but you're right its likely not significant enough to cause the volume increase.

I think we can go ahead and close this ticket as these logs are worth keeping. Thanks for the review anyway @rumstead

}).Debug("Reconciliation completed")
}()

if comparisonLevel == ComparisonWithNothing {
Expand Down
2 changes: 1 addition & 1 deletion controller/state.go
Original file line number Diff line number Diff line change
Expand Up @@ -344,7 +344,7 @@ func (m *appStateManager) GetRepoObjs(ctx context.Context, app *v1alpha1.Applica
logCtx = logCtx.WithField(k, v.Milliseconds())
}
logCtx = logCtx.WithField("time_ms", time.Since(ts.StartTime).Milliseconds())
logCtx.Info("GetRepoObjs stats")
logCtx.Debug("GetRepoObjs stats")

return targetObjs, manifestInfos, revisionsMayHaveChanges, nil
}
Expand Down
6 changes: 6 additions & 0 deletions docs/operator-manual/upgrading/3.1-3.2.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,3 +94,9 @@ credentials of project-scoped repositories and clusters.
The `resources` field of the `status` resource of an ApplicationSet is now limited to 5000 elements by default. This is
to prevent status bloat and exceeding etcd limits. The limit can be configured by setting the `applicationsetcontroller.status.max.resources.count`
field in the `argocd-cmd-params-cm` ConfigMap.

## High frequency reconciliation logs moved to DEBUG level

To reduce log volume and align with Kubernetes controller best practices, routine reconciliation completion logs have been moved from INFO to DEBUG level. This includes:
- "Reconciliation completed" logs in the application controller
- "GetRepoObjs stats" logs during manifest generation
Loading