Export vars
export SELECTED_NETWORKS=MUMBAI
export MUMBAI_KEYS=...
export MUMBAI_URLS=...
export LOKI_TOKEN=...
export LOKI_URL=...
See more config options in config.toml
All tests are split by network and in 3 groups:
- HTTP payload only
- Secrets decoding payload only
- Realistic payload with args/http/secrets
Load test client is here
Load is controlled with 2 params:
- RPS
- requests_per_call (generating more events in a loop in the contract)
Soak
is a stable workload for which there must be no issues
Stress
is a peak workload for which issues must be analyzed
Load test client can execute 78 calls per request
at max (gas limit)
Functions tests:
go test -v -run TestFunctionsLoad/mumbai_functions_soak_test_http
go test -v -run TestFunctionsLoad/mumbai_functions_stress_test_http
go test -v -run TestFunctionsLoad/mumbai_functions_soak_test_only_secrets
go test -v -run TestFunctionsLoad/mumbai_functions_stress_test_only_secrets
go test -v -run TestFunctionsLoad/mumbai_functions_soak_test_real
go test -v -run TestFunctionsLoad/mumbai_functions_stress_test_real
Gateway tests:
go test -v -run TestGatewayLoad/gateway_secrets_list_soak_test
go test -v -run TestGatewayLoad/gateway_secrets_set_soak_test
Chaos suite can be combined with any test, can be found here
Default dashboard
When contracts got redeployed on Mumbai
just comment these lines in config
# comment both client and sub to automatically create a new pair
client_addr = "0x64a351fbAa61681A5a7e569Cc5A691150c4D73D2"
subscription_id = 23
Then insert new client addr and subscription number back
Show more logs
export WASP_LOG_LEVEL=debug
Deploying dashboard:
export GRAFANA_URL=...
export GRAFANA_TOKEN=...
export DATA_SOURCE_NAME=...
export DASHBOARD_FOLDER=LoadTests
export DASHBOARD_NAME=FunctionsV1
go run dashboard.go