@libp2p/simple-metrics 1.0.1 → 1.0.2-169c9d85e

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/README.md CHANGED
@@ -1,26 +1,57 @@
1
- # @libp2p/simple-metrics <!-- omit in toc -->
1
+ # @libp2p/simple-metrics
2
2
 
3
3
  [![libp2p.io](https://img.shields.io/badge/project-libp2p-yellow.svg?style=flat-square)](http://libp2p.io/)
4
4
  [![Discuss](https://img.shields.io/discourse/https/discuss.libp2p.io/posts.svg?style=flat-square)](https://discuss.libp2p.io)
5
- [![codecov](https://img.shields.io/codecov/c/github/libp2p/js-libp2p-simple-metrics.svg?style=flat-square)](https://codecov.io/gh/libp2p/js-libp2p-simple-metrics)
6
- [![CI](https://img.shields.io/github/actions/workflow/status/libp2p/js-libp2p-simple-metrics/js-test-and-release.yml?branch=main\&style=flat-square)](https://github.com/libp2p/js-libp2p-simple-metrics/actions/workflows/js-test-and-release.yml?query=branch%3Amain)
5
+ [![codecov](https://img.shields.io/codecov/c/github/libp2p/js-libp2p.svg?style=flat-square)](https://codecov.io/gh/libp2p/js-libp2p)
6
+ [![CI](https://img.shields.io/github/actions/workflow/status/libp2p/js-libp2p/main.yml?branch=main\&style=flat-square)](https://github.com/libp2p/js-libp2p/actions/workflows/main.yml?query=branch%3Amain)
7
7
 
8
8
  > Simple in-memory metrics gathering for libp2p
9
9
 
10
- ## Table of contents <!-- omit in toc -->
10
+ # About
11
11
 
12
- - [Install](#install)
13
- - [Browser `<script>` tag](#browser-script-tag)
14
- - [License](#license)
15
- - [Contribution](#contribution)
12
+ <!--
16
13
 
17
- ## Install
14
+ !IMPORTANT!
15
+
16
+ Everything in this README between "# About" and "# Install" is automatically
17
+ generated and will be overwritten the next time the doc generator is run.
18
+
19
+ To make changes to this section, please update the @packageDocumentation section
20
+ of src/index.js or src/index.ts
21
+
22
+ To experiment with formatting, please run "npm run docs" from the root of this
23
+ repo and examine the changes made.
24
+
25
+ -->
26
+
27
+ Stores metrics in memory and periodically invokes a configured callback to
28
+ receive them.
29
+
30
+ ## Example
31
+
32
+ ```ts
33
+ import { createLibp2p } from 'libp2p'
34
+ import { simpleMetrics } from '@libp2p/simple-metrics'
35
+
36
+ const node = await createLibp2p({
37
+ // ... other options
38
+ metrics: simpleMetrics({
39
+ onMetrics: (metrics) => {
40
+ // do something with metrics
41
+ }
42
+ }),
43
+ intervalMs: 1000 // default 1s
44
+ })
45
+
46
+ ```
47
+
48
+ # Install
18
49
 
19
50
  ```console
20
51
  $ npm i @libp2p/simple-metrics
21
52
  ```
22
53
 
23
- ### Browser `<script>` tag
54
+ ## Browser `<script>` tag
24
55
 
25
56
  Loading this module through a script tag will make it's exports available as `Libp2pSimpleMetrics` in the global namespace.
26
57
 
@@ -28,13 +59,17 @@ Loading this module through a script tag will make it's exports available as `Li
28
59
  <script src="https://unpkg.com/@libp2p/simple-metrics/dist/index.min.js"></script>
29
60
  ```
30
61
 
31
- ## License
62
+ # API Docs
63
+
64
+ - <https://libp2p.github.io/js-libp2p/modules/_libp2p_simple_metrics.html>
65
+
66
+ # License
32
67
 
33
68
  Licensed under either of
34
69
 
35
- - Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)
36
- - MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)
70
+ - Apache 2.0, ([LICENSE-APACHE](https://github.com/libp2p/js-libp2p/blob/main/packages/metrics-simple/LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)
71
+ - MIT ([LICENSE-MIT](https://github.com/libp2p/js-libp2p/blob/main/packages/metrics-simple/LICENSE-MIT) / <http://opensource.org/licenses/MIT>)
37
72
 
38
- ## Contribution
73
+ # Contribution
39
74
 
40
75
  Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
package/dist/index.min.js CHANGED
@@ -1,3 +1,3 @@
1
1
  (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PSimpleMetrics = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
- "use strict";var Libp2PSimpleMetrics=(()=>{var ae=Object.create;var P=Object.defineProperty;var ce=Object.getOwnPropertyDescriptor;var le=Object.getOwnPropertyNames;var ue=Object.getPrototypeOf,fe=Object.prototype.hasOwnProperty;var q=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),de=(r,e)=>{for(var t in e)P(r,t,{get:e[t],enumerable:!0})},G=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of le(e))!fe.call(r,s)&&s!==t&&P(r,s,{get:()=>e[s],enumerable:!(n=ce(e,s))||n.enumerable});return r};var he=(r,e,t)=>(t=r!=null?ae(ue(r)):{},G(e||!r||!r.__esModule?P(t,"default",{value:r,enumerable:!0}):t,r)),pe=r=>G(P({},"__esModule",{value:!0}),r);var Z=q((Le,X)=>{var U=1e3,I=U*60,O=I*60,S=O*24,be=S*7,me=S*365.25;X.exports=function(r,e){e=e||{};var t=typeof r;if(t==="string"&&r.length>0)return Ce(r);if(t==="number"&&isFinite(r))return e.long?we(r):ge(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function Ce(r){if(r=String(r),!(r.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(r);if(e){var t=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return t*me;case"weeks":case"week":case"w":return t*be;case"days":case"day":case"d":return t*S;case"hours":case"hour":case"hrs":case"hr":case"h":return t*O;case"minutes":case"minute":case"mins":case"min":case"m":return t*I;case"seconds":case"second":case"secs":case"sec":case"s":return t*U;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function ge(r){var e=Math.abs(r);return e>=S?Math.round(r/S)+"d":e>=O?Math.round(r/O)+"h":e>=I?Math.round(r/I)+"m":e>=U?Math.round(r/U)+"s":r+"ms"}function we(r){var e=Math.abs(r);return e>=S?_(r,e,S,"day"):e>=O?_(r,e,O,"hour"):e>=I?_(r,e,I,"minute"):e>=U?_(r,e,U,"second"):r+" ms"}function _(r,e,t,n){var s=e>=t*1.5;return Math.round(r/t)+" "+n+(s?"s":"")}});var Q=q((Re,K)=>{function ye(r){t.debug=t,t.default=t,t.coerce=m,t.disable=f,t.enable=s,t.enabled=h,t.humanize=Z(),t.destroy=z,Object.keys(r).forEach(o=>{t[o]=r[o]}),t.names=[],t.skips=[],t.formatters={};function e(o){let i=0;for(let u=0;u<o.length;u++)i=(i<<5)-i+o.charCodeAt(u),i|=0;return t.colors[Math.abs(i)%t.colors.length]}t.selectColor=e;function t(o){let i,u=null,M,c;function l(...d){if(!l.enabled)return;let p=l,C=Number(new Date),x=C-(i||C);p.diff=x,p.prev=i,p.curr=C,i=C,d[0]=t.coerce(d[0]),typeof d[0]!="string"&&d.unshift("%O");let b=0;d[0]=d[0].replace(/%([a-zA-Z%])/g,(F,w)=>{if(F==="%%")return"%";b++;let A=t.formatters[w];if(typeof A=="function"){let k=d[b];F=A.call(p,k),d.splice(b,1),b--}return F}),t.formatArgs.call(p,d),(p.log||t.log).apply(p,d)}return l.namespace=o,l.useColors=t.useColors(),l.color=t.selectColor(o),l.extend=n,l.destroy=t.destroy,Object.defineProperty(l,"enabled",{enumerable:!0,configurable:!1,get:()=>u!==null?u:(M!==t.namespaces&&(M=t.namespaces,c=t.enabled(o)),c),set:d=>{u=d}}),typeof t.init=="function"&&t.init(l),l}function n(o,i){let u=t(this.namespace+(typeof i>"u"?":":i)+o);return u.log=this.log,u}function s(o){t.save(o),t.namespaces=o,t.names=[],t.skips=[];let i,u=(typeof o=="string"?o:"").split(/[\s,]+/),M=u.length;for(i=0;i<M;i++)u[i]&&(o=u[i].replace(/\*/g,".*?"),o[0]==="-"?t.skips.push(new RegExp("^"+o.slice(1)+"$")):t.names.push(new RegExp("^"+o+"$")))}function f(){let o=[...t.names.map(a),...t.skips.map(a).map(i=>"-"+i)].join(",");return t.enable(""),o}function h(o){if(o[o.length-1]==="*")return!0;let i,u;for(i=0,u=t.skips.length;i<u;i++)if(t.skips[i].test(o))return!1;for(i=0,u=t.names.length;i<u;i++)if(t.names[i].test(o))return!0;return!1}function a(o){return o.toString().substring(2,o.toString().length-2).replace(/\.\*\?$/,"*")}function m(o){return o instanceof Error?o.stack||o.message:o}function z(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return t.enable(t.load()),t}K.exports=ye});var W=q((y,$)=>{y.formatArgs=xe;y.save=Fe;y.load=Ae;y.useColors=ve;y.storage=Ee();y.destroy=(()=>{let r=!1;return()=>{r||(r=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();y.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function ve(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function xe(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+$.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;r.splice(1,0,e,"color: inherit");let t=0,n=0;r[0].replace(/%[a-zA-Z%]/g,s=>{s!=="%%"&&(t++,s==="%c"&&(n=t))}),r.splice(n,0,e)}y.log=console.debug||console.log||(()=>{});function Fe(r){try{r?y.storage.setItem("debug",r):y.storage.removeItem("debug")}catch{}}function Ae(){let r;try{r=y.storage.getItem("debug")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function Ee(){try{return localStorage}catch{}}$.exports=Q()(y);var{formatters:Se}=$.exports;Se.j=function(r){try{return JSON.stringify(r)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var qe={};de(qe,{simpleMetrics:()=>$e});var v=he(W(),1);function Me(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),n=0;n<t.length;n++)t[n]=255;for(var s=0;s<r.length;s++){var f=r.charAt(s),h=f.charCodeAt(0);if(t[h]!==255)throw new TypeError(f+" is ambiguous");t[h]=s}var a=r.length,m=r.charAt(0),z=Math.log(a)/Math.log(256),o=Math.log(256)/Math.log(a);function i(c){if(c instanceof Uint8Array||(ArrayBuffer.isView(c)?c=new Uint8Array(c.buffer,c.byteOffset,c.byteLength):Array.isArray(c)&&(c=Uint8Array.from(c))),!(c instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(c.length===0)return"";for(var l=0,d=0,p=0,C=c.length;p!==C&&c[p]===0;)p++,l++;for(var x=(C-p)*o+1>>>0,b=new Uint8Array(x);p!==C;){for(var E=c[p],F=0,w=x-1;(E!==0||F<d)&&w!==-1;w--,F++)E+=256*b[w]>>>0,b[w]=E%a>>>0,E=E/a>>>0;if(E!==0)throw new Error("Non-zero carry");d=F,p++}for(var A=x-d;A!==x&&b[A]===0;)A++;for(var k=m.repeat(l);A<x;++A)k+=r.charAt(b[A]);return k}function u(c){if(typeof c!="string")throw new TypeError("Expected String");if(c.length===0)return new Uint8Array;var l=0;if(c[l]!==" "){for(var d=0,p=0;c[l]===m;)d++,l++;for(var C=(c.length-l)*z+1>>>0,x=new Uint8Array(C);c[l];){var b=t[c.charCodeAt(l)];if(b===255)return;for(var E=0,F=C-1;(b!==0||E<p)&&F!==-1;F--,E++)b+=a*x[F]>>>0,x[F]=b%256>>>0,b=b/256>>>0;if(b!==0)throw new Error("Non-zero carry");p=E,l++}if(c[l]!==" "){for(var w=C-p;w!==C&&x[w]===0;)w++;for(var A=new Uint8Array(d+(C-w)),k=d;w!==C;)A[k++]=x[w++];return A}}}function M(c){var l=u(c);if(l)return l;throw new Error(`Non-${e} character`)}return{encode:i,decodeUnsafe:u,decode:M}}var ke=Me,Ue=ke,Y=Ue;var Be=new Uint8Array(0);var H=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")};var D=class{constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},L=class{constructor(e,t,n){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return ee(this,e)}},R=class{constructor(e){this.decoders=e}or(e){return ee(this,e)}decode(e){let t=e[0],n=this.decoders[t];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},ee=(r,e)=>new R({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}}),V=class{constructor(e,t,n,s){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=s,this.encoder=new D(e,t,n),this.decoder=new L(e,t,s)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},te=({name:r,prefix:e,encode:t,decode:n})=>new V(r,e,t,n),B=({prefix:r,name:e,alphabet:t})=>{let{encode:n,decode:s}=Y(t,e);return te({prefix:r,name:e,encode:n,decode:f=>H(s(f))})},Ie=(r,e,t,n)=>{let s={};for(let o=0;o<e.length;++o)s[e[o]]=o;let f=r.length;for(;r[f-1]==="=";)--f;let h=new Uint8Array(f*t/8|0),a=0,m=0,z=0;for(let o=0;o<f;++o){let i=s[r[o]];if(i===void 0)throw new SyntaxError(`Non-${n} character`);m=m<<t|i,a+=t,a>=8&&(a-=8,h[z++]=255&m>>a)}if(a>=t||255&m<<8-a)throw new SyntaxError("Unexpected end of data");return h},Oe=(r,e,t)=>{let n=e[e.length-1]==="=",s=(1<<t)-1,f="",h=0,a=0;for(let m=0;m<r.length;++m)for(a=a<<8|r[m],h+=8;h>t;)h-=t,f+=e[s&a>>h];if(h&&(f+=e[s&a<<t-h]),n)for(;f.length*t&7;)f+="=";return f},g=({name:r,prefix:e,bitsPerChar:t,alphabet:n})=>te({prefix:e,name:r,encode(s){return Oe(s,n,t)},decode(s){return Ie(s,n,t,r)}});var re=g({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Ke=g({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Qe=g({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),We=g({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Ye=g({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),He=g({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),et=g({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),tt=g({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),rt=g({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var ne=B({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),st=B({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var oe=g({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),ct=g({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),lt=g({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),ut=g({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});v.default.formatters.b=r=>r==null?"undefined":ne.baseEncode(r);v.default.formatters.t=r=>r==null?"undefined":re.baseEncode(r);v.default.formatters.m=r=>r==null?"undefined":oe.baseEncode(r);v.default.formatters.p=r=>r==null?"undefined":r.toString();v.default.formatters.c=r=>r==null?"undefined":r.toString();v.default.formatters.k=r=>r==null?"undefined":r.toString();v.default.formatters.a=r=>r==null?"undefined":r.toString();function ze(r){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=r,e.destroy=()=>!0,e.extend=()=>e,e}function se(r){let e=ze(`${r}:trace`);return v.default.enabled(`${r}:trace`)&&v.default.names.map(t=>t.toString()).find(t=>t.includes(":trace"))!=null&&(e=(0,v.default)(`${r}:trace`)),Object.assign((0,v.default)(r),{error:(0,v.default)(`${r}:error`),trace:e})}function Ne(r){let[e,t]=r[Symbol.asyncIterator]!=null?[r[Symbol.asyncIterator](),Symbol.asyncIterator]:[r[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>e.next(),push:s=>{n.push(s)},next:()=>n.length>0?{done:!1,value:n.shift()}:e.next(),[t](){return this}}}var ie=Ne;function je(r){return r[Symbol.asyncIterator]!=null}function Pe(r,e){if(je(r))return async function*(){for await(let a of r)await e(a),yield a}();let t=ie(r),{value:n,done:s}=t.next();if(s===!0)return function*(){}();if(typeof e(n)?.then=="function")return async function*(){yield n;for await(let a of t)await e(a),yield a}();let h=e;return function*(){yield n;for(let a of t)h(a),yield a}()}var J=Pe;var _e=se("libp2p:simple-metrics"),N=class{value=0;update(e){this.value=e}increment(e=1){this.value+=e}decrement(e=1){this.value-=e}reset(){this.value=0}timer(){let e=Date.now();return()=>{this.value=Date.now()-e}}},j=class{values={};update(e){Object.entries(e).forEach(([t,n])=>{this.values[t]=n})}increment(e){Object.entries(e).forEach(([t,n])=>{this.values[t]=this.values[t]??0;let s=typeof n=="number"?n:1;this.values[t]+=Number(s)})}decrement(e){Object.entries(e).forEach(([t,n])=>{this.values[t]=this.values[t]??0;let s=typeof n=="number"?n:1;this.values[t]-=Number(s)})}reset(){this.values={}}timer(e){let t=Date.now();return()=>{this.values[e]=Date.now()-t}}},T=class{metrics=new Map;transferStats;started;interval;intervalMs;onMetrics;constructor(e,t){this.started=!1,this._emitMetrics=this._emitMetrics.bind(this),this.intervalMs=t.intervalMs??1e3,this.onMetrics=t.onMetrics,this.transferStats=new Map}isStarted(){return this.started}start(){this.started=!0,this.interval=setInterval(this._emitMetrics,this.intervalMs)}stop(){this.started=!1,clearInterval(this.interval)}_emitMetrics(){Promise.resolve().then(async()=>{let e={};for(let[t,n]of this.metrics.entries())n instanceof N?e[t]=n.value:n instanceof j?e[t]=n.values:e[t]=await n();this.onMetrics(structuredClone(e))}).catch(e=>{_e.error("could not invoke onMetrics callback",e)})}_incrementValue(e,t){let n=this.transferStats.get(e)??0;this.transferStats.set(e,n+t)}_track(e,t){let n=this,s=e.sink;e.sink=async function(a){await s(J(a,m=>{n._incrementValue(`${t} sent`,m.byteLength)}))};let f=e.source;e.source=J(f,h=>{n._incrementValue(`${t} received`,h.byteLength)})}trackMultiaddrConnection(e){this._track(e,"global")}trackProtocolStream(e,t){e.protocol!=null&&this._track(e,e.protocol)}registerMetric(e,t={}){if(e==null)throw new Error("Metric name is required");if(t?.calculate!=null){this.metrics.set(e,t.calculate);return}let n=new N;return this.metrics.set(e,n),n}registerMetricGroup(e,t={}){if(e==null)throw new Error("Metric name is required");if(t?.calculate!=null){this.metrics.set(e,t.calculate);return}let n=new N;return this.metrics.set(e,n),n}registerCounter(e,t={}){if(e==null)throw new Error("Metric name is required");if(t?.calculate!=null){this.metrics.set(e,t.calculate);return}let n=new j;return this.metrics.set(e,n),n}registerCounterGroup(e,t={}){if(e==null)throw new Error("Metric name is required");if(t?.calculate!=null){this.metrics.set(e,t.calculate);return}let n=new j;return this.metrics.set(e,n),n}};function $e(r){return e=>new T(e,r)}return pe(qe);})();
2
+ "use strict";var Libp2PSimpleMetrics=(()=>{var ce=Object.create;var j=Object.defineProperty;var ue=Object.getOwnPropertyDescriptor;var le=Object.getOwnPropertyNames;var fe=Object.getPrototypeOf,de=Object.prototype.hasOwnProperty;var D=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),he=(r,e)=>{for(var t in e)j(r,t,{get:e[t],enumerable:!0})},G=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of le(e))!de.call(r,s)&&s!==t&&j(r,s,{get:()=>e[s],enumerable:!(n=ue(e,s))||n.enumerable});return r};var pe=(r,e,t)=>(t=r!=null?ce(fe(r)):{},G(e||!r||!r.__esModule?j(t,"default",{value:r,enumerable:!0}):t,r)),be=r=>G(j({},"__esModule",{value:!0}),r);var Z=D((Re,X)=>{var I=1e3,O=I*60,P=O*60,M=P*24,me=M*7,Ce=M*365.25;X.exports=function(r,e){e=e||{};var t=typeof r;if(t==="string"&&r.length>0)return ge(r);if(t==="number"&&isFinite(r))return e.long?ye(r):we(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function ge(r){if(r=String(r),!(r.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(r);if(e){var t=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return t*Ce;case"weeks":case"week":case"w":return t*me;case"days":case"day":case"d":return t*M;case"hours":case"hour":case"hrs":case"hr":case"h":return t*P;case"minutes":case"minute":case"mins":case"min":case"m":return t*O;case"seconds":case"second":case"secs":case"sec":case"s":return t*I;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function we(r){var e=Math.abs(r);return e>=M?Math.round(r/M)+"d":e>=P?Math.round(r/P)+"h":e>=O?Math.round(r/O)+"m":e>=I?Math.round(r/I)+"s":r+"ms"}function ye(r){var e=Math.abs(r);return e>=M?L(r,e,M,"day"):e>=P?L(r,e,P,"hour"):e>=O?L(r,e,O,"minute"):e>=I?L(r,e,I,"second"):r+" ms"}function L(r,e,t,n){var s=e>=t*1.5;return Math.round(r/t)+" "+n+(s?"s":"")}});var Q=D((Ve,K)=>{function xe(r){t.debug=t,t.default=t,t.coerce=l,t.disable=d,t.enable=s,t.enabled=b,t.humanize=Z(),t.destroy=E,Object.keys(r).forEach(o=>{t[o]=r[o]}),t.names=[],t.skips=[],t.formatters={};function e(o){let i=0;for(let f=0;f<o.length;f++)i=(i<<5)-i+o.charCodeAt(f),i|=0;return t.colors[Math.abs(i)%t.colors.length]}t.selectColor=e;function t(o){let i,f=null,k,a;function c(...h){if(!c.enabled)return;let p=c,C=Number(new Date),v=C-(i||C);p.diff=v,p.prev=i,p.curr=C,i=C,h[0]=t.coerce(h[0]),typeof h[0]!="string"&&h.unshift("%O");let m=0;h[0]=h[0].replace(/%([a-zA-Z%])/g,(F,w)=>{if(F==="%%")return"%";m++;let A=t.formatters[w];if(typeof A=="function"){let U=h[m];F=A.call(p,U),h.splice(m,1),m--}return F}),t.formatArgs.call(p,h),(p.log||t.log).apply(p,h)}return c.namespace=o,c.useColors=t.useColors(),c.color=t.selectColor(o),c.extend=n,c.destroy=t.destroy,Object.defineProperty(c,"enabled",{enumerable:!0,configurable:!1,get:()=>f!==null?f:(k!==t.namespaces&&(k=t.namespaces,a=t.enabled(o)),a),set:h=>{f=h}}),typeof t.init=="function"&&t.init(c),c}function n(o,i){let f=t(this.namespace+(typeof i>"u"?":":i)+o);return f.log=this.log,f}function s(o){t.save(o),t.namespaces=o,t.names=[],t.skips=[];let i,f=(typeof o=="string"?o:"").split(/[\s,]+/),k=f.length;for(i=0;i<k;i++)f[i]&&(o=f[i].replace(/\*/g,".*?"),o[0]==="-"?t.skips.push(new RegExp("^"+o.slice(1)+"$")):t.names.push(new RegExp("^"+o+"$")))}function d(){let o=[...t.names.map(u),...t.skips.map(u).map(i=>"-"+i)].join(",");return t.enable(""),o}function b(o){if(o[o.length-1]==="*")return!0;let i,f;for(i=0,f=t.skips.length;i<f;i++)if(t.skips[i].test(o))return!1;for(i=0,f=t.names.length;i<f;i++)if(t.names[i].test(o))return!0;return!1}function u(o){return o.toString().substring(2,o.toString().length-2).replace(/\.\*\?$/,"*")}function l(o){return o instanceof Error?o.stack||o.message:o}function E(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return t.enable(t.load()),t}K.exports=xe});var W=D((y,$)=>{y.formatArgs=Fe;y.save=Ae;y.load=Ee;y.useColors=ve;y.storage=Se();y.destroy=(()=>{let r=!1;return()=>{r||(r=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();y.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function ve(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Fe(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+$.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;r.splice(1,0,e,"color: inherit");let t=0,n=0;r[0].replace(/%[a-zA-Z%]/g,s=>{s!=="%%"&&(t++,s==="%c"&&(n=t))}),r.splice(n,0,e)}y.log=console.debug||console.log||(()=>{});function Ae(r){try{r?y.storage.setItem("debug",r):y.storage.removeItem("debug")}catch{}}function Ee(){let r;try{r=y.storage.getItem("debug")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function Se(){try{return localStorage}catch{}}$.exports=Q()(y);var{formatters:Me}=$.exports;Me.j=function(r){try{return JSON.stringify(r)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var _e={};he(_e,{simpleMetrics:()=>De});var x=pe(W(),1);var Be=new Uint8Array(0);function Y(r){if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")}function ke(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),n=0;n<t.length;n++)t[n]=255;for(var s=0;s<r.length;s++){var d=r.charAt(s),b=d.charCodeAt(0);if(t[b]!==255)throw new TypeError(d+" is ambiguous");t[b]=s}var u=r.length,l=r.charAt(0),E=Math.log(u)/Math.log(256),o=Math.log(256)/Math.log(u);function i(a){if(a instanceof Uint8Array||(ArrayBuffer.isView(a)?a=new Uint8Array(a.buffer,a.byteOffset,a.byteLength):Array.isArray(a)&&(a=Uint8Array.from(a))),!(a instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(a.length===0)return"";for(var c=0,h=0,p=0,C=a.length;p!==C&&a[p]===0;)p++,c++;for(var v=(C-p)*o+1>>>0,m=new Uint8Array(v);p!==C;){for(var S=a[p],F=0,w=v-1;(S!==0||F<h)&&w!==-1;w--,F++)S+=256*m[w]>>>0,m[w]=S%u>>>0,S=S/u>>>0;if(S!==0)throw new Error("Non-zero carry");h=F,p++}for(var A=v-h;A!==v&&m[A]===0;)A++;for(var U=l.repeat(c);A<v;++A)U+=r.charAt(m[A]);return U}function f(a){if(typeof a!="string")throw new TypeError("Expected String");if(a.length===0)return new Uint8Array;var c=0;if(a[c]!==" "){for(var h=0,p=0;a[c]===l;)h++,c++;for(var C=(a.length-c)*E+1>>>0,v=new Uint8Array(C);a[c];){var m=t[a.charCodeAt(c)];if(m===255)return;for(var S=0,F=C-1;(m!==0||S<p)&&F!==-1;F--,S++)m+=u*v[F]>>>0,v[F]=m%256>>>0,m=m/256>>>0;if(m!==0)throw new Error("Non-zero carry");p=S,c++}if(a[c]!==" "){for(var w=C-p;w!==C&&v[w]===0;)w++;for(var A=new Uint8Array(h+(C-w)),U=h;w!==C;)A[U++]=v[w++];return A}}}function k(a){var c=f(a);if(c)return c;throw new Error(`Non-${e} character`)}return{encode:i,decodeUnsafe:f,decode:k}}var Ue=ke,Ie=Ue,H=Ie;var _=class{name;prefix;baseEncode;constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},q=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,t,n){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return ee(this,e)}},R=class{decoders;constructor(e){this.decoders=e}or(e){return ee(this,e)}decode(e){let t=e[0],n=this.decoders[t];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function ee(r,e){return new R({...r.decoders??{[r.prefix]:r},...e.decoders??{[e.prefix]:e}})}var V=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,t,n,s){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=s,this.encoder=new _(e,t,n),this.decoder=new q(e,t,s)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function te({name:r,prefix:e,encode:t,decode:n}){return new V(r,e,t,n)}function B({name:r,prefix:e,alphabet:t}){let{encode:n,decode:s}=H(t,r);return te({prefix:e,name:r,encode:n,decode:d=>Y(s(d))})}function Oe(r,e,t,n){let s={};for(let o=0;o<e.length;++o)s[e[o]]=o;let d=r.length;for(;r[d-1]==="=";)--d;let b=new Uint8Array(d*t/8|0),u=0,l=0,E=0;for(let o=0;o<d;++o){let i=s[r[o]];if(i===void 0)throw new SyntaxError(`Non-${n} character`);l=l<<t|i,u+=t,u>=8&&(u-=8,b[E++]=255&l>>u)}if(u>=t||255&l<<8-u)throw new SyntaxError("Unexpected end of data");return b}function Pe(r,e,t){let n=e[e.length-1]==="=",s=(1<<t)-1,d="",b=0,u=0;for(let l=0;l<r.length;++l)for(u=u<<8|r[l],b+=8;b>t;)b-=t,d+=e[s&u>>b];if(b!==0&&(d+=e[s&u<<t-b]),n)for(;d.length*t&7;)d+="=";return d}function g({name:r,prefix:e,bitsPerChar:t,alphabet:n}){return te({prefix:e,name:r,encode(s){return Pe(s,n,t)},decode(s){return Oe(s,n,t,r)}})}var re=g({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Qe=g({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),We=g({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Ye=g({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),He=g({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),et=g({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),tt=g({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),rt=g({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),nt=g({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var ne=B({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),it=B({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var oe=g({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),ut=g({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),lt=g({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),ft=g({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});x.default.formatters.b=r=>r==null?"undefined":ne.baseEncode(r);x.default.formatters.t=r=>r==null?"undefined":re.baseEncode(r);x.default.formatters.m=r=>r==null?"undefined":oe.baseEncode(r);x.default.formatters.p=r=>r==null?"undefined":r.toString();x.default.formatters.c=r=>r==null?"undefined":r.toString();x.default.formatters.k=r=>r==null?"undefined":r.toString();x.default.formatters.a=r=>r==null?"undefined":r.toString();function ze(r){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=r,e.destroy=()=>!0,e.extend=()=>e,e}function se(r){let e=ze(`${r}:trace`);return x.default.enabled(`${r}:trace`)&&x.default.names.map(t=>t.toString()).find(t=>t.includes(":trace"))!=null&&(e=(0,x.default)(`${r}:trace`)),Object.assign((0,x.default)(r),{error:(0,x.default)(`${r}:error`),trace:e})}function Ne(r){let[e,t]=r[Symbol.asyncIterator]!=null?[r[Symbol.asyncIterator](),Symbol.asyncIterator]:[r[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>e.next(),push:s=>{n.push(s)},next:()=>n.length>0?{done:!1,value:n.shift()}:e.next(),[t](){return this}}}var ie=Ne;function je(r){return r[Symbol.asyncIterator]!=null}function ae(r){return r?.then!=null}function Le(r,e){let t=0;if(je(r))return async function*(){for await(let l of r){let E=e(l,t++);ae(E)&&await E,yield l}}();let n=ie(r),{value:s,done:d}=n.next();if(d===!0)return function*(){}();if(typeof e(s,t++)?.then=="function")return async function*(){yield s;for await(let l of n){let E=e(l,t++);ae(E)&&await E,yield l}}();let u=e;return function*(){yield s;for(let l of n)u(l,t++),yield l}()}var J=Le;var $e=se("libp2p:simple-metrics"),z=class{value=0;update(e){this.value=e}increment(e=1){this.value+=e}decrement(e=1){this.value-=e}reset(){this.value=0}timer(){let e=Date.now();return()=>{this.value=Date.now()-e}}},N=class{values={};update(e){Object.entries(e).forEach(([t,n])=>{this.values[t]=n})}increment(e){Object.entries(e).forEach(([t,n])=>{this.values[t]=this.values[t]??0;let s=typeof n=="number"?n:1;this.values[t]+=Number(s)})}decrement(e){Object.entries(e).forEach(([t,n])=>{this.values[t]=this.values[t]??0;let s=typeof n=="number"?n:1;this.values[t]-=Number(s)})}reset(){this.values={}}timer(e){let t=Date.now();return()=>{this.values[e]=Date.now()-t}}},T=class{metrics=new Map;transferStats;started;interval;intervalMs;onMetrics;constructor(e,t){this.started=!1,this._emitMetrics=this._emitMetrics.bind(this),this.intervalMs=t.intervalMs??1e3,this.onMetrics=t.onMetrics,this.transferStats=new Map}isStarted(){return this.started}start(){this.started=!0,this.interval=setInterval(this._emitMetrics,this.intervalMs)}stop(){this.started=!1,clearInterval(this.interval)}_emitMetrics(){Promise.resolve().then(async()=>{let e={};for(let[t,n]of this.metrics.entries())n instanceof z?e[t]=n.value:n instanceof N?e[t]=n.values:e[t]=await n();this.onMetrics(structuredClone(e))}).catch(e=>{$e.error("could not invoke onMetrics callback",e)})}_incrementValue(e,t){let n=this.transferStats.get(e)??0;this.transferStats.set(e,n+t)}_track(e,t){let n=this,s=e.sink;e.sink=async function(u){await s(J(u,l=>{n._incrementValue(`${t} sent`,l.byteLength)}))};let d=e.source;e.source=J(d,b=>{n._incrementValue(`${t} received`,b.byteLength)})}trackMultiaddrConnection(e){this._track(e,"global")}trackProtocolStream(e,t){e.protocol!=null&&this._track(e,e.protocol)}registerMetric(e,t={}){if(e==null||e.trim()==="")throw new Error("Metric name is required");if(t?.calculate!=null){this.metrics.set(e,t.calculate);return}let n=new z;return this.metrics.set(e,n),n}registerMetricGroup(e,t={}){if(e==null||e.trim()==="")throw new Error("Metric name is required");if(t?.calculate!=null){this.metrics.set(e,t.calculate);return}let n=new N;return this.metrics.set(e,n),n}registerCounter(e,t={}){if(e==null||e.trim()==="")throw new Error("Metric name is required");if(t?.calculate!=null){this.metrics.set(e,t.calculate);return}let n=new z;return this.metrics.set(e,n),n}registerCounterGroup(e,t={}){if(e==null||e.trim()==="")throw new Error("Metric name is required");if(t?.calculate!=null){this.metrics.set(e,t.calculate);return}let n=new N;return this.metrics.set(e,n),n}};function De(r){return e=>new T(e,r)}return be(_e);})();
3
3
  return Libp2PSimpleMetrics}));
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @packageDocumentation
3
3
  *
4
- * Stores metrics in memory and periodically invokes a configured callback
5
- * to receive them.
4
+ * Stores metrics in memory and periodically invokes a configured callback to
5
+ * receive them.
6
6
  *
7
7
  * @example
8
8
  *
@@ -22,7 +22,7 @@
22
22
  *
23
23
  * ```
24
24
  */
25
- import type { Metrics } from '@libp2p/interface/metrics';
25
+ import type { Metrics } from '@libp2p/interface';
26
26
  export interface OnMetrics {
27
27
  (metrics: Record<string, any>): void;
28
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAMH,OAAO,KAAK,EAAkC,OAAO,EAAkF,MAAM,2BAA2B,CAAA;AAyExK,MAAM,WAAW,SAAS;IAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAA;CAAE;AAEnE,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,SAAS,EAAE,SAAS,CAAA;CACrB;AAoLD,wBAAgB,aAAa,CAAE,IAAI,EAAE,iBAAiB,GAAG,CAAC,UAAU,EAAE,OAAO,KAAK,OAAO,CAExF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,KAAK,EAAsF,OAAO,EAAkF,MAAM,mBAAmB,CAAA;AAyEpN,MAAM,WAAW,SAAS;IAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAA;CAAE;AAEnE,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,SAAS,EAAE,SAAS,CAAA;CACrB;AAoLD,wBAAgB,aAAa,CAAE,IAAI,EAAE,iBAAiB,GAAG,CAAC,UAAU,EAAE,OAAO,KAAK,OAAO,CAExF"}
package/dist/src/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @packageDocumentation
3
3
  *
4
- * Stores metrics in memory and periodically invokes a configured callback
5
- * to receive them.
4
+ * Stores metrics in memory and periodically invokes a configured callback to
5
+ * receive them.
6
6
  *
7
7
  * @example
8
8
  *
@@ -160,7 +160,7 @@ class SimpleMetrics {
160
160
  this._track(stream, stream.protocol);
161
161
  }
162
162
  registerMetric(name, opts = {}) {
163
- if (name == null ?? name.trim() === '') {
163
+ if (name == null || name.trim() === '') {
164
164
  throw new Error('Metric name is required');
165
165
  }
166
166
  if (opts?.calculate != null) {
@@ -173,7 +173,7 @@ class SimpleMetrics {
173
173
  return metric;
174
174
  }
175
175
  registerMetricGroup(name, opts = {}) {
176
- if (name == null ?? name.trim() === '') {
176
+ if (name == null || name.trim() === '') {
177
177
  throw new Error('Metric name is required');
178
178
  }
179
179
  if (opts?.calculate != null) {
@@ -181,12 +181,12 @@ class SimpleMetrics {
181
181
  this.metrics.set(name, opts.calculate);
182
182
  return;
183
183
  }
184
- const metric = new DefaultMetric();
184
+ const metric = new DefaultGroupMetric();
185
185
  this.metrics.set(name, metric);
186
186
  return metric;
187
187
  }
188
188
  registerCounter(name, opts = {}) {
189
- if (name == null ?? name.trim() === '') {
189
+ if (name == null || name.trim() === '') {
190
190
  throw new Error('Metric name is required');
191
191
  }
192
192
  if (opts?.calculate != null) {
@@ -194,12 +194,12 @@ class SimpleMetrics {
194
194
  this.metrics.set(name, opts.calculate);
195
195
  return;
196
196
  }
197
- const metric = new DefaultGroupMetric();
197
+ const metric = new DefaultMetric();
198
198
  this.metrics.set(name, metric);
199
199
  return metric;
200
200
  }
201
201
  registerCounterGroup(name, opts = {}) {
202
- if (name == null ?? name.trim() === '') {
202
+ if (name == null || name.trim() === '') {
203
203
  throw new Error('Metric name is required');
204
204
  }
205
205
  if (opts?.calculate != null) {
@@ -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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,IAAI,MAAM,YAAY,CAAA;AAI7B,MAAM,GAAG,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAA;AAE3C,MAAM,aAAa;IACV,KAAK,GAAW,CAAC,CAAA;IAExB,MAAM,CAAE,KAAa;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,SAAS,CAAE,QAAgB,CAAC;QAC1B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAA;IACrB,CAAC;IAED,SAAS,CAAE,QAAgB,CAAC;QAC1B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAA;IACrB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,GAAG,CAAC,CAAA;IAChB,CAAC;IAED,KAAK;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAExB,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAA;QACjC,CAAC,CAAA;IACH,CAAC;CACF;AAED,MAAM,kBAAkB;IACf,MAAM,GAA2B,EAAE,CAAA;IAE1C,MAAM,CAAE,MAA8B;QACpC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC9C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;QAC1B,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,SAAS,CAAE,MAAwC;QACjD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC9C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACxC,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YAEjD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAA;QACjC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,SAAS,CAAE,MAAwC;QACjD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC9C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACxC,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YAEjD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAA;QACjC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;IAClB,CAAC;IAED,KAAK,CAAE,GAAW;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAExB,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAA;QACvC,CAAC,CAAA;IACH,CAAC;CACF;AAgBD,MAAM,aAAa;IACV,OAAO,GAAG,IAAI,GAAG,EAAgE,CAAA;IACvE,aAAa,CAAqB;IAC3C,OAAO,CAAS;IAChB,QAAQ,CAAiC;IAChC,UAAU,CAAQ;IAClB,SAAS,CAAW;IAErC,YAAa,UAAmB,EAAE,IAAuB;QACvD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QAEpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEhD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAA;QACzC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAE/B,oDAAoD;QACpD,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,EAAE,CAAA;IAChC,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QAEnB,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;IACjE,CAAC;IAED,IAAI;QACF,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QAEpB,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC9B,CAAC;IAEO,YAAY;QAClB,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YACrC,MAAM,MAAM,GAAwB,EAAE,CAAA;YAEtC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;gBACpD,IAAI,MAAM,YAAY,aAAa,EAAE,CAAC;oBACpC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAA;gBAC7B,CAAC;qBAAM,IAAI,MAAM,YAAY,kBAAkB,EAAE,CAAC;oBAChD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAA;gBAC9B,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,MAAM,EAAE,CAAA;gBAC/B,CAAC;YACH,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAA;QACzC,CAAC,CAAC;aACC,KAAK,CAAC,GAAG,CAAC,EAAE;YACX,GAAG,CAAC,KAAK,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAA;QACvD,CAAC,CAAC,CAAA;IACN,CAAC;IAED;;;OAGG;IACH,eAAe,CAAE,GAAW,EAAE,KAAa;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAEjD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,GAAG,KAAK,CAAC,CAAA;IAC/C,CAAC;IAED;;;OAGG;IACH,MAAM,CAAE,MAAmC,EAAE,IAAY;QACvD,MAAM,IAAI,GAAG,IAAI,CAAA;QAEjB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;QACxB,MAAM,CAAC,IAAI,GAAG,KAAK,UAAU,WAAW,CAAE,MAAM;YAC9C,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;gBAC5B,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;YACtD,CAAC,CAAC,CAAC,CAAA;QACL,CAAC,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAC5B,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;YACjC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,WAAW,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;QAC1D,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,wBAAwB,CAAE,MAA2B;QACnD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC/B,CAAC;IAED,mBAAmB,CAAE,MAAc,EAAE,UAAsB;QACzD,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;YAC5B,iEAAiE;YACjE,gDAAgD;YAChD,OAAM;QACR,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;IACtC,CAAC;IAID,cAAc,CAAE,IAAY,EAAE,OAAY,EAAE;QAC1C,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;QAC5C,CAAC;QAED,IAAI,IAAI,EAAE,SAAS,IAAI,IAAI,EAAE,CAAC;YAC5B,oBAAoB;YACpB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;YACtC,OAAM;QACR,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAA;QAClC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAE9B,OAAO,MAAM,CAAA;IACf,CAAC;IAID,mBAAmB,CAAE,IAAY,EAAE,OAAY,EAAE;QAC/C,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;QAC5C,CAAC;QAED,IAAI,IAAI,EAAE,SAAS,IAAI,IAAI,EAAE,CAAC;YAC5B,oBAAoB;YACpB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;YACtC,OAAM;QACR,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAA;QACvC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAE9B,OAAO,MAAM,CAAA;IACf,CAAC;IAID,eAAe,CAAE,IAAY,EAAE,OAAY,EAAE;QAC3C,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;QAC5C,CAAC;QAED,IAAI,IAAI,EAAE,SAAS,IAAI,IAAI,EAAE,CAAC;YAC5B,oBAAoB;YACpB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;YACtC,OAAM;QACR,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAA;QAClC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAE9B,OAAO,MAAM,CAAA;IACf,CAAC;IAID,oBAAoB,CAAE,IAAY,EAAE,OAAY,EAAE;QAChD,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;QAC5C,CAAC;QAED,IAAI,IAAI,EAAE,SAAS,IAAI,IAAI,EAAE,CAAC;YAC5B,oBAAoB;YACpB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;YACtC,OAAM;QACR,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAA;QACvC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAE9B,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAED,MAAM,UAAU,aAAa,CAAE,IAAuB;IACpD,OAAO,CAAC,UAAmB,EAAE,EAAE,CAAC,IAAI,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;AACrE,CAAC"}
package/package.json CHANGED
@@ -1,15 +1,19 @@
1
1
  {
2
2
  "name": "@libp2p/simple-metrics",
3
- "version": "1.0.1",
3
+ "version": "1.0.2-169c9d85e",
4
4
  "description": "Simple in-memory metrics gathering for libp2p",
5
5
  "license": "Apache-2.0 OR MIT",
6
- "homepage": "https://github.com/libp2p/js-libp2p-simple-metrics#readme",
6
+ "homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/metrics-simple#readme",
7
7
  "repository": {
8
8
  "type": "git",
9
- "url": "git+https://github.com/libp2p/js-libp2p-simple-metrics.git"
9
+ "url": "git+https://github.com/libp2p/js-libp2p.git"
10
10
  },
11
11
  "bugs": {
12
- "url": "https://github.com/libp2p/js-libp2p-simple-metrics/issues"
12
+ "url": "https://github.com/libp2p/js-libp2p/issues"
13
+ },
14
+ "publishConfig": {
15
+ "access": "public",
16
+ "provenance": true
13
17
  },
14
18
  "type": "module",
15
19
  "types": "./dist/src/index.d.ts",
@@ -28,94 +32,10 @@
28
32
  "eslintConfig": {
29
33
  "extends": "ipfs",
30
34
  "parserOptions": {
35
+ "project": true,
31
36
  "sourceType": "module"
32
37
  }
33
38
  },
34
- "release": {
35
- "branches": [
36
- "main"
37
- ],
38
- "plugins": [
39
- [
40
- "@semantic-release/commit-analyzer",
41
- {
42
- "preset": "conventionalcommits",
43
- "releaseRules": [
44
- {
45
- "breaking": true,
46
- "release": "major"
47
- },
48
- {
49
- "revert": true,
50
- "release": "patch"
51
- },
52
- {
53
- "type": "feat",
54
- "release": "minor"
55
- },
56
- {
57
- "type": "fix",
58
- "release": "patch"
59
- },
60
- {
61
- "type": "docs",
62
- "release": "patch"
63
- },
64
- {
65
- "type": "test",
66
- "release": "patch"
67
- },
68
- {
69
- "type": "deps",
70
- "release": "patch"
71
- },
72
- {
73
- "scope": "no-release",
74
- "release": false
75
- }
76
- ]
77
- }
78
- ],
79
- [
80
- "@semantic-release/release-notes-generator",
81
- {
82
- "preset": "conventionalcommits",
83
- "presetConfig": {
84
- "types": [
85
- {
86
- "type": "feat",
87
- "section": "Features"
88
- },
89
- {
90
- "type": "fix",
91
- "section": "Bug Fixes"
92
- },
93
- {
94
- "type": "chore",
95
- "section": "Trivial Changes"
96
- },
97
- {
98
- "type": "docs",
99
- "section": "Documentation"
100
- },
101
- {
102
- "type": "deps",
103
- "section": "Dependencies"
104
- },
105
- {
106
- "type": "test",
107
- "section": "Tests"
108
- }
109
- ]
110
- }
111
- }
112
- ],
113
- "@semantic-release/changelog",
114
- "@semantic-release/npm",
115
- "@semantic-release/github",
116
- "@semantic-release/git"
117
- ]
118
- },
119
39
  "scripts": {
120
40
  "clean": "aegir clean",
121
41
  "lint": "aegir lint",
@@ -130,13 +50,13 @@
130
50
  "dep-check": "aegir dep-check -i events"
131
51
  },
132
52
  "dependencies": {
133
- "@libp2p/interface": "^0.1.2",
134
- "@libp2p/logger": "^3.0.2",
135
- "it-foreach": "^2.0.4",
53
+ "@libp2p/interface": "1.4.0-169c9d85e",
54
+ "@libp2p/logger": "4.0.13-169c9d85e",
55
+ "it-foreach": "^2.1.0",
136
56
  "it-stream-types": "^2.0.1"
137
57
  },
138
58
  "devDependencies": {
139
- "aegir": "^40.0.13",
140
- "p-defer": "^4.0.0"
59
+ "aegir": "^42.2.11",
60
+ "p-defer": "^4.0.1"
141
61
  }
142
62
  }
package/src/index.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @packageDocumentation
3
3
  *
4
- * Stores metrics in memory and periodically invokes a configured callback
5
- * to receive them.
4
+ * Stores metrics in memory and periodically invokes a configured callback to
5
+ * receive them.
6
6
  *
7
7
  * @example
8
8
  *
@@ -25,10 +25,8 @@
25
25
 
26
26
  import { logger } from '@libp2p/logger'
27
27
  import each from 'it-foreach'
28
- import type { MultiaddrConnection, Stream, Connection } from '@libp2p/interface/connection'
29
- import type { Startable } from '@libp2p/interface/dist/src/startable'
30
- import type { Metric, MetricGroup, StopTimer, Metrics, CalculatedMetricOptions, MetricOptions, Counter, CounterGroup, CalculateMetric } from '@libp2p/interface/metrics'
31
- import type { Duplex, Source } from 'it-stream-types'
28
+ import type { Startable, MultiaddrConnection, Stream, Connection, Metric, MetricGroup, StopTimer, Metrics, CalculatedMetricOptions, MetricOptions, Counter, CounterGroup, CalculateMetric } from '@libp2p/interface'
29
+ import type { Duplex } from 'it-stream-types'
32
30
 
33
31
  const log = logger('libp2p:simple-metrics')
34
32
 
@@ -185,7 +183,7 @@ class SimpleMetrics implements Metrics, Startable {
185
183
  * Override the sink/source of the stream to count the bytes
186
184
  * in and out
187
185
  */
188
- _track (stream: Duplex<Source<any>>, name: string): void {
186
+ _track (stream: Duplex<AsyncGenerator<any>>, name: string): void {
189
187
  const self = this
190
188
 
191
189
  const sink = stream.sink
@@ -218,7 +216,7 @@ class SimpleMetrics implements Metrics, Startable {
218
216
  registerMetric (name: string, opts: CalculatedMetricOptions): void
219
217
  registerMetric (name: string, opts?: MetricOptions): Metric
220
218
  registerMetric (name: string, opts: any = {}): any {
221
- if (name == null ?? name.trim() === '') {
219
+ if (name == null || name.trim() === '') {
222
220
  throw new Error('Metric name is required')
223
221
  }
224
222
 
@@ -237,7 +235,7 @@ class SimpleMetrics implements Metrics, Startable {
237
235
  registerMetricGroup (name: string, opts: CalculatedMetricOptions<Record<string, number>>): void
238
236
  registerMetricGroup (name: string, opts?: MetricOptions): MetricGroup
239
237
  registerMetricGroup (name: string, opts: any = {}): any {
240
- if (name == null ?? name.trim() === '') {
238
+ if (name == null || name.trim() === '') {
241
239
  throw new Error('Metric name is required')
242
240
  }
243
241
 
@@ -247,7 +245,7 @@ class SimpleMetrics implements Metrics, Startable {
247
245
  return
248
246
  }
249
247
 
250
- const metric = new DefaultMetric()
248
+ const metric = new DefaultGroupMetric()
251
249
  this.metrics.set(name, metric)
252
250
 
253
251
  return metric
@@ -256,7 +254,7 @@ class SimpleMetrics implements Metrics, Startable {
256
254
  registerCounter (name: string, opts: CalculatedMetricOptions): void
257
255
  registerCounter (name: string, opts?: MetricOptions): Counter
258
256
  registerCounter (name: string, opts: any = {}): any {
259
- if (name == null ?? name.trim() === '') {
257
+ if (name == null || name.trim() === '') {
260
258
  throw new Error('Metric name is required')
261
259
  }
262
260
 
@@ -266,7 +264,7 @@ class SimpleMetrics implements Metrics, Startable {
266
264
  return
267
265
  }
268
266
 
269
- const metric = new DefaultGroupMetric()
267
+ const metric = new DefaultMetric()
270
268
  this.metrics.set(name, metric)
271
269
 
272
270
  return metric
@@ -275,7 +273,7 @@ class SimpleMetrics implements Metrics, Startable {
275
273
  registerCounterGroup (name: string, opts: CalculatedMetricOptions<Record<string, number>>): void
276
274
  registerCounterGroup (name: string, opts?: MetricOptions): CounterGroup
277
275
  registerCounterGroup (name: string, opts: any = {}): any {
278
- if (name == null ?? name.trim() === '') {
276
+ if (name == null || name.trim() === '') {
279
277
  throw new Error('Metric name is required')
280
278
  }
281
279