Improve the log messages printed when a listener closes (#6162)

* Improve the log messages printed when a listener closes

* Oops, didn't finish the expired listen addrs thing
This commit is contained in:
Pierre Krieger
2020-05-27 19:55:54 +02:00
committed by GitHub
parent e2e44f005c
commit cf185302fa
2 changed files with 16 additions and 6 deletions
+1 -4
View File
@@ -62,7 +62,7 @@ use libp2p::swarm::toggle::Toggle;
#[cfg(not(target_os = "unknown"))]
use libp2p::mdns::{Mdns, MdnsEvent};
use libp2p::multiaddr::Protocol;
use log::{debug, info, trace, warn, error};
use log::{debug, info, trace, warn};
use std::{cmp, collections::{HashMap, HashSet, VecDeque}, io, time::Duration};
use std::task::{Context, Poll};
use sp_core::hexdisplay::HexDisplay;
@@ -488,7 +488,6 @@ impl NetworkBehaviour for DiscoveryBehaviour {
}
fn inject_expired_listen_addr(&mut self, addr: &Multiaddr) {
info!(target: "sub-libp2p", "No longer listening on {}", addr);
for k in self.kademlias.values_mut() {
NetworkBehaviour::inject_expired_listen_addr(k, addr)
}
@@ -507,14 +506,12 @@ impl NetworkBehaviour for DiscoveryBehaviour {
}
fn inject_listener_error(&mut self, id: ListenerId, err: &(dyn std::error::Error + 'static)) {
error!(target: "sub-libp2p", "Error on libp2p listener {:?}: {}", id, err);
for k in self.kademlias.values_mut() {
NetworkBehaviour::inject_listener_error(k, id, err)
}
}
fn inject_listener_closed(&mut self, id: ListenerId, reason: Result<(), &io::Error>) {
error!(target: "sub-libp2p", "Libp2p listener {:?} closed", id);
for k in self.kademlias.values_mut() {
NetworkBehaviour::inject_listener_closed(k, id, reason)
}
+15 -2
View File
@@ -1213,7 +1213,7 @@ impl<B: BlockT + 'static, H: ExHashT> Future for NetworkWorker<B, H> {
}
},
Poll::Ready(SwarmEvent::ExpiredListenAddr(addr)) => {
trace!(target: "sub-libp2p", "Libp2p => ExpiredListenAddr({})", addr);
info!(target: "sub-libp2p", "📪 No longer listening on {}", addr);
if let Some(metrics) = this.metrics.as_ref() {
metrics.listeners_local_addresses.dec();
}
@@ -1281,10 +1281,23 @@ impl<B: BlockT + 'static, H: ExHashT> Future for NetworkWorker<B, H> {
trace!(target: "sub-libp2p", "Libp2p => UnknownPeerUnreachableAddr({}): {}",
address, error),
Poll::Ready(SwarmEvent::ListenerClosed { reason, addresses }) => {
warn!(target: "sub-libp2p", "Libp2p => ListenerClosed: {:?}", reason);
if let Some(metrics) = this.metrics.as_ref() {
metrics.listeners_local_addresses.sub(addresses.len() as u64);
}
let addrs = addresses.into_iter().map(|a| a.to_string())
.collect::<Vec<_>>().join(", ");
match reason {
Ok(()) => error!(
target: "sub-libp2p",
"📪 Libp2p listener ({}) closed gracefully",
addrs
),
Err(e) => error!(
target: "sub-libp2p",
"📪 Libp2p listener ({}) closed: {}",
addrs, e
),
}
},
Poll::Ready(SwarmEvent::ListenerError { error }) => {
trace!(target: "sub-libp2p", "Libp2p => ListenerError: {}", error);