diff options
author | Péter Szilágyi <peterke@gmail.com> | 2016-12-12 02:16:30 +0800 |
---|---|---|
committer | Péter Szilágyi <peterke@gmail.com> | 2016-12-12 02:16:30 +0800 |
commit | 13614f4e1ce842cb4dffd5e9b27db433b980e65d (patch) | |
tree | 1be4e4188be179d03578d53f514750afb5489b37 | |
parent | 4f9ccdd70f69dd0a879329d57ec21588f29f182c (diff) | |
download | dexon-13614f4e1ce842cb4dffd5e9b27db433b980e65d.tar dexon-13614f4e1ce842cb4dffd5e9b27db433b980e65d.tar.gz dexon-13614f4e1ce842cb4dffd5e9b27db433b980e65d.tar.bz2 dexon-13614f4e1ce842cb4dffd5e9b27db433b980e65d.tar.lz dexon-13614f4e1ce842cb4dffd5e9b27db433b980e65d.tar.xz dexon-13614f4e1ce842cb4dffd5e9b27db433b980e65d.tar.zst dexon-13614f4e1ce842cb4dffd5e9b27db433b980e65d.zip |
ethstats: fix timestamps and add custom proto support
-rw-r--r-- | ethstats/ethstats.go | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/ethstats/ethstats.go b/ethstats/ethstats.go index a5fa84468..19f9cfba5 100644 --- a/ethstats/ethstats.go +++ b/ethstats/ethstats.go @@ -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), |