@libp2p/devtools-metrics 1.2.14-f1de46607 → 1.2.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -98,6 +98,12 @@ export interface DevToolsMetricsInit {
98
98
  * How often to pass metrics to the DevTools panel
99
99
  */
100
100
  intervalMs?: number;
101
+ /**
102
+ * Outgoing RPC invocations must return within this timeout in ms
103
+ *
104
+ * @default 1_000
105
+ */
106
+ rpcSendTimeout?: number;
101
107
  }
102
108
  export interface DevToolsMetricsComponents {
103
109
  logger: ComponentLogger;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAeH,OAAO,KAAK,EAAE,eAAe,EAAc,YAAY,EAAU,OAAO,EAAuB,MAAM,EAAE,SAAS,EAAU,cAAc,EAAE,WAAW,EAAE,gBAAgB,EAA8C,MAAM,mBAAmB,CAAA;AAC9O,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAGhH,cAAc,gBAAgB,CAAA;AAE9B,eAAO,MAAM,eAAe,sCAAsC,CAAA;AAClE,eAAO,MAAM,qBAAqB,oCAAoC,CAAA;AACtE,eAAO,MAAM,qBAAqB,qCAAqC,CAAA;AACvE,eAAO,MAAM,cAAc,qCAAqC,CAAA;AAChE,eAAO,MAAM,2BAA2B,oCAAoC,CAAA;AAS5E;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,eAAe,CAAA;IAC9B,IAAI,EAAE,aAAa,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,OAAO,eAAe,CAAA;IAC9B,IAAI,EAAE,mBAAmB,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,OAAO,eAAe,CAAA;IAC9B,IAAI,EAAE,mBAAmB,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,OAAO,eAAe,GAAG,OAAO,cAAc,CAAA;IACtD,IAAI,EAAE,YAAY,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAA;AAE3C;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,uBAAuB,CAAA;AAEvE;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,sBAAsB,GAAG,UAAU,CAAA;AAEjE,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,MAAM,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAA;IACtC,MAAM,EAAE,MAAM,CAAA;IACd,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,SAAS,EAAE,SAAS,CAAA;IACpB,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,SAAS,EAAE,SAAS,CAAA;IAEpB,cAAc,EAAE,cAAc,CAAA;IAC9B,WAAW,EAAE,WAAW,CAAA;IACxB,cAAc,EAAE,cAAc,CAAA;CAC/B;AA0ND,wBAAgB,eAAe,CAAE,IAAI,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,EAAE,yBAAyB,KAAK,OAAO,CAIxH"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAeH,OAAO,KAAK,EAAE,eAAe,EAAc,YAAY,EAAU,OAAO,EAAuB,MAAM,EAAE,SAAS,EAAU,cAAc,EAAE,WAAW,EAAE,gBAAgB,EAA8C,MAAM,mBAAmB,CAAA;AAC9O,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAGhH,cAAc,gBAAgB,CAAA;AAE9B,eAAO,MAAM,eAAe,sCAAsC,CAAA;AAClE,eAAO,MAAM,qBAAqB,oCAAoC,CAAA;AACtE,eAAO,MAAM,qBAAqB,qCAAqC,CAAA;AACvE,eAAO,MAAM,cAAc,qCAAqC,CAAA;AAChE,eAAO,MAAM,2BAA2B,oCAAoC,CAAA;AAY5E;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,eAAe,CAAA;IAC9B,IAAI,EAAE,aAAa,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,OAAO,eAAe,CAAA;IAC9B,IAAI,EAAE,mBAAmB,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,OAAO,eAAe,CAAA;IAC9B,IAAI,EAAE,mBAAmB,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,OAAO,eAAe,GAAG,OAAO,cAAc,CAAA;IACtD,IAAI,EAAE,YAAY,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAA;AAE3C;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,uBAAuB,CAAA;AAEvE;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,sBAAsB,GAAG,UAAU,CAAA;AAEjE,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,MAAM,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAA;IACtC,MAAM,EAAE,MAAM,CAAA;IACd,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,SAAS,EAAE,SAAS,CAAA;IACpB,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,SAAS,EAAE,SAAS,CAAA;IAEpB,cAAc,EAAE,cAAc,CAAA;IAC9B,WAAW,EAAE,WAAW,CAAA;IACxB,cAAc,EAAE,cAAc,CAAA;CAC/B;AAwOD,wBAAgB,eAAe,CAAE,IAAI,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,EAAE,yBAAyB,KAAK,OAAO,CAIxH"}
package/dist/src/index.js CHANGED
@@ -33,6 +33,8 @@ export const SOURCE_SERVICE_WORKER = '@libp2p/devtools-metrics:worker';
33
33
  export const SOURCE_CONTENT_SCRIPT = '@libp2p/devtools-metrics:content';
34
34
  export const SOURCE_METRICS = '@libp2p/devtools-metrics:metrics';
35
35
  export const LIBP2P_DEVTOOLS_METRICS_KEY = '________libp2p_devtools_metrics';
36
+ // don't wait for devtools RPC forever
37
+ const DEVTOOLS_TIMEOUT = 1_000;
36
38
  // let devtools know we are here
37
39
  Object.defineProperty(globalThis, LIBP2P_DEVTOOLS_METRICS_KEY, {
38
40
  value: true,
@@ -47,16 +49,20 @@ class DevToolsMetrics {
47
49
  rpcQueue;
48
50
  rpc;
49
51
  devTools;
50
- constructor(components, init) {
52
+ rpcSendTimeout;
53
+ constructor(components, init = {}) {
51
54
  this.log = components.logger.forComponent('libp2p:devtools-metrics');
52
55
  this.intervalMs = init?.intervalMs;
53
56
  this.components = components;
57
+ this.rpcSendTimeout = init.rpcSendTimeout ?? DEVTOOLS_TIMEOUT;
54
58
  // create RPC endpoint
55
59
  this.rpcQueue = pushable();
56
60
  this.rpc = rpc({
57
61
  valueCodecs
58
62
  });
59
- this.devTools = this.rpc.createClient('devTools');
63
+ this.devTools = this.rpc.createClient('devTools', {
64
+ timeout: this.rpcSendTimeout
65
+ });
60
66
  // collect information on current peers and sent it to the dev tools panel
61
67
  this.onPeersUpdate = debounce(this.onPeersUpdate.bind(this), 1000);
62
68
  this.onSelfUpdate = debounce(this.onSelfUpdate.bind(this), 1000);
@@ -70,6 +76,8 @@ class DevToolsMetrics {
70
76
  onMetrics: (metrics) => {
71
77
  this.devTools.safeDispatchEvent('metrics', {
72
78
  detail: metrics
79
+ }, {
80
+ signal: AbortSignal.timeout(this.rpcSendTimeout)
73
81
  }).catch(err => {
74
82
  this.log.error('error sending metrics', err);
75
83
  });
@@ -178,6 +186,8 @@ class DevToolsMetrics {
178
186
  onPubSubMessage(event) {
179
187
  this.devTools.safeDispatchEvent('pubsub:message', {
180
188
  detail: event.detail
189
+ }, {
190
+ signal: AbortSignal.timeout(this.rpcSendTimeout)
181
191
  })
182
192
  .catch(err => {
183
193
  this.log.error('error relaying pubsub message', err);
@@ -186,6 +196,8 @@ class DevToolsMetrics {
186
196
  onPubSubSubscriptionChange(event) {
187
197
  this.devTools.safeDispatchEvent('pubsub:subscription-change', {
188
198
  detail: event.detail
199
+ }, {
200
+ signal: AbortSignal.timeout(this.rpcSendTimeout)
189
201
  })
190
202
  .catch(err => {
191
203
  this.log.error('error relaying pubsub subscription change', err);
@@ -196,6 +208,8 @@ class DevToolsMetrics {
196
208
  .then(async () => {
197
209
  await this.devTools.safeDispatchEvent('self', {
198
210
  detail: await getSelf(this.components)
211
+ }, {
212
+ signal: AbortSignal.timeout(this.rpcSendTimeout)
199
213
  });
200
214
  })
201
215
  .catch(err => {
@@ -207,6 +221,8 @@ class DevToolsMetrics {
207
221
  .then(async () => {
208
222
  await this.devTools.safeDispatchEvent('peers', {
209
223
  detail: await getPeers(this.components, this.log)
224
+ }, {
225
+ signal: AbortSignal.timeout(this.rpcSendTimeout)
210
226
  });
211
227
  })
212
228
  .catch(err => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -115,6 +115,6 @@ export interface DevToolsEvents {
115
115
  * RPC operations exposed by the DevTools
116
116
  */
117
117
  export interface DevToolsRPC {
118
- safeDispatchEvent<Detail>(type: keyof DevToolsEvents, detail?: CustomEventInit<Detail>): Promise<void>;
118
+ safeDispatchEvent<Detail>(type: keyof DevToolsEvents, detail?: CustomEventInit<Detail>, options?: AbortOptions): Promise<void>;
119
119
  }
120
120
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rpc/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rpc/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ {
2
+ "Address": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_devtools_metrics.index.Address.html",
3
+ ".:Address": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_devtools_metrics.index.Address.html",
4
+ "CopyToClipboardMessage": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_devtools_metrics.index.CopyToClipboardMessage.html",
5
+ ".:CopyToClipboardMessage": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_devtools_metrics.index.CopyToClipboardMessage.html",
6
+ "DevToolsMetricsComponents": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_devtools_metrics.index.DevToolsMetricsComponents.html",
7
+ ".:DevToolsMetricsComponents": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_devtools_metrics.index.DevToolsMetricsComponents.html",
8
+ "DevToolsMetricsInit": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_devtools_metrics.index.DevToolsMetricsInit.html",
9
+ ".:DevToolsMetricsInit": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_devtools_metrics.index.DevToolsMetricsInit.html",
10
+ "PageLoadedMessage": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_devtools_metrics.index.PageLoadedMessage.html",
11
+ ".:PageLoadedMessage": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_devtools_metrics.index.PageLoadedMessage.html",
12
+ "PermissionsErrorMessage": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_devtools_metrics.index.PermissionsErrorMessage.html",
13
+ ".:PermissionsErrorMessage": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_devtools_metrics.index.PermissionsErrorMessage.html",
14
+ "RPCMessage": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_devtools_metrics.index.RPCMessage.html",
15
+ ".:RPCMessage": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_devtools_metrics.index.RPCMessage.html",
16
+ "ApplicationMessage": "https://libp2p.github.io/js-libp2p/types/_libp2p_devtools_metrics.index.ApplicationMessage.html",
17
+ ".:ApplicationMessage": "https://libp2p.github.io/js-libp2p/types/_libp2p_devtools_metrics.index.ApplicationMessage.html",
18
+ "DevToolsMessage": "https://libp2p.github.io/js-libp2p/types/_libp2p_devtools_metrics.index.DevToolsMessage.html",
19
+ ".:DevToolsMessage": "https://libp2p.github.io/js-libp2p/types/_libp2p_devtools_metrics.index.DevToolsMessage.html",
20
+ "WorkerMessage": "https://libp2p.github.io/js-libp2p/types/_libp2p_devtools_metrics.index.WorkerMessage.html",
21
+ ".:WorkerMessage": "https://libp2p.github.io/js-libp2p/types/_libp2p_devtools_metrics.index.WorkerMessage.html",
22
+ "LIBP2P_DEVTOOLS_METRICS_KEY": "https://libp2p.github.io/js-libp2p/variables/_libp2p_devtools_metrics.index.LIBP2P_DEVTOOLS_METRICS_KEY.html",
23
+ ".:LIBP2P_DEVTOOLS_METRICS_KEY": "https://libp2p.github.io/js-libp2p/variables/_libp2p_devtools_metrics.index.LIBP2P_DEVTOOLS_METRICS_KEY.html",
24
+ "SOURCE_CONTENT_SCRIPT": "https://libp2p.github.io/js-libp2p/variables/_libp2p_devtools_metrics.index.SOURCE_CONTENT_SCRIPT.html",
25
+ ".:SOURCE_CONTENT_SCRIPT": "https://libp2p.github.io/js-libp2p/variables/_libp2p_devtools_metrics.index.SOURCE_CONTENT_SCRIPT.html",
26
+ "SOURCE_DEVTOOLS": "https://libp2p.github.io/js-libp2p/variables/_libp2p_devtools_metrics.index.SOURCE_DEVTOOLS.html",
27
+ ".:SOURCE_DEVTOOLS": "https://libp2p.github.io/js-libp2p/variables/_libp2p_devtools_metrics.index.SOURCE_DEVTOOLS.html",
28
+ "SOURCE_METRICS": "https://libp2p.github.io/js-libp2p/variables/_libp2p_devtools_metrics.index.SOURCE_METRICS.html",
29
+ ".:SOURCE_METRICS": "https://libp2p.github.io/js-libp2p/variables/_libp2p_devtools_metrics.index.SOURCE_METRICS.html",
30
+ "SOURCE_SERVICE_WORKER": "https://libp2p.github.io/js-libp2p/variables/_libp2p_devtools_metrics.index.SOURCE_SERVICE_WORKER.html",
31
+ ".:SOURCE_SERVICE_WORKER": "https://libp2p.github.io/js-libp2p/variables/_libp2p_devtools_metrics.index.SOURCE_SERVICE_WORKER.html",
32
+ "devToolsMetrics": "https://libp2p.github.io/js-libp2p/functions/_libp2p_devtools_metrics.index.devToolsMetrics.html",
33
+ ".:devToolsMetrics": "https://libp2p.github.io/js-libp2p/functions/_libp2p_devtools_metrics.index.devToolsMetrics.html",
34
+ "DevToolsEvents": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_devtools_metrics.rpc.DevToolsEvents.html",
35
+ "./rpc:DevToolsEvents": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_devtools_metrics.rpc.DevToolsEvents.html",
36
+ "DevToolsRPC": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_devtools_metrics.rpc.DevToolsRPC.html",
37
+ "./rpc:DevToolsRPC": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_devtools_metrics.rpc.DevToolsRPC.html",
38
+ "MetricsRPC": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_devtools_metrics.rpc.MetricsRPC.html",
39
+ "./rpc:MetricsRPC": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_devtools_metrics.rpc.MetricsRPC.html",
40
+ "Peer": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_devtools_metrics.rpc.Peer.html",
41
+ "./rpc:Peer": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_devtools_metrics.rpc.Peer.html",
42
+ "PeerAddress": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_devtools_metrics.rpc.PeerAddress.html",
43
+ "./rpc:PeerAddress": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_devtools_metrics.rpc.PeerAddress.html",
44
+ "valueCodecs": "https://libp2p.github.io/js-libp2p/variables/_libp2p_devtools_metrics.rpc.valueCodecs.html",
45
+ "./rpc:valueCodecs": "https://libp2p.github.io/js-libp2p/variables/_libp2p_devtools_metrics.rpc.valueCodecs.html"
46
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/devtools-metrics",
3
- "version": "1.2.14-f1de46607",
3
+ "version": "1.2.15",
4
4
  "description": "Collect libp2p metrics and send them to browser DevTools",
5
5
  "author": "",
6
6
  "license": "Apache-2.0 OR MIT",
@@ -68,21 +68,21 @@
68
68
  "test:firefox": "aegir test -t browser --browser firefox"
69
69
  },
70
70
  "dependencies": {
71
- "@libp2p/interface": "2.9.0-f1de46607",
72
- "@libp2p/interface-internal": "2.3.11-f1de46607",
73
- "@libp2p/logger": "5.1.15-f1de46607",
74
- "@libp2p/peer-id": "5.1.2-f1de46607",
75
- "@libp2p/simple-metrics": "1.3.9-f1de46607",
71
+ "@libp2p/interface": "^2.10.0",
72
+ "@libp2p/interface-internal": "^2.3.12",
73
+ "@libp2p/logger": "^5.1.16",
74
+ "@libp2p/peer-id": "^5.1.3",
75
+ "@libp2p/simple-metrics": "^1.3.10",
76
76
  "@multiformats/multiaddr": "^12.3.3",
77
77
  "cborg": "^4.2.6",
78
78
  "it-pipe": "^3.0.1",
79
79
  "it-pushable": "^3.2.3",
80
- "it-rpc": "^1.0.2",
80
+ "it-rpc": "^1.1.0",
81
81
  "multiformats": "^13.3.1",
82
82
  "progress-events": "^1.0.1"
83
83
  },
84
84
  "devDependencies": {
85
- "@libp2p/crypto": "5.1.1-f1de46607",
85
+ "@libp2p/crypto": "^5.1.2",
86
86
  "aegir": "^45.1.1",
87
87
  "sinon-ts": "^2.0.0"
88
88
  },
package/src/index.ts CHANGED
@@ -41,6 +41,9 @@ export const SOURCE_CONTENT_SCRIPT = '@libp2p/devtools-metrics:content'
41
41
  export const SOURCE_METRICS = '@libp2p/devtools-metrics:metrics'
42
42
  export const LIBP2P_DEVTOOLS_METRICS_KEY = '________libp2p_devtools_metrics'
43
43
 
44
+ // don't wait for devtools RPC forever
45
+ const DEVTOOLS_TIMEOUT = 1_000
46
+
44
47
  // let devtools know we are here
45
48
  Object.defineProperty(globalThis, LIBP2P_DEVTOOLS_METRICS_KEY, {
46
49
  value: true,
@@ -134,6 +137,13 @@ export interface DevToolsMetricsInit {
134
137
  * How often to pass metrics to the DevTools panel
135
138
  */
136
139
  intervalMs?: number
140
+
141
+ /**
142
+ * Outgoing RPC invocations must return within this timeout in ms
143
+ *
144
+ * @default 1_000
145
+ */
146
+ rpcSendTimeout?: number
137
147
  }
138
148
 
139
149
  export interface DevToolsMetricsComponents {
@@ -158,18 +168,22 @@ class DevToolsMetrics implements Metrics, Startable {
158
168
  private readonly rpcQueue: Pushable<Uint8Array>
159
169
  private readonly rpc: RPC
160
170
  private readonly devTools: DevToolsRPC
171
+ private readonly rpcSendTimeout: number
161
172
 
162
- constructor (components: DevToolsMetricsComponents, init?: Partial<DevToolsMetricsInit>) {
173
+ constructor (components: DevToolsMetricsComponents, init: DevToolsMetricsInit = {}) {
163
174
  this.log = components.logger.forComponent('libp2p:devtools-metrics')
164
175
  this.intervalMs = init?.intervalMs
165
176
  this.components = components
177
+ this.rpcSendTimeout = init.rpcSendTimeout ?? DEVTOOLS_TIMEOUT
166
178
 
167
179
  // create RPC endpoint
168
180
  this.rpcQueue = pushable()
169
181
  this.rpc = rpc({
170
182
  valueCodecs
171
183
  })
172
- this.devTools = this.rpc.createClient('devTools')
184
+ this.devTools = this.rpc.createClient('devTools', {
185
+ timeout: this.rpcSendTimeout
186
+ })
173
187
 
174
188
  // collect information on current peers and sent it to the dev tools panel
175
189
  this.onPeersUpdate = debounce(this.onPeersUpdate.bind(this), 1000)
@@ -186,6 +200,8 @@ class DevToolsMetrics implements Metrics, Startable {
186
200
  onMetrics: (metrics) => {
187
201
  this.devTools.safeDispatchEvent('metrics', {
188
202
  detail: metrics
203
+ }, {
204
+ signal: AbortSignal.timeout(this.rpcSendTimeout)
189
205
  }).catch(err => {
190
206
  this.log.error('error sending metrics', err)
191
207
  })
@@ -326,6 +342,8 @@ class DevToolsMetrics implements Metrics, Startable {
326
342
  private onPubSubMessage (event: CustomEvent<Message>): void {
327
343
  this.devTools.safeDispatchEvent('pubsub:message', {
328
344
  detail: event.detail
345
+ }, {
346
+ signal: AbortSignal.timeout(this.rpcSendTimeout)
329
347
  })
330
348
  .catch(err => {
331
349
  this.log.error('error relaying pubsub message', err)
@@ -335,6 +353,8 @@ class DevToolsMetrics implements Metrics, Startable {
335
353
  private onPubSubSubscriptionChange (event: CustomEvent<SubscriptionChangeData>): void {
336
354
  this.devTools.safeDispatchEvent('pubsub:subscription-change', {
337
355
  detail: event.detail
356
+ }, {
357
+ signal: AbortSignal.timeout(this.rpcSendTimeout)
338
358
  })
339
359
  .catch(err => {
340
360
  this.log.error('error relaying pubsub subscription change', err)
@@ -346,6 +366,8 @@ class DevToolsMetrics implements Metrics, Startable {
346
366
  .then(async () => {
347
367
  await this.devTools.safeDispatchEvent('self', {
348
368
  detail: await getSelf(this.components)
369
+ }, {
370
+ signal: AbortSignal.timeout(this.rpcSendTimeout)
349
371
  })
350
372
  })
351
373
  .catch(err => {
@@ -358,6 +380,8 @@ class DevToolsMetrics implements Metrics, Startable {
358
380
  .then(async () => {
359
381
  await this.devTools.safeDispatchEvent('peers', {
360
382
  detail: await getPeers(this.components, this.log)
383
+ }, {
384
+ signal: AbortSignal.timeout(this.rpcSendTimeout)
361
385
  })
362
386
  })
363
387
  .catch(err => {
package/src/rpc/index.ts CHANGED
@@ -143,5 +143,5 @@ export interface DevToolsEvents {
143
143
  * RPC operations exposed by the DevTools
144
144
  */
145
145
  export interface DevToolsRPC {
146
- safeDispatchEvent<Detail>(type: keyof DevToolsEvents, detail?: CustomEventInit<Detail>): Promise<void>
146
+ safeDispatchEvent<Detail>(type: keyof DevToolsEvents, detail?: CustomEventInit<Detail>, options?: AbortOptions): Promise<void>
147
147
  }