From abc3abb4abcd85277243eb73073d01f28d2c60c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kurk=C3=B3=20Mih=C3=A1ly?= Date: Wed, 26 Jun 2019 13:04:00 +0300 Subject: [PATCH] cmd, dashboard, eth, p2p: cleanup after review --- cmd/geth/config.go | 2 +- cmd/utils/flags.go | 4 ++-- dashboard/assets/components/Dashboard.jsx | 3 --- dashboard/assets/components/Header.jsx | 1 - dashboard/assets/components/Network.jsx | 12 +++++----- dashboard/assets/types/content.jsx | 1 - dashboard/dashboard.go | 29 +++++++++-------------- dashboard/message.go | 1 - dashboard/peers.go | 4 ++-- p2p/metrics.go | 24 +++++++++---------- p2p/server.go | 14 +++++------ 11 files changed, 39 insertions(+), 56 deletions(-) diff --git a/cmd/geth/config.go b/cmd/geth/config.go index 6e76fb4238..f4bc5e5dfa 100644 --- a/cmd/geth/config.go +++ b/cmd/geth/config.go @@ -185,7 +185,7 @@ func makeFullNode(ctx *cli.Context) *node.Node { // Add dashboard daemon if requested. This should be the last registered service // in order to be able to collect information about the other services. if ctx.GlobalBool(utils.DashboardEnabledFlag.Name) { - utils.RegisterDashboardService(stack, &cfg.Dashboard, cfg.Eth.SyncMode, gitCommit) + utils.RegisterDashboardService(stack, &cfg.Dashboard, gitCommit) } return stack } diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go index a544a681af..7b25387f11 100644 --- a/cmd/utils/flags.go +++ b/cmd/utils/flags.go @@ -1537,7 +1537,7 @@ func RegisterEthService(stack *node.Node, cfg *eth.Config) { } // RegisterDashboardService adds a dashboard to the stack. -func RegisterDashboardService(stack *node.Node, cfg *dashboard.Config, syncMode downloader.SyncMode, commit string) { +func RegisterDashboardService(stack *node.Node, cfg *dashboard.Config, commit string) { err := stack.Register(func(ctx *node.ServiceContext) (node.Service, error) { var ( ethServ *eth.Ethereum @@ -1545,7 +1545,7 @@ func RegisterDashboardService(stack *node.Node, cfg *dashboard.Config, syncMode ) _ = ctx.Service(ðServ) _ = ctx.Service(&lesServ) - return dashboard.New(cfg, ethServ, lesServ, syncMode, commit, ctx.ResolvePath("logs")), nil + return dashboard.New(cfg, ethServ, lesServ, commit, ctx.ResolvePath("logs")), nil }) if err != nil { Fatalf("Failed to register the dashboard service: %v", err) diff --git a/dashboard/assets/components/Dashboard.jsx b/dashboard/assets/components/Dashboard.jsx index a88162c355..a36905ead8 100644 --- a/dashboard/assets/components/Dashboard.jsx +++ b/dashboard/assets/components/Dashboard.jsx @@ -85,7 +85,6 @@ const defaultContent: () => Content = () => ({ general: { version: null, commit: null, - syncMode: '', }, home: {}, chain: {}, @@ -122,7 +121,6 @@ const updaters = { general: { version: replacer, commit: replacer, - syncMode: replacer, }, home: null, chain: null, @@ -243,7 +241,6 @@ class Dashboard extends Component {
({ export type Props = { classes: Object, // injected by withStyles() switchSideBar: () => void, - syncMode: string, }; // Header renders the header of the dashboard. diff --git a/dashboard/assets/components/Network.jsx b/dashboard/assets/components/Network.jsx index 54e7f4dcaf..053d92ba1d 100644 --- a/dashboard/assets/components/Network.jsx +++ b/dashboard/assets/components/Network.jsx @@ -29,8 +29,7 @@ import Typography from '@material-ui/core/Typography'; import {AreaChart, Area, Tooltip, YAxis} from 'recharts'; import {FontAwesomeIcon} from '@fortawesome/react-fontawesome'; import {faCircle as fasCircle} from '@fortawesome/free-solid-svg-icons'; // More icons at fontawesome.com/icons -import {faCircle as farCircle} from '@fortawesome/free-regular-svg-icons'; -import {faClipboard as farClipboard} from '@fortawesome/free-regular-svg-icons'; +import {faCircle as farCircle, faClipboard as farClipboard} from '@fortawesome/free-regular-svg-icons'; import convert from 'color-convert'; import {Scrollbars} from 'react-custom-scrollbars'; @@ -139,9 +138,10 @@ const shortName = (name: string) => { console.error('Incorrect node name', name); return parts[0]; } + const versionRE = RegExp(/^v?\d+\.\d+\.\d+.*/); // Drop optional custom identifier. - if (!RegExp(/^v?\d+\.\d+\.\d+.*/).test(parts[1])) { - if (parts.length < 3) { + if (!versionRE.test(parts[1])) { + if (parts.length < 3 || !versionRE.test(parts[2])) { console.error('Incorrect node name', name); return parts[0]; } @@ -683,7 +683,7 @@ class Network extends Component {
- ETH peers + Full peers {
- LES peers + Light peers = MeteredPeerLimit { // Don't register the peer in the traffic registries. atomic.AddInt32(&meteredPeerCount, -1) c.lock.Lock() - c.enode, c.trafficMetered = enode, false + c.peer, c.trafficMetered = peer, false c.lock.Unlock() log.Warn("Metered peer count reached the limit") } else { + enode := peer.Node().String() c.lock.Lock() - c.enode, c.trafficMetered = enode, true + c.peer, c.trafficMetered = peer, true c.ingressMeter = metrics.NewRegisteredMeter(enode, PeerIngressRegistry) c.egressMeter = metrics.NewRegisteredMeter(enode, PeerEgressRegistry) c.lock.Unlock() @@ -178,7 +177,6 @@ func (c *meteredConn) handshakeDone(peer *Peer) { meteredPeerFeed.Send(MeteredPeerEvent{ Type: PeerHandshakeSucceeded, Addr: c.addr.String(), - Enode: enode, Peer: peer, Elapsed: time.Since(c.connected), }) @@ -189,7 +187,7 @@ func (c *meteredConn) handshakeDone(peer *Peer) { func (c *meteredConn) Close() error { err := c.Conn.Close() c.lock.RLock() - if c.enode == "" { + if c.peer == nil { // If the peer disconnects before/during the handshake. c.lock.RUnlock() meteredPeerFeed.Send(MeteredPeerEvent{ @@ -200,19 +198,19 @@ func (c *meteredConn) Close() error { activePeerCounter.Dec(1) return err } - enode := c.enode + peer := c.peer if !c.trafficMetered { // If the peer isn't registered in the traffic registries. c.lock.RUnlock() meteredPeerFeed.Send(MeteredPeerEvent{ - Type: PeerDisconnected, - Addr: c.addr.String(), - Enode: enode, + Type: PeerDisconnected, + Addr: c.addr.String(), + Peer: peer, }) activePeerCounter.Dec(1) return err } - ingress, egress := uint64(c.ingressMeter.Count()), uint64(c.egressMeter.Count()) + ingress, egress, enode := uint64(c.ingressMeter.Count()), uint64(c.egressMeter.Count()), c.peer.Node().String() c.lock.RUnlock() // Decrement the metered peer count @@ -225,7 +223,7 @@ func (c *meteredConn) Close() error { meteredPeerFeed.Send(MeteredPeerEvent{ Type: PeerDisconnected, Addr: c.addr.String(), - Enode: enode, + Peer: peer, Ingress: ingress, Egress: egress, }) diff --git a/p2p/server.go b/p2p/server.go index a29c6d6fdd..43f320ed30 100644 --- a/p2p/server.go +++ b/p2p/server.go @@ -876,15 +876,13 @@ func (srv *Server) listenLoop() { continue } if remoteIP != nil { - fd = newMeteredConn(fd, true, remoteIP) + var addr *net.TCPAddr + if tcp, ok := fd.RemoteAddr().(*net.TCPAddr); ok { + addr = tcp + } + fd = newMeteredConn(fd, true, addr) + srv.log.Trace("Accepted connection", "addr", fd.RemoteAddr()) } - - var addr *net.TCPAddr - if tcp, ok := fd.RemoteAddr().(*net.TCPAddr); ok { - addr = tcp - } - fd = newMeteredConn(fd, true, addr) - srv.log.Trace("Accepted connection", "addr", fd.RemoteAddr()) go func() { srv.SetupConn(fd, inboundConn, nil) slots <- struct{}{}