Marten Seemann
d616720a16
metrics: provide separate docker-compose files for OSX and Linux ( #2397 )
* metrics: provide separate docker-compose files for OSX and Linux
* Update dashboards/README.md
Co-authored-by: Marco Munizaga <git@marcopolo.io>
---------
Co-authored-by: Marco Munizaga <git@marcopolo.io>
1 year ago
GitHub
4fd6200cc7
chore: Update .github/workflows/stale.yml [skip ci]
1 year ago
Marten Seemann
ff3bd571ac
identify: use zero-alloc slice sorting function ( #2396 )
1 year ago
Sukun
173fef8a2e
rcmgr: move StatsTraceReporter to rcmgr package ( #2388 )
1 year ago
Sukun
1e31d70533
swarm: implement blackhole detection ( #2320 )
* swarm: implement blackhole detection
* address review comments
1 year ago
Hlib Kanunnikov
e5334ed296
basichost / blankhost: wrap errors ( #2331 )
1 year ago
Marten Seemann
f1236d84de
network: don't allocate in DedupAddrs ( #2395 )
1 year ago
Marco Munizaga
acca7a673c
rcmgr: test snapshot defaults and that we keep consistent defaults ( #2315 )
* Snapshot rcmgr defaults and test that we keep consistent defaults
* Don't use autoscaled defaults since we can't predict the env these tests will run in
* Normalize for windows
1 year ago
Sukun
dfaeb7ed48
rcmgr: register prometheus metrics with the libp2p registerer ( #2370 )
* rcmgr: register prometheus metrics with the libp2p registerer
* update dashboard readme
1 year ago
Marten Seemann
139af10806
metrics: make it possible to spin up Grafana using docker-compose ( #2383 )
* metrics: make it possible to spin up Grafana using docker-compose
* Update dashboards/README.md
Co-authored-by: Prithvi Shahi <shahi.prithvi@gmail.com>
* disable Grafana authentication
* add holepunch dashboard
---------
Co-authored-by: Prithvi Shahi <shahi.prithvi@gmail.com>
1 year ago
Marten Seemann
d3004eaf3c
identify: set stream deadlines for Identify and Identify Push streams ( #2382 )
1 year ago
Jorropo
5e3fc8aedf
fix: in the swarm move Connectedness emit after releasing conns ( #2373 )
* fix: in the swarm move Connectedness emit after releasing conns
go-libp2p-kad-dht now listen to both EvtPeerIdentificationCompleted and EvtPeerConnectednessChanged
and EvtPeerIdentificationCompleted calls .ConnsToPeer inorder to do some filtering.
However it happens that it deadlocks because if the swarm is trying to emit a EvtPeerConnectednessChanged
while the subscriber is trying to process an EvtPeerIdentificationCompleted, the subscriber is stuck on
s.conns.RLock() while the swarm wont release it before having sent EvtPeerConnectednessChanged.
Deadlock !
I havn't confirmed this fixes my bug given this takes time to reproduce, I'll startup a new experiment soon.
* Fix other deadlock and add a test
* Make test a little faster
* Bind on localhost
---------
Co-authored-by: Marco Munizaga <git@marcopolo.io>
1 year ago
Marco Munizaga
22c45a11bb
metrics: add example for metrics and dashboard ( #2232 )
1 year ago
Marten Seemann
3206862676
dashboards: finish metrics effort ( #2362 )
1 year ago
Marco Munizaga
91f34d45c9
transport tests: many streams and lots of data ( #2296 )
* Add test for lots of data and lots of streams
* Add some logs
* Close hosts
* Remove alloc measurement in many big pings
* Rename fake proto
* Skip windows and add comments
* fix typo
---------
Co-authored-by: Marten Seemann <martenseemann@gmail.com>
1 year ago
Jorropo
e5676a531b
webtransport: close the challenge stream after the Noise handshake ( #2305 )
* transport/webtransport: close the challenge stream
Once the challenge succeeded there is no reason to keep the challenge stream open, it will never be used again.
* webtransport: defer closing of challenge stream
---------
Co-authored-by: Marten Seemann <martenseemann@gmail.com>
1 year ago
Sukun
d1dcb0e330
test: document why InstantTimer is required ( #2351 )
originally explained by @marcopolo here: https://github.com/libp2p/go-libp2p/pull/2260#discussion_r1201284744
1 year ago
Sukun
efb90aeb82
examples: update go-libp2p to v0.28.0 ( #2366 )
1 year ago
Marten Seemann
2d490caf44
rcmgr: fix link to dashboards in README ( #2363 )
1 year ago
GitHub
f40712bc25
chore: Update .github/workflows/stale.yml [skip ci]
1 year ago
VM
b4c9fed04a
docs: fix some comments errors ( #2356 )
1 year ago
Sukun
703c3a4377
release v0.28.0 ( #2344 )
1 year ago
Sukun
f87f6dbca8
nat: add HasDiscoveredNAT method for checking NAT environments ( #2358 )
* nat: add HasNAT method for checking NAT environments
* rename to better variable
1 year ago
Sukun
046f112f8a
swarm: fix stale DialBackoff comment ( #2353 )
1 year ago
Sukun
3d4557854a
swarm: use RLock for DialBackoff reads ( #2354 )
1 year ago
Marten Seemann
1b0df37769
chore: update deps ( #2332 )
Co-authored-by: sukun <sukunrt@gmail.com>
1 year ago
Marco Munizaga
3d725f32ba
Clear stream scope if we error ( #2345 )
1 year ago
Marten Seemann
c9de166505
changelog: improve description of smart dialing ( #2342 )
1 year ago
Sukun
82e6227b34
swarm: make smart-dialing opt in ( #2340 )
1 year ago
Sukun
686a32aae7
swarm: cleanup address filtering logic ( #2333 )
1 year ago
Prithvi Shahi
d46406c588
chore: add 0.28.0 changelog ( #2335 )
* chore: add 0.28.0 changelog
* review comments
1 year ago
Marten Seemann
8450e8762d
swarm: improve documentation for the DefaultDialRanker ( #2336 )
1 year ago
Sukun
73c34f98da
holepunch: add metrics ( #2246 )
* holepunch: add metrics
* don't track addresses
* add cancelled and no_suitable_address state
* separate holepunch dashbords by transport
* fix dashboard fields
* add instance filter to dashboard
* initialise metrics labels with 0
* fix panel names in dashboard
Co-authored-by: Marten Seemann <martenseemann@gmail.com>
---------
Co-authored-by: Marten Seemann <martenseemann@gmail.com>
1 year ago
Sukun
6f27081cac
swarm: implement smart dialing logic ( #2260 )
* implement smart dialing
* add more comments and tests
* change address ranking logic to dial one quic address before others
* add randomized worker loop tests
* simplify priority queue implementation
* improve DialRanker docs
* one more test
* add explanatory comments and rename variables
* fix allocations in dialQueue
* fix allocations in dialRanker
* Apply suggestions from code review
Co-authored-by: Marten Seemann <martenseemann@gmail.com>
* fix comments
* add logging
* add holepunching test
* add metrics for tracking dial prioritisation impact
clean up redundant address filtering committed
* add test for webtransport filtering
* update changelog
* fix flaky test
* update dashboard
* update dial ranking delay dashboard to use pie chart
* change <=1ms label to 'No delay' in dashboard
* add defensive check to map presence
---------
Co-authored-by: Marten Seemann <martenseemann@gmail.com>
1 year ago
Marten Seemann
0f9ad8c242
revert "feat:add contexts to all peerstore methods ( #2312 )" ( #2328 )
1 year ago
Marten Seemann
581dd29fa2
identify: don't save signed peer records ( #2325 )
For multiple reasons:
1. They were not consumed anywhere.
2. We need to filter the addresses to avoid polluting the address book with local addresses.
1 year ago
Prem Chaitanya Prathi
8864d1c33e
feat:add contexts to all peerstore methods ( #2312 )
1 year ago
Marco Munizaga
e89814c520
swarm: Dedup addresses to dial ( #2322 )
* Dedup addresses to dial
Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
* Move DedupAddrs test
* Typo
---------
Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
1 year ago
Marten Seemann
d3605dbb06
identify: filter received addresses based on the node's remote address ( #2300 )
1 year ago
Marten Seemann
a852c6749f
update go-nat to v0.2.0, use context on AddMapping and RemoveMapping ( #2319 )
1 year ago
Marco Munizaga
1f7b0d2add
transport integration tests: add tests for resource manager ( #2285 )
* Remove duplicate `SetProtocol` call
* Don't log if transport ErrListenerClosed
* Close the conn scope in webtransport dial
* Mock resource scope span
* Add transport rcmgr integration test
* PR nits
* Fix flakiness
* Threadsafe way of waiting for all streams
* Expand comment
1 year ago
Marten Seemann
8d771355b4
identify: reject signed peer records on peer ID mismatch
and make ConsumeEnvelope harder to misuse
---------
Co-authored-by: Marco Munizaga <git@marcopolo.io>
1 year ago
Marten Seemann
305282b0cd
identify: don't send default protocol version ( #2303 )
1 year ago
Sukun
01651d206f
metrics: add instance filter to all dashboards ( #2301 )
* metrics: update dashboards to support multiple instances
* update file permissions
1 year ago
Marten Seemann
5a0411b8eb
identify: avoid spuriously triggering pushes ( #2299 )
1 year ago
Marten Seemann
4798c629d1
update webtransport-go to v0.5.3 ( #2298 )
1 year ago
Hlib Kanunnikov
8719fc4944
net/mock: mimic Swarm's event and notification behavior in MockNet ( #2287 )
* net/mock: mimic Swarm's event and notificaion behavior in MockNet
* go fmt
2 years ago
Sukun
301a197a76
examples: fix flaky multipro TestMain ( #2289 )
* examples: fix flaky multipro TestMain
* better to synchronise
2 years ago
Sukun
64be725566
swarm: change maps with multiaddress keys to use strings ( #2284 )
* swarm: change maps with multiaddress keys to use strings
* fix test
* fix more flakiness
2 years ago
Marten Seemann
8a3fafdaaf
tests: add comprehensive end-to-end tests for connection gating ( #2200 )
* tests: add integration tests for gating of outgoing connections
* tests: integrate connection gating tests into the transport tests
* disable gating tests with race detector
2 years ago