From c63a1f254c004deb386924a053ddc3511cae469b Mon Sep 17 00:00:00 2001 From: Joris Date: Wed, 7 Apr 2021 16:15:36 +0200 Subject: [PATCH 1/3] [ETCM-715] Improve log in PeerManagerActor --- .../scala/io/iohk/ethereum/network/PeerManagerActor.scala | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/scala/io/iohk/ethereum/network/PeerManagerActor.scala b/src/main/scala/io/iohk/ethereum/network/PeerManagerActor.scala index cd982f2ecb..52333a78c9 100644 --- a/src/main/scala/io/iohk/ethereum/network/PeerManagerActor.scala +++ b/src/main/scala/io/iohk/ethereum/network/PeerManagerActor.scala @@ -156,9 +156,9 @@ class PeerManagerActor( NetworkMetrics.PendingPeersSize.set(connectedPeers.pendingPeersCount) log.info( - s"Discovered ${nodes.size} nodes, " + - s"Blacklisted ${blacklistedPeers.size} nodes, " + - s"handshaked to ${connectedPeers.handshakedPeersCount}/${peerConfiguration.maxOutgoingPeers + peerConfiguration.maxIncomingPeers}, " + + s"Total number of discovered nodes ${nodes.size}. " + + s"Total number of connection attempts ${triedNodes.size}, blacklisted ${blacklistedPeers.size} nodes. " + + s"Handshaked ${connectedPeers.handshakedPeersCount}/${peerConfiguration.maxOutgoingPeers + peerConfiguration.maxIncomingPeers}, " + s"pending connection attempts ${connectedPeers.pendingPeersCount}. " + s"Trying to connect to ${nodesToConnect.size} more nodes." ) From 525b9abbcf43e7e21cf0f950c925141d5b9c5711 Mon Sep 17 00:00:00 2001 From: Joris Date: Wed, 7 Apr 2021 16:16:13 +0200 Subject: [PATCH 2/3] [ETCM-715] Add network metric (tried.peers) --- .../scala/io/iohk/ethereum/network/NetworkMetrics.scala | 6 +++++- .../scala/io/iohk/ethereum/network/PeerManagerActor.scala | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/scala/io/iohk/ethereum/network/NetworkMetrics.scala b/src/main/scala/io/iohk/ethereum/network/NetworkMetrics.scala index 0a388fdd52..ac435a5319 100644 --- a/src/main/scala/io/iohk/ethereum/network/NetworkMetrics.scala +++ b/src/main/scala/io/iohk/ethereum/network/NetworkMetrics.scala @@ -1,8 +1,9 @@ package io.iohk.ethereum.network -import io.iohk.ethereum.metrics.MetricsContainer import java.util.concurrent.atomic.AtomicLong +import io.iohk.ethereum.metrics.MetricsContainer + case object NetworkMetrics extends MetricsContainer { private final val HandshakedIncomingPeersGauge = @@ -20,6 +21,9 @@ case object NetworkMetrics extends MetricsContainer { final val PendingPeersSize = metrics.registry.gauge("network.peers.pending.gauge", new AtomicLong(0)) + final val TriedPeersSize = + metrics.registry.gauge("network.tried.peers.gauge", new AtomicLong(0L)) + def registerAddHandshakedPeer(peer: Peer): Unit = { if (peer.incomingConnection) { HandshakedIncomingPeersGauge.incrementAndGet() diff --git a/src/main/scala/io/iohk/ethereum/network/PeerManagerActor.scala b/src/main/scala/io/iohk/ethereum/network/PeerManagerActor.scala index 52333a78c9..201af753ae 100644 --- a/src/main/scala/io/iohk/ethereum/network/PeerManagerActor.scala +++ b/src/main/scala/io/iohk/ethereum/network/PeerManagerActor.scala @@ -154,6 +154,7 @@ class PeerManagerActor( NetworkMetrics.DiscoveredPeersSize.set(nodes.size) NetworkMetrics.BlacklistedPeersSize.set(blacklistedPeers.size) NetworkMetrics.PendingPeersSize.set(connectedPeers.pendingPeersCount) + NetworkMetrics.TriedPeersSize.set(triedNodes.size) log.info( s"Total number of discovered nodes ${nodes.size}. " + From b476d499d33adbace9570111e4010c114e3c655c Mon Sep 17 00:00:00 2001 From: Joris Date: Wed, 7 Apr 2021 16:18:21 +0200 Subject: [PATCH 3/3] [ETCM-715] Add Grafana panel: tried/discovered --- .../dashboards/mantis-dashboard.json | 138 ++++++++++++++++++ 1 file changed, 138 insertions(+) diff --git a/docker/mantis/grafana/provisioning/dashboards/mantis-dashboard.json b/docker/mantis/grafana/provisioning/dashboards/mantis-dashboard.json index 1293045e0c..1ea8826451 100644 --- a/docker/mantis/grafana/provisioning/dashboards/mantis-dashboard.json +++ b/docker/mantis/grafana/provisioning/dashboards/mantis-dashboard.json @@ -3017,6 +3017,144 @@ "alignLevel": null } }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 8 + }, + "hiddenSeries": false, + "id": 84, + "legend": { + "avg": false, + "current": false, + "hideEmpty": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "connected", + "options": { + "alertThreshold": true + }, + "percentage": true, + "pluginVersion": "7.3.6", + "pointradius": 0.5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "alias": "nb_tried_peers", + "hiddenSeries": true, + "hideTooltip": true, + "legend": false + }, + { + "alias": "nb_discovered_peers", + "hiddenSeries": true, + "hideTooltip": true, + "legend": false + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "app_network_tried_peers_gauge", + "interval": "", + "legendFormat": "nb_tried_peers", + "refId": "Number of tried peers" + }, + { + "expr": "app_network_discovery_foundPeers_gauge", + "interval": "", + "legendFormat": "nb_discovered_peers", + "refId": "Number discovered peers" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Ratio of tried / discovered peers", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "transformations": [ + { + "id": "calculateField", + "options": { + "alias": "Ratio", + "binary": { + "left": "nb_tried_peers", + "operator": "/", + "reducer": "sum", + "right": "nb_discovered_peers" + }, + "mode": "binary", + "reduce": { + "include": [ + "{{instance}}" + ], + "reducer": "sum" + } + } + } + ], + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": null, + "format": "percentunit", + "label": "%", + "logBase": 1, + "max": 1, + "min": 0, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, { "aliasColors": {}, "bars": false,