Skip to content
Permalink
Browse files

report: use uv_gettimeofday for dumpEventTimeStamp

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 <refack@gmail.com>
  • Loading branch information...
cjihrig committed Mar 31, 2019
1 parent 90cf2d5 commit af35d4044fd32922ce784afa6da98520ffbbf872
Showing with 9 additions and 13 deletions.
  1. +7 −4 src/node_report.cc
  2. +1 −4 src/node_report.h
  3. +1 −5 test/common/report.js
@@ -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);

@@ -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
@@ -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));

0 comments on commit af35d40

Please sign in to comment.
You can’t perform that action at this time.