Merge pull request #5749 from filecoin-project/feat/netpeers-ext-connmgr
Add connmgr metadata to NetPeerInfo
This commit is contained in:
commit
1755fc2d98
@ -123,6 +123,8 @@ func init() {
|
||||
addExample(retrievalmarket.DealStatusNew)
|
||||
addExample(network.ReachabilityPublic)
|
||||
addExample(build.NewestNetworkVersion)
|
||||
addExample(map[string]int{"name": 42})
|
||||
addExample(map[string]time.Time{"name": time.Unix(1615243938, 0).UTC()})
|
||||
addExample(&types.ExecutionTrace{
|
||||
Msg: exampleValue("init", reflect.TypeOf(&types.Message{}), nil).(*types.Message),
|
||||
MsgRct: exampleValue("init", reflect.TypeOf(&types.MessageReceipt{}), nil).(*types.MessageReceipt),
|
||||
|
17
api/types.go
17
api/types.go
@ -3,6 +3,7 @@ package api
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
datatransfer "github.com/filecoin-project/go-data-transfer"
|
||||
"github.com/filecoin-project/go-state-types/abi"
|
||||
@ -101,8 +102,16 @@ type NetBlockList struct {
|
||||
}
|
||||
|
||||
type ExtendedPeerInfo struct {
|
||||
ID peer.ID
|
||||
Agent string
|
||||
Addrs []string
|
||||
Protocols []string
|
||||
ID peer.ID
|
||||
Agent string
|
||||
Addrs []string
|
||||
Protocols []string
|
||||
ConnMgrMeta *ConnMgrInfo
|
||||
}
|
||||
|
||||
type ConnMgrInfo struct {
|
||||
FirstSeen time.Time
|
||||
Value int
|
||||
Tags map[string]int
|
||||
Conns map[string]time.Time
|
||||
}
|
||||
|
@ -1064,7 +1064,17 @@ Response:
|
||||
"ID": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf",
|
||||
"Agent": "string value",
|
||||
"Addrs": null,
|
||||
"Protocols": null
|
||||
"Protocols": null,
|
||||
"ConnMgrMeta": {
|
||||
"FirstSeen": "0001-01-01T00:00:00Z",
|
||||
"Value": 123,
|
||||
"Tags": {
|
||||
"name": 42
|
||||
},
|
||||
"Conns": {
|
||||
"name": "2021-03-08T22:52:18Z"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
@ -2906,7 +2906,17 @@ Response:
|
||||
"ID": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf",
|
||||
"Agent": "string value",
|
||||
"Addrs": null,
|
||||
"Protocols": null
|
||||
"Protocols": null,
|
||||
"ConnMgrMeta": {
|
||||
"FirstSeen": "0001-01-01T00:00:00Z",
|
||||
"Value": 123,
|
||||
"Tags": {
|
||||
"name": 42
|
||||
},
|
||||
"Conns": {
|
||||
"name": "2021-03-08T22:52:18Z"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
@ -7,6 +7,9 @@ import (
|
||||
|
||||
"github.com/gbrlsnchs/jwt/v3"
|
||||
"github.com/google/uuid"
|
||||
"go.uber.org/fx"
|
||||
"golang.org/x/xerrors"
|
||||
|
||||
logging "github.com/ipfs/go-log/v2"
|
||||
"github.com/libp2p/go-libp2p-core/host"
|
||||
metrics "github.com/libp2p/go-libp2p-core/metrics"
|
||||
@ -17,8 +20,6 @@ import (
|
||||
basichost "github.com/libp2p/go-libp2p/p2p/host/basic"
|
||||
"github.com/libp2p/go-libp2p/p2p/net/conngater"
|
||||
ma "github.com/multiformats/go-multiaddr"
|
||||
"go.uber.org/fx"
|
||||
"golang.org/x/xerrors"
|
||||
|
||||
"github.com/filecoin-project/go-jsonrpc/auth"
|
||||
|
||||
@ -110,12 +111,23 @@ func (a *CommonAPI) NetPeerInfo(_ context.Context, p peer.ID) (*api.ExtendedPeer
|
||||
for _, a := range a.Host.Peerstore().Addrs(p) {
|
||||
info.Addrs = append(info.Addrs, a.String())
|
||||
}
|
||||
sort.Strings(info.Addrs)
|
||||
|
||||
protocols, err := a.Host.Peerstore().GetProtocols(p)
|
||||
if err == nil {
|
||||
sort.Strings(protocols)
|
||||
info.Protocols = protocols
|
||||
}
|
||||
|
||||
if cm := a.Host.ConnManager().GetTagInfo(p); cm != nil {
|
||||
info.ConnMgrMeta = &api.ConnMgrInfo{
|
||||
FirstSeen: cm.FirstSeen,
|
||||
Value: cm.Value,
|
||||
Tags: cm.Tags,
|
||||
Conns: cm.Conns,
|
||||
}
|
||||
}
|
||||
|
||||
return info, nil
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user