]> git.lizzy.rs Git - rust.git/commitdiff
Include additional data in the json output
authorWesley Wiser <wwiser@gmail.com>
Thu, 14 Jun 2018 02:08:41 +0000 (22:08 -0400)
committerWesley Wiser <wwiser@gmail.com>
Thu, 2 Aug 2018 22:57:24 +0000 (18:57 -0400)
src/librustc/session/mod.rs
src/librustc/util/profiling.rs

index 8bb9f0b92679cb28776d2e2257b633c43f17d7df..0ab482c89a125813b85150cf4a4eb810892f60df 100644 (file)
@@ -841,7 +841,7 @@ pub fn print_profiler_results(&self) {
 
     pub fn save_json_results(&self) {
         let profiler = self.self_profiling.borrow();
-        profiler.save_results();
+        profiler.save_results(&self.opts);
     }
 
     pub fn print_perf_stats(&self) {
index bbb7bd083b0a04d0b3ab3198e86ee57a7085d4cd..6bdc17a74ba46c3adaec8b2eaf8a118d6b744446 100644 (file)
@@ -269,8 +269,17 @@ pub fn print_results(&mut self, opts: &Options) {
         writeln!(lock, "Incremental: {}", incremental).unwrap();
     }
 
-    pub fn save_results(&self) {
-        fs::write("self_profiler_results.json", self.data.json()).unwrap();
+    pub fn save_results(&self, opts: &Options) {
+        let category_data = self.data.json();
+        let compilation_options = format!("{{ \"optimization_level\": \"{:?}\", \"incremental\": {} }}",
+                                    opts.optimize,
+                                    if opts.incremental.is_some() { "true" } else { "false" });
+
+        let json = format!("{{ \"category_data\": {}, \"compilation_options\": {} }}",
+                        category_data,
+                        compilation_options);
+
+        fs::write("self_profiler_results.json", json).unwrap();
     }
 
     pub fn record_activity<'a>(&'a mut self, category: ProfileCategory) -> ProfilerActivity<'a> {