report: separate release metadata · nodejs/node@1007416 · GitHub
Skip to content

Commit 1007416

Browse files
richardlauaddaleax
authored andcommitted
report: separate release metadata
Report release metadata separately from `componentVersions`. Test `componentVersions` and `release` values in the report. PR-URL: #25826 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
1 parent 704a440 commit 1007416

3 files changed

Lines changed: 36 additions & 10 deletions

File tree

doc/api/report.md

Lines changed: 6 additions & 4 deletions

src/node_report.cc

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ static void PrintGCStatistics(JSONWriter* writer, Isolate* isolate);
8686
static void PrintSystemInformation(JSONWriter* writer);
8787
static void PrintLoadedLibraries(JSONWriter* writer);
8888
static void PrintComponentVersions(JSONWriter* writer);
89+
static void PrintRelease(JSONWriter* writer);
8990
static 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

test/common/report.js

Lines changed: 3 additions & 0 deletions

0 commit comments

Comments
 (0)