test-plans icon indicating copy to clipboard operation
test-plans copied to clipboard

feat(perf): add nim-libp2p v1.1

Open lchenut opened this issue 2 years ago • 16 comments

Now that the perf protocol is merged.

I'm a bit rusty with docker though, so I'm not 100% sure if what I did is correct.

lchenut avatar Aug 16 '23 10:08 lchenut

Triggered a CI run: https://github.com/libp2p/test-plans/actions/runs/5881897412/job/15951280528

mxinden avatar Aug 16 '23 17:08 mxinden

@lchenut missing step (2) and (3).

  1. For a new implementation, in impl/Makefile include your implementation in the all target.
  2. For a new version, reference version in runner/src/versions.ts.

https://github.com/libp2p/test-plans/tree/master/perf#adding-a-new-implementation-or-a-new-version

Excited to see the results.

mxinden avatar Aug 16 '23 19:08 mxinden

Perf run: https://github.com/libp2p/test-plans/actions/runs/5888783646/job/15970676824

On success you can see the results on: https://observablehq.com/@libp2p-workspace/performance-dashboard?branch=perf-nim

mxinden avatar Aug 17 '23 08:08 mxinden

Friendly ping @lchenut. Any progress on the above linking issue?

mxinden avatar Aug 31 '23 15:08 mxinden

Hum... I was so sure about this one. After a bit of digging and not finding a clear way to fix this (non-existant). It seems that I forgot to include nim-libp2p/v1.0/. in a .PHONY. So nothing to do with linking.

lchenut avatar Sep 05 '23 13:09 lchenut

Cool. Mind resolving the merge conflicts @lchenut? I can then trigger another run.

mxinden avatar Sep 06 '23 15:09 mxinden

@mxinden done

lchenut avatar Sep 07 '23 12:09 lchenut

@mxinden friendly ping to trigger the CI :)

Menduist avatar Sep 14 '23 15:09 Menduist

Sorry for the delay. I was out sick with COVID for a week. Resolved conflicts with https://github.com/libp2p/test-plans/pull/299 and triggered CI:

https://github.com/libp2p/test-plans/actions/runs/6188558497/job/16800823070

mxinden avatar Sep 14 '23 16:09 mxinden

@lchenut @Menduist CI run failed:

Unable to find image 'nimlang/nim:1.6.10' locally
1.6.10: Pulling from nimlang/nim
675920708c8b: Pulling fs layer
15302ca1b35f: Pulling fs layer
aa23efb4e495: Pulling fs layer
ed29ac11846c: Pulling fs layer
d589f97156d3: Pulling fs layer
ed29ac11846c: Waiting
d589f97156d3: Waiting
aa23efb4e495: Verifying Checksum
aa23efb4e495: Download complete
675920708c8b: Verifying Checksum
675920708c8b: Download complete
675920708c8b: Pull complete
d589f97156d3: Verifying Checksum
d589f97156d3: Download complete
ed29ac11846c: Verifying Checksum
ed29ac11846c: Download complete
15302ca1b35f: Verifying Checksum
15302ca1b35f: Download complete
15302ca1b35f: Pull complete
aa23efb4e495: Pull complete
ed29ac11846c: Pull complete
d589f97156d3: Pull complete
Digest: sha256:e3a842e22e9f7317b83908ee0470f4d983dee2f587840f161e91bc6dab9fa6b2
Status: Downloaded newer image for nimlang/nim:1.6.10
oserr.nim(95)            raiseOSError
Error: unhandled exception: Permission denied
Additional info: /.nimble [OSError]
make[1]: *** [Makefile:6: perf] Error 1
make: *** [Makefile:18: nim-libp2p/v1.0/.] Error 2
Command failed: ssh -o StrictHostKeyChecking=no [email protected] 'cd impl && make'
Error: Process completed with exit code 1.

mxinden avatar Sep 14 '23 18:09 mxinden

@mxinden sorry for the delay... it should be good now.

lchenut avatar Sep 29 '23 14:09 lchenut

Triggered a new run:

https://github.com/libp2p/test-plans/actions/runs/6473803273/job/17577296660

mxinden avatar Oct 10 '23 19:10 mxinden

Hi @mxinden, we often find ourselves needing CI runs for our PRs but lack the necessary permissions. Is there a way to streamline this process to minimize manual coordination? Thanks.

diegomrsantos avatar Oct 17 '23 12:10 diegomrsantos

Is there a way to streamline this process to minimize manual coordination? Thanks.

In case you want to run the perf tests off of your laptop against your own AWS account:

https://github.com/libp2p/test-plans/blob/master/perf/README.md#running-manually

In case you want to run the perf tests off of the nim-libp2p CI, you would need to run against your own AWS account. For that, the ./terraform/modules/long_lived module provides additional tooling, namely an AWS lambda that cleans up left over resources, just in case. Once that is in place, you can trigger the perf workflow off of the nim-libp2p CI with your AWS credentials.

Either way, I can't give you access to the Protocol Labs AWS account.

mxinden avatar Oct 26 '23 12:10 mxinden

Triggered a new run:

https://github.com/libp2p/test-plans/actions/runs/6473803273/job/17577296660

In case you have not seen the failures:


=== Starting client nim-libp2p/v1.1/tcp
bash: line 1: ./impl/nim-libp2p/v1.1/perf: No such file or directory
bash: line 1: ./impl/nim-libp2p/v1.1/perf: No such file or directory
bash: line 1: ./impl/nim-libp2p/v1.1/perf: No such file or directory
bash: line 1: ./impl/nim-libp2p/v1.1/perf: No such file or directory
bash: line 1: ./impl/nim-libp2p/v1.1/perf: No such file or directory
bash: line 1: ./impl/nim-libp2p/v1.1/perf: No such file or directory
bash: line 1: ./impl/nim-libp2p/v1.1/perf: No such file or directory
bash: line 1: ./impl/nim-libp2p/v1.1/perf: No such file or directory
bash: line 1: ./impl/nim-libp2p/v1.1/perf: No such file or directory
bash: line 1: ./impl/nim-libp2p/v1.1/perf: No such file or directory

mxinden avatar Oct 26 '23 12:10 mxinden

@mxinden It's my bad, I should have pinged you when I pushed last week. Like the last three times, it should work now.

lchenut avatar Oct 27 '23 09:10 lchenut