You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We are using Kyverno as a Policy engine in the Kubernetes environment in our product. We often see an increase in the memory consumption of the Kyverno pod due to collected in-memory metrics which have high cardinality due to many labels.
As of release-1.8 Kyverno started to support OpenTelemetry. After this transition this feature of reseting internal metrics to clean its memory usage is lost as OpenTelemetry does not allow reseting metrics, which is supported by the underlying Prometheus library.
What did you expect to see?
OpenTelemetry should support reseting the in-memory metric vectors allowing to clean its memory usage. As this is supported by Prometheus to reset the Metric vectors and OpenTelemetry is using Prometheus client library hence, it would be very beneficial for us to consume this feature again in the Kyverno project.
This issue was initially created in the open-telemetry/opentelemetry-go/issues#4752 but it was suggested to open a new issue in this repository first.
What are you trying to achieve?
We are using Kyverno as a Policy engine in the Kubernetes environment in our product. We often see an increase in the memory consumption of the Kyverno pod due to collected in-memory metrics which have high cardinality due to many labels.
Up-to and including
release-1.7
of Kyverno it was using the Prometheus library directly to expose Metrics. Prometheus client library supports reseting metric vectors which were used by Kyverno to periodically (configurable period) reset its internal metrics registry to clean its memory usage and footprint associated with metrics.As of release-1.8 Kyverno started to support OpenTelemetry. After this transition this feature of reseting internal metrics to clean its memory usage is lost as OpenTelemetry does not allow reseting metrics, which is supported by the underlying Prometheus library.
What did you expect to see?
OpenTelemetry should support reseting the in-memory metric vectors allowing to clean its memory usage. As this is supported by Prometheus to reset the Metric vectors and OpenTelemetry is using Prometheus client library hence, it would be very beneficial for us to consume this feature again in the Kyverno project.
Additional context.
As mentioned the underlying Prometheus library supports reseting in-memory Metric vectors to clean the memory usage.
The text was updated successfully, but these errors were encountered: