52 lines
1.6 KiB
JavaScript
Executable File
52 lines
1.6 KiB
JavaScript
Executable File
'use strict';
|
|
|
|
const { isObject } = require('./util');
|
|
|
|
// Default metrics.
|
|
const processCpuTotal = require('./metrics/processCpuTotal');
|
|
const processStartTime = require('./metrics/processStartTime');
|
|
const osMemoryHeap = require('./metrics/osMemoryHeap');
|
|
const processOpenFileDescriptors = require('./metrics/processOpenFileDescriptors');
|
|
const processMaxFileDescriptors = require('./metrics/processMaxFileDescriptors');
|
|
const eventLoopLag = require('./metrics/eventLoopLag');
|
|
const processHandles = require('./metrics/processHandles');
|
|
const processRequests = require('./metrics/processRequests');
|
|
const processResources = require('./metrics/processResources');
|
|
const heapSizeAndUsed = require('./metrics/heapSizeAndUsed');
|
|
const heapSpacesSizeAndUsed = require('./metrics/heapSpacesSizeAndUsed');
|
|
const version = require('./metrics/version');
|
|
const gc = require('./metrics/gc');
|
|
|
|
const metrics = {
|
|
processCpuTotal,
|
|
processStartTime,
|
|
osMemoryHeap,
|
|
processOpenFileDescriptors,
|
|
processMaxFileDescriptors,
|
|
eventLoopLag,
|
|
...(typeof process.getActiveResourcesInfo === 'function'
|
|
? { processResources }
|
|
: {}),
|
|
processHandles,
|
|
processRequests,
|
|
heapSizeAndUsed,
|
|
heapSpacesSizeAndUsed,
|
|
version,
|
|
gc,
|
|
};
|
|
const metricsList = Object.keys(metrics);
|
|
|
|
module.exports = function collectDefaultMetrics(config) {
|
|
if (config !== null && config !== undefined && !isObject(config)) {
|
|
throw new TypeError('config must be null, undefined, or an object');
|
|
}
|
|
|
|
config = { eventLoopMonitoringPrecision: 10, ...config };
|
|
|
|
for (const metric of Object.values(metrics)) {
|
|
metric(config.register, config);
|
|
}
|
|
};
|
|
|
|
module.exports.metricsList = metricsList;
|