Skip to content

feat(resmonitor): Allow custom-endpoint metrics via appendpoint config (Issue #1220)#1448

Merged
devdattakulkarni merged 1 commit intocloud-ark:masterfrom
tonyn10:master
Feb 12, 2026
Merged

feat(resmonitor): Allow custom-endpoint metrics via appendpoint config (Issue #1220)#1448
devdattakulkarni merged 1 commit intocloud-ark:masterfrom
tonyn10:master

Conversation

@tonyn10
Copy link
Contributor

@tonyn10 tonyn10 commented Nov 25, 2025

Addresses #1220 (Support for application-specific metrics tracking)

Changes:

  • Extend ResourceMonitor CRD (deploy/kubeplus-chart/crds/kubeplus-crds.yaml) to accept appendpoint section for custom nodePort endpoints and metrics
  • Update Go API (platform-operator/pkg/apis/workflowcontroller/v1alpha1/types.go) to include new struct fields for appendpoint
  • Enhance plugin (plugins/crmetrics.py) with _get_custom_metrics() to detect and fetch metrics from the configured endpoint
  • Add example managed-service "custom-hello-world" under examples/managed-service/appmetrics to demonstrate custom metrics use case
  • Expand tests (tests/tests.py) to cover both default metrics (test_metrics()) and custom-endpoint metrics (test_metrics_custom())

@devdattakulkarni
Copy link
Contributor

@tonyn10 Overall the PR looks good.
I have added one small comment.

Also -- what were the files that got generated after running update-codegen.sh? Can you list the files here. I know we have not included them in the PR, but it will be good to know which files are supposed to be generated when I run update-codegen once the PR is merged. (Or, may be there is a case to include those files in the PR as well -- that way, there is no need to re-run update-codegen again). In any case, it will be good to know what are the new scaffolding files that were generated.

@tonyn10
Copy link
Contributor Author

tonyn10 commented Dec 3, 2025

@tonyn10 Overall the PR looks good. I have added one small comment.

Also -- what were the files that got generated after running update-codegen.sh? Can you list the files here. I know we have not included them in the PR, but it will be good to know which files are supposed to be generated when I run update-codegen once the PR is merged. (Or, may be there is a case to include those files in the PR as well -- that way, there is no need to re-run update-codegen again). In any case, it will be good to know what are the new scaffolding files that were generated.

update-codegen.sh created the platform/vendor/ directory. In this directory, there are a lot of files. These are all the files in the vendor directory (I did ls -R platform/vendor/ > platform_vendor_files.txt):
platform_vendor_files.txt

Since there's so much, I'm not sure if it's a good idea to have it all tracked on git but let me know if there are certain ones that we should track.

I'll also fix the comment you have regarding the implementation in crmetrics.py

@tonyn10 tonyn10 force-pushed the master branch 2 times, most recently from f5e6ef2 to bf23416 Compare December 5, 2025 17:29
…g (Issue cloud-ark#1220)

- Extend ResourceMonitor CRD (deploy/kubeplus-chart/crds/kubeplus-crds.yaml) to accept `appendpoint` section for custom nodePort endpoints and metrics
- Update Go API (platform-operator/pkg/apis/workflowcontroller/v1alpha1/types.go) to include new struct fields for appendpoint
- Enhance plugin (plugins/crmetrics.py) with _get_custom_metrics() to detect and fetch metrics from the configured endpoint
- Add example managed-service "custom-hello-world" under examples/managed-service/appmetrics to demonstrate custom metrics use case
- Expand tests (tests/tests.py) to cover both default metrics (test_metrics()) and custom-endpoint metrics (test_metrics_custom())

Signed-off-by: Tony Nguyen <tonynguyenhuy@gmail.com>
@devdattakulkarni devdattakulkarni merged commit cba0fcc into cloud-ark:master Feb 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants