@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 +49 -14
- package/dist/index.min.js +1 -1
- package/dist/src/index.d.ts +3 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +8 -8
- package/dist/src/index.js.map +1 -1
- package/package.json +14 -94
- package/src/index.ts +11 -13
package/README.md
CHANGED
|
@@ -1,26 +1,57 @@
|
|
|
1
|
-
# @libp2p/simple-metrics
|
|
1
|
+
# @libp2p/simple-metrics
|
|
2
2
|
|
|
3
3
|
[](http://libp2p.io/)
|
|
4
4
|
[](https://discuss.libp2p.io)
|
|
5
|
-
[](https://codecov.io/gh/libp2p/js-libp2p)
|
|
6
|
+
[](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
|
-
|
|
10
|
+
# About
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
- [Browser `<script>` tag](#browser-script-tag)
|
|
14
|
-
- [License](#license)
|
|
15
|
-
- [Contribution](#contribution)
|
|
12
|
+
<!--
|
|
16
13
|
|
|
17
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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}));
|
package/dist/src/index.d.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
|
-
*
|
|
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
|
|
25
|
+
import type { Metrics } from '@libp2p/interface';
|
|
26
26
|
export interface OnMetrics {
|
|
27
27
|
(metrics: Record<string, any>): void;
|
|
28
28
|
}
|
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;;;;;;;;;;;;;;;;;;;;;;;GAuBG;
|
|
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
|
-
*
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
202
|
+
if (name == null || name.trim() === '') {
|
|
203
203
|
throw new Error('Metric name is required');
|
|
204
204
|
}
|
|
205
205
|
if (opts?.calculate != null) {
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/simple-metrics",
|
|
3
|
-
"version": "1.0.
|
|
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
|
|
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
|
|
9
|
+
"url": "git+https://github.com/libp2p/js-libp2p.git"
|
|
10
10
|
},
|
|
11
11
|
"bugs": {
|
|
12
|
-
"url": "https://github.com/libp2p/js-libp2p
|
|
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": "
|
|
134
|
-
"@libp2p/logger": "
|
|
135
|
-
"it-foreach": "^2.0
|
|
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": "^
|
|
140
|
-
"p-defer": "^4.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
|
-
*
|
|
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
|
|
29
|
-
import type {
|
|
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<
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
276
|
+
if (name == null || name.trim() === '') {
|
|
279
277
|
throw new Error('Metric name is required')
|
|
280
278
|
}
|
|
281
279
|
|