Commit Graph

260 Commits

Author SHA1 Message Date
Max Inden e5b7e0e16e
fix(perf): use `$Default` launch template (#257)
Our perf terraform setup differentiates in long lived and short lived resources.
On CI, our long lived resources are spun up once and our short lived resources
are spun up on each CI run. From time to time we have to adjust the long lived
resources. End result is a new launch template that needs to be referenced in
the short lived resources by version.

Next to our CI, the perf terraform setup can as well be used on personal AWS
accounts. Their long lived launch template version likely doesn't match the
configured launch template version of the short lived aws_instance.

Instead of specifying a specific version, instruct terraform to use the default,
thus supporting both our CI and personal AWS account use-case.
2023-08-17 15:02:23 +02:00
github-actions[bot] c763d1fdce chore: update the link to the interop dashboard [skip ci] 2023-08-17 12:12:06 +00:00
github-actions[bot] 142557b9eb chore: update the link to the interop dashboard [skip ci] 2023-08-14 14:37:06 +00:00
Max Inden 8e2c837599
fix(perf): increase maximum udp send buffer size (#254)
Previously only the maximum udp **receive** buffer size was increased to
`2500000` bytes. With this commit both the send and the receive buffer size is increase.
2023-08-14 16:08:41 +02:00
github-actions[bot] 6c964a96eb chore: update the link to the interop dashboard [skip ci] 2023-08-11 23:09:16 +00:00
github-actions[bot] 07be41335b chore: update the link to the interop dashboard [skip ci] 2023-08-11 19:44:54 +00:00
Prithvi Shahi da62ebc979
chore: rm rust-libp2p v0.49 and v0.50, update v0.52 (#253) 2023-08-11 12:17:07 -07:00
github-actions[bot] 28567c70da chore: update the link to the interop dashboard [skip ci] 2023-08-11 18:02:30 +00:00
Prithvi Shahi 55e43bd610
chore: update go-libp2p releases and rm v0.25 & v0.26 (#252) 2023-08-11 10:33:33 -07:00
github-actions[bot] e0b459639a chore: update the link to the interop dashboard [skip ci] 2023-08-10 03:31:22 +00:00
Prithvi Shahi b0b8ad8a62
chore: add js-libp2p v0.46.x, rm v0.44, rm v0.45 browser tests (#251) 2023-08-09 20:04:43 -07:00
github-actions[bot] da5d3f4924 chore: update the link to the interop dashboard [skip ci] 2023-08-09 23:58:35 +00:00
github-actions[bot] a674f734cc chore: update the link to the interop dashboard [skip ci] 2023-08-04 17:17:09 +00:00
Max Inden ad43602e63
fix(perf): increase root volume size (#249)
Multiple perf runs have failed due to "no space left on device". See e.g. https://github.com/libp2p/test-plans/actions/runs/5727165977/job/15527780097.

The perf terraform launch template previously did not specify a root volume
size. Thus terraform used the default:

```
df -h

Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        4.0M     0  4.0M   0% /dev
tmpfs            63G     0   63G   0% /dev/shm
tmpfs            25G  540K   25G   1% /run
/dev/nvme0n1p1  8.0G  1.9G  6.1G  24% /
tmpfs            63G     0   63G   0% /tmp
tmpfs            13G     0   13G   0% /run/user/1000
```

With this commit the root volume is increased to 100GB:

```
df -h

Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        4.0M     0  4.0M   0% /dev
tmpfs            63G     0   63G   0% /dev/shm
tmpfs            25G  564K   25G   1% /run
/dev/nvme0n1p1  100G  2.6G   98G   3% /
tmpfs            63G  8.0K   63G   1% /tmp
tmpfs            13G     0   13G   0% /run/user/0
tmpfs            13G     0   13G   0% /run/user/1000
```
2023-08-04 18:50:32 +02:00
github-actions[bot] b31b44fbde chore: update the link to the interop dashboard [skip ci] 2023-08-04 08:49:48 +00:00
Max Inden cfd1049e8a
fix(perf): run iperf on TCP and set TCP windows to bdp (#241)
This commit makes iperf use TCP instead of UDP. Using UDP allows the sender to
send as much data as they can, not as much data as the receiver can handle.
Using TCP measures the actual bandwidth of the connection.

This commit sets the TCP send and receive window to the bandwidth-delay-product.
In order to exhaust the whole bandwidth between the two nodes, TCP needs to be
able to buffer all bytes on the wire in the case of packet loss.
2023-08-04 10:23:47 +02:00
github-actions[bot] e8c0733ce5 chore: update the link to the interop dashboard [skip ci] 2023-08-01 15:06:26 +00:00
Max Inden ffc7ae0d5f
fix(perf): replace rust-libp2p-quinn/ with rust-libp2p/master (#246)
With https://github.com/libp2p/rust-libp2p/pull/3454 merged we can now test the
new rust-libp2p QUIC implementation based on upstream quinn directly from
rust-libp2p `master`.

This commit does the following in libp2p/test-plans:

1. Remove the `perf/impl/rust-libp2p-quinn` implementation.
2. Introduce the `perf/impl/rust-libp2p/master` version of the rust-libp2p implementation.

We can promote the latter to a proper version on the next rust-libp2p release.
2023-08-01 16:40:02 +02:00
github-actions[bot] 003ac2c02d chore: update the link to the interop dashboard [skip ci] 2023-08-01 01:14:15 +00:00
github-actions[bot] d8913edb57 chore: update the link to the interop dashboard [skip ci] 2023-07-26 17:08:44 +00:00
Max Inden 3d9be81c9a
docs(perf): document how to add a new version of existing impl (#243) 2023-07-26 18:41:49 +02:00
github-actions[bot] 66a596ce53 chore: update the link to the interop dashboard [skip ci] 2023-07-26 12:27:58 +00:00
Max Inden 35eb403b2d
feat(perf): add go-libp2p v0.29 (#242) 2023-07-26 14:01:46 +02:00
github-actions[bot] f0437a8ec2 chore: update the link to the interop dashboard [skip ci] 2023-07-20 06:21:22 +00:00
Alex Potsides 5c74bfec3d
feat: expose name-ignore setting (#239)
Exposes `--name-ignore` as `test-ignore` in the ping test github action to be consistent with how `--name-filter` is exposed as `test-filter`

Follows on from #225
2023-07-20 06:54:46 +01:00
github-actions[bot] 5a337a4b64 chore: update the link to the interop dashboard [skip ci] 2023-07-19 17:09:51 +00:00
github-actions[bot] 0b2fa59a56 chore: update the link to the interop dashboard [skip ci] 2023-07-19 17:06:16 +00:00
Steve Loeppky 7e074ba39a
Update README.md - fix link to libp2p observable (#238) 2023-07-19 09:38:18 -07:00
Marco Munizaga 8834ac1555
Add go-libp2p v0.29.0 (#234) 2023-07-19 09:37:06 -07:00
github-actions[bot] 3132bf12b3 chore: update the link to the interop dashboard [skip ci] 2023-07-14 21:28:51 +00:00
Marco Munizaga 1ebb8b505c
multidim-interop: Prune older versions (#233)
* Remove older versions

* Remove older chromium versions
2023-07-14 14:01:52 -07:00
github-actions[bot] 1191bb5f13 chore: update the link to the interop dashboard [skip ci] 2023-07-14 19:32:58 +00:00
Marco Munizaga 4bd0f9992f
Revert "Install playwright in the base image so it is cached (#226)" (#231)
* Revert "Install playwright in the base image so it is cached (#226)"

This reverts commit d21d042ddd.

* Add comment
2023-07-14 11:48:08 -07:00
github-actions[bot] e69e155fe9 chore: update the link to the interop dashboard [skip ci] 2023-07-14 17:46:59 +00:00
Marco Munizaga cbca2c06de
multidim-interop: Update rust-libp2p .gitignore with chromium-image.json (#232)
* .gitignore chromium-image.json

* Assert that git tree is clean
2023-07-14 10:00:35 -07:00
github-actions[bot] 00170f36e3 chore: update the link to the interop dashboard [skip ci] 2023-07-13 20:01:43 +00:00
Marco Munizaga fff587f66f
More resilient stdout parsing of dialer stdout (#224)
* More resilient stdout parsing of dialer stdout

* Add another test case

* Handle JS cases where timings aren't the only thing on stdout
2023-07-13 12:14:43 -07:00
github-actions[bot] f954fd8522 chore: update the link to the interop dashboard [skip ci] 2023-07-11 00:35:27 +00:00
Marco Munizaga 81e78aed34
multidim-interop: Add name ignore option (#225)
* Add name ignore option

* Update multidim-interop/testplans.ts

Co-authored-by: Thomas Eizinger <thomas@eizinger.io>

---------

Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
2023-07-10 16:49:46 -07:00
github-actions[bot] ba8169f189 chore: update the link to the interop dashboard [skip ci] 2023-07-10 03:52:51 +00:00
Max Inden d7391f13e1
fix(perf): increase iterations (#213)
- Increase upload/download benchmark iterations. Still conservative value of `10` due to slow rust-libp2p tcp. See https://github.com/libp2p/rust-yamux/issues/162. Note however that this is 10x an upload of 100MB.
- Increase latency benchmark iterations.
2023-07-10 05:06:51 +02:00
github-actions[bot] 289e90b80a chore: update the link to the interop dashboard [skip ci] 2023-07-08 05:01:33 +00:00
Marco Munizaga d21d042ddd
Install playwright in the base image so it is cached (#226) 2023-07-07 21:15:16 -07:00
github-actions[bot] 81b339dd70 chore: update the link to the interop dashboard [skip ci] 2023-07-07 23:25:17 +00:00
Piotr Galar 35ab35b1a4
feat: run multidim-interop.yml on self-hosted runners (#154)
* feat: run multidim-interop.yml on self-hosted runners

* feat: make worker count configurable

* feat: enable docker.io proxy on self-hosted runners

* chore: provide s3 creds through env

* Try 4 workers

* ci: run-multidim-interop on 16 workers

* chore: change self hosted labels

* Update .github/workflows/multidim-interop.yml

Co-authored-by: Piotr Galar <piotr.galar@gmail.com>

* Use self-hosted runners for now

This reverts commit 7e868ea6b486798c03ad5b88f14c1a78e51e7c26.

---------

Co-authored-by: Marco Munizaga <git@marcopolo.io>
Co-authored-by: Marco Munizaga <marco@marcopolo.io>
2023-07-07 15:41:38 -07:00
github-actions[bot] 22c7e58513 chore: update the link to the interop dashboard [skip ci] 2023-07-07 13:07:57 +00:00
Max Inden ce83afc1b0
feat(interop): add rust-libp2p chromium WASM WebTransport (#217)
Introduced in rust-libp2p with https://github.com/libp2p/rust-libp2p/pull/4015.
2023-07-07 14:37:57 +02:00
Max Inden 465065cff8
fix(interop): use standaloneTransports as string instead of param (#219)
* fix(interop): use standaloneTransports as string instead of param

When generating the test specification (docker-compose file) we enumerate all
transport permutations. While some of our transports need to be upgraded (e.g.
TCP and WS) some don't (e.g. QUIC or WebRTC). To differentiate the two we
execute two SQL queries (`queryResults` and `standaloneTransportsQueryResults`),
each with either a `AND _ NOT IN` or `AND _ IN`.

The previous implementation would use `node-sqlite3` query parameters (see
https://github.com/TryGhost/node-sqlite3/wiki/API#runsql--param---callback) to
provide the list of transport protocols that don't need upgrading as an array.

The problem is that `node-sqlite3` does not support arrays as query parameters,
see https://github.com/TryGhost/node-sqlite3/issues/762.

This commit uses string interpolation instead to inject the list of standalone
transports into the SQL queries.

* Nit

---------

Co-authored-by: Marco Munizaga <git@marcopolo.io>
Co-authored-by: Marco Munizaga <marco@marcopolo.io>
2023-07-05 16:57:30 -07:00
Marco Munizaga ec32d36cab
Add debug logging if JSON parse fails (#223) 2023-07-05 18:59:03 +00:00
github-actions[bot] 9277cff3bd chore: update the link to the interop dashboard [skip ci] 2023-07-05 06:34:30 +00:00