adoptium / adoptium/aqa-test-tools

Dynamically Fetch Perf Pipeline Names & Support Multiple Metrics in Perf Graphs

Open
#155 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Jupyter Notebook
Stars
33
Forks
97
Avg merge
7h 9m
Merged PRs (30d)
5

Description

### Problem Description

Currently, Perf Graph uses hard-coded names for pipelines. We should dynamically get this list from the database by looking at all the perf pipelines stored in it as it's done for Tabular View.

I've shown relevant snippets from ODM graphs, but other graphs have the same issue.

**Hard-coded Pipeline Names**
https://github.com/AdoptOpenJDK/openjdk-test-tools/blob/628e800b2e8a7005e80a156dd0ebf2b41ae39eb4/test-result-summary-client/src/Dashboard/Widgets/Graph/ODM.jsx#L11-L13

Also, Perf Graphs currently support the display of only one metric. We should display all metrics related to a benchmark run on the graphs. We should have the option of switching on and off the display of different metrics so that it allows us to limit the data for easier visualization.

**Support for one metric only**
https://github.com/AdoptOpenJDK/openjdk-test-tools/blob/628e800b2e8a7005e80a156dd0ebf2b41ae39eb4/test-result-summary-client/src/Dashboard/Widgets/Graph/ODM.jsx#L111-L116
https://github.com/AdoptOpenJDK/openjdk-test-tools/blob/628e800b2e8a7005e80a156dd0ebf2b41ae39eb4/test-result-summary-client/src/Dashboard/Widgets/Graph/ODM.jsx#L185

Furthermore, we currently assume that the the supported metric is in index 0. That assumption was only valid initially when we were just parsing one metric for ODM. As we add more metrics in the parser, the order could be different.

**No longer true Assumption**
https://github.com/AdoptOpenJDK/openjdk-test-tools/blob/628e800b2e8a7005e80a156dd0ebf2b41ae39eb4/test-result-summary-client/src/Dashboard/Widgets/Graph/ODM.jsx#L90

### Proposed Changes

1) To fetching pipeline names, we can use the same or similar query used in Tabular view.
2) To display all metrics, we'll need to loop through the metrics array and show their data on different lines.

This issue will be looked at after we add the support for aggregated data in https://github.com/AdoptOpenJDK/openjdk-test-tools/issues/106 and clean up the Perf Graph code in https://github.com/AdoptOpenJDK/openjdk-test-tools/issues/118.

Contributor guide

Open the contributing guide

Research direction

Start with test-result-summary-client/src/Dashboard/Widgets/Graph/ODM.jsx, especially the hard-coded pipeline names, metric handling, and index-0 assumption. Compare the Tabular View query for fetching pipeline names, and review issues #106 and #118 first because this work depends on them. Done means graphs use stored pipeline names, display multiple benchmark metrics with visibility controls, and no longer depend on metric ordering.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.