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

CCIPv2: RPCLatency test, Full chaos suite #16320

Open
wants to merge 35 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 27 commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
ab06c76
changes for pr
0xAustinWang Jan 29, 2025
483c602
add concurrency
0xAustinWang Jan 30, 2025
9c38005
add logging, make the setup functional
0xAustinWang Jan 31, 2025
7fe4592
PR comments
0xAustinWang Feb 3, 2025
0d774c3
all changes, mostly imports and parallelization of changesets
0xAustinWang Feb 4, 2025
5e668c2
parallelization
0xAustinWang Feb 4, 2025
a2ccb46
lint
0xAustinWang Feb 4, 2025
8f5dcc2
lint
0xAustinWang Feb 4, 2025
3b02278
revert changeset parallelization, go mods
0xAustinWang Feb 6, 2025
2ece164
chaos tests
skudasov Feb 11, 2025
4461526
golint, goimports
0xAustinWang Feb 12, 2025
3d2c791
refactor, bump CTF
skudasov Feb 12, 2025
c8ccec1
rebase and add cfg path
skudasov Feb 13, 2025
29698e4
update go mod
skudasov Feb 13, 2025
894cdb8
more experiments for RMNv2
skudasov Feb 13, 2025
13c5ede
Merge branch 'develop' into aw/LoadTest-aws-chaos
skudasov Feb 13, 2025
e1a6ddb
merge, update go.mod
skudasov Feb 13, 2025
ffd4894
Merge branch 'develop' into aw/LoadTest-aws-chaos
skudasov Feb 20, 2025
fd66e1d
merge again
skudasov Feb 20, 2025
181fa79
merge the tests together
skudasov Feb 21, 2025
79d5cc1
Merge branch 'develop' into aw/LoadTest-aws-chaos
skudasov Feb 21, 2025
6565760
merge develop
skudasov Feb 21, 2025
08106b0
rpc latency by default
skudasov Feb 24, 2025
64b1328
40 minutes
skudasov Feb 24, 2025
b145af2
docs
skudasov Feb 24, 2025
ba05d2d
docs
skudasov Feb 24, 2025
5f6df38
merge
skudasov Feb 24, 2025
fa5da7f
Merge remote-tracking branch 'origin' into aw/LoadTest-aws-chaos
0xAustinWang Feb 25, 2025
3be5e63
add more chains that suport chaos
0xAustinWang Feb 25, 2025
02d7b78
fix goimports
skudasov Feb 25, 2025
82268d5
Merge branch 'develop' into aw/LoadTest-aws-chaos
0xAustinWang Feb 26, 2025
c107307
pushing changes
0xAustinWang Feb 26, 2025
7092af1
Merge branch 'develop' into aw/LoadTest-aws-chaos
0xAustinWang Feb 27, 2025
575fcb1
go mod tidy
0xAustinWang Feb 27, 2025
1754348
build issues
0xAustinWang Feb 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 56 additions & 3 deletions integration-tests/load/ccip/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# CCIP Load Tests 1.6+
# CCIP Load and Chaos Tests 1.6+

Resources
- [CRIB setup](https://smartcontract-it.atlassian.net/wiki/spaces/CRIB/pages/1024622593/CCIP+v2+CRIB+-+Deploy+Access+Instructions+WIP)
Expand Down Expand Up @@ -43,5 +43,58 @@ export TIMEOUT=6h
go test -run ^TestCCIPLoad_RPS$ ./integration-tests/load/ccip -v -timeout $TIMEOUT`
```

### Remote
Update the `PROVIDER=aws` and `DEVSPACE_NAMESPACE` in crib environment and deploy. Everything else should be the same.
## Remote
Update the `PROVIDER=aws` and `DEVSPACE_NAMESPACE` in crib environment and deploy. Everything else should be the same.

## Running Chaos Tests (Remote only)

### Realistic RPC Latency

Go to `integration-tests/testconfig/ccip/ccip.toml` and change params as required, select chaos mode first
```
[Load.CCIP.Load]
# 0 - no chaos, 1 - rpc latency, 2 - full chaos suite
ChaosMode = 1

# works only with Load.CCIP.ChaosMode = 0
RPCLatency = "400ms"
RPCJitter = "50ms"
```
Prefer using `ChaosMode = 1` with `400ms` RPC latency by default

Run the load test
```
go test -run ^TestCCIPLoad_RPS$ -v -timeout 12h
```

### Full Chaos Suite

Go to `integration-tests/testconfig/ccip/ccip.toml` and change params as required, select chaos mode first

```
[Load.CCIP.Load]
# 0 - no chaos, 1 - rpc latency, 2 - full chaos suite
ChaosMode = 2
```

Then check chaos settings
```
[CCIP.Chaos]
# works only with Load.CCIP.ChaosMode = 2
Namespace = "crib-ccip-chaos-tests"
# RPC, commit, exec dashboards, can be found here: https://grafana.ops.prod.cldev.sh/d/dde396ff-5d22-42fb-9e92-00845c17688c/load-ccipv2-exec-plugin-v2?orgId=1&editview=dashboard_json
DashboardUIDs = ["e08d9f98-a39a-4603-8b44-e9a2958330e4", "ed3d5742-57cb-440f-b432-65f229c124ec", "dde396ff-5d22-42fb-9e92-00845c17688c"]
WaitBeforeStart = "30s"
# Chaos experiment total duration (chaos + recovery)
ExperimentFullInterval = "10m"
# Chaos time
ExperimentInjectionInterval = "5m"
# Src and Dst chain URLs, change it according to your namespace name
SrcChainURL = "https://crib-ccip-chaos-tests-geth-1337-http.main.stage.cldev.sh"
DstChainURL = "https://crib-ccip-chaos-tests-geth-2337-http.main.stage.cldev.sh"
```

Run the load test
```
go test -run ^TestCCIPLoad_RPS$ -v -timeout 12h
```
Loading
Loading