Skip to main content
Version: 5.0.0

Metrics in Detail

N|Solid makes available a rich set of metrics covering the Node.js process's host system, the process itself, the internal behavior of Node.js, and the internal behavior of the V8 JavaScript engine. Combining these data points can give you sophisticated insight into your Node.js deployment.

Many of the key metrics are displayed directly on the N|Solid Console. To make numeric metrics available to your StatsD collector directly from the N|Solid Process, configure using the NSOLID_STATSD environment variable (see the StatsD section for more detail). For the full set of metrics, use the nsolid-cli utility.

Process Information

PropertyDescription
appThe user-specified application name as set in package.json or the NSOLID_APP environment variable.
appVersionThe user-specified application version as set in package.json.
execPathThe absolute path of the N|Solid executable running the application.
idThe unique N|Solid agent ID. Unique per N|Solid process.
mainThe absolute path to the root module in the process's module tree.
nodeEnvThe user-specified NODE_ENV environment variable.
pidThe system process ID for the process.
processStartThe time at which the process started, in seconds.
tagsThe user-specified tags as set by the NSOLID_TAGS environment variable.
vulnsThe number of known vulnerabilities found in the modules of the process.

System Information

Note: The host system may be actual hardware, a virtual machine, or a container.

PropertyDescription
archThe host system's CPU architecture.
cpuCoresThe host system's number of CPU cores.
cpuModelThe host system's CPU model.
hostnameThe host system's name.
platformThe host system's operating system platform.
totalMemThe host system's total available memory.

System Data

PropertyDescription
cpuSpeedThe current speed of the host system's CPU (averaged across all cores), in MHz.
freeMemThe host system's amount of free (unused) memory, in bytes.
load1mThe host system's one-minute load average.
load5mThe host system's five-minute load average.
load15mThe host system's fifteen-minute load average.
systemUptimeThe host system's uptime, in seconds.

General Process Stats

PropertyDescription
blockInputOpCountThe total number of block input operations on the process.
blockOutputOpCountThe total number of block output operations on the process.
cpuSystemPercentThe percent CPU used by the process in system calls.
cpuUserPercentThe percent CPU used by the process in user code.
ctxSwitchInvoluntaryCountThe number of involuntary context switches away from the process.
ctxSwitchVoluntaryCountThe number of voluntary context switches away from the process.
cpuPercentThe percent CPU used by the process.
externalMemThe process's memory allocated by Node.js outside of V8's heap, in bytes. This may exceed RSS if large Buffers are soft-allocated by V8.
ipcReceivedCountThe number of IPC messages received by the process.
ipcSentCountThe number of IPC messages sent by the process.
pageFaultHardCountThe number of hard page faults triggered by the process.
pageFaultSoftCountThe number of soft page faults (page reclaims) triggered by the process.
rssThe resident set size (total memory) used by the process, in bytes.
signalCountThe number of signals received by the process.
swapCountThe number of times the process has been swapped out of memory.
titleThe current system title of the process.
uptimeThe process's uptime, in seconds.
userThe system's user the process is running from.

JavaScript Memory Stats

Note: The memory in "heap" is a subset of the resident set size.

PropertyDescription
totalAvailableSizeThe remaining amount of memory the heap can allocate on the process before hitting the maximum heap size, in bytes.
totalHeapSizeExecutableThe total amount of executable memory allocated in the process's heap, in bytes.
totalPhysicalSizeThe amount of physical memory currently committed for the heap of the process, in bytes.
heapSizeLimitThe maximum amount of memory reserved for the heap by the process, as allocated by the host system, in bytes. V8 will terminate with allocation failures if memory is used beyond this.
heapTotalThe process's total allocated JavaScript heap size, in bytes.
heapUsedThe process's total used JavaScript heap size, in bytes.

Node.js Event Loop Stats

Note: To learn more about event loop utilization visit The Event loop utilization blogpost.

PropertyDescription
loopAvgTasksThe process's average number of async JavaScript entries per event loop cycle.
loopEstimatedLagThe estimated amount of time a I/O response may have to wait in the process, in milliseconds.
loopIdlePercentThe percent time that the process is waiting (idle) for I/O or timers.
loopsPerSecondThe amount of event loop cycles completed in the process, within the last second.
loopTotalCountThe cumulative count of all event loop cycles in the process.

JavaScript Garbage Collection Stats

PropertyDescription
gcCountThe total number of garbage collections done by the process.
gcCpuPercentThe percent CPU used during garbage collection by the process.
gcDurUs99PtileThe process's 99th percentile duration of garbage collections, in microseconds.
gcDurUsMedianThe process's median duration of garbage collections, in microseconds.
gcForcedCountThe process's number of externally forced garbage collections.
gcFullCountThe number of garbage collections run by the process which collected all available garbage. Usually only observed when the heapTotal is approaching heapSizeLimit.
gcMajorCountThe number of significant garbage collections done by the process. An example of a "significant" garbage collection is a "Mark-Sweep".

HTTP and DNS Stats

PropertyDescription
dnsCountThe process's total number of DNS lookups performed.
dnsMedianThe process's median duration of DNS lookups performed, in milliseconds.
httpClientAbortCountThe process's total number of outgoing HTTP(S) client requests canceled due to inactivity.
httpClientCountThe process's total number of outgoing HTTP(S) client requests performed.
httpClientMedianThe process's median duration of outgoing HTTP(S) client requests completed, in milliseconds.
httpClient99PtileThe process's 99th percentile duration of outgoing HTTP(s) client requests completed, in milliseconds.
httpServerAbortCountThe process's total number of served incoming HTTP(S) requests canceled.
httpServerCountThe process's total number of incoming HTTP(s) requests served.
httpServerMedianThe process's median duration of served incoming HTTP(S) requests completed, in milliseconds.
httpServer99PtileThe process's 99th percentile duration of served incoming HTTP(S) requests completed, in milliseconds..

Metrics Metadata

PropertyDescription
timeThe ISO8601 timestamp representing when a given metrics window completed.