The intake code ensures that all dataset (even server.archiveonly datasets) will have a server.benchmark value representing the core benchmark used in the run. The visualization code uses this value to determine compatibility.
However on the staging server, we have pre-existing datasets without the server.benchmark metadata, and the "internal server error" failure mode is unpleasant.
To be a bit more friendly, this adds a wrapper that will first check the server.benchmark metadata directly, but failing that will check for the normal Pbench Agent dataset.metalog.pbench.script metadata so that older pbench-uperf runs will be recognized. Failing that, the wrapper falls back to "unknown" so that we'll never have to deal with a None value.
PBENCH-1229
The intake code ensures that all dataset (even
server.archiveonly
datasets) will have aserver.benchmark
value representing the core benchmark used in the run. The visualization code uses this value to determine compatibility.However on the staging server, we have pre-existing datasets without the
server.benchmark
metadata, and the "internal server error" failure mode is unpleasant.To be a bit more friendly, this adds a wrapper that will first check the
server.benchmark
metadata directly, but failing that will check for the normal Pbench Agentdataset.metalog.pbench.script
metadata so that olderpbench-uperf
runs will be recognized. Failing that, the wrapper falls back to "unknown" so that we'll never have to deal with aNone
value.