diff --git a/packages/ipfs-http-server/src/api/routes/debug.js b/packages/ipfs-http-server/src/api/routes/debug.js index 1ed38a0abe..9c71514cd7 100644 --- a/packages/ipfs-http-server/src/api/routes/debug.js +++ b/packages/ipfs-http-server/src/api/routes/debug.js @@ -8,7 +8,13 @@ import { disable, enable } from '@libp2p/logger' client.register.clear() /** @type {Record>} */ -const gauges = {} +const gauges = { + nodejs_memory_usage: new client.Gauge({ + name: 'nodejs_memory_usage', + help: 'nodejs_memory_usage', + labelNames: Object.keys(process.memoryUsage()) + }) +} // Endpoint for handling debug metrics export default [{ @@ -23,6 +29,10 @@ export default [{ throw Boom.notImplemented('Monitoring is disabled. Enable it by setting environment variable IPFS_MONITORING') } + Object.entries(process.memoryUsage()).forEach(([key, value]) => { + gauges.nodejs_memory_usage.set({ [key]: key }, value) + }) + const { ipfs } = request.server.app // @ts-expect-error libp2p does not exist on ipfs const metrics = ipfs.libp2p.metrics