Skip to content

Commit

Permalink
report: use uv_gettimeofday for dumpEventTimeStamp
Browse files Browse the repository at this point in the history
dumpEventTimeStamp was not implemented on Windows, and did not
include any error checking. This commit adds Windows support
and error checking.

PR-URL: #27029
Reviewed-By: Refael Ackermann <[email protected]>
  • Loading branch information
cjihrig committed Apr 22, 2019
1 parent 90cf2d5 commit af35d40
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 13 deletions.
11 changes: 7 additions & 4 deletions src/node_report.cc
Original file line number Diff line number Diff line change
Expand Up @@ -209,11 +209,14 @@ static void WriteNodeReport(Isolate* isolate,
tm_struct.tm_min,
tm_struct.tm_sec);
writer.json_keyvalue("dumpEventTime", timebuf);
struct timeval ts;
gettimeofday(&ts, nullptr);
writer.json_keyvalue("dumpEventTimeStamp",
std::to_string(ts.tv_sec * 1000 + ts.tv_usec / 1000));
#endif

uv_timeval64_t ts;
if (uv_gettimeofday(&ts) == 0) {
writer.json_keyvalue("dumpEventTimeStamp",
std::to_string(ts.tv_sec * 1000 + ts.tv_usec / 1000));
}

// Report native process ID
writer.json_keyvalue("processId", pid);

Expand Down
5 changes: 1 addition & 4 deletions src/node_report.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,7 @@
#include "uv.h"
#include "v8.h"

#ifdef _WIN32
#include <time.h>
#else
#include <sys/time.h>
#ifndef _WIN32
#include <sys/types.h>
#include <unistd.h>
#endif
Expand Down
6 changes: 1 addition & 5 deletions test/common/report.js
Original file line number Diff line number Diff line change
Expand Up @@ -70,11 +70,7 @@ function _validateContent(data) {
assert(typeof header.filename === 'string' || header.filename === null);
assert.notStrictEqual(new Date(header.dumpEventTime).toString(),
'Invalid Date');
if (isWindows)
assert.strictEqual(header.dumpEventTimeStamp, undefined);
else
assert(String(+header.dumpEventTimeStamp), header.dumpEventTimeStamp);

assert(String(+header.dumpEventTimeStamp), header.dumpEventTimeStamp);
assert(Number.isSafeInteger(header.processId));
assert.strictEqual(typeof header.cwd, 'string');
assert(Array.isArray(header.commandLine));
Expand Down

0 comments on commit af35d40

Please sign in to comment.