@@ -61,8 +61,10 @@ static void WriteNodeReport(Isolate* isolate,
6161 const std::string& filename,
6262 std::ostream& out,
6363 Local<Value> error,
64- bool compact);
65- static void PrintVersionInformation (JSONWriter* writer);
64+ bool compact,
65+ bool exclude_network = false );
66+ static void PrintVersionInformation (JSONWriter* writer,
67+ bool exclude_network = false );
6668static void PrintJavaScriptErrorStack (JSONWriter* writer,
6769 Isolate* isolate,
6870 Local<Value> error,
@@ -93,7 +95,8 @@ static void WriteNodeReport(Isolate* isolate,
9395 const std::string& filename,
9496 std::ostream& out,
9597 Local<Value> error,
96- bool compact) {
98+ bool compact,
99+ bool exclude_network) {
97100 // Obtain the current time and the pid.
98101 TIME_TYPE tm_struct;
99102 DiagnosticFilename::LocalTime (&tm_struct);
@@ -174,7 +177,7 @@ static void WriteNodeReport(Isolate* isolate,
174177 }
175178
176179 // Report Node.js and OS version information
177- PrintVersionInformation (&writer);
180+ PrintVersionInformation (&writer, exclude_network );
178181 writer.json_objectend ();
179182
180183 if (isolate != nullptr ) {
@@ -256,7 +259,7 @@ static void WriteNodeReport(Isolate* isolate,
256259}
257260
258261// Report Node.js version, OS version and machine information.
259- static void PrintVersionInformation (JSONWriter* writer) {
262+ static void PrintVersionInformation (JSONWriter* writer, bool exclude_network ) {
260263 std::ostringstream buf;
261264 // Report Node version
262265 buf << " v" << NODE_VERSION_STRING;
@@ -300,7 +303,7 @@ static void PrintVersionInformation(JSONWriter* writer) {
300303 }
301304
302305 PrintCpuInfo (writer);
303- PrintNetworkInterfaceInfo (writer);
306+ if (!exclude_network) PrintNetworkInterfaceInfo (writer);
304307
305308 char host[UV_MAXHOSTNAMESIZE];
306309 size_t host_size = sizeof (host);
@@ -917,8 +920,19 @@ std::string TriggerNodeReport(Isolate* isolate,
917920 compact = per_process::cli_options->report_compact ;
918921 }
919922
920- report::WriteNodeReport (
921- isolate, env, message, trigger, filename, *outstream, error, compact);
923+ bool exclude_network = env != nullptr ? env->options ()->report_exclude_network
924+ : per_process::cli_options->per_isolate
925+ ->per_env ->report_exclude_network ;
926+
927+ report::WriteNodeReport (isolate,
928+ env,
929+ message,
930+ trigger,
931+ filename,
932+ *outstream,
933+ error,
934+ compact,
935+ exclude_network);
922936
923937 // Do not close stdout/stderr, only close files we opened.
924938 if (outfile.is_open ()) {
@@ -969,8 +983,11 @@ void GetNodeReport(Isolate* isolate,
969983 if (isolate != nullptr ) {
970984 env = Environment::GetCurrent (isolate);
971985 }
986+ bool exclude_network = env != nullptr ? env->options ()->report_exclude_network
987+ : per_process::cli_options->per_isolate
988+ ->per_env ->report_exclude_network ;
972989 report::WriteNodeReport (
973- isolate, env, message, trigger, " " , out, error, false );
990+ isolate, env, message, trigger, " " , out, error, false , exclude_network );
974991}
975992
976993// External function to trigger a report, writing to a supplied stream.
@@ -983,8 +1000,11 @@ void GetNodeReport(Environment* env,
9831000 if (env != nullptr ) {
9841001 isolate = env->isolate ();
9851002 }
1003+ bool exclude_network = env != nullptr ? env->options ()->report_exclude_network
1004+ : per_process::cli_options->per_isolate
1005+ ->per_env ->report_exclude_network ;
9861006 report::WriteNodeReport (
987- isolate, env, message, trigger, " " , out, error, false );
1007+ isolate, env, message, trigger, " " , out, error, false , exclude_network );
9881008}
9891009
9901010} // namespace node
0 commit comments