8 "github.com/vapor/toolbar/precog/common"
17 LantencyMS sql.NullInt64
18 ActiveBeginTime time.Time
24 func (n *Node) MarshalJSON() ([]byte, error) {
25 status := common.StatusMap[n.Status]
27 var activeMinutes uint64
29 case common.NodeHealthyStatus, common.NodeCongestedStatus, common.NodeOrphanStatus:
30 lantency = n.LantencyMS.Int64
31 activeMinutes = uint64(time.Since(n.ActiveBeginTime).Minutes())
34 return json.Marshal(&struct {
35 Alias string `json:"alias"`
36 PubKey string `json:"pubkey"`
37 Host string `json:"host"`
38 Port uint16 `json:"port"`
39 BestHeight uint64 `json:"best_height"`
40 LantencyMS int64 `json:"lantency_ms,omitempty"`
41 ActiveMinutes uint64 `json:"active_minutes,omitempty"`
42 Status string `json:"status"`
48 BestHeight: n.BestHeight,
50 ActiveMinutes: activeMinutes,