You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[JavaScript] Add Performance Testing Workflow for Lambda Layer (#392)
**Issue description:**
- Added input for language version runtime
- Added a workflow to automatically performance test and gather the
results for the unreleased JavaScript Lambda Layer.
**The GitHub workflow does the following:**
1. Deploy and setup the JavaScript Lambda sample application
instrumented with the Application Signals Lambda Layer on the AppSignals
e2e testing aws account.
2. Record the start time of the test and run the specified amount
(default: 20) Lambda cold start iterations on the sample application
3. Record the end time of the test
4. Query CW Logs Insights for the aggregated performance testing metrics
with the following query:
```
fields @timestamp, @message, @initDuration
| filter @message like "REPORT RequestId"
| stats
count(@initDuration) as Sample_Count,
avg(@initDuration) as Average_Init_Duration,
min(@initDuration) as Min_Init_Duration,
max(@initDuration) as Max_Init_Duration,
pct(@initDuration, 50) as P50_Init_Duration,
pct(@initDuration, 90) as P90_Init_Duration,
pct(@initDuration, 99) as P99_Init_Duration'
```
5. Parse and flatten the result from the query call and save it in a
file.
6. Clean and destroy the deployed lambda resources upon completion,
cancellation, or failure.
**Testing**
Testing was done on a personal aws dev account with the exact IAM
permissions as the e2e testing aws account.
Example of a successful job:
https://github.com/liustve/aws-application-signals-test-framework/actions/runs/14387543293
0 commit comments