@@ -61,8 +61,10 @@ static void WriteNodeReport(Isolate* isolate,
61
61
const std::string& filename,
62
62
std::ostream& out,
63
63
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 );
66
68
static void PrintJavaScriptErrorStack (JSONWriter* writer,
67
69
Isolate* isolate,
68
70
Local<Value> error,
@@ -93,7 +95,8 @@ static void WriteNodeReport(Isolate* isolate,
93
95
const std::string& filename,
94
96
std::ostream& out,
95
97
Local<Value> error,
96
- bool compact) {
98
+ bool compact,
99
+ bool exclude_network) {
97
100
// Obtain the current time and the pid.
98
101
TIME_TYPE tm_struct;
99
102
DiagnosticFilename::LocalTime (&tm_struct);
@@ -174,7 +177,7 @@ static void WriteNodeReport(Isolate* isolate,
174
177
}
175
178
176
179
// Report Node.js and OS version information
177
- PrintVersionInformation (&writer);
180
+ PrintVersionInformation (&writer, exclude_network );
178
181
writer.json_objectend ();
179
182
180
183
if (isolate != nullptr ) {
@@ -256,7 +259,7 @@ static void WriteNodeReport(Isolate* isolate,
256
259
}
257
260
258
261
// Report Node.js version, OS version and machine information.
259
- static void PrintVersionInformation (JSONWriter* writer) {
262
+ static void PrintVersionInformation (JSONWriter* writer, bool exclude_network ) {
260
263
std::ostringstream buf;
261
264
// Report Node version
262
265
buf << " v" << NODE_VERSION_STRING;
@@ -300,7 +303,7 @@ static void PrintVersionInformation(JSONWriter* writer) {
300
303
}
301
304
302
305
PrintCpuInfo (writer);
303
- PrintNetworkInterfaceInfo (writer);
306
+ if (!exclude_network) PrintNetworkInterfaceInfo (writer);
304
307
305
308
char host[UV_MAXHOSTNAMESIZE];
306
309
size_t host_size = sizeof (host);
@@ -917,8 +920,19 @@ std::string TriggerNodeReport(Isolate* isolate,
917
920
compact = per_process::cli_options->report_compact ;
918
921
}
919
922
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);
922
936
923
937
// Do not close stdout/stderr, only close files we opened.
924
938
if (outfile.is_open ()) {
@@ -969,8 +983,11 @@ void GetNodeReport(Isolate* isolate,
969
983
if (isolate != nullptr ) {
970
984
env = Environment::GetCurrent (isolate);
971
985
}
986
+ bool exclude_network = env != nullptr ? env->options ()->report_exclude_network
987
+ : per_process::cli_options->per_isolate
988
+ ->per_env ->report_exclude_network ;
972
989
report::WriteNodeReport (
973
- isolate, env, message, trigger, " " , out, error, false );
990
+ isolate, env, message, trigger, " " , out, error, false , exclude_network );
974
991
}
975
992
976
993
// External function to trigger a report, writing to a supplied stream.
@@ -983,8 +1000,11 @@ void GetNodeReport(Environment* env,
983
1000
if (env != nullptr ) {
984
1001
isolate = env->isolate ();
985
1002
}
1003
+ bool exclude_network = env != nullptr ? env->options ()->report_exclude_network
1004
+ : per_process::cli_options->per_isolate
1005
+ ->per_env ->report_exclude_network ;
986
1006
report::WriteNodeReport (
987
- isolate, env, message, trigger, " " , out, error, false );
1007
+ isolate, env, message, trigger, " " , out, error, false , exclude_network );
988
1008
}
989
1009
990
1010
} // namespace node
0 commit comments