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

Add module loading performance check to CI #5418

Merged
merged 1 commit into from
Jan 30, 2018
Merged

Add module loading performance check to CI #5418

merged 1 commit into from
Jan 30, 2018

Conversation

tjprescott
Copy link
Member

@tjprescott tjprescott commented Jan 26, 2018

Closes #5326.

This PR runs azdev verify module-load-perf on a separate stage to detect and prevent significant performance regressions.

I will remove the DNM label once I have done the following:

  • Verified the thresholds are sufficiently high so that modules don't sporadically fail
  • Verified that pushing changes which negatively impact performance cause the CI stage to fail.

@promptws
Copy link

View a preview at https://prompt.ws/r/Azure/azure-cli/5418
This is an experimental preview for @microsoft users.

@@ -3,6 +3,8 @@
# Licensed under the MIT License. See License.txt in the project root for license information.
# --------------------------------------------------------------------------------------------

from msrestazure.tools import resource_id
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a perfomance regressions introduced to ensure the test fails.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reverted after confirming this triggered the fail.

@@ -7,6 +7,8 @@
import os.path
import re

from azure.mgmt.network.models import Subnet
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another performance hit that should fail.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reverted after confirming this triggered a fail.

@tjprescott tjprescott changed the title [DNM] Add module loading performance check to CI Add module loading performance check to CI Jan 29, 2018
@tjprescott tjprescott added this to the Sprint 31 milestone Jan 29, 2018
@@ -45,51 +51,76 @@ def pstdev(data):
ss = sq_deviation(data)
return (ss/n) ** 0.5


def print_values(data):
print('{:<20} {:>12} {:>12} {:>12} {:>25}'.format('Module', 'Average', 'Threshold', 'Stdev', 'Values'))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use tabulate?

'batch': 25,
'storage': 50,
TOTAL: 300
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be nice if these values can be configured through environment variable.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If these values end up being problematic, then I'd have to use a more sophisticated method to essentially determine a scalable load-time profile and detect deviations from that. However, since we are always running these on a stable build, my experience (and hope!) is that we won't see wild variations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Test] Need test to detect unacceptable command module loading performance
4 participants