Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
dms3
go-bitswap
Commits
d183ae75
Commit
d183ae75
authored
Jan 26, 2017
by
Jeromy
Committed by
Jakub Sztandera
Mar 06, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add more info to bitswap stat
License: MIT Signed-off-by:
Jeromy
<
jeromyj@gmail.com
>
parent
2712d298
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
52 additions
and
0 deletions
+52
-0
bitswap.go
bitswap.go
+4
-0
bitswap_test.go
bitswap_test.go
+38
-0
stat.go
stat.go
+6
-0
workers.go
workers.go
+4
-0
No files found.
bitswap.go
View file @
d183ae75
...
...
@@ -157,6 +157,9 @@ type Bitswap struct {
blocksRecvd
int
dupBlocksRecvd
int
dupDataRecvd
uint64
blocksSent
int
dataSent
uint64
dataRecvd
uint64
// Metrics interface metrics
dupMetric
metrics
.
Histogram
...
...
@@ -401,6 +404,7 @@ func (bs *Bitswap) updateReceiveCounters(b blocks.Block) {
defer
bs
.
counterLk
.
Unlock
()
bs
.
blocksRecvd
++
bs
.
dataRecvd
+=
uint64
(
len
(
b
.
RawData
()))
if
has
{
bs
.
dupBlocksRecvd
++
bs
.
dupDataRecvd
+=
uint64
(
blkLen
)
...
...
bitswap_test.go
View file @
d183ae75
...
...
@@ -3,6 +3,7 @@ package bitswap
import
(
"bytes"
"context"
"fmt"
"sync"
"testing"
"time"
...
...
@@ -299,6 +300,25 @@ func TestEmptyKey(t *testing.T) {
}
}
func
assertStat
(
st
*
Stat
,
sblks
,
rblks
int
,
sdata
,
rdata
uint64
)
error
{
if
sblks
!=
st
.
BlocksSent
{
return
fmt
.
Errorf
(
"mismatch in blocks sent: %d vs %d"
,
sblks
,
st
.
BlocksSent
)
}
if
rblks
!=
st
.
BlocksReceived
{
return
fmt
.
Errorf
(
"mismatch in blocks recvd: %d vs %d"
,
rblks
,
st
.
BlocksReceived
)
}
if
sdata
!=
st
.
DataSent
{
return
fmt
.
Errorf
(
"mismatch in data sent: %d vs %d"
,
sdata
,
st
.
DataSent
)
}
if
rdata
!=
st
.
DataReceived
{
return
fmt
.
Errorf
(
"mismatch in data recvd: %d vs %d"
,
rdata
,
st
.
DataReceived
)
}
return
nil
}
func
TestBasicBitswap
(
t
*
testing
.
T
)
{
net
:=
tn
.
VirtualNetwork
(
mockrouting
.
NewServer
(),
delay
.
Fixed
(
kNetworkDelay
))
sg
:=
NewTestSessionGenerator
(
net
)
...
...
@@ -321,6 +341,24 @@ func TestBasicBitswap(t *testing.T) {
t
.
Fatal
(
err
)
}
st0
,
err
:=
instances
[
0
]
.
Exchange
.
Stat
()
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
st1
,
err
:=
instances
[
1
]
.
Exchange
.
Stat
()
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
if
err
:=
assertStat
(
st0
,
1
,
0
,
1
,
0
);
err
!=
nil
{
t
.
Fatal
(
err
)
}
if
err
:=
assertStat
(
st1
,
0
,
1
,
0
,
1
);
err
!=
nil
{
t
.
Fatal
(
err
)
}
t
.
Log
(
blk
)
for
_
,
inst
:=
range
instances
{
err
:=
inst
.
Exchange
.
Close
()
...
...
stat.go
View file @
d183ae75
...
...
@@ -11,6 +11,9 @@ type Stat struct {
Wantlist
[]
*
cid
.
Cid
Peers
[]
string
BlocksReceived
int
DataReceived
uint64
BlocksSent
int
DataSent
uint64
DupBlksReceived
int
DupDataReceived
uint64
}
...
...
@@ -23,6 +26,9 @@ func (bs *Bitswap) Stat() (*Stat, error) {
st
.
BlocksReceived
=
bs
.
blocksRecvd
st
.
DupBlksReceived
=
bs
.
dupBlocksRecvd
st
.
DupDataReceived
=
bs
.
dupDataRecvd
st
.
BlocksSent
=
bs
.
blocksSent
st
.
DataSent
=
bs
.
dataSent
st
.
DataReceived
=
bs
.
dataRecvd
bs
.
counterLk
.
Unlock
()
for
_
,
p
:=
range
bs
.
engine
.
Peers
()
{
...
...
workers.go
View file @
d183ae75
...
...
@@ -64,6 +64,10 @@ func (bs *Bitswap) taskWorker(ctx context.Context, id int) {
})
bs
.
wm
.
SendBlock
(
ctx
,
envelope
)
bs
.
counterLk
.
Lock
()
bs
.
blocksSent
++
bs
.
dataSent
+=
uint64
(
len
(
envelope
.
Block
.
RawData
()))
bs
.
counterLk
.
Unlock
()
case
<-
ctx
.
Done
()
:
return
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment