@libp2p/prometheus-metrics 2.0.12-effcfaa8e → 3.0.0
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 +1 -1
- package/dist/src/counter-group.d.ts +1 -1
- package/dist/src/counter-group.d.ts.map +1 -1
- package/dist/src/counter-group.js.map +1 -1
- package/dist/src/counter.d.ts +1 -1
- package/dist/src/counter.d.ts.map +1 -1
- package/dist/src/counter.js.map +1 -1
- package/dist/src/index.d.ts +5 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +17 -17
- package/dist/src/index.js.map +1 -1
- package/dist/src/metric-group.d.ts +1 -1
- package/dist/src/metric-group.d.ts.map +1 -1
- package/dist/src/metric-group.js.map +1 -1
- package/dist/src/metric.d.ts +1 -1
- package/dist/src/metric.d.ts.map +1 -1
- package/dist/src/metric.js.map +1 -1
- package/dist/src/utils.d.ts +1 -1
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/typedoc-urls.json +10 -0
- package/package.json +14 -9
- package/src/counter-group.ts +1 -1
- package/src/counter.ts +1 -1
- package/src/index.ts +26 -23
- package/src/metric-group.ts +1 -1
- package/src/metric.ts +1 -1
- package/src/utils.ts +1 -1
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[](http://libp2p.io/)
|
|
2
2
|
[](https://discuss.libp2p.io)
|
|
3
3
|
[](https://codecov.io/gh/libp2p/js-libp2p)
|
|
4
|
-
[](https://github.com/libp2p/js-libp2p/actions/workflows/main.yml?query=branch%3Amain)
|
|
5
5
|
|
|
6
6
|
> Collect libp2p metrics for scraping by Prometheus or Graphana
|
|
7
7
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type CalculatedMetric } from './utils.js';
|
|
2
2
|
import type { PrometheusCalculatedMetricOptions } from './index.js';
|
|
3
|
-
import type { CounterGroup, CalculateMetric } from '@libp2p/interface
|
|
3
|
+
import type { CounterGroup, CalculateMetric } from '@libp2p/interface';
|
|
4
4
|
export declare class PrometheusCounterGroup implements CounterGroup, CalculatedMetric<Record<string, number>> {
|
|
5
5
|
private readonly counter;
|
|
6
6
|
private readonly label;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"counter-group.d.ts","sourceRoot":"","sources":["../../src/counter-group.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACnE,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,YAAY,CAAA;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"counter-group.d.ts","sourceRoot":"","sources":["../../src/counter-group.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACnE,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,YAAY,CAAA;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEtE,qBAAa,sBAAuB,YAAW,YAAY,EAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgD;gBAE/D,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iCAAiC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAgC1F,aAAa,CAAE,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI;IAIzE,SAAS,CAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI;IAQ1D,KAAK,IAAK,IAAI;CAGf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"counter-group.js","sourceRoot":"","sources":["../../src/counter-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAwB,MAAM,aAAa,CAAA;AAC1E,OAAO,EAAE,eAAe,EAAyB,MAAM,YAAY,CAAA;AAInE,MAAM,OAAO,sBAAsB;IAChB,OAAO,CAAa;IACpB,KAAK,CAAQ;IACb,WAAW,CAAgD;IAE5E,YAAa,IAAY,EAAE,IAA+D;QACxF,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;QAC5B,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAA;QAC9D,IAAI,OAAsD,CAAA;QAC1D,IAAI,CAAC,WAAW,GAAG,EAAE,CAAA;QAErB,oBAAoB;QACpB,IAAI,IAAI,EAAE,SAAS,IAAI,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"counter-group.js","sourceRoot":"","sources":["../../src/counter-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAwB,MAAM,aAAa,CAAA;AAC1E,OAAO,EAAE,eAAe,EAAyB,MAAM,YAAY,CAAA;AAInE,MAAM,OAAO,sBAAsB;IAChB,OAAO,CAAa;IACpB,KAAK,CAAQ;IACb,WAAW,CAAgD;IAE5E,YAAa,IAAY,EAAE,IAA+D;QACxF,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;QAC5B,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAA;QAC9D,IAAI,OAAsD,CAAA;QAC1D,IAAI,CAAC,WAAW,GAAG,EAAE,CAAA;QAErB,oBAAoB;QACpB,IAAI,IAAI,EAAE,SAAS,IAAI,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACrC,MAAM,IAAI,GAAG,IAAI,CAAA;YAEjB,OAAO,GAAG,KAAK;gBACb,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAC,SAAS,EAAC,EAAE;oBACvD,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAA;oBAEhC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;wBAC9C,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,CAAC,CAAA;oBACnC,CAAC,CAAC,CAAA;gBACJ,CAAC,CAAC,CAAC,CAAA;YACL,CAAC,CAAA;QACH,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,WAAW,CAAC;YAC7B,IAAI;YACJ,IAAI;YACJ,UAAU,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YACxB,SAAS,EAAE,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YACpE,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;IAED,aAAa,CAAE,UAAmD;QAChE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACnC,CAAC;IAED,SAAS,CAAE,MAAwC;QACjD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC9C,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YAEjD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;IACtB,CAAC;CACF"}
|
package/dist/src/counter.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type CalculatedMetric } from './utils.js';
|
|
2
2
|
import type { PrometheusCalculatedMetricOptions } from './index.js';
|
|
3
|
-
import type { CalculateMetric, Counter } from '@libp2p/interface
|
|
3
|
+
import type { CalculateMetric, Counter } from '@libp2p/interface';
|
|
4
4
|
export declare class PrometheusCounter implements Counter, CalculatedMetric {
|
|
5
5
|
private readonly counter;
|
|
6
6
|
private readonly calculators;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"counter.d.ts","sourceRoot":"","sources":["../../src/counter.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACnE,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,YAAY,CAAA;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"counter.d.ts","sourceRoot":"","sources":["../../src/counter.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACnE,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,YAAY,CAAA;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAEjE,qBAAa,iBAAkB,YAAW,OAAO,EAAE,gBAAgB;IACjE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmB;gBAElC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iCAAiC;IA6BlE,aAAa,CAAE,UAAU,EAAE,eAAe,GAAG,IAAI;IAIjD,SAAS,CAAE,KAAK,GAAE,MAAU,GAAG,IAAI;IAInC,KAAK,IAAK,IAAI;CAGf"}
|
package/dist/src/counter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"counter.js","sourceRoot":"","sources":["../../src/counter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,OAAO,IAAI,WAAW,EAAE,MAAM,aAAa,CAAA;AAC1E,OAAO,EAAE,eAAe,EAAyB,MAAM,YAAY,CAAA;AAInE,MAAM,OAAO,iBAAiB;IACX,OAAO,CAAa;IACpB,WAAW,CAAmB;IAE/C,YAAa,IAAY,EAAE,IAAuC;QAChE,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;QAC5B,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACtE,IAAI,OAAsD,CAAA;QAC1D,IAAI,CAAC,WAAW,GAAG,EAAE,CAAA;QAErB,oBAAoB;QACpB,IAAI,IAAI,EAAE,SAAS,IAAI,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"counter.js","sourceRoot":"","sources":["../../src/counter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,OAAO,IAAI,WAAW,EAAE,MAAM,aAAa,CAAA;AAC1E,OAAO,EAAE,eAAe,EAAyB,MAAM,YAAY,CAAA;AAInE,MAAM,OAAO,iBAAiB;IACX,OAAO,CAAa;IACpB,WAAW,CAAmB;IAE/C,YAAa,IAAY,EAAE,IAAuC;QAChE,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;QAC5B,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACtE,IAAI,OAAsD,CAAA;QAC1D,IAAI,CAAC,WAAW,GAAG,EAAE,CAAA;QAErB,oBAAoB;QACpB,IAAI,IAAI,EAAE,SAAS,IAAI,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACrC,MAAM,IAAI,GAAG,IAAI,CAAA;YAEjB,OAAO,GAAG,KAAK;gBACb,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAC,SAAS,EAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;gBACtF,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC,CAAC,CAAA;gBAEvD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACf,CAAC,CAAA;QACH,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,WAAW,CAAC;YAC7B,IAAI;YACJ,IAAI;YACJ,UAAU,EAAE,MAAM;YAClB,SAAS,EAAE,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YACpE,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;IAED,aAAa,CAAE,UAA2B;QACxC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACnC,CAAC;IAED,SAAS,CAAE,QAAgB,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;IACtB,CAAC;CACF"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -155,7 +155,7 @@
|
|
|
155
155
|
* ```
|
|
156
156
|
*/
|
|
157
157
|
import { type DefaultMetricsCollectorConfiguration, type Registry, type RegistryContentType } from 'prom-client';
|
|
158
|
-
import type { CalculatedMetricOptions, Metrics } from '@libp2p/interface
|
|
158
|
+
import type { ComponentLogger, CalculatedMetricOptions, Metrics } from '@libp2p/interface';
|
|
159
159
|
export interface PrometheusMetricsInit {
|
|
160
160
|
/**
|
|
161
161
|
* Use a custom registry to register metrics.
|
|
@@ -181,5 +181,8 @@ export interface PrometheusMetricsInit {
|
|
|
181
181
|
export interface PrometheusCalculatedMetricOptions<T = number> extends CalculatedMetricOptions<T> {
|
|
182
182
|
registry?: Registry;
|
|
183
183
|
}
|
|
184
|
-
export
|
|
184
|
+
export interface PrometheusMetricsComponents {
|
|
185
|
+
logger: ComponentLogger;
|
|
186
|
+
}
|
|
187
|
+
export declare function prometheusMetrics(init?: Partial<PrometheusMetricsInit>): (components: PrometheusMetricsComponents) => Metrics;
|
|
185
188
|
//# sourceMappingURL=index.d.ts.map
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2JG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2JG;AAGH,OAAO,EAAyB,KAAK,oCAAoC,EAAY,KAAK,QAAQ,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAKjJ,OAAO,KAAK,EAAE,eAAe,EAAmD,uBAAuB,EAA6D,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAOtM,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAA;IAEnB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAE/B;;OAEG;IACH,cAAc,CAAC,EAAE,oCAAoC,CAAC,mBAAmB,CAAC,CAAA;IAE1E;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAClC;AAED,MAAM,WAAW,iCAAiC,CAAC,CAAC,GAAC,MAAM,CAAE,SAAQ,uBAAuB,CAAC,CAAC,CAAC;IAC7F,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACpB;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,eAAe,CAAA;CACxB;AAsND,wBAAgB,iBAAiB,CAAE,IAAI,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAU,EAAE,2BAA2B,KAAK,OAAO,CAI9H"}
|
package/dist/src/index.js
CHANGED
|
@@ -154,33 +154,33 @@
|
|
|
154
154
|
* const streams = metrics.trackProtocolStream(stream)
|
|
155
155
|
* ```
|
|
156
156
|
*/
|
|
157
|
-
import { logger } from '@libp2p/logger';
|
|
158
157
|
import each from 'it-foreach';
|
|
159
158
|
import { collectDefaultMetrics, register } from 'prom-client';
|
|
160
159
|
import { PrometheusCounterGroup } from './counter-group.js';
|
|
161
160
|
import { PrometheusCounter } from './counter.js';
|
|
162
161
|
import { PrometheusMetricGroup } from './metric-group.js';
|
|
163
162
|
import { PrometheusMetric } from './metric.js';
|
|
164
|
-
const log = logger('libp2p:prometheus-metrics');
|
|
165
163
|
// prom-client metrics are global
|
|
166
164
|
const metrics = new Map();
|
|
167
165
|
class PrometheusMetrics {
|
|
166
|
+
log;
|
|
168
167
|
transferStats;
|
|
169
168
|
registry;
|
|
170
|
-
constructor(init) {
|
|
169
|
+
constructor(components, init) {
|
|
170
|
+
this.log = components.logger.forComponent('libp2p:prometheus-metrics');
|
|
171
171
|
this.registry = init?.registry;
|
|
172
172
|
if (init?.preserveExistingMetrics !== true) {
|
|
173
|
-
log('Clearing existing metrics');
|
|
173
|
+
this.log('Clearing existing metrics');
|
|
174
174
|
metrics.clear();
|
|
175
175
|
(this.registry ?? register).clear();
|
|
176
176
|
}
|
|
177
177
|
if (init?.collectDefaultMetrics !== false) {
|
|
178
|
-
log('Collecting default metrics');
|
|
178
|
+
this.log('Collecting default metrics');
|
|
179
179
|
collectDefaultMetrics({ ...init?.defaultMetrics, register: this.registry ?? init?.defaultMetrics?.register });
|
|
180
180
|
}
|
|
181
181
|
// holds global and per-protocol sent/received stats
|
|
182
182
|
this.transferStats = new Map();
|
|
183
|
-
log('Collecting data transfer metrics');
|
|
183
|
+
this.log('Collecting data transfer metrics');
|
|
184
184
|
this.registerCounterGroup('libp2p_data_transfer_bytes_total', {
|
|
185
185
|
label: 'protocol',
|
|
186
186
|
calculate: () => {
|
|
@@ -193,7 +193,7 @@ class PrometheusMetrics {
|
|
|
193
193
|
return output;
|
|
194
194
|
}
|
|
195
195
|
});
|
|
196
|
-
log('Collecting memory metrics');
|
|
196
|
+
this.log('Collecting memory metrics');
|
|
197
197
|
this.registerMetricGroup('nodejs_memory_usage_bytes', {
|
|
198
198
|
label: 'memory',
|
|
199
199
|
calculate: () => {
|
|
@@ -245,13 +245,13 @@ class PrometheusMetrics {
|
|
|
245
245
|
}
|
|
246
246
|
let metric = metrics.get(name);
|
|
247
247
|
if (metrics.has(name)) {
|
|
248
|
-
log('Reuse existing metric', name);
|
|
248
|
+
this.log('Reuse existing metric', name);
|
|
249
249
|
if (opts.calculate != null) {
|
|
250
250
|
metric.addCalculator(opts.calculate);
|
|
251
251
|
}
|
|
252
252
|
return metrics.get(name);
|
|
253
253
|
}
|
|
254
|
-
log('Register metric', name);
|
|
254
|
+
this.log('Register metric', name);
|
|
255
255
|
metric = new PrometheusMetric(name, { registry: this.registry, ...opts });
|
|
256
256
|
metrics.set(name, metric);
|
|
257
257
|
if (opts.calculate == null) {
|
|
@@ -264,13 +264,13 @@ class PrometheusMetrics {
|
|
|
264
264
|
}
|
|
265
265
|
let metricGroup = metrics.get(name);
|
|
266
266
|
if (metricGroup != null) {
|
|
267
|
-
log('Reuse existing metric group', name);
|
|
267
|
+
this.log('Reuse existing metric group', name);
|
|
268
268
|
if (opts.calculate != null) {
|
|
269
269
|
metricGroup.addCalculator(opts.calculate);
|
|
270
270
|
}
|
|
271
271
|
return metricGroup;
|
|
272
272
|
}
|
|
273
|
-
log('Register metric group', name);
|
|
273
|
+
this.log('Register metric group', name);
|
|
274
274
|
metricGroup = new PrometheusMetricGroup(name, { registry: this.registry, ...opts });
|
|
275
275
|
metrics.set(name, metricGroup);
|
|
276
276
|
if (opts.calculate == null) {
|
|
@@ -283,13 +283,13 @@ class PrometheusMetrics {
|
|
|
283
283
|
}
|
|
284
284
|
let counter = metrics.get(name);
|
|
285
285
|
if (counter != null) {
|
|
286
|
-
log('Reuse existing counter', name);
|
|
286
|
+
this.log('Reuse existing counter', name);
|
|
287
287
|
if (opts.calculate != null) {
|
|
288
288
|
counter.addCalculator(opts.calculate);
|
|
289
289
|
}
|
|
290
290
|
return metrics.get(name);
|
|
291
291
|
}
|
|
292
|
-
log('Register counter', name);
|
|
292
|
+
this.log('Register counter', name);
|
|
293
293
|
counter = new PrometheusCounter(name, { registry: this.registry, ...opts });
|
|
294
294
|
metrics.set(name, counter);
|
|
295
295
|
if (opts.calculate == null) {
|
|
@@ -302,13 +302,13 @@ class PrometheusMetrics {
|
|
|
302
302
|
}
|
|
303
303
|
let counterGroup = metrics.get(name);
|
|
304
304
|
if (counterGroup != null) {
|
|
305
|
-
log('Reuse existing counter group', name);
|
|
305
|
+
this.log('Reuse existing counter group', name);
|
|
306
306
|
if (opts.calculate != null) {
|
|
307
307
|
counterGroup.addCalculator(opts.calculate);
|
|
308
308
|
}
|
|
309
309
|
return counterGroup;
|
|
310
310
|
}
|
|
311
|
-
log('Register counter group', name);
|
|
311
|
+
this.log('Register counter group', name);
|
|
312
312
|
counterGroup = new PrometheusCounterGroup(name, { registry: this.registry, ...opts });
|
|
313
313
|
metrics.set(name, counterGroup);
|
|
314
314
|
if (opts.calculate == null) {
|
|
@@ -317,8 +317,8 @@ class PrometheusMetrics {
|
|
|
317
317
|
}
|
|
318
318
|
}
|
|
319
319
|
export function prometheusMetrics(init) {
|
|
320
|
-
return () => {
|
|
321
|
-
return new PrometheusMetrics(init);
|
|
320
|
+
return (components) => {
|
|
321
|
+
return new PrometheusMetrics(components, init);
|
|
322
322
|
};
|
|
323
323
|
}
|
|
324
324
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2JG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type CalculatedMetric } from './utils.js';
|
|
2
2
|
import type { PrometheusCalculatedMetricOptions } from './index.js';
|
|
3
|
-
import type { CalculateMetric, MetricGroup, StopTimer } from '@libp2p/interface
|
|
3
|
+
import type { CalculateMetric, MetricGroup, StopTimer } from '@libp2p/interface';
|
|
4
4
|
export declare class PrometheusMetricGroup implements MetricGroup, CalculatedMetric<Record<string, number>> {
|
|
5
5
|
private readonly gauge;
|
|
6
6
|
private readonly label;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metric-group.d.ts","sourceRoot":"","sources":["../../src/metric-group.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACnE,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,YAAY,CAAA;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"metric-group.d.ts","sourceRoot":"","sources":["../../src/metric-group.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACnE,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,YAAY,CAAA;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAEhF,qBAAa,qBAAsB,YAAW,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAO;IAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgD;gBAE/D,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iCAAiC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAgC1F,aAAa,CAAE,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI;IAIzE,MAAM,CAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAM7C,SAAS,CAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI;IAQ1D,SAAS,CAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI;IAQ1D,KAAK,IAAK,IAAI;IAId,KAAK,CAAE,GAAG,EAAE,MAAM,GAAG,SAAS;CAK/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metric-group.js","sourceRoot":"","sources":["../../src/metric-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EAAE,eAAe,EAAyB,MAAM,YAAY,CAAA;AAInE,MAAM,OAAO,qBAAqB;IACf,KAAK,CAAO;IACZ,KAAK,CAAQ;IACb,WAAW,CAAgD;IAE5E,YAAa,IAAY,EAAE,IAA+D;QACxF,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;QAC5B,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAA;QAC9D,IAAI,OAAgD,CAAA;QACpD,IAAI,CAAC,WAAW,GAAG,EAAE,CAAA;QAErB,oBAAoB;QACpB,IAAI,IAAI,EAAE,SAAS,IAAI,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"metric-group.js","sourceRoot":"","sources":["../../src/metric-group.ts"],"names":[],"mappings":"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"}
|
package/dist/src/metric.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { PrometheusCalculatedMetricOptions } from './index.js';
|
|
2
|
-
import type { Metric, StopTimer, CalculateMetric } from '@libp2p/interface
|
|
2
|
+
import type { Metric, StopTimer, CalculateMetric } from '@libp2p/interface';
|
|
3
3
|
export declare class PrometheusMetric implements Metric {
|
|
4
4
|
private readonly gauge;
|
|
5
5
|
private readonly calculators;
|
package/dist/src/metric.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metric.d.ts","sourceRoot":"","sources":["../../src/metric.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,YAAY,CAAA;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"metric.d.ts","sourceRoot":"","sources":["../../src/metric.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,YAAY,CAAA;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAE3E,qBAAa,gBAAiB,YAAW,MAAM;IAC7C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAO;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmB;gBAElC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iCAAiC;IA6BlE,aAAa,CAAE,UAAU,EAAE,eAAe,GAAG,IAAI;IAIjD,MAAM,CAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAI5B,SAAS,CAAE,KAAK,GAAE,MAAU,GAAG,IAAI;IAInC,SAAS,CAAE,KAAK,GAAE,MAAU,GAAG,IAAI;IAInC,KAAK,IAAK,IAAI;IAId,KAAK,IAAK,SAAS;CAGpB"}
|
package/dist/src/metric.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metric.js","sourceRoot":"","sources":["../../src/metric.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAI5C,MAAM,OAAO,gBAAgB;IACV,KAAK,CAAO;IACZ,WAAW,CAAmB;IAE/C,YAAa,IAAY,EAAE,IAAuC;QAChE,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;QAC5B,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACtE,IAAI,OAAgD,CAAA;QACpD,IAAI,CAAC,WAAW,GAAG,EAAE,CAAA;QAErB,oBAAoB;QACpB,IAAI,IAAI,EAAE,SAAS,IAAI,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"metric.js","sourceRoot":"","sources":["../../src/metric.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAI5C,MAAM,OAAO,gBAAgB;IACV,KAAK,CAAO;IACZ,WAAW,CAAmB;IAE/C,YAAa,IAAY,EAAE,IAAuC;QAChE,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;QAC5B,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACtE,IAAI,OAAgD,CAAA;QACpD,IAAI,CAAC,WAAW,GAAG,EAAE,CAAA;QAErB,oBAAoB;QACpB,IAAI,IAAI,EAAE,SAAS,IAAI,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACrC,MAAM,IAAI,GAAG,IAAI,CAAA;YAEjB,OAAO,GAAG,KAAK;gBACb,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAC,SAAS,EAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;gBACtF,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC,CAAC,CAAA;gBAEvD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACf,CAAC,CAAA;QACH,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC;YACrB,IAAI;YACJ,IAAI;YACJ,UAAU,EAAE,MAAM;YAClB,SAAS,EAAE,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YACpE,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;IAED,aAAa,CAAE,UAA2B;QACxC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACnC,CAAC;IAED,MAAM,CAAE,KAAa;QACnB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACvB,CAAC;IAED,SAAS,CAAE,QAAgB,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACvB,CAAC;IAED,SAAS,CAAE,QAAgB,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACvB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAA;IAChC,CAAC;CACF"}
|
package/dist/src/utils.d.ts
CHANGED
package/dist/src/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAExD,MAAM,WAAW,gBAAgB,CAAE,CAAC,GAAG,MAAM;IAC3C,aAAa,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;CACpD;AAED,eAAO,MAAM,UAAU,OAAO,CAAA;AAC9B,eAAO,MAAM,UAAU,QAAkB,CAAA;AAEzC;;;GAGG;AACH,wBAAgB,eAAe,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAIpD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"PrometheusCalculatedMetricOptions": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_prometheus_metrics.PrometheusCalculatedMetricOptions.html",
|
|
3
|
+
".:PrometheusCalculatedMetricOptions": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_prometheus_metrics.PrometheusCalculatedMetricOptions.html",
|
|
4
|
+
"PrometheusMetricsComponents": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_prometheus_metrics.PrometheusMetricsComponents.html",
|
|
5
|
+
".:PrometheusMetricsComponents": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_prometheus_metrics.PrometheusMetricsComponents.html",
|
|
6
|
+
"PrometheusMetricsInit": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_prometheus_metrics.PrometheusMetricsInit.html",
|
|
7
|
+
".:PrometheusMetricsInit": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_prometheus_metrics.PrometheusMetricsInit.html",
|
|
8
|
+
"prometheusMetrics": "https://libp2p.github.io/js-libp2p/functions/_libp2p_prometheus_metrics.prometheusMetrics.html",
|
|
9
|
+
".:prometheusMetrics": "https://libp2p.github.io/js-libp2p/functions/_libp2p_prometheus_metrics.prometheusMetrics.html"
|
|
10
|
+
}
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/prometheus-metrics",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "Collect libp2p metrics for scraping by Prometheus or Graphana",
|
|
5
5
|
"author": "",
|
|
6
6
|
"license": "Apache-2.0 OR MIT",
|
|
7
|
-
"homepage": "https://github.com/libp2p/js-libp2p/tree/
|
|
7
|
+
"homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/metrics-prometheus#readme",
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|
|
10
10
|
"url": "git+https://github.com/libp2p/js-libp2p.git"
|
|
@@ -12,6 +12,10 @@
|
|
|
12
12
|
"bugs": {
|
|
13
13
|
"url": "https://github.com/libp2p/js-libp2p/issues"
|
|
14
14
|
},
|
|
15
|
+
"publishConfig": {
|
|
16
|
+
"access": "public",
|
|
17
|
+
"provenance": true
|
|
18
|
+
},
|
|
15
19
|
"type": "module",
|
|
16
20
|
"types": "./dist/src/index.d.ts",
|
|
17
21
|
"files": [
|
|
@@ -43,18 +47,19 @@
|
|
|
43
47
|
"test:electron-main": "aegir test -t electron-main --cov"
|
|
44
48
|
},
|
|
45
49
|
"dependencies": {
|
|
46
|
-
"@libp2p/interface": "0.
|
|
47
|
-
"@libp2p/logger": "3.1.0-effcfaa8e",
|
|
50
|
+
"@libp2p/interface": "^1.0.0",
|
|
48
51
|
"it-foreach": "^2.0.3",
|
|
49
52
|
"it-stream-types": "^2.0.1",
|
|
50
|
-
"prom-client": "^15.0.0"
|
|
53
|
+
"prom-client": "^15.0.0",
|
|
54
|
+
"uint8arraylist": "^2.4.3"
|
|
51
55
|
},
|
|
52
56
|
"devDependencies": {
|
|
53
|
-
"@libp2p/interface-compliance-tests": "
|
|
54
|
-
"@libp2p/
|
|
55
|
-
"@
|
|
57
|
+
"@libp2p/interface-compliance-tests": "^5.0.0",
|
|
58
|
+
"@libp2p/logger": "^4.0.0",
|
|
59
|
+
"@libp2p/peer-id-factory": "^3.0.9",
|
|
60
|
+
"@multiformats/multiaddr": "^12.1.10",
|
|
56
61
|
"aegir": "^41.0.2",
|
|
57
|
-
"it-drain": "^3.0.
|
|
62
|
+
"it-drain": "^3.0.3",
|
|
58
63
|
"it-pipe": "^3.0.1",
|
|
59
64
|
"p-defer": "^4.0.0"
|
|
60
65
|
}
|
package/src/counter-group.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Counter as PromCounter, type CollectFunction } from 'prom-client'
|
|
2
2
|
import { normaliseString, type CalculatedMetric } from './utils.js'
|
|
3
3
|
import type { PrometheusCalculatedMetricOptions } from './index.js'
|
|
4
|
-
import type { CounterGroup, CalculateMetric } from '@libp2p/interface
|
|
4
|
+
import type { CounterGroup, CalculateMetric } from '@libp2p/interface'
|
|
5
5
|
|
|
6
6
|
export class PrometheusCounterGroup implements CounterGroup, CalculatedMetric<Record<string, number>> {
|
|
7
7
|
private readonly counter: PromCounter
|
package/src/counter.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type CollectFunction, Counter as PromCounter } from 'prom-client'
|
|
2
2
|
import { normaliseString, type CalculatedMetric } from './utils.js'
|
|
3
3
|
import type { PrometheusCalculatedMetricOptions } from './index.js'
|
|
4
|
-
import type { CalculateMetric, Counter } from '@libp2p/interface
|
|
4
|
+
import type { CalculateMetric, Counter } from '@libp2p/interface'
|
|
5
5
|
|
|
6
6
|
export class PrometheusCounter implements Counter, CalculatedMetric {
|
|
7
7
|
private readonly counter: PromCounter
|
package/src/index.ts
CHANGED
|
@@ -155,18 +155,15 @@
|
|
|
155
155
|
* ```
|
|
156
156
|
*/
|
|
157
157
|
|
|
158
|
-
import { logger } from '@libp2p/logger'
|
|
159
158
|
import each from 'it-foreach'
|
|
160
159
|
import { collectDefaultMetrics, type DefaultMetricsCollectorConfiguration, register, type Registry, type RegistryContentType } from 'prom-client'
|
|
161
160
|
import { PrometheusCounterGroup } from './counter-group.js'
|
|
162
161
|
import { PrometheusCounter } from './counter.js'
|
|
163
162
|
import { PrometheusMetricGroup } from './metric-group.js'
|
|
164
163
|
import { PrometheusMetric } from './metric.js'
|
|
165
|
-
import type { MultiaddrConnection, Stream, Connection } from '@libp2p/interface
|
|
166
|
-
import type {
|
|
167
|
-
import type {
|
|
168
|
-
|
|
169
|
-
const log = logger('libp2p:prometheus-metrics')
|
|
164
|
+
import type { ComponentLogger, Logger, MultiaddrConnection, Stream, Connection, CalculatedMetricOptions, Counter, CounterGroup, Metric, MetricGroup, MetricOptions, Metrics } from '@libp2p/interface'
|
|
165
|
+
import type { Duplex } from 'it-stream-types'
|
|
166
|
+
import type { Uint8ArrayList } from 'uint8arraylist'
|
|
170
167
|
|
|
171
168
|
// prom-client metrics are global
|
|
172
169
|
const metrics = new Map<string, any>()
|
|
@@ -201,28 +198,34 @@ export interface PrometheusCalculatedMetricOptions<T=number> extends CalculatedM
|
|
|
201
198
|
registry?: Registry
|
|
202
199
|
}
|
|
203
200
|
|
|
201
|
+
export interface PrometheusMetricsComponents {
|
|
202
|
+
logger: ComponentLogger
|
|
203
|
+
}
|
|
204
|
+
|
|
204
205
|
class PrometheusMetrics implements Metrics {
|
|
206
|
+
private readonly log: Logger
|
|
205
207
|
private transferStats: Map<string, number>
|
|
206
208
|
private readonly registry?: Registry
|
|
207
209
|
|
|
208
|
-
constructor (init?: Partial<PrometheusMetricsInit>) {
|
|
210
|
+
constructor (components: PrometheusMetricsComponents, init?: Partial<PrometheusMetricsInit>) {
|
|
211
|
+
this.log = components.logger.forComponent('libp2p:prometheus-metrics')
|
|
209
212
|
this.registry = init?.registry
|
|
210
213
|
|
|
211
214
|
if (init?.preserveExistingMetrics !== true) {
|
|
212
|
-
log('Clearing existing metrics')
|
|
215
|
+
this.log('Clearing existing metrics')
|
|
213
216
|
metrics.clear()
|
|
214
217
|
;(this.registry ?? register).clear()
|
|
215
218
|
}
|
|
216
219
|
|
|
217
220
|
if (init?.collectDefaultMetrics !== false) {
|
|
218
|
-
log('Collecting default metrics')
|
|
221
|
+
this.log('Collecting default metrics')
|
|
219
222
|
collectDefaultMetrics({ ...init?.defaultMetrics, register: this.registry ?? init?.defaultMetrics?.register })
|
|
220
223
|
}
|
|
221
224
|
|
|
222
225
|
// holds global and per-protocol sent/received stats
|
|
223
226
|
this.transferStats = new Map()
|
|
224
227
|
|
|
225
|
-
log('Collecting data transfer metrics')
|
|
228
|
+
this.log('Collecting data transfer metrics')
|
|
226
229
|
this.registerCounterGroup('libp2p_data_transfer_bytes_total', {
|
|
227
230
|
label: 'protocol',
|
|
228
231
|
calculate: () => {
|
|
@@ -239,7 +242,7 @@ class PrometheusMetrics implements Metrics {
|
|
|
239
242
|
}
|
|
240
243
|
})
|
|
241
244
|
|
|
242
|
-
log('Collecting memory metrics')
|
|
245
|
+
this.log('Collecting memory metrics')
|
|
243
246
|
this.registerMetricGroup('nodejs_memory_usage_bytes', {
|
|
244
247
|
label: 'memory',
|
|
245
248
|
calculate: () => {
|
|
@@ -264,7 +267,7 @@ class PrometheusMetrics implements Metrics {
|
|
|
264
267
|
* Override the sink/source of the stream to count the bytes
|
|
265
268
|
* in and out
|
|
266
269
|
*/
|
|
267
|
-
_track (stream: Duplex<
|
|
270
|
+
_track (stream: Duplex<AsyncGenerator<Uint8Array | Uint8ArrayList>>, name: string): void {
|
|
268
271
|
const self = this
|
|
269
272
|
|
|
270
273
|
const sink = stream.sink
|
|
@@ -304,7 +307,7 @@ class PrometheusMetrics implements Metrics {
|
|
|
304
307
|
let metric = metrics.get(name)
|
|
305
308
|
|
|
306
309
|
if (metrics.has(name)) {
|
|
307
|
-
log('Reuse existing metric', name)
|
|
310
|
+
this.log('Reuse existing metric', name)
|
|
308
311
|
|
|
309
312
|
if (opts.calculate != null) {
|
|
310
313
|
metric.addCalculator(opts.calculate)
|
|
@@ -313,7 +316,7 @@ class PrometheusMetrics implements Metrics {
|
|
|
313
316
|
return metrics.get(name)
|
|
314
317
|
}
|
|
315
318
|
|
|
316
|
-
log('Register metric', name)
|
|
319
|
+
this.log('Register metric', name)
|
|
317
320
|
metric = new PrometheusMetric(name, { registry: this.registry, ...opts })
|
|
318
321
|
|
|
319
322
|
metrics.set(name, metric)
|
|
@@ -333,7 +336,7 @@ class PrometheusMetrics implements Metrics {
|
|
|
333
336
|
let metricGroup = metrics.get(name)
|
|
334
337
|
|
|
335
338
|
if (metricGroup != null) {
|
|
336
|
-
log('Reuse existing metric group', name)
|
|
339
|
+
this.log('Reuse existing metric group', name)
|
|
337
340
|
|
|
338
341
|
if (opts.calculate != null) {
|
|
339
342
|
metricGroup.addCalculator(opts.calculate)
|
|
@@ -342,7 +345,7 @@ class PrometheusMetrics implements Metrics {
|
|
|
342
345
|
return metricGroup
|
|
343
346
|
}
|
|
344
347
|
|
|
345
|
-
log('Register metric group', name)
|
|
348
|
+
this.log('Register metric group', name)
|
|
346
349
|
metricGroup = new PrometheusMetricGroup(name, { registry: this.registry, ...opts })
|
|
347
350
|
|
|
348
351
|
metrics.set(name, metricGroup)
|
|
@@ -362,7 +365,7 @@ class PrometheusMetrics implements Metrics {
|
|
|
362
365
|
let counter = metrics.get(name)
|
|
363
366
|
|
|
364
367
|
if (counter != null) {
|
|
365
|
-
log('Reuse existing counter', name)
|
|
368
|
+
this.log('Reuse existing counter', name)
|
|
366
369
|
|
|
367
370
|
if (opts.calculate != null) {
|
|
368
371
|
counter.addCalculator(opts.calculate)
|
|
@@ -371,7 +374,7 @@ class PrometheusMetrics implements Metrics {
|
|
|
371
374
|
return metrics.get(name)
|
|
372
375
|
}
|
|
373
376
|
|
|
374
|
-
log('Register counter', name)
|
|
377
|
+
this.log('Register counter', name)
|
|
375
378
|
counter = new PrometheusCounter(name, { registry: this.registry, ...opts })
|
|
376
379
|
|
|
377
380
|
metrics.set(name, counter)
|
|
@@ -391,7 +394,7 @@ class PrometheusMetrics implements Metrics {
|
|
|
391
394
|
let counterGroup = metrics.get(name)
|
|
392
395
|
|
|
393
396
|
if (counterGroup != null) {
|
|
394
|
-
log('Reuse existing counter group', name)
|
|
397
|
+
this.log('Reuse existing counter group', name)
|
|
395
398
|
|
|
396
399
|
if (opts.calculate != null) {
|
|
397
400
|
counterGroup.addCalculator(opts.calculate)
|
|
@@ -400,7 +403,7 @@ class PrometheusMetrics implements Metrics {
|
|
|
400
403
|
return counterGroup
|
|
401
404
|
}
|
|
402
405
|
|
|
403
|
-
log('Register counter group', name)
|
|
406
|
+
this.log('Register counter group', name)
|
|
404
407
|
counterGroup = new PrometheusCounterGroup(name, { registry: this.registry, ...opts })
|
|
405
408
|
|
|
406
409
|
metrics.set(name, counterGroup)
|
|
@@ -411,8 +414,8 @@ class PrometheusMetrics implements Metrics {
|
|
|
411
414
|
}
|
|
412
415
|
}
|
|
413
416
|
|
|
414
|
-
export function prometheusMetrics (init?: Partial<PrometheusMetricsInit>): () => Metrics {
|
|
415
|
-
return () => {
|
|
416
|
-
return new PrometheusMetrics(init)
|
|
417
|
+
export function prometheusMetrics (init?: Partial<PrometheusMetricsInit>): (components: PrometheusMetricsComponents) => Metrics {
|
|
418
|
+
return (components) => {
|
|
419
|
+
return new PrometheusMetrics(components, init)
|
|
417
420
|
}
|
|
418
421
|
}
|
package/src/metric-group.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type CollectFunction, Gauge } from 'prom-client'
|
|
2
2
|
import { normaliseString, type CalculatedMetric } from './utils.js'
|
|
3
3
|
import type { PrometheusCalculatedMetricOptions } from './index.js'
|
|
4
|
-
import type { CalculateMetric, MetricGroup, StopTimer } from '@libp2p/interface
|
|
4
|
+
import type { CalculateMetric, MetricGroup, StopTimer } from '@libp2p/interface'
|
|
5
5
|
|
|
6
6
|
export class PrometheusMetricGroup implements MetricGroup, CalculatedMetric<Record<string, number>> {
|
|
7
7
|
private readonly gauge: Gauge
|
package/src/metric.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type CollectFunction, Gauge } from 'prom-client'
|
|
2
2
|
import { normaliseString } from './utils.js'
|
|
3
3
|
import type { PrometheusCalculatedMetricOptions } from './index.js'
|
|
4
|
-
import type { Metric, StopTimer, CalculateMetric } from '@libp2p/interface
|
|
4
|
+
import type { Metric, StopTimer, CalculateMetric } from '@libp2p/interface'
|
|
5
5
|
|
|
6
6
|
export class PrometheusMetric implements Metric {
|
|
7
7
|
private readonly gauge: Gauge
|
package/src/utils.ts
CHANGED