agencyenterprise / go-libp2p-pubsub-benchmark-tools Goto Github PK
View Code? Open in Web Editor NEWlibp2p/go-libp2p-pubsub benchmark tools
License: MIT License
libp2p/go-libp2p-pubsub benchmark tools
License: MIT License
So we can verify that the message fully propogated
So that resources (e.g. cpu limits) can be allocated?
Add ability to dynamically size the passed message via the bytes array (data key).
Add ability for rpc to:
This could be improved to j := i + 1; j < len(hosts); j++ {
remote@c163-OptiPlex-3050:~/src/go-libp2p-pubsub-benchmark-tools$ go run cmd/analysis/main.go analyses/analysis-*
INFO[0000] analyzing log file at analyses/analysis-100.json source="main.go:47:main.setup.func1"
INFO[0000] null source="main.go:61:main.setup.func1"
INFO[0000] done source="main.go:87:main.main"
remote@c163-OptiPlex-3050:~/src/go-libp2p-pubsub-benchmark-tools$
We can do this now that PL has merged my PR:
But it clearly does!
Same with RSABits
...
?!?
Hi, I've been trying to run the benchmark tools by myself but I experienced an issue when I was trying to execute the commands make get
and make compile
.
The reported issue on the terminal is
`github.com/libp2p/go-libp2p-kad-dht
../../../go/pkg/mod/github.com/libp2p/[email protected]/dht.go:350:31: not enough arguments in call to kbucket.NewRoutingTable
have (int, kbucket.ID, time.Duration, "github.com/libp2p/go-libp2p-core/peerstore".Peerstore, time.Duration)
want (int, kbucket.ID, time.Duration, "github.com/libp2p/go-libp2p-core/peerstore".Metrics, time.Duration, *peerdiversity.Filter)
../../../go/pkg/mod/github.com/libp2p/[email protected]/dht.go:579:49: not enough arguments in call to dht.routingTable.TryAddPeer
have (peer.ID, bool)
want (peer.ID, bool, bool)
make: *** [Makefile:103: get] Error 2`
Did someone experience the same error?
Replacing the [email protected]/
with the libp2p/go-libp2p-kad-dht v0.2.1
that the go.mod
requires doesn't fix it and reports this
`github.com/libp2p/go-libp2p-kad-dht/metrics
github.com/libp2p/go-libp2p-kad-dht
../../../go/pkg/mod/github.com/libp2p/[email protected]/dht.go:135:5: assignment mismatch: 1 variable but kbucket.NewRoutingTable returns 2 values
../../../go/pkg/mod/github.com/libp2p/[email protected]/dht.go:135:26: not enough arguments in call to kbucket.NewRoutingTable
have (int, kbucket.ID, time.Duration, "github.com/libp2p/go-libp2p-core/peerstore".Peerstore)
want (int, kbucket.ID, time.Duration, "github.com/libp2p/go-libp2p-core/peerstore".Metrics, time.Duration, *peerdiversity.Filter)
../../../go/pkg/mod/github.com/libp2p/[email protected]/dht.go:280:18: dht.routingTable.Update undefined (type *kbucket.RoutingTable has no field or method Update)
../../../go/pkg/mod/github.com/libp2p/[email protected]/notif.go:97:18: dht.routingTable.Remove undefined (type *kbucket.RoutingTable has no field or method Remove)
make: *** [Makefile:103: get] Error 2`
Thanks in advance.
And use fmt print for metrics
See extensions in #8
Implement these in cmd/client
Launch instances across multiple EC2 (Elastic Beanstalk?) instances for testing such that each host receives its own hardware
Use network namespaces for each host so delay, packet loss / duplication, etc. can be added for each host.
go version go1.13.1 linux/amd64
# make get
> Checking if there is any missing dependencies...
go: finding github.com/whyrusleeping/go-logging latest
go: finding golang.org/x/xerrors latest
go: finding golang.org/x/net latest
go: finding golang.org/x/sync latest
go: finding github.com/spacemonkeygo/spacelog latest
go: finding github.com/whyrusleeping/go-notifier latest
go: finding gopkg.in/tomb.v1 latest
go: finding github.com/golang/groupcache latest
go: finding golang.org/x/crypto latest
go: finding google.golang.org/genproto latest
go: finding github.com/minio/blake2b-simd latest
go: finding github.com/whyrusleeping/mdns latest
go: finding github.com/whyrusleeping/base32 latest
go: finding github.com/golang/glog latest
go: finding github.com/libp2p/go-libp2p-quic-transport v0.2.9
go: finding golang.org/x/sys latest
go: finding github.com/whyrusleeping/go-keyspace latest
go: finding gopkg.in/check.v1 latest
go: finding github.com/koron/go-ssdp latest
go: finding github.com/go-check/check latest
go: finding github.com/jbenet/go-temp-err-catcher latest
go: finding github.com/libp2p/go-nat v1.0.0
go: finding github.com/whyrusleeping/timecache latest
go: finding github.com/btcsuite/btcd latest
go: finding github.com/whyrusleeping/multiaddr-filter latest
github.com/libp2p/go-libp2p/p2p/host/basic
github.com/lucas-clemente/quic-go/internal/handshake
# github.com/libp2p/go-libp2p/p2p/host/basic
vendor/pkg/mod/github.com/libp2p/[email protected]+incompatible/p2p/host/basic/basic_host.go:131:32: cannot use h (type *BasicHost) as type host.Host in argument to identify.NewIDService:
*BasicHost does not implement host.Host (missing EventBus method)
vendor/pkg/mod/github.com/libp2p/[email protected]+incompatible/p2p/host/basic/basic_host.go:158:32: cannot use h (type *BasicHost) as type host.Host in argument to ping.NewPingService:
*BasicHost does not implement host.Host (missing EventBus method)
vendor/pkg/mod/github.com/libp2p/[email protected]+incompatible/p2p/host/basic/basic_host.go:512:28: h.natmgr.NAT().ExternalAddrs undefined (type *"github.com/libp2p/go-libp2p-nat".NAT has no field or method ExternalAddrs)
vendor/pkg/mod/github.com/libp2p/[email protected]+incompatible/p2p/host/basic/natmgr.go:94:8: assignment mismatch: 1 variable but "github.com/libp2p/go-libp2p-nat".DiscoverNAT returns 2 values
vendor/pkg/mod/github.com/libp2p/[email protected]+incompatible/p2p/host/basic/natmgr.go:94:26: not enough arguments in call to "github.com/libp2p/go-libp2p-nat".DiscoverNAT
have ()
want (context.Context)
vendor/pkg/mod/github.com/libp2p/[email protected]+incompatible/p2p/host/basic/natmgr.go:154:13: mapping.InternalAddr undefined (type "github.com/libp2p/go-libp2p-nat".Mapping has no field or method InternalAddr)
vendor/pkg/mod/github.com/libp2p/[email protected]+incompatible/p2p/host/basic/natmgr.go:176:26: not enough arguments in call to nat.NewMapping
have (multiaddr.Multiaddr)
want (string, int)
vendor/pkg/mod/github.com/libp2p/[email protected]+incompatible/p2p/host/basic/natmgr.go:206:13: mapping.InternalAddr undefined (type "github.com/libp2p/go-libp2p-nat".Mapping has no field or method InternalAddr)
# github.com/lucas-clemente/quic-go/internal/handshake
vendor/pkg/mod/github.com/lucas-clemente/[email protected]/internal/handshake/crypto_setup.go:501:72: undefined: qtls.CipherSuite
vendor/pkg/mod/github.com/lucas-clemente/[email protected]/internal/handshake/crypto_setup.go:523:73: undefined: qtls.CipherSuite
make: *** [Makefile:103: get] Error 2
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.