diff options
Diffstat (limited to 'src/node_report.cc')
-rw-r--r-- | src/node_report.cc | 33 |
1 files changed, 27 insertions, 6 deletions
diff --git a/src/node_report.cc b/src/node_report.cc index 381a40e786..08d3642e7a 100644 --- a/src/node_report.cc +++ b/src/node_report.cc @@ -86,6 +86,7 @@ static void PrintGCStatistics(JSONWriter* writer, Isolate* isolate); static void PrintSystemInformation(JSONWriter* writer); static void PrintLoadedLibraries(JSONWriter* writer); static void PrintComponentVersions(JSONWriter* writer); +static void PrintRelease(JSONWriter* writer); static void LocalTime(TIME_TYPE* tm_struct); // Global variables @@ -341,10 +342,15 @@ static void PrintVersionInformation(JSONWriter* writer) { // Report Process word size writer->json_keyvalue("wordSize", sizeof(void*) * 8); + writer->json_keyvalue("arch", node::per_process::metadata.arch); + writer->json_keyvalue("platform", node::per_process::metadata.platform); // Report deps component versions PrintComponentVersions(writer); + // Report release metadata. + PrintRelease(writer); + // Report operating system and machine information (Windows) #ifdef _WIN32 { @@ -724,12 +730,27 @@ static void PrintComponentVersions(JSONWriter* writer) { NODE_VERSIONS_KEYS(V) #undef V - // Some extra information that is not present in node_metadata. - writer->json_keyvalue("arch", NODE_ARCH); - writer->json_keyvalue("platform", NODE_PLATFORM); - writer->json_keyvalue("release", NODE_RELEASE); - if (NODE_VERSION_IS_LTS != 0) - writer->json_keyvalue("lts", NODE_VERSION_LTS_CODENAME); + writer->json_objectend(); +} + +// Report runtime release information. +static void PrintRelease(JSONWriter* writer) { + writer->json_objectstart("release"); + writer->json_keyvalue("name", node::per_process::metadata.release.name); +#if NODE_VERSION_IS_LTS + writer->json_keyvalue("lts", node::per_process::metadata.release.lts); +#endif + +#ifdef NODE_HAS_RELEASE_URLS + writer->json_keyvalue("headersUrl", + node::per_process::metadata.release.headers_url); + writer->json_keyvalue("sourceUrl", + node::per_process::metadata.release.source_url); +#ifdef _WIN32 + writer->json_keyvalue("libUrl", node::per_process::metadata.release.lib_url); +#endif // _WIN32 +#endif // NODE_HAS_RELEASE_URLS + writer->json_objectend(); } |