summaryrefslogtreecommitdiff
path: root/doc/api/report.md
diff options
context:
space:
mode:
authorChristopher Hiller <boneskull@boneskull.com>2019-07-10 13:27:44 -0700
committerChristopher Hiller <boneskull@boneskull.com>2019-07-12 14:48:09 -0700
commitbff7a46f31f1da259071a1f4bd51aca726d5926e (patch)
tree16b62a84d9cc3ad1b5893bbb1d7039df066557ea /doc/api/report.md
parent28e18cfff0d491e14889935a64395cbbb5b666a6 (diff)
downloadandroid-node-v8-bff7a46f31f1da259071a1f4bd51aca726d5926e.tar.gz
android-node-v8-bff7a46f31f1da259071a1f4bd51aca726d5926e.tar.bz2
android-node-v8-bff7a46f31f1da259071a1f4bd51aca726d5926e.zip
report: modify getReport() to return an Object
It's likely that anyone using `process.report.getReport()` will be processing the return value thereafter (e.g., filtering fields or redacting secrets). This change eliminates boilerplate by calling `JSON.parse()` on the return value. Also modified the `validateContent()` and `validate()` test helpers in `test/common/report.js` to be somewhat more obvious and helpful. Of note, a report failing validation will now be easier (though still not _easy_) to read when prepended to the stack trace. - Refs: https://github.com/nodejs/diagnostics/issues/315 PR-URL: https://github.com/nodejs/node/pull/28630 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Rich Trott <rtrott@gmail.com>
Diffstat (limited to 'doc/api/report.md')
-rw-r--r--doc/api/report.md11
1 files changed, 7 insertions, 4 deletions
diff --git a/doc/api/report.md b/doc/api/report.md
index 268caf6416..08a0f602ab 100644
--- a/doc/api/report.md
+++ b/doc/api/report.md
@@ -463,12 +463,15 @@ try {
// Any other code
```
-The content of the diagnostic report can be returned as a JSON-compatible object
+The content of the diagnostic report can be returned as a JavaScript Object
via an API call from a JavaScript application:
```js
const report = process.report.getReport();
-console.log(report);
+console.log(typeof report === 'object'); // true
+
+// Similar to process.report.writeReport() output
+console.log(JSON.stringify(report, null, 2));
```
This function takes an optional additional argument `err` - an `Error` object
@@ -476,7 +479,7 @@ that will be used as the context for the JavaScript stack printed in the report.
```js
const report = process.report.getReport(new Error('custom error'));
-console.log(report);
+console.log(typeof report === 'object'); // true
```
The API versions are useful when inspecting the runtime state from within
@@ -498,7 +501,7 @@ Node.js report completed
>
```
-When a report is triggered, start and end messages are issued to stderr
+When a report is written, start and end messages are issued to stderr
and the filename of the report is returned to the caller. The default filename
includes the date, time, PID and a sequence number. The sequence number helps
in associating the report dump with the runtime state if generated multiple