Delete stale metrics on object delete #753
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Depends on fluxcd/pkg#612Use the metrics helper to record all the metrics. Metrics helper ensures that the metrics for deleted objects are deleted as well.
Move all the metrics recording to be performed at the very end of the reconciliation. Realtime metrics for readiness is no longer recorded as it will be removed in a future version for CRD metrics collected using kube-state-metrics. Updating the object status with realtime readiness should provide the readiness to CRD metrics watchers.
HelmReleaseReconciler.reconcileDelete()
is modified to receive a pointer HelmRelease object so that any modifications on the object is reflected on the object instance that's passed to the metrics recorder. This is not needed forHelmReleaseReconciler.reconcile()
as it returns a new copy of the object that's saved in the same object variable, overwriting the object instance with the updates.Before this change, the following metrics continued to be exported even after the associated object is deleted for HelmRelease:
With this change, they get deleted once the associated object is deleted.
Also, the metrics helper no longer exports
ConditionDelete
for readiness metrics.