Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Performance bug: linear runtime increase each new leaf profile added #215

Open
smiller248 opened this issue Nov 8, 2024 · 0 comments
Open

Comments

@smiller248
Copy link
Contributor

For each leaf profile included in an interop profile, the validator traverses the entire tree again. This means that with each leaf profile added, the time to run the entire validator increases linearly, meaning it can take hours to complete validation if there are many leaf profiles (vs. the same set of requirements expressed in one giant file would only take minutes to validate).

Observed on 2.2.6 with the following command:
python ~/Redfish-Interop-Validator/RedfishInteropValidator.py -i https://$BMC_IP -u $BMC_USER -p $BMC_PASS --authtype Session --nooemcheck ~/rfprofiles/profiles/CWBase.v0_0_34.json --debugging --collectionlimit LogEntry 10

Multiple passes through the tree:

~/Redfish-Interop-Validator · (main±)
⟩ rg '"@odata.id": "/redfish/v1/JsonSchemas/DellNetworkTransceiver"' logs/InteropLog_11_08_2024_131317.txt
1494:            "@odata.id": "/redfish/v1/JsonSchemas/DellNetworkTransceiver"
23661:    "@odata.id": "/redfish/v1/JsonSchemas/DellNetworkTransceiver",
110734:            "@odata.id": "/redfish/v1/JsonSchemas/DellNetworkTransceiver"
132901:    "@odata.id": "/redfish/v1/JsonSchemas/DellNetworkTransceiver",
222155:            "@odata.id": "/redfish/v1/JsonSchemas/DellNetworkTransceiver"
244394:    "@odata.id": "/redfish/v1/JsonSchemas/DellNetworkTransceiver",
332330:            "@odata.id": "/redfish/v1/JsonSchemas/DellNetworkTransceiver"
355622:    "@odata.id": "/redfish/v1/JsonSchemas/DellNetworkTransceiver",
452028:            "@odata.id": "/redfish/v1/JsonSchemas/DellNetworkTransceiver"
474195:    "@odata.id": "/redfish/v1/JsonSchemas/DellNetworkTransceiver",
561289:            "@odata.id": "/redfish/v1/JsonSchemas/DellNetworkTransceiver"
583456:    "@odata.id": "/redfish/v1/JsonSchemas/DellNetworkTransceiver",
670496:            "@odata.id": "/redfish/v1/JsonSchemas/DellNetworkTransceiver"
692736:    "@odata.id": "/redfish/v1/JsonSchemas/DellNetworkTransceiver",
781555:            "@odata.id": "/redfish/v1/JsonSchemas/DellNetworkTransceiver"
803742:    "@odata.id": "/redfish/v1/JsonSchemas/DellNetworkTransceiver",
891527:            "@odata.id": "/redfish/v1/JsonSchemas/DellNetworkTransceiver"
913694:    "@odata.id": "/redfish/v1/JsonSchemas/DellNetworkTransceiver",
1000750:            "@odata.id": "/redfish/v1/JsonSchemas/DellNetworkTransceiver"
1022953:    "@odata.id": "/redfish/v1/JsonSchemas/DellNetworkTransceiver",
1110010:            "@odata.id": "/redfish/v1/JsonSchemas/DellNetworkTransceiver"
1132197:    "@odata.id": "/redfish/v1/JsonSchemas/DellNetworkTransceiver",
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

No branches or pull requests

1 participant