dhuseby/refactor/perf-and-transport-and-hole-punch#773
Conversation
Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org>
Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org>
Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org>
Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org>
Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org>
Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org>
Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org>
Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org>
Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org>
Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org>
Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org>
Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org>
Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org>
Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org>
Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org>
Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org>
Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org>
Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org>
Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org>
Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org>
Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org>
Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org>
Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org>
Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org>
Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org>
Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org>
Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org>
Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org>
Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org>
|
The I also added patching of remote test applications. See the The |
|
The breaking changes I made are in the interest of normalizing the interface to each test app, regardless of test. The common environment variables are the same for every test with additional test-specific environment variables being set as well. The expected output from the test application is in YAML now so that comments can be added if desired. I'm measuring a significant speed-up in test matrix generation. The transport test will generate something like ~1200 unique tests. Running the test-matrix.yaml generation with sharding and parallel processing, without any I/O in the nested loops, yields a massive increase in performance. On an 8-year old 4-core machine, it takes ~27 seconds to generate the full matrix from scratch. It used to take 4 to 5 minutes. The same is true with the parallel execution of isolated tests with global services and name-spacing. Significant performance gain. |
|
Not quite ready yet. Hole-punching cleanup needs completing. |
Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org>
Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org>
Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org>
Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org>
Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org>
|
alright...it's mostly done, the only thing left is to fix up the test applications to match the new uniform "contract" between the test framework and the test applications. perf, transport, and hole-punch tests all run. i fixed the baseline tests. documented everything, removed unused code. i wrote a peer and relay in rust for the hole-punch tests but it doesn't seem to work. This is ready for a review. |
|
@dhuseby : This is excellent work — thanks for pushing this through 👍 We’re already reviewing this in parallel, and I’ll also walk through it in detail with contributors in today’s maintainer call so we can align on the breaking changes and the path to updating the test applications. The documentation you added around the new contract and the patching workflow for remote test apps is especially helpful and should make the transition much smoother for folks. The performance improvements you’re seeing in matrix generation and execution are impressive, and the uniform YAML output + shared structure across perf, transport, and hole-punch tests feels like the right long-term direction. Great call on prioritizing correctness and consistency over backwards compatibility here. Thanks again for the thorough cleanup and for flagging the remaining hole-punch nuances clearly. Looking forward to giving more concrete review feedback after the maintainer discussion. |
Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org>
|
I was trying to answer a question about a specific bug and I realized that negative filtering wasn't enough so I added the positive filtering back in. Also, I added All of the docs are updated. All three tests are updated and tested. I think this is the last round or revisions for this PR. |
This is a major refactor of the whole system. I did not touch any of the gossipsub testing though, just perf, hole-punch, and transport.
Key improvements:
lib/subdir--debugis passed as an option. This also sets the DEBUG environment variable for test applications to respond to