@libp2p/devtools-metrics 1.2.14 → 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.
- package/dist/index.min.js +3 -16
- package/dist/index.min.js.map +7 -0
- package/dist/src/index.d.ts +6 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +18 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/rpc/index.d.ts +1 -1
- package/dist/src/rpc/index.d.ts.map +1 -1
- package/package.json +8 -8
- package/src/index.ts +26 -2
- package/src/rpc/index.ts +1 -1
package/dist/src/index.d.ts
CHANGED
|
@@ -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;
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
-
|
|
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 => {
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,GAAG,EAAY,MAAM,QAAQ,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAM7C,cAAc,gBAAgB,CAAA;AAE9B,MAAM,CAAC,MAAM,eAAe,GAAG,mCAAmC,CAAA;AAClE,MAAM,CAAC,MAAM,qBAAqB,GAAG,iCAAiC,CAAA;AACtE,MAAM,CAAC,MAAM,qBAAqB,GAAG,kCAAkC,CAAA;AACvE,MAAM,CAAC,MAAM,cAAc,GAAG,kCAAkC,CAAA;AAChE,MAAM,CAAC,MAAM,2BAA2B,GAAG,iCAAiC,CAAA;AAE5E,gCAAgC;AAChC,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,2BAA2B,EAAE;IAC7D,KAAK,EAAE,IAAI;IACX,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,KAAK;CAChB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,GAAG,EAAY,MAAM,QAAQ,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAM7C,cAAc,gBAAgB,CAAA;AAE9B,MAAM,CAAC,MAAM,eAAe,GAAG,mCAAmC,CAAA;AAClE,MAAM,CAAC,MAAM,qBAAqB,GAAG,iCAAiC,CAAA;AACtE,MAAM,CAAC,MAAM,qBAAqB,GAAG,kCAAkC,CAAA;AACvE,MAAM,CAAC,MAAM,cAAc,GAAG,kCAAkC,CAAA;AAChE,MAAM,CAAC,MAAM,2BAA2B,GAAG,iCAAiC,CAAA;AAE5E,sCAAsC;AACtC,MAAM,gBAAgB,GAAG,KAAK,CAAA;AAE9B,gCAAgC;AAChC,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,2BAA2B,EAAE;IAC7D,KAAK,EAAE,IAAI;IACX,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,KAAK;CAChB,CAAC,CAAA;AA+GF,MAAM,eAAe;IACF,GAAG,CAAQ;IACX,UAAU,CAA2B;IACrC,aAAa,CAAS;IACtB,UAAU,CAAS;IACnB,QAAQ,CAAsB;IAC9B,GAAG,CAAK;IACR,QAAQ,CAAa;IACrB,cAAc,CAAQ;IAEvC,YAAa,UAAqC,EAAE,OAA4B,EAAE;QAChF,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAA;QACpE,IAAI,CAAC,UAAU,GAAG,IAAI,EAAE,UAAU,CAAA;QAClC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,gBAAgB,CAAA;QAE7D,sBAAsB;QACtB,IAAI,CAAC,QAAQ,GAAG,QAAQ,EAAE,CAAA;QAC1B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;YACb,WAAW;SACZ,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,EAAE;YAChD,OAAO,EAAE,IAAI,CAAC,cAAc;SAC7B,CAAC,CAAA;QAEF,0EAA0E;QAC1E,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;QAClE,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;QAChE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAE1D,2CAA2C;QAC3C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACtD,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAE5E,kBAAkB;QAClB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;YACjC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;gBACrB,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,SAAS,EAAE;oBACzC,MAAM,EAAE,OAAO;iBAChB,EAAE;oBACD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;iBACjD,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;oBACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAA;gBAC9C,CAAC,CAAC,CAAA;YACJ,CAAC;SACF,CAAC,CAAC,EAAE,CAAC,CAAA;IACR,CAAC;IAEQ,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,0BAA0B,CAAA;IAEjD,CAAC,mBAAmB,CAAC,GAAa;QACzC,iBAAiB;KAClB,CAAA;IAED,wBAAwB,CAAE,MAA2B;QACnD,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAA;IACrD,CAAC;IAED,mBAAmB,CAAE,MAAc,EAAE,UAAsB;QACzD,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAC5D,CAAC;IAED,cAAc,CAAE,IAAS,EAAE,OAAY;QACrC,OAAO,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACzD,CAAC;IAED,mBAAmB,CAAE,IAAS,EAAE,OAAY;QAC1C,OAAO,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC9D,CAAC;IAED,eAAe,CAAE,IAAS,EAAE,OAAY;QACtC,OAAO,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC1D,CAAC;IAED,oBAAoB,CAAE,IAAS,EAAE,OAAY;QAC3C,OAAO,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC/D,CAAC;IAED,iBAAiB,CAAE,IAAS,EAAE,OAAY;QACxC,OAAO,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC5D,CAAC;IAED,sBAAsB,CAAE,IAAS,EAAE,OAAY;QAC7C,OAAO,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACjE,CAAC;IAED,eAAe,CAAE,IAAS,EAAE,OAAY;QACtC,OAAO,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC1D,CAAC;IAED,oBAAoB,CAAE,IAAS,EAAE,OAAY;QAC3C,OAAO,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC/D,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAA;IACzC,CAAC;IAED,aAAa,CAAsC,IAAY,EAAE,EAAK,EAAE,OAAa;QACnF,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;IAC5D,CAAC;IAED,KAAK,CAAC,KAAK;QACT,oBAAoB;QACpB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;QAC3E,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;QAC9E,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;QAC5E,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;QAE1E,2BAA2B;QAC3B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;QAE9E,0CAA0C;QAC1C,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAA;QAE1D,oBAAoB;QACpB,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;QAE7D,eAAe;QACf,MAAM,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAE/B,oBAAoB;QACpB,OAAO,CAAC,OAAO,EAAE;aACd,IAAI,CAAC,KAAK,IAAI,EAAE;YACf,MAAM,IAAI,CACR,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,GAAG,EACR,KAAK,EAAC,MAAM,EAAC,EAAE;gBACb,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;oBAC/B,MAAM,CAAC,WAAW,CAAC;wBACjB,MAAM,EAAE,cAAc;wBACtB,IAAI,EAAE,YAAY;wBAClB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;qBAC5B,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC,CACF,CAAA;QACH,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,CAAC,EAAE;YACX,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;QAEJ,MAAM,MAAM,GAAG,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;QAEhE,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACrB,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,CAAA;YACxD,MAAM,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAA;QACjF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAA;QAC7D,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;QACjF,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;QAC9E,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;QACjF,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;QAC/E,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;QAC7E,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAChC,CAAC;IAEO,iBAAiB,CAAE,KAAoC;QAC7D,uCAAuC;QACvC,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC5B,OAAM;QACR,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAA;QAE1B,wDAAwD;QACxD,IAAI,OAAO,EAAE,MAAM,KAAK,eAAe,EAAE,CAAC;YACxC,OAAM;QACR,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;QACpD,CAAC;IACH,CAAC;IAEO,eAAe,CAAE,KAA2B;QAClD,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,gBAAgB,EAAE;YAChD,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,EAAE;YACD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;SACjD,CAAC;aACC,KAAK,CAAC,GAAG,CAAC,EAAE;YACX,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAA;QACtD,CAAC,CAAC,CAAA;IACN,CAAC;IAEO,0BAA0B,CAAE,KAA0C;QAC5E,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,4BAA4B,EAAE;YAC5D,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,EAAE;YACD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;SACjD,CAAC;aACC,KAAK,CAAC,GAAG,CAAC,EAAE;YACX,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAA;QAClE,CAAC,CAAC,CAAA;IACN,CAAC;IAEO,YAAY;QAClB,OAAO,CAAC,OAAO,EAAE;aACd,IAAI,CAAC,KAAK,IAAI,EAAE;YACf,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EAAE;gBAC5C,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;aACvC,EAAE;gBACD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;aACjD,CAAC,CAAA;QACJ,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,CAAC,EAAE;YACX,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAA;QACpD,CAAC,CAAC,CAAA;IACN,CAAC;IAEO,aAAa;QACnB,OAAO,CAAC,OAAO,EAAE;aACd,IAAI,CAAC,KAAK,IAAI,EAAE;YACf,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,OAAO,EAAE;gBAC7C,MAAM,EAAE,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC;aAClD,EAAE;gBACD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;aACjD,CAAC,CAAA;QACJ,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,CAAC,EAAE;YACX,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAA;QACpD,CAAC,CAAC,CAAA;IACN,CAAC;CACF;AAED,MAAM,UAAU,eAAe,CAAE,IAAmC;IAClE,OAAO,CAAC,UAAU,EAAE,EAAE;QACpB,OAAO,IAAI,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;IAC9C,CAAC,CAAA;AACH,CAAC"}
|
package/dist/src/rpc/index.d.ts
CHANGED
|
@@ -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
|
|
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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/devtools-metrics",
|
|
3
|
-
"version": "1.2.
|
|
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.
|
|
72
|
-
"@libp2p/interface-internal": "^2.3.
|
|
73
|
-
"@libp2p/logger": "^5.1.
|
|
74
|
-
"@libp2p/peer-id": "^5.1.
|
|
75
|
-
"@libp2p/simple-metrics": "^1.3.
|
|
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
|
|
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.
|
|
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
|
|
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
|
|
146
|
+
safeDispatchEvent<Detail>(type: keyof DevToolsEvents, detail?: CustomEventInit<Detail>, options?: AbortOptions): Promise<void>
|
|
147
147
|
}
|