Skip to content

Commit

Permalink
report: add report versioning
Browse files Browse the repository at this point in the history
This commit adds a version to the diagnostic report feature.

PR-URL: #28121
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Gireesh Punathil <[email protected]>
  • Loading branch information
cjihrig authored and targos committed Jul 2, 2019
1 parent db65594 commit c4a357d
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 2 deletions.
1 change: 1 addition & 0 deletions doc/api/report.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ is provided below for reference.
```json
{
"header": {
"reportVersion": 1,
"event": "exception",
"trigger": "Exception",
"filename": "report.20181221.005011.8974.0.001.json",
Expand Down
3 changes: 2 additions & 1 deletion src/node_report.cc
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
extern char** environ;
#endif

constexpr int NODE_REPORT_VERSION = 1;
constexpr int NANOS_PER_SEC = 1000 * 1000 * 1000;
constexpr double SEC_PER_MICROS = 1e-6;

Expand Down Expand Up @@ -172,7 +173,7 @@ static void WriteNodeReport(Isolate* isolate,
JSONWriter writer(out);
writer.json_start();
writer.json_objectstart("header");

writer.json_keyvalue("reportVersion", NODE_REPORT_VERSION);
writer.json_keyvalue("event", message);
writer.json_keyvalue("trigger", trigger);
if (!filename.empty())
Expand Down
4 changes: 3 additions & 1 deletion test/common/report.js
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,10 @@ function _validateContent(data) {
'nodejsVersion', 'wordSize', 'arch', 'platform',
'componentVersions', 'release', 'osName', 'osRelease',
'osVersion', 'osMachine', 'cpus', 'host',
'glibcVersionRuntime', 'glibcVersionCompiler', 'cwd'];
'glibcVersionRuntime', 'glibcVersionCompiler', 'cwd',
'reportVersion'];
checkForUnknownFields(header, headerFields);
assert.strictEqual(header.reportVersion, 1); // Increment as needed.
assert.strictEqual(typeof header.event, 'string');
assert.strictEqual(typeof header.trigger, 'string');
assert(typeof header.filename === 'string' || header.filename === null);
Expand Down

0 comments on commit c4a357d

Please sign in to comment.