Closed patsonluk closed 1 year ago
Thanks, @patsonluk . I'll try this out tomorrow!
LGTM, these changes are very welcome! I followed through the logic, but haven't tested myself. But, this is the right direction. Please feel free to merge.
Thanks @patsonluk !
Description
This is a draft to explore some refactoring options on the existing result generation/graphing logic in solr-bench (
stress.sh
and thecreateGraph.py
). @chatman @noblepaul Perhaps we can take some of these changes and apply to master if we find any of them useful.Changes
StressMain.java
Minor refactoring of the result generation/export logic. Introduced interface
ResultExporter
(only implementation isFileResultExporter
for now) that exportsWorkflowResult
.stress.sh
meta-<test_name>.prop
file with various meta info of a test. For example the git hash, branches, commit date, title, committer etc.${BASEDIR}/suites/results/${TEST_NAME}
New
graph-scripts/create_graph_no_git.py
graph-scripts
, this makes it a bit easier to treat that as a separate python enabled module in the IDEmeta-xyz.prop
file. This allows the script to focus on rendering logic. It is true that even on "external" mode, we will likely need to clone/read the git to generate such meta file, however, it's a bit nicer if such git operation only lives in one place (stress.sh
)branches
has any match with the-b
param, then process the corresponding test result; Otherwise skip it.-b
has multiple values, then add an extra graph at the end by merging results from different branches into a single graph. Such logic can be made more generic in the future to compare/merge graphs of different "setups" (for example different # of nodes, different JDK/JVM options etc) of the same branch.Would be nice to get some feedbacks on this! 🙏🏼