Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Abstractions to support custom metric queries and generate recommendations beyond container and namespace #1315

Open
shreyabiradar07 opened this issue Oct 3, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@shreyabiradar07
Copy link
Contributor

Describe the feature

Currently Kruize Performance/Metric Profile and Recommendation engine is tightly coupled to support only container and namespace metric queries and correspondingly generate container and namespace recommendations. Similarly we might need separate queries for different workloads and supporting custom metrics would be helpful to generate custom recommendations based on the user JSON format which plugins into the Kruize RecommendationEngine.

Examples or references

The existing MetricProfile JSON has both container and namespace metric queries listed and while generating recommendations the metrics are filtered out based on the prefix (for eg. namespaceCpuRequest
namespace metrics are identified with prefix namespace). Instead of the bifurcation within the Java code, it would be helpful to have a generic abstraction in place to support different workloads based on the user requirements.

Suggest a solution

  • Have 1:1 correspondence with performance/metric profile YAML and /performanceProfiles/PerformanceProfileInterface/RemoteMonitoringOpenShiftImpl.java

  • Implement abstractions to bring together:

    • User input Performance/MetricProfile JSON with custom metrics
    • Java code to process the user specified metrics
    • Support user JSON format of recommendations which plugins into the RecommendationEngine and generates custom recommendations.
  • Helps to make the code modular

  • Also include tests which will test above 3 components together

Additional Context

None

@shreyabiradar07 shreyabiradar07 added the enhancement New feature or request label Oct 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant