Skip to content

Commit f4e3101

Browse files
fix: improve logging for connection manager (#1303)
* merge: master * fix: CI * use: js script instead of shell script to run precheck and mocha * improve logging when dial fails * use hashmap for errors instead of redeclaring variable
1 parent cc0b375 commit f4e3101

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

packages/core/src/lib/connection_manager.ts

+12-4
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ export class ConnectionManager {
1919
private options: ConnectionManagerOptions;
2020
private libp2pComponents: Libp2p;
2121
private dialAttemptsForPeer: Map<string, number> = new Map();
22+
private dialErrorsForPeer: Map<string, any> = new Map();
2223

2324
public static create(
2425
peerId: string,
@@ -102,9 +103,10 @@ export class ConnectionManager {
102103

103104
this.dialAttemptsForPeer.delete(peerId.toString());
104105
return;
105-
} catch (error) {
106-
log(`
107-
Error dialing peer ${peerId.toString()}`);
106+
} catch (error: any) {
107+
this.dialErrorsForPeer.set(peerId.toString(), error);
108+
log(`Error dialing peer ${peerId.toString()} - ${error.errors}`);
109+
108110
dialAttempt = this.dialAttemptsForPeer.get(peerId.toString()) ?? 1;
109111
this.dialAttemptsForPeer.set(peerId.toString(), dialAttempt + 1);
110112

@@ -115,7 +117,13 @@ export class ConnectionManager {
115117
}
116118

117119
try {
118-
log(`Deleting undialable peer ${peerId.toString()} from peer store`);
120+
log(
121+
`Deleting undialable peer ${peerId.toString()} from peer store. Error: ${JSON.stringify(
122+
this.dialErrorsForPeer.get(peerId.toString()).errors[0]
123+
)}
124+
}`
125+
);
126+
this.dialErrorsForPeer.delete(peerId.toString());
119127
return await this.libp2pComponents.peerStore.delete(peerId);
120128
} catch (error) {
121129
throw `Error deleting undialable peer ${peerId.toString()} from peer store - ${error}`;

0 commit comments

Comments
 (0)