@@ -86,6 +86,7 @@ static void PrintGCStatistics(JSONWriter* writer, Isolate* isolate);
8686static void PrintSystemInformation (JSONWriter* writer);
8787static void PrintLoadedLibraries (JSONWriter* writer);
8888static void PrintComponentVersions (JSONWriter* writer);
89+ static void PrintRelease (JSONWriter* writer);
8990static void LocalTime (TIME_TYPE* tm_struct);
9091
9192// Global variables
@@ -341,10 +342,15 @@ static void PrintVersionInformation(JSONWriter* writer) {
341342
342343 // Report Process word size
343344 writer->json_keyvalue (" wordSize" , sizeof (void *) * 8 );
345+ writer->json_keyvalue (" arch" , node::per_process::metadata.arch );
346+ writer->json_keyvalue (" platform" , node::per_process::metadata.platform );
344347
345348 // Report deps component versions
346349 PrintComponentVersions (writer);
347350
351+ // Report release metadata.
352+ PrintRelease (writer);
353+
348354 // Report operating system and machine information (Windows)
349355#ifdef _WIN32
350356 {
@@ -724,12 +730,27 @@ static void PrintComponentVersions(JSONWriter* writer) {
724730 NODE_VERSIONS_KEYS (V)
725731#undef V
726732
727- // Some extra information that is not present in node_metadata.
728- writer->json_keyvalue (" arch" , NODE_ARCH);
729- writer->json_keyvalue (" platform" , NODE_PLATFORM);
730- writer->json_keyvalue (" release" , NODE_RELEASE);
731- if (NODE_VERSION_IS_LTS != 0 )
732- writer->json_keyvalue (" lts" , NODE_VERSION_LTS_CODENAME);
733+ writer->json_objectend ();
734+ }
735+
736+ // Report runtime release information.
737+ static void PrintRelease (JSONWriter* writer) {
738+ writer->json_objectstart (" release" );
739+ writer->json_keyvalue (" name" , node::per_process::metadata.release .name );
740+ #if NODE_VERSION_IS_LTS
741+ writer->json_keyvalue (" lts" , node::per_process::metadata.release .lts );
742+ #endif
743+
744+ #ifdef NODE_HAS_RELEASE_URLS
745+ writer->json_keyvalue (" headersUrl" ,
746+ node::per_process::metadata.release .headers_url );
747+ writer->json_keyvalue (" sourceUrl" ,
748+ node::per_process::metadata.release .source_url );
749+ #ifdef _WIN32
750+ writer->json_keyvalue (" libUrl" , node::per_process::metadata.release .lib_url );
751+ #endif // _WIN32
752+ #endif // NODE_HAS_RELEASE_URLS
753+
733754 writer->json_objectend ();
734755}
735756
0 commit comments