诊断报告


\Diagnostic report

稳定性: 2 - 稳定的

\Stability: 2 - Stable

提供 JSON 格式的诊断摘要,写入文件。

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

该报告旨在供开发、测试和生产使用,以捕获和保存信息以用于问题确定。它包括 JavaScript 和原生堆栈跟踪、堆统计信息、平台信息、资源使用情况等。启用报告选项后,除了通过 API 调用以编程方式触发之外,还可以针对未处理的异常、致命错误和用户信号触发诊断报告。

\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.

{
 "header": {
 "reportVersion": 3,
 "event": "exception",
 "trigger": "Exception",
 "filename": "report.20181221.005011.89740001.json",
 "dumpEventTime": "2018-12-21T00:50:11Z",
 "dumpEventTimeStamp": "1545371411331",
 "processId": 8974,
 "cwd": "/home/nodeuser/project/node",
 "commandLine": [
 "/home/nodeuser/project/node/out/Release/node",
 "--report-uncaught-exception",
 "/home/nodeuser/project/node/test/report/test-exception.js",
 "child"
 ],
 "nodejsVersion": "v12.0.0-pre",
 "glibcVersionRuntime": "2.17",
 "glibcVersionCompiler": "2.17",
 "wordSize": "64 bit",
 "arch": "x64",
 "platform": "linux",
 "componentVersions": {
 "node": "12.0.0-pre",
 "v8": "7.1.302.28-node.5",
 "uv": "1.24.1",
 "zlib": "1.2.11",
 "ares": "1.15.0",
 "modules": "68",
 "nghttp2": "1.34.0",
 "napi": "3",
 "llhttp": "1.0.1",
 "openssl": "1.1.0j"
 },
 "release": {
 "name": "node"
 },
 "osName": "Linux",
 "osRelease": "3.10.0-862.el7.x86_64",
 "osVersion": "#1 SMP Wed Mar 21 18:14:51 EDT 2018",
 "osMachine": "x86_64",
 "cpus": [
 {
 "model": "Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz",
 "speed": 2700,
 "user": 88902660,
 "nice": 0,
 "sys": 50902570,
 "idle": 241732220,
 "irq": 0
 },
 {
 "model": "Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz",
 "speed": 2700,
 "user": 88902660,
 "nice": 0,
 "sys": 50902570,
 "idle": 241732220,
 "irq": 0
 }
 ],
 "networkInterfaces": [
 {
 "name": "en0",
 "internal": false,
 "mac": "13:10:de:ad:be:ef",
 "address": "10.0.0.37",
 "netmask": "255.255.255.0",
 "family": "IPv4"
 }
 ],
 "host": "test_machine"
 },
 "javascriptStack": {
 "message": "Error: *** test-exception.js: throwing uncaught Error",
 "stack": [
 "at myException (/home/nodeuser/project/node/test/report/test-exception.js:9:11)",
 "at Object.<anonymous> (/home/nodeuser/project/node/test/report/test-exception.js:12:3)",
 "at Module._compile (internal/modules/cjs/loader.js:718:30)",
 "at Object.Module._extensions..js (internal/modules/cjs/loader.js:729:10)",
 "at Module.load (internal/modules/cjs/loader.js:617:32)",
 "at tryModuleLoad (internal/modules/cjs/loader.js:560:12)",
 "at Function.Module._load (internal/modules/cjs/loader.js:552:3)",
 "at Function.Module.runMain (internal/modules/cjs/loader.js:771:12)",
 "at executeUserCode (internal/bootstrap/node.js:332:15)"
 ]
 },
 "nativeStack": [
 {
 "pc": "0x000055b57f07a9ef",
 "symbol": "report::GetNodeReport(v8::Isolate*, node::Environment*, char const*, char const*, v8::Local<v8::String>, std::ostream&) [./node]"
 },
 {
 "pc": "0x000055b57f07cf03",
 "symbol": "report::GetReport(v8::FunctionCallbackInfo<v8::Value> const&) [./node]"
 },
 {
 "pc": "0x000055b57f1bccfd",
 "symbol": " [./node]"
 },
 {
 "pc": "0x000055b57f1be048",
 "symbol": "v8::internal::Builtin_HandleApiCall(int, v8::internal::Object**, v8::internal::Isolate*) [./node]"
 },
 {
 "pc": "0x000055b57feeda0e",
 "symbol": " [./node]"
 }
 ],
 "javascriptHeap": {
 "totalMemory": 5660672,
 "executableMemory": 524288,
 "totalCommittedMemory": 5488640,
 "availableMemory": 4341379928,
 "totalGlobalHandlesMemory": 8192,
 "usedGlobalHandlesMemory": 3136,
 "usedMemory": 4816432,
 "memoryLimit": 4345298944,
 "mallocedMemory": 254128,
 "externalMemory": 315644,
 "peakMallocedMemory": 98752,
 "nativeContextCount": 1,
 "detachedContextCount": 0,
 "doesZapGarbage": 0,
 "heapSpaces": {
 "read_only_space": {
 "memorySize": 524288,
 "committedMemory": 39208,
 "capacity": 515584,
 "used": 30504,
 "available": 485080
 },
 "new_space": {
 "memorySize": 2097152,
 "committedMemory": 2019312,
 "capacity": 1031168,
 "used": 985496,
 "available": 45672
 },
 "old_space": {
 "memorySize": 2273280,
 "committedMemory": 1769008,
 "capacity": 1974640,
 "used": 1725488,
 "available": 249152
 },
 "code_space": {
 "memorySize": 696320,
 "committedMemory": 184896,
 "capacity": 152128,
 "used": 152128,
 "available": 0
 },
 "map_space": {
 "memorySize": 536576,
 "committedMemory": 344928,
 "capacity": 327520,
 "used": 327520,
 "available": 0
 },
 "large_object_space": {
 "memorySize": 0,
 "committedMemory": 0,
 "capacity": 1520590336,
 "used": 0,
 "available": 1520590336
 },
 "new_large_object_space": {
 "memorySize": 0,
 "committedMemory": 0,
 "capacity": 0,
 "used": 0,
 "available": 0
 }
 }
 },
 "resourceUsage": {
 "rss": "35766272",
 "free_memory": "1598337024",
 "total_memory": "17179869184",
 "available_memory": "1598337024",
 "maxRss": "36624662528",
 "constrained_memory": "36624662528",
 "userCpuSeconds": 0.040072,
 "kernelCpuSeconds": 0.016029,
 "cpuConsumptionPercent": 5.6101,
 "userCpuConsumptionPercent": 4.0072,
 "kernelCpuConsumptionPercent": 1.6029,
 "pageFaults": {
 "IORequired": 0,
 "IONotRequired": 4610
 },
 "fsActivity": {
 "reads": 0,
 "writes": 0
 }
 },
 "uvthreadResourceUsage": {
 "userCpuSeconds": 0.039843,
 "kernelCpuSeconds": 0.015937,
 "cpuConsumptionPercent": 5.578,
 "userCpuConsumptionPercent": 3.9843,
 "kernelCpuConsumptionPercent": 1.5937,
 "fsActivity": {
 "reads": 0,
 "writes": 0
 }
 },
 "libuv": [
 {
 "type": "async",
 "is_active": true,
 "is_referenced": false,
 "address": "0x0000000102910900",
 "details": ""
 },
 {
 "type": "timer",
 "is_active": false,
 "is_referenced": false,
 "address": "0x00007fff5fbfeab0",
 "repeat": 0,
 "firesInMsFromNow": 94403548320796,
 "expired": true
 },
 {
 "type": "check",
 "is_active": true,
 "is_referenced": false,
 "address": "0x00007fff5fbfeb48"
 },
 {
 "type": "idle",
 "is_active": false,
 "is_referenced": true,
 "address": "0x00007fff5fbfebc0"
 },
 {
 "type": "prepare",
 "is_active": false,
 "is_referenced": false,
 "address": "0x00007fff5fbfec38"
 },
 {
 "type": "check",
 "is_active": false,
 "is_referenced": false,
 "address": "0x00007fff5fbfecb0"
 },
 {
 "type": "async",
 "is_active": true,
 "is_referenced": false,
 "address": "0x000000010188f2e0"
 },
 {
 "type": "tty",
 "is_active": false,
 "is_referenced": true,
 "address": "0x000055b581db0e18",
 "width": 204,
 "height": 55,
 "fd": 17,
 "writeQueueSize": 0,
 "readable": true,
 "writable": true
 },
 {
 "type": "signal",
 "is_active": true,
 "is_referenced": false,
 "address": "0x000055b581d80010",
 "signum": 28,
 "signal": "SIGWINCH"
 },
 {
 "type": "tty",
 "is_active": true,
 "is_referenced": true,
 "address": "0x000055b581df59f8",
 "width": 204,
 "height": 55,
 "fd": 19,
 "writeQueueSize": 0,
 "readable": true,
 "writable": true
 },
 {
 "type": "loop",
 "is_active": true,
 "address": "0x000055fc7b2cb180",
 "loopIdleTimeSeconds": 22644.8
 }
 ],
 "workers": [],
 "environmentVariables": {
 "REMOTEHOST": "REMOVED",
 "MANPATH": "/opt/rh/devtoolset-3/root/usr/share/man:",
 "XDG_SESSION_ID": "66126",
 "HOSTNAME": "test_machine",
 "HOST": "test_machine",
 "TERM": "xterm-256color",
 "SHELL": "/bin/csh",
 "SSH_CLIENT": "REMOVED",
 "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",
 "OLDPWD": "/home/nodeuser/project/node/src",
 "JAVACONFDIRS": "/opt/rh/devtoolset-3/root/etc/java:/etc/java",
 "SSH_TTY": "/dev/pts/0",
 "PCP_DIR": "/opt/rh/devtoolset-3/root",
 "GROUP": "normaluser",
 "USER": "nodeuser",
 "LD_LIBRARY_PATH": "/opt/rh/devtoolset-3/root/usr/lib64:/opt/rh/devtoolset-3/root/usr/lib",
 "HOSTTYPE": "x86_64-linux",
 "XDG_CONFIG_DIRS": "/opt/rh/devtoolset-3/root/etc/xdg:/etc/xdg",
 "MAIL": "/var/spool/mail/nodeuser",
 "PATH": "/home/nodeuser/project/node:/opt/rh/devtoolset-3/root/usr/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin",
 "PWD": "/home/nodeuser/project/node",
 "LANG": "en_US.UTF-8",
 "PS1": "\\u@\\h : \\[\\e[31m\\]\\w\\[\\e[m\\] > ",
 "SHLVL": "2",
 "HOME": "/home/nodeuser",
 "OSTYPE": "linux",
 "VENDOR": "unknown",
 "PYTHONPATH": "/opt/rh/devtoolset-3/root/usr/lib64/python2.7/site-packages:/opt/rh/devtoolset-3/root/usr/lib/python2.7/site-packages",
 "MACHTYPE": "x86_64",
 "LOGNAME": "nodeuser",
 "XDG_DATA_DIRS": "/opt/rh/devtoolset-3/root/usr/share:/usr/local/share:/usr/share",
 "LESSOPEN": "||/usr/bin/lesspipe.sh %s",
 "INFOPATH": "/opt/rh/devtoolset-3/root/usr/share/info",
 "XDG_RUNTIME_DIR": "/run/user/50141",
 "_": "./node"
 },
 "userLimits": {
 "core_file_size_blocks": {
 "soft": "",
 "hard": "unlimited"
 },
 "data_seg_size_kbytes": {
 "soft": "unlimited",
 "hard": "unlimited"
 },
 "file_size_blocks": {
 "soft": "unlimited",
 "hard": "unlimited"
 },
 "max_locked_memory_bytes": {
 "soft": "unlimited",
 "hard": 65536
 },
 "max_memory_size_kbytes": {
 "soft": "unlimited",
 "hard": "unlimited"
 },
 "open_files": {
 "soft": "unlimited",
 "hard": 4096
 },
 "stack_size_bytes": {
 "soft": "unlimited",
 "hard": "unlimited"
 },
 "cpu_time_seconds": {
 "soft": "unlimited",
 "hard": "unlimited"
 },
 "max_user_processes": {
 "soft": "unlimited",
 "hard": 4127290
 },
 "virtual_memory_kbytes": {
 "soft": "unlimited",
 "hard": "unlimited"
 }
 },
 "sharedObjects": [
 "/lib64/libdl.so.2",
 "/lib64/librt.so.1",
 "/lib64/libstdc++.so.6",
 "/lib64/libm.so.6",
 "/lib64/libgcc_s.so.1",
 "/lib64/libpthread.so.0",
 "/lib64/libc.so.6",
 "/lib64/ld-linux-x86-64.so.2"
 ]
} 

AltStyle によって変換されたページ (->オリジナル) /