-
Notifications
You must be signed in to change notification settings - Fork 154
Maintenance: code performance tests in CI/CD pipelines #398
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
Comments
I had the same idea for Middy, unfortunately clinicjs doesn't support serverless (clinicjs/node-clinic#279). I was able to get it running with a wrapper (that added noise), but automating it was a much larger task I haven't gotten to. |
@saragerion I just discussed with Heitor about this. Some work has been done on Python side. We can reuse this this. There are two approaches:
I think 1 is aligned with what we want. I would love to have this in the same Github action that triggers E2E tests so we can. We can reuse most of the code (just plugin our NodeJS function and change the runtime). I'm wondering if we should use CDK instead of SAM so that contributors do not have to use two tools in a single project (as we use CDK in E2E). |
Thanks for the suggestions @ijemmy! The approaches adopted for the Python powertool make total sense for the language and its ecosystem (Python powertools utilities being non-modular for example). In our case, developers choose Node.js also because of its non-blocking I/O, and because it's notoriously lightweight & fast. See example of popular Node.js logger Pino: For this reason, at least for the first iteration of this issue, I am more inclined with starting with method 2 and then potentially tackling method 1 in a second iteration. |
For unit benchmarks pino uses For e2e one of your colleagues published: https://github.com/aws-samples/aws-lambda-es-module-performance-benchmark using API Gateway + |
Thanks for sharing @willfarrell :)
As customer and as AWS employee I worked a lot with K6: |
For the scope of the GA milestone, this issue will be coved by this PR: #878 |
|
Description of the feature request
As part of our CI/CD pipelines it would be great to be able to run performance tests over each utility's code.
Problem statement
Relying on unit tests and integration tests help increasing the confidence over the production readiness of the code that's been added.
Since we are all humans who make mistakes, additional safety nets integrated via automation can hugely help.
We currently don't have such safety net when it comes to performance.
Summary of the feature
Add performance tests in our CI/CD pipelines.
TODO (each of these should probably be distinct pull requests) :
Code examples
An example of technology we can vet could be Clinic.js. I haven't used it before and I am not sure how easy it is to integrate it as part of our pipelines, but worth looking into it in my opinion.
https://clinicjs.org/
Benefits for you and the wider AWS community
More performant production code for our community.
Describe alternatives you've considered
N/A
Additional context
N/A
Related issues, RFCs
N/A
The text was updated successfully, but these errors were encountered: