Hi, I wrote a simple pubsub simulator with join/leave topic, add/remove peer and peers friending each other and joining each others topics. The discovery is set to MockDiscovery (theres code for DHT and mDNS too, but had a huge lag with DHT). All the params can be adjusted (amount of peers, topic, etc), so maybe someone will find it useful.
The motivation behind it was to stress test a state machine library I’ve been working on, for which Ive ported ~half of pubsub to asyncmachine-go, including MockDiscovery. Theoretically any implementation could be used, but the state-based one exports bulks of data, which can be consumed by grafana/jaeger.
Theres also a benchmark with charts showing the overhead for TestSimpleDiscovery. This one is very open to work with other implementations and/or running any other test from the suite.
@pancsta did you happen to make it to a go-libp2p meeting? I don’t see you in the notes at all. The next go-libp2p meeting is tomorrow: go-libp2p Open Maintainers Call · Luma I would love to see a demo of what you’ve built.
Unfortunately, I can’t make it to today’s meeting, but have already started to work on another thing, this one should be actually useful for other ppl, as it uses the stock go-libp2p-pubsub. I could possibly demo both in the future…