@lodestar/beacon-node
Version:
A Typescript implementation of the beacon chain
29 lines • 1.16 kB
JavaScript
import { getMetrics } from "@lodestar/state-transition";
import { createBeaconMetrics } from "./metrics/beacon.js";
import { createLodestarMetrics } from "./metrics/lodestar.js";
import { collectNodeJSMetrics } from "./nodeJsMetrics.js";
import { RegistryMetricCreator } from "./utils/registryMetricCreator.js";
export function createMetrics(opts, genesisTime, externalRegistries = []) {
const register = new RegistryMetricCreator();
const beacon = createBeaconMetrics(register);
const lodestar = createLodestarMetrics(register, opts.metadata, genesisTime);
const stateTransition = getMetrics(register);
process.on("unhandledRejection", (_error) => {
lodestar.unhandledPromiseRejections.inc();
});
const close = collectNodeJSMetrics(register);
// Merge external registries
for (const externalRegister of externalRegistries) {
for (const metric of externalRegister.getMetricsAsArray()) {
register.registerMetric(metric);
}
}
return {
...beacon,
...lodestar,
...stateTransition,
register,
close,
};
}
//# sourceMappingURL=metrics.js.map