@lodestar/utils 1.14.0-dev.d52fb94cbf → 1.14.0-dev.ea49409f51
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/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/metrics.d.ts +57 -0
- package/lib/metrics.js +2 -0
- package/lib/metrics.js.map +1 -0
- package/package.json +4 -3
package/lib/index.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export * from "./format.js";
|
|
|
8
8
|
export * from "./logger.js";
|
|
9
9
|
export * from "./map.js";
|
|
10
10
|
export * from "./math.js";
|
|
11
|
+
export * from "./metrics.js";
|
|
11
12
|
export * from "./objects.js";
|
|
12
13
|
export { retry, type RetryOptions } from "./retry.js";
|
|
13
14
|
export * from "./notNullish.js";
|
package/lib/index.js
CHANGED
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAC,KAAK,EAAoB,MAAM,YAAY,CAAC;AACpD,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAwB,OAAO,EAAC,MAAM,YAAY,CAAC;AAC1D,cAAc,UAAU,CAAC;AACzB,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAC,KAAK,EAAoB,MAAM,YAAY,CAAC;AACpD,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAwB,OAAO,EAAC,MAAM,YAAY,CAAC;AAC1D,cAAc,UAAU,CAAC;AACzB,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC"}
|
package/lib/metrics.d.ts
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
export type NoLabels = Record<string, never>;
|
|
2
|
+
export type LabelsGeneric = Record<string, string | number>;
|
|
3
|
+
export type LabelKeys<Labels extends LabelsGeneric> = Extract<keyof Labels, string>;
|
|
4
|
+
export type CollectFn<Labels extends LabelsGeneric> = (metric: Gauge<Labels>) => void;
|
|
5
|
+
export interface Gauge<Labels extends LabelsGeneric = NoLabels> {
|
|
6
|
+
inc: NoLabels extends Labels ? (value?: number) => void : (labels: Labels, value?: number) => void;
|
|
7
|
+
dec: NoLabels extends Labels ? (value?: number) => void : (labels: Labels, value?: number) => void;
|
|
8
|
+
set: NoLabels extends Labels ? (value: number) => void : (labels: Labels, value: number) => void;
|
|
9
|
+
collect?(): void;
|
|
10
|
+
}
|
|
11
|
+
export interface GaugeExtra<Labels extends LabelsGeneric = NoLabels> extends Omit<Gauge<Labels>, "collect"> {
|
|
12
|
+
addCollect(collectFn: CollectFn<Labels>): void;
|
|
13
|
+
}
|
|
14
|
+
export interface Histogram<Labels extends LabelsGeneric = NoLabels> {
|
|
15
|
+
startTimer(): NoLabels extends Labels ? () => number : (labels: Labels) => number;
|
|
16
|
+
startTimer<L extends Partial<Labels>>(labels?: NoLabels extends Labels ? never : L): keyof Omit<Labels, keyof L> extends never ? () => number : (labels: Omit<Labels, keyof L>) => number;
|
|
17
|
+
observe: NoLabels extends Labels ? (value: number) => void : (labels: Labels, value: number) => void;
|
|
18
|
+
reset(): void;
|
|
19
|
+
}
|
|
20
|
+
export interface AvgMinMax<Labels extends LabelsGeneric = NoLabels> {
|
|
21
|
+
addGetValuesFn(getValuesFn: () => number[]): void;
|
|
22
|
+
set: NoLabels extends Labels ? (values: number[]) => void : (labels: Labels, values: number[]) => void;
|
|
23
|
+
}
|
|
24
|
+
export interface Counter<Labels extends LabelsGeneric = NoLabels> {
|
|
25
|
+
inc: NoLabels extends Labels ? (value?: number) => void : (labels: Labels, value?: number) => void;
|
|
26
|
+
}
|
|
27
|
+
export type GaugeConfig<Labels extends LabelsGeneric> = {
|
|
28
|
+
name: string;
|
|
29
|
+
help: string;
|
|
30
|
+
} & (NoLabels extends Labels ? {
|
|
31
|
+
labelNames?: never;
|
|
32
|
+
} : {
|
|
33
|
+
labelNames: [LabelKeys<Labels>, ...LabelKeys<Labels>[]];
|
|
34
|
+
});
|
|
35
|
+
export type HistogramConfig<Labels extends LabelsGeneric> = GaugeConfig<Labels> & {
|
|
36
|
+
buckets?: number[];
|
|
37
|
+
};
|
|
38
|
+
export type AvgMinMaxConfig<Labels extends LabelsGeneric> = GaugeConfig<Labels>;
|
|
39
|
+
export type CounterConfig<Labels extends LabelsGeneric> = GaugeConfig<Labels>;
|
|
40
|
+
export type StaticConfig<Labels extends LabelsGeneric> = {
|
|
41
|
+
name: GaugeConfig<Labels>["name"];
|
|
42
|
+
help: GaugeConfig<Labels>["help"];
|
|
43
|
+
value: Record<LabelKeys<Labels>, string>;
|
|
44
|
+
};
|
|
45
|
+
export interface MetricsRegister {
|
|
46
|
+
gauge<Labels extends LabelsGeneric = NoLabels>(config: GaugeConfig<Labels>): Gauge<Labels>;
|
|
47
|
+
histogram<Labels extends LabelsGeneric = NoLabels>(config: HistogramConfig<Labels>): Histogram<Labels>;
|
|
48
|
+
counter<Labels extends LabelsGeneric = NoLabels>(config: CounterConfig<Labels>): Counter<Labels>;
|
|
49
|
+
}
|
|
50
|
+
export interface MetricsRegisterExtra extends MetricsRegister {
|
|
51
|
+
gauge<Labels extends LabelsGeneric = NoLabels>(config: GaugeConfig<Labels>): GaugeExtra<Labels>;
|
|
52
|
+
}
|
|
53
|
+
export interface MetricsRegisterCustom extends MetricsRegisterExtra {
|
|
54
|
+
avgMinMax<Labels extends LabelsGeneric = NoLabels>(config: AvgMinMaxConfig<Labels>): AvgMinMax<Labels>;
|
|
55
|
+
static<Labels extends LabelsGeneric = NoLabels>(config: StaticConfig<Labels>): void;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=metrics.d.ts.map
|
package/lib/metrics.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"bugs": {
|
|
12
12
|
"url": "https://github.com/ChainSafe/lodestar/issues"
|
|
13
13
|
},
|
|
14
|
-
"version": "1.14.0-dev.
|
|
14
|
+
"version": "1.14.0-dev.ea49409f51",
|
|
15
15
|
"type": "module",
|
|
16
16
|
"exports": "./lib/index.js",
|
|
17
17
|
"files": [
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"build:watch": "yarn run build --watch",
|
|
28
28
|
"build:release": "yarn clean && yarn build",
|
|
29
29
|
"check-build": "node -e \"(async function() { await import('./lib/index.js') })()\"",
|
|
30
|
-
"check-types": "tsc",
|
|
30
|
+
"check-types": "tsc && vitest --run --typecheck --dir test/types/",
|
|
31
31
|
"lint": "eslint --color --ext .ts src/ test/",
|
|
32
32
|
"lint:fix": "yarn run lint --fix",
|
|
33
33
|
"pretest": "yarn run check-types",
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"@types/js-yaml": "^4.0.5",
|
|
52
52
|
"@types/triple-beam": "^1.3.2",
|
|
53
|
+
"prom-client": "^15.1.0",
|
|
53
54
|
"triple-beam": "^1.3.0"
|
|
54
55
|
},
|
|
55
56
|
"keywords": [
|
|
@@ -58,5 +59,5 @@
|
|
|
58
59
|
"beacon",
|
|
59
60
|
"blockchain"
|
|
60
61
|
],
|
|
61
|
-
"gitHead": "
|
|
62
|
+
"gitHead": "b4a1ba3d37844de16f97c1905575d4a06c878a25"
|
|
62
63
|
}
|