forked from LBRYCommunity/lbry-sdk
change colliding bits metric to gauge
This commit is contained in:
parent
b44e2c0b38
commit
beb8583436
1 changed files with 5 additions and 2 deletions
|
@ -4,7 +4,7 @@ import logging
|
||||||
import typing
|
import typing
|
||||||
import itertools
|
import itertools
|
||||||
|
|
||||||
from prometheus_client import Gauge, Counter
|
from prometheus_client import Gauge
|
||||||
|
|
||||||
from lbry.dht import constants
|
from lbry.dht import constants
|
||||||
from lbry.dht.protocol.distance import Distance
|
from lbry.dht.protocol.distance import Distance
|
||||||
|
@ -22,7 +22,7 @@ class KBucket:
|
||||||
"peers_in_routing_table", "Number of peers on routing table", namespace="dht_node",
|
"peers_in_routing_table", "Number of peers on routing table", namespace="dht_node",
|
||||||
labelnames=("scope",)
|
labelnames=("scope",)
|
||||||
)
|
)
|
||||||
peer_with_x_bit_colliding_metric = Counter(
|
peer_with_x_bit_colliding_metric = Gauge(
|
||||||
"peer_x_bit_colliding", "Number of peers with at least X bits colliding with this node id",
|
"peer_x_bit_colliding", "Number of peers with at least X bits colliding with this node id",
|
||||||
namespace="dht_node", labelnames=("amount",)
|
namespace="dht_node", labelnames=("amount",)
|
||||||
)
|
)
|
||||||
|
@ -140,6 +140,9 @@ class KBucket:
|
||||||
def remove_peer(self, peer: 'KademliaPeer') -> None:
|
def remove_peer(self, peer: 'KademliaPeer') -> None:
|
||||||
self.peers.remove(peer)
|
self.peers.remove(peer)
|
||||||
self.peer_in_routing_table_metric.labels("global").dec()
|
self.peer_in_routing_table_metric.labels("global").dec()
|
||||||
|
if peer.node_id[0] == self._node_id[0]:
|
||||||
|
bits_colliding = 8 - (peer.node_id[1] ^ self._node_id[1]).bit_length()
|
||||||
|
self.peer_with_x_bit_colliding_metric.labels(amount=(bits_colliding + 8)).dec()
|
||||||
|
|
||||||
def key_in_range(self, key: bytes) -> bool:
|
def key_in_range(self, key: bytes) -> bool:
|
||||||
""" Tests whether the specified key (i.e. node ID) is in the range
|
""" Tests whether the specified key (i.e. node ID) is in the range
|
||||||
|
|
Loading…
Reference in a new issue