]> git.lizzy.rs Git - rust.git/commitdiff
Capture memory usage metrics
authorJonas Schievink <jonasschievink@gmail.com>
Fri, 11 Dec 2020 16:30:32 +0000 (17:30 +0100)
committerJonas Schievink <jonasschievink@gmail.com>
Fri, 11 Dec 2020 16:30:32 +0000 (17:30 +0100)
xtask/src/metrics.rs

index e0d1aaf97ded10d4fa71ffaaf6df44a614627660..42ab09eebea494e875c607be2846c818025c9a10 100644 (file)
@@ -3,6 +3,7 @@
     env,
     io::Write as _,
     path::Path,
+    process::{Command, Stdio},
     time::{Instant, SystemTime, UNIX_EPOCH},
 };
 
@@ -81,7 +82,11 @@ fn measure_analysis_stats(&mut self, bench: &str) -> Result<()> {
     }
     fn measure_analysis_stats_path(&mut self, name: &str, path: &str) -> Result<()> {
         eprintln!("\nMeasuring analysis-stats/{}", name);
-        let output = cmd!("./target/release/rust-analyzer analysis-stats --quiet {path}").read()?;
+        let output = Command::new("./target/release/rust-analyzer")
+            .args(&["analysis-stats", "--quiet", "--memory-usage", path])
+            .stdout(Stdio::inherit())
+            .output()?;
+        let output = String::from_utf8(output.stdout)?;
         for (metric, value, unit) in parse_metrics(&output) {
             self.report(&format!("analysis-stats/{}/{}", name, metric), value, unit.into());
         }