@@ -86,6 +86,7 @@ static void PrintGCStatistics(JSONWriter* writer, Isolate* isolate);
86
86
static void PrintSystemInformation (JSONWriter* writer);
87
87
static void PrintLoadedLibraries (JSONWriter* writer);
88
88
static void PrintComponentVersions (JSONWriter* writer);
89
+ static void PrintRelease (JSONWriter* writer);
89
90
static void LocalTime (TIME_TYPE* tm_struct);
90
91
91
92
// Global variables
@@ -341,10 +342,15 @@ static void PrintVersionInformation(JSONWriter* writer) {
341
342
342
343
// Report Process word size
343
344
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 );
344
347
345
348
// Report deps component versions
346
349
PrintComponentVersions (writer);
347
350
351
+ // Report release metadata.
352
+ PrintRelease (writer);
353
+
348
354
// Report operating system and machine information (Windows)
349
355
#ifdef _WIN32
350
356
{
@@ -724,12 +730,27 @@ static void PrintComponentVersions(JSONWriter* writer) {
724
730
NODE_VERSIONS_KEYS (V)
725
731
#undef V
726
732
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
+
733
754
writer->json_objectend ();
734
755
}
735
756
0 commit comments