Allow excluding saturation points from capacity planning forecasts
Some saturation points can't really saturate, they're an artificial limit we impose ourselves. For example:
-
redis_max_memory
: A limit set at which Redis will start to evict keys based on an expiration policy -
jvm_memory_max_bytes
: Maximum memory allowed for the JVM heap
These could hover around their maximum without any real issue. This can cause false positives in capacity planning reports (https://gitlab.com/gitlab-com/gl-infra/capacity-planning/-/issues/66, https://gitlab.com/gitlab-com/gl-infra/capacity-planning/-/issues/45).
We could exclude these from tamland, and capacity planning issues, ensuring that there's still a short term alert for them if they would exceed their limit.
Proposal
Allow setting capacityPlanningStrategy: 'exclude'
. Which will be included in the capacity_planning
label on gitlab_component_saturation_info
to ignore these in tamland: https://gitlab.com/gitlab-com/gl-infra/tamland/blob/d1964b6d06015e6497ceefe67d840a62d79ac66c/saturation_forecasting.py#L238