2
2
3
3
const multibase = require ( 'multibase' )
4
4
const { cidToString } = require ( '../../../utils/cid' )
5
+ const prettyBytes = require ( 'pretty-bytes' )
5
6
6
7
module . exports = {
7
8
command : 'stat' ,
@@ -13,24 +14,42 @@ module.exports = {
13
14
describe : 'Number base to display CIDs in. Note: specifying a CID base for v0 CIDs will have no effect.' ,
14
15
type : 'string' ,
15
16
choices : multibase . names
17
+ } ,
18
+ human : {
19
+ type : 'boolean' ,
20
+ default : false
16
21
}
17
22
} ,
18
23
19
- handler ( { getIpfs, print, cidBase, resolve } ) {
24
+ handler ( { getIpfs, print, cidBase, resolve, human } ) {
20
25
resolve ( ( async ( ) => {
21
26
const ipfs = await getIpfs ( )
22
27
const stats = await ipfs . bitswap . stat ( )
23
- stats . wantlist = stats . wantlist . map ( k => cidToString ( k [ '/' ] , { base : cidBase , upgrade : false } ) )
24
- stats . peers = stats . peers || [ ]
28
+
29
+ if ( human ) {
30
+ stats . blocksReceived = stats . blocksReceived . toNumber ( )
31
+ stats . blocksSent = stats . blocksSent . toNumber ( )
32
+ stats . dataReceived = prettyBytes ( stats . dataReceived . toNumber ( ) ) . toUpperCase ( )
33
+ stats . dataSent = prettyBytes ( stats . dataSent . toNumber ( ) ) . toUpperCase ( )
34
+ stats . dupBlksReceived = stats . dupBlksReceived . toNumber ( )
35
+ stats . dupDataReceived = prettyBytes ( stats . dupDataReceived . toNumber ( ) ) . toUpperCase ( )
36
+ stats . wantlist = `[${ stats . wantlist . length } keys]`
37
+ } else {
38
+ const wantlist = stats . wantlist . map ( ( elem ) => cidToString ( elem [ '/' ] , { base : cidBase , upgrade : false } ) )
39
+ stats . wantlist = `[${ wantlist . length } keys]
40
+ ${ wantlist . join ( '\n ' ) } `
41
+ }
25
42
26
43
print ( `bitswap status
27
- blocks received: ${ stats . blocksReceived }
28
- dup blocks received: ${ stats . dupBlksReceived }
29
- dup data received: ${ stats . dupDataReceived } B
30
- wantlist [${ stats . wantlist . length } keys]
31
- ${ stats . wantlist . join ( '\n ' ) }
32
- partners [${ stats . peers . length } ]
33
- ${ stats . peers . join ( '\n ' ) } ` )
44
+ provides buffer: ${ stats . provideBufLen }
45
+ blocks received: ${ stats . blocksReceived }
46
+ blocks sent: ${ stats . blocksSent }
47
+ data received: ${ stats . dataReceived }
48
+ data sent: ${ stats . dataSent }
49
+ dup blocks received: ${ stats . dupBlksReceived }
50
+ dup data received: ${ stats . dupDataReceived }
51
+ wantlist ${ stats . wantlist }
52
+ partners [${ stats . peers . length } ]` )
34
53
} ) ( ) )
35
54
}
36
55
}
0 commit comments