Stability: 2 - Stable

    Delivers a JSON-formatted diagnostic summary, written to a file.

    The report is intended for development, test and production use, to capture and preserve information for problem determination. It includes JavaScript and native stack traces, heap statistics, platform information, resource usage etc. With the report option enabled, diagnostic reports can be triggered on unhandled exceptions, fatal errors and user signals, in addition to triggering programmatically through API calls.

    A complete example report that was generated on an uncaught exception is provided below for reference.

    1. {
    2. "header": {
    3. "reportVersion": 1,
    4. "event": "exception",
    5. "trigger": "Exception",
    6. "filename": "report.20181221.005011.8974.0.001.json",
    7. "dumpEventTime": "2018-12-21T00:50:11Z",
    8. "dumpEventTimeStamp": "1545371411331",
    9. "processId": 8974,
    10. "cwd": "/home/nodeuser/project/node",
    11. "commandLine": [
    12. "/home/nodeuser/project/node/out/Release/node",
    13. "--report-uncaught-exception",
    14. "/home/nodeuser/project/node/test/report/test-exception.js",
    15. "child"
    16. ],
    17. "nodejsVersion": "v12.0.0-pre",
    18. "glibcVersionRuntime": "2.17",
    19. "glibcVersionCompiler": "2.17",
    20. "wordSize": "64 bit",
    21. "arch": "x64",
    22. "platform": "linux",
    23. "componentVersions": {
    24. "node": "12.0.0-pre",
    25. "v8": "7.1.302.28-node.5",
    26. "uv": "1.24.1",
    27. "zlib": "1.2.11",
    28. "ares": "1.15.0",
    29. "modules": "68",
    30. "nghttp2": "1.34.0",
    31. "napi": "3",
    32. "llhttp": "1.0.1",
    33. "openssl": "1.1.0j"
    34. },
    35. "release": {
    36. "name": "node"
    37. },
    38. "osName": "Linux",
    39. "osRelease": "3.10.0-862.el7.x86_64",
    40. "osVersion": "#1 SMP Wed Mar 21 18:14:51 EDT 2018",
    41. "osMachine": "x86_64",
    42. "cpus": [
    43. {
    44. "model": "Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz",
    45. "speed": 2700,
    46. "user": 88902660,
    47. "nice": 0,
    48. "sys": 50902570,
    49. "idle": 241732220,
    50. "irq": 0
    51. },
    52. {
    53. "model": "Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz",
    54. "speed": 2700,
    55. "user": 88902660,
    56. "nice": 0,
    57. "sys": 50902570,
    58. "idle": 241732220,
    59. "irq": 0
    60. }
    61. ],
    62. "networkInterfaces": [
    63. {
    64. "name": "en0",
    65. "internal": false,
    66. "mac": "13:10:de:ad:be:ef",
    67. "address": "10.0.0.37",
    68. "netmask": "255.255.255.0",
    69. "family": "IPv4"
    70. }
    71. ],
    72. "host": "test_machine"
    73. },
    74. "javascriptStack": {
    75. "message": "Error: *** test-exception.js: throwing uncaught Error",
    76. "stack": [
    77. "at myException (/home/nodeuser/project/node/test/report/test-exception.js:9:11)",
    78. "at Object.<anonymous> (/home/nodeuser/project/node/test/report/test-exception.js:12:3)",
    79. "at Module._compile (internal/modules/cjs/loader.js:718:30)",
    80. "at Object.Module._extensions..js (internal/modules/cjs/loader.js:729:10)",
    81. "at Module.load (internal/modules/cjs/loader.js:617:32)",
    82. "at tryModuleLoad (internal/modules/cjs/loader.js:560:12)",
    83. "at Function.Module._load (internal/modules/cjs/loader.js:552:3)",
    84. "at Function.Module.runMain (internal/modules/cjs/loader.js:771:12)",
    85. "at executeUserCode (internal/bootstrap/node.js:332:15)"
    86. ]
    87. },
    88. "nativeStack": [
    89. {
    90. "pc": "0x000055b57f07a9ef",
    91. "symbol": "report::GetNodeReport(v8::Isolate*, node::Environment*, char const*, char const*, v8::Local<v8::String>, std::ostream&) [./node]"
    92. },
    93. {
    94. "pc": "0x000055b57f07cf03",
    95. "symbol": "report::GetReport(v8::FunctionCallbackInfo<v8::Value> const&) [./node]"
    96. },
    97. {
    98. "pc": "0x000055b57f1bccfd",
    99. "symbol": " [./node]"
    100. },
    101. {
    102. "pc": "0x000055b57f1be048",
    103. "symbol": "v8::internal::Builtin_HandleApiCall(int, v8::internal::Object**, v8::internal::Isolate*) [./node]"
    104. },
    105. {
    106. "pc": "0x000055b57feeda0e",
    107. "symbol": " [./node]"
    108. }
    109. ],
    110. "javascriptHeap": {
    111. "totalMemory": 6127616,
    112. "totalCommittedMemory": 4357352,
    113. "usedMemory": 3221136,
    114. "availableMemory": 1521370240,
    115. "memoryLimit": 1526909922,
    116. "heapSpaces": {
    117. "read_only_space": {
    118. "memorySize": 524288,
    119. "committedMemory": 39208,
    120. "capacity": 515584,
    121. "used": 30504,
    122. "available": 485080
    123. },
    124. "new_space": {
    125. "memorySize": 2097152,
    126. "committedMemory": 2019312,
    127. "capacity": 1031168,
    128. "used": 985496,
    129. "available": 45672
    130. },
    131. "old_space": {
    132. "memorySize": 2273280,
    133. "committedMemory": 1769008,
    134. "capacity": 1974640,
    135. "used": 1725488,
    136. "available": 249152
    137. },
    138. "code_space": {
    139. "memorySize": 696320,
    140. "committedMemory": 184896,
    141. "capacity": 152128,
    142. "used": 152128,
    143. "available": 0
    144. },
    145. "map_space": {
    146. "memorySize": 536576,
    147. "committedMemory": 344928,
    148. "capacity": 327520,
    149. "used": 327520,
    150. "available": 0
    151. },
    152. "large_object_space": {
    153. "memorySize": 0,
    154. "committedMemory": 0,
    155. "capacity": 1520590336,
    156. "used": 0,
    157. "available": 1520590336
    158. },
    159. "new_large_object_space": {
    160. "memorySize": 0,
    161. "committedMemory": 0,
    162. "capacity": 0,
    163. "used": 0,
    164. "available": 0
    165. }
    166. }
    167. },
    168. "resourceUsage": {
    169. "userCpuSeconds": 0.069595,
    170. "kernelCpuSeconds": 0.019163,
    171. "cpuConsumptionPercent": 0.000000,
    172. "maxRss": 18079744,
    173. "pageFaults": {
    174. "IORequired": 0,
    175. "IONotRequired": 4610
    176. },
    177. "fsActivity": {
    178. "reads": 0,
    179. "writes": 0
    180. }
    181. },
    182. "uvthreadResourceUsage": {
    183. "userCpuSeconds": 0.068457,
    184. "kernelCpuSeconds": 0.019127,
    185. "cpuConsumptionPercent": 0.000000,
    186. "fsActivity": {
    187. "reads": 0,
    188. "writes": 0
    189. }
    190. },
    191. "libuv": [
    192. {
    193. "type": "async",
    194. "is_active": true,
    195. "is_referenced": false,
    196. "address": "0x0000000102910900",
    197. "details": ""
    198. },
    199. {
    200. "type": "timer",
    201. "is_active": false,
    202. "is_referenced": false,
    203. "address": "0x00007fff5fbfeab0",
    204. "repeat": 0,
    205. "firesInMsFromNow": 94403548320796,
    206. "expired": true
    207. },
    208. {
    209. "type": "check",
    210. "is_active": true,
    211. "is_referenced": false,
    212. "address": "0x00007fff5fbfeb48"
    213. },
    214. {
    215. "type": "idle",
    216. "is_active": false,
    217. "is_referenced": true,
    218. "address": "0x00007fff5fbfebc0"
    219. },
    220. {
    221. "type": "prepare",
    222. "is_active": false,
    223. "is_referenced": false,
    224. "address": "0x00007fff5fbfec38"
    225. },
    226. {
    227. "type": "check",
    228. "is_active": false,
    229. "is_referenced": false,
    230. "address": "0x00007fff5fbfecb0"
    231. },
    232. {
    233. "type": "async",
    234. "is_active": true,
    235. "is_referenced": false,
    236. "address": "0x000000010188f2e0"
    237. },
    238. {
    239. "type": "tty",
    240. "is_active": false,
    241. "is_referenced": true,
    242. "address": "0x000055b581db0e18",
    243. "width": 204,
    244. "height": 55,
    245. "fd": 17,
    246. "writeQueueSize": 0,
    247. "readable": true,
    248. "writable": true
    249. },
    250. {
    251. "type": "signal",
    252. "is_active": true,
    253. "is_referenced": false,
    254. "address": "0x000055b581d80010",
    255. "signum": 28,
    256. "signal": "SIGWINCH"
    257. },
    258. {
    259. "type": "tty",
    260. "is_active": true,
    261. "is_referenced": true,
    262. "address": "0x000055b581df59f8",
    263. "width": 204,
    264. "height": 55,
    265. "fd": 19,
    266. "writeQueueSize": 0,
    267. "readable": true,
    268. "writable": true
    269. },
    270. {
    271. "type": "loop",
    272. "is_active": true,
    273. "address": "0x000055fc7b2cb180"
    274. }
    275. ],
    276. "workers": [],
    277. "environmentVariables": {
    278. "REMOTEHOST": "REMOVED",
    279. "MANPATH": "/opt/rh/devtoolset-3/root/usr/share/man:",
    280. "XDG_SESSION_ID": "66126",
    281. "HOSTNAME": "test_machine",
    282. "HOST": "test_machine",
    283. "TERM": "xterm-256color",
    284. "SHELL": "/bin/csh",
    285. "SSH_CLIENT": "REMOVED",
    286. "PERL5LIB": "/opt/rh/devtoolset-3/root//usr/lib64/perl5/vendor_perl:/opt/rh/devtoolset-3/root/usr/lib/perl5:/opt/rh/devtoolset-3/root//usr/share/perl5/vendor_perl",
    287. "OLDPWD": "/home/nodeuser/project/node/src",
    288. "JAVACONFDIRS": "/opt/rh/devtoolset-3/root/etc/java:/etc/java",
    289. "SSH_TTY": "/dev/pts/0",
    290. "PCP_DIR": "/opt/rh/devtoolset-3/root",
    291. "GROUP": "normaluser",
    292. "USER": "nodeuser",
    293. "LD_LIBRARY_PATH": "/opt/rh/devtoolset-3/root/usr/lib64:/opt/rh/devtoolset-3/root/usr/lib",
    294. "HOSTTYPE": "x86_64-linux",
    295. "XDG_CONFIG_DIRS": "/opt/rh/devtoolset-3/root/etc/xdg:/etc/xdg",
    296. "MAIL": "/var/spool/mail/nodeuser",
    297. "PATH": "/home/nodeuser/project/node:/opt/rh/devtoolset-3/root/usr/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin",
    298. "PWD": "/home/nodeuser/project/node",
    299. "LANG": "en_US.UTF-8",
    300. "PS1": "\\u@\\h : \\[\\e[31m\\]\\w\\[\\e[m\\] > ",
    301. "SHLVL": "2",
    302. "HOME": "/home/nodeuser",
    303. "OSTYPE": "linux",
    304. "VENDOR": "unknown",
    305. "PYTHONPATH": "/opt/rh/devtoolset-3/root/usr/lib64/python2.7/site-packages:/opt/rh/devtoolset-3/root/usr/lib/python2.7/site-packages",
    306. "MACHTYPE": "x86_64",
    307. "LOGNAME": "nodeuser",
    308. "XDG_DATA_DIRS": "/opt/rh/devtoolset-3/root/usr/share:/usr/local/share:/usr/share",
    309. "LESSOPEN": "||/usr/bin/lesspipe.sh %s",
    310. "INFOPATH": "/opt/rh/devtoolset-3/root/usr/share/info",
    311. "XDG_RUNTIME_DIR": "/run/user/50141",
    312. "_": "./node"
    313. },
    314. "userLimits": {
    315. "core_file_size_blocks": {
    316. "soft": "",
    317. "hard": "unlimited"
    318. },
    319. "data_seg_size_kbytes": {
    320. "soft": "unlimited",
    321. "hard": "unlimited"
    322. },
    323. "file_size_blocks": {
    324. "soft": "unlimited",
    325. "hard": "unlimited"
    326. },
    327. "max_locked_memory_bytes": {
    328. "soft": "unlimited",
    329. "hard": 65536
    330. },
    331. "max_memory_size_kbytes": {
    332. "soft": "unlimited",
    333. "hard": "unlimited"
    334. },
    335. "open_files": {
    336. "soft": "unlimited",
    337. "hard": 4096
    338. },
    339. "stack_size_bytes": {
    340. "soft": "unlimited",
    341. "hard": "unlimited"
    342. },
    343. "cpu_time_seconds": {
    344. "soft": "unlimited",
    345. "hard": "unlimited"
    346. },
    347. "max_user_processes": {
    348. "soft": "unlimited",
    349. "hard": 4127290
    350. },
    351. "virtual_memory_kbytes": {
    352. "soft": "unlimited",
    353. "hard": "unlimited"
    354. }
    355. },
    356. "sharedObjects": [
    357. "/lib64/libdl.so.2",
    358. "/lib64/librt.so.1",
    359. "/lib64/libstdc++.so.6",
    360. "/lib64/libm.so.6",
    361. "/lib64/libgcc_s.so.1",
    362. "/lib64/libpthread.so.0",
    363. "/lib64/libc.so.6",
    364. "/lib64/ld-linux-x86-64.so.2"
    365. ]
    366. }