mirror of
https://github.com/zebrajr/node.git
synced 2026-01-15 12:15:26 +00:00
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: https://github.com/nodejs/node/pull/27029 Reviewed-By: Refael Ackermann <refack@gmail.com>
This commit is contained in:
@@ -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));
|
||||
|
||||
Reference in New Issue
Block a user