Conversation
|
Hi @Gaurav598. Thanks for your PR. I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with Regular contributors should join the org to skip this step. Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: Gaurav598 The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
Please test this with a local perfdash instance. |
|
@Jefftree As shown in the attached screenshot, the GenericMeasurements category is discovered correctly and Perfdash successfully parses and renders the existing GenericPrometheusQuery artifact (kube-apiserver memory usage) for the benchmark-list job. This confirms that the Perfdash parser/configuration wiring added in this PR is working as expected. Please let me know if you'd like me to validate anything else.
|
|
/ok-to-test |
Signed-off-by: Gaurav598 <gr598895@gmail.com>
90d0652 to
a0ec770
Compare
|
/test pull-perf-tests-benchmark-list-proto |
|
Hi @Jefftree, just a gentle ping on this PR. |
|
Task looks good. I'm still trying to reason if this gives us the signal we want, sorry will need a bit more time thinking about it. I had thought these metrics would give us a clear diff but it doesn't seem like it. |
|
Hi @Jefftree, no worries at all, take your time! I'm glad the implementation itself looks good. |
|
Hi @Jefftree, just following up on this PR. It’s been a couple of weeks since the last update, so I wanted to check if you’ve had a chance to reach a conclusion on whether these metrics provide the signal we’re looking for. If you’d prefer a different approach or different metrics, I’m happy to make the necessary changes. Thanks! |

What type of PR is this?
/kind bug
What this PR does / why we need it:
This change exposes additional Go runtime metrics for the benchmark-list benchmark using the existing
GenericPrometheusQueryinfrastructure.The benchmark currently primarily surfaces
container_memory_working_set_bytes, which can increase when allocation rate decreases and Go GC runs less frequently. This can make allocation improvements appear as memory regressions even when the live heap remains unchanged.This PR adds GenericPrometheusQuery measurements for:
go_memstats_heap_inuse_bytesrate(go_gc_duration_seconds_count[%v])rate(go_memstats_alloc_bytes_total[%v])and registers these metrics in Perfdash so they are displayed alongside the existing benchmark results.
Files changed:
clusterloader2/testing/list/modules/measurements.yaml– add GenericPrometheusQuery measurements.perfdash/config.go– register GenericMeasurements for the benchmark-list dashboard.perfdash/parser_test.go– add coverage for GenericPrometheusQuery parsing.The implementation is additive and does not modify the existing
ResourceUsageSummarypipeline.Which issue(s) this PR fixes:
Fixes #4140
Special notes for your reviewer:
This change intentionally uses the existing GenericPrometheusQuery pipeline instead of extending ResourceUsageSummary.
Relevant tests executed:
go test ./...(perfdash)go test ./pkg/measurement/common(clusterloader2)The implementation only adds new benchmark metrics and Perfdash registration without changing existing benchmark behavior.