ethstats: fix timestamps and add custom proto support
This commit is contained in:
parent
4f9ccdd70f
commit
13614f4e1c
|
@ -25,6 +25,7 @@ import (
|
|||
"regexp"
|
||||
"runtime"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
|
@ -115,7 +116,11 @@ func (s *Service) loop() {
|
|||
// Loop reporting until termination
|
||||
for {
|
||||
// Establish a websocket connection to the server and authenticate the node
|
||||
conn, err := websocket.Dial(fmt.Sprintf("wss://%s/api", s.host), "", "http://localhost/")
|
||||
url := fmt.Sprintf("%s/api", s.host)
|
||||
if !strings.Contains(url, "://") {
|
||||
url = "wss://" + url
|
||||
}
|
||||
conn, err := websocket.Dial(url, "", "http://localhost/")
|
||||
if err != nil {
|
||||
glog.V(logger.Warn).Infof("Stats server unreachable: %v", err)
|
||||
time.Sleep(10 * time.Second)
|
||||
|
@ -297,6 +302,7 @@ func (s *Service) reportLatency(in *json.Decoder, out *json.Encoder) error {
|
|||
type blockStats struct {
|
||||
Number *big.Int `json:"number"`
|
||||
Hash common.Hash `json:"hash"`
|
||||
Timestamp *big.Int `json:"timestamp"`
|
||||
Miner common.Address `json:"miner"`
|
||||
GasUsed *big.Int `json:"gasUsed"`
|
||||
GasLimit *big.Int `json:"gasLimit"`
|
||||
|
@ -362,6 +368,7 @@ func (s *Service) reportBlock(out *json.Encoder, block *types.Block) error {
|
|||
"block": &blockStats{
|
||||
Number: head.Number,
|
||||
Hash: head.Hash(),
|
||||
Timestamp: head.Time,
|
||||
Miner: head.Coinbase,
|
||||
GasUsed: new(big.Int).Set(head.GasUsed),
|
||||
GasLimit: new(big.Int).Set(head.GasLimit),
|
||||
|
|
Loading…
Reference in New Issue