ad546f935a
feat(integration_test) add make task to perform benchmarks in docker env
...
pprof cannot be used reliably on OS X. This provides two make tasks to
collect and analyze profiling data.
To run profiling in a dockerized linux environment...
```
make // or `make collect`
```
To analyze results on host machine...
```
make analyze
```
@jbenet @whyrusleeping
2014-12-24 09:31:19 -05:00
ca32a83394
wip with DHT
...
@whyrusleeping @jbenet this is a WIP with the DHT.
wip
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
Conflicts:
epictest/addcat_test.go
exchange/bitswap/testnet/peernet.go
exchange/bitswap/testutils.go
routing/mock/centralized_server.go
routing/mock/centralized_test.go
routing/mock/interface.go
fix(routing/mock) fill in function definition
2014-12-24 09:31:19 -05:00
14990bb556
fix(merkledag/test) panic!
...
https://travis-ci.org/jbenet/go-ipfs/jobs/45000756
cc @whyrusleeping @jbenet
lol this is starting to happen pretty often
2014-12-24 09:31:18 -05:00
c253590770
refactor(routing/mock) move files
2014-12-24 09:31:18 -05:00
6da57c6764
feat(bitswap/testnet) impl a version of bitswap testnet that uses mockpeernet under the hood
...
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-24 09:31:18 -05:00
85ce94c510
refactor(bitswap/testnet) rename to virtual
...
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-24 09:31:18 -05:00
d390e31c11
refactor(bitswap/testnet) extract interface in prep for mockpeernet version
...
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-24 09:31:18 -05:00
d5e936a2c6
ignore log output
2014-12-24 09:31:18 -05:00
6cdb4c23b4
pass peer into testnet adapter method
2014-12-24 09:31:18 -05:00
e017d6edc6
refactor(bitswap/testnet) slim down interface
...
so it'll be easier to create another implementation using the new
mocknet
2014-12-24 09:31:17 -05:00
12b92f03f1
add RandPeerOrFatal test helper
2014-12-24 09:31:17 -05:00
b551e45ae9
use testutil peer in sess
2014-12-24 09:31:17 -05:00
a85aa9b5da
refactor: rename testutil func
2014-12-24 09:31:17 -05:00
81a67338f1
fix(bitswap) remove peerstore
2014-12-24 09:31:17 -05:00
b31f728188
feat(testutil) add testutil.Peer shim
2014-12-24 09:31:17 -05:00
c933d439b7
misc docs and fmting
2014-12-24 09:31:17 -05:00
8d8a1dc7e1
Merge pull request #473 from jbenet/dht-test-providers
...
dht fixes
2014-12-24 06:17:12 -08:00
0938471d1c
ctxio: fix buffer of 1 so goroutine exits when io completes.
2014-12-24 05:50:05 -08:00
989d3d4ce5
dht/test skip bootstrap test when short
2014-12-24 05:39:48 -08:00
60c869d401
dht/test: providers test id compare
2014-12-24 04:23:15 -08:00
99636b571c
net/id: handle error case
2014-12-24 04:22:51 -08:00
923c082d66
dht: cleaned up dht_test.
...
TestProversMany still fails
2014-12-24 03:48:02 -08:00
57510d2fec
dht/dht_test: bootstrap synchronously. fares better.
2014-12-24 03:46:45 -08:00
618097d80e
dht/query: log when dialing a closerpeer
2014-12-24 03:45:20 -08:00
8adda0fffc
dht: bootstrap query constants
2014-12-24 03:44:03 -08:00
e630ca6078
dht: removing extra newlines
2014-12-24 03:42:43 -08:00
b5cbc8b6fa
dht_test: better bootstrapping logging
2014-12-24 03:41:13 -08:00
900c1fbfa2
net/id: when dup id, wait on it.
2014-12-24 03:38:44 -08:00
ef0c25f463
dht bootstrap test: rounds. do nothing
...
odd behavior: only one dht (the last one) is seeing
changes to its routing table.
2014-12-24 03:24:52 -08:00
ccf6f79aa0
respect don contexteone
2014-12-24 03:24:28 -08:00
f8c523fc3b
bootstrap test
2014-12-24 02:20:11 -08:00
cdb461d2a9
dht: update on every received message
...
i made a separate function because we may want to update our
routing table based on "closer peers". maybe not-- these could
all be lies.
2014-12-24 02:20:11 -08:00
61cdef3570
dht/query: fix important panic
...
Withe queries (particularly providers), it was possible to
exit the query runner's Run BEFORE all its children were done,
because the runner itself only listened to the context. This
introduced the possibility of a panic (you can go check it
out by running the TestProvidersMany test on dht_test in commits
before this one). Thankfully, ctxgroup saved the day with
almost _zero_ changes to the sync flow, and now we have the
guarantee that the query runner will only exit if all its
children are done. ❤️
Conflicts:
routing/dht/query.go
2014-12-24 02:13:38 -08:00
a4021eb433
ctxio -- io with a context.
...
This commit introduces a reader and writer that respect
contexts. Warning: careful how you use them. Returning
leaves a goroutine reading until the read finishes.
2014-12-24 02:10:56 -08:00
0013415db8
net/interface: move more to Dialer
2014-12-24 02:10:56 -08:00
7d7e051101
dht bootstrap err check fix + logging
2014-12-24 02:10:52 -08:00
596602f37f
routing table: better printing (see bkts)
2014-12-24 02:09:06 -08:00
ea2706c698
dht bugfix: unlock on print
2014-12-24 01:50:00 -08:00
04f9805d5d
dht_test large providers test
2014-12-24 01:49:55 -08:00
c43e8fa35b
fixing race in testutil port
2014-12-23 17:59:35 -08:00
fd2875f2ed
fixing race in swarm
2014-12-23 17:59:24 -08:00
32589ad4bb
Merge pull request #466 from jbenet/peer-restrict
...
The Peer is Dead. Long live the ID
2014-12-23 09:44:27 -08:00
a5018fcc0b
net/mock: interface addresses
2014-12-23 09:23:32 -08:00
bd45adfb89
chore(bitswap) remove Peerstore() methods from bitswap.Network interface
2014-12-23 09:22:17 -08:00
c34132e080
refactor(bitswap) change PeerInfo to ID in bitswap package
...
@jbenet @whyrusleeping
This commit replaces peer.PeerInfo with peer.ID in the bitswap package
2014-12-23 09:21:08 -08:00
27dc9594ba
refactor(bitswap) bitswap.Network now abstracts ipfs.Network + ipfs.Routing
...
@jbenet @whyrusleeping
the next commit will change bitswap.Network.FindProviders to only deal
with IDs
2014-12-23 09:19:21 -08:00
c6294646e9
fix(bitswap) always add addresses
2014-12-23 09:17:40 -08:00
070b633df8
style(bitswap) rename to network
2014-12-23 09:16:00 -08:00
60f3a874c2
feat(bitswap/network) expose peerstore
2014-12-23 09:14:54 -08:00
a225568ff6
style(bitswap) public methods at top
2014-12-23 09:13:17 -08:00