diff options
Diffstat (limited to 'xtask')
-rw-r--r-- | xtask/Cargo.toml | 2 | ||||
-rw-r--r-- | xtask/src/metrics.rs | 8 |
2 files changed, 7 insertions, 3 deletions
diff --git a/xtask/Cargo.toml b/xtask/Cargo.toml index e084f0df6..ad93fbe3b 100644 --- a/xtask/Cargo.toml +++ b/xtask/Cargo.toml | |||
@@ -11,7 +11,7 @@ anyhow = "1.0.26" | |||
11 | flate2 = "1.0" | 11 | flate2 = "1.0" |
12 | proc-macro2 = "1.0.8" | 12 | proc-macro2 = "1.0.8" |
13 | quote = "1.0.2" | 13 | quote = "1.0.2" |
14 | ungrammar = "=1.11" | 14 | ungrammar = "=1.12" |
15 | walkdir = "2.3.1" | 15 | walkdir = "2.3.1" |
16 | write-json = "0.1.0" | 16 | write-json = "0.1.0" |
17 | xshell = "0.1" | 17 | xshell = "0.1" |
diff --git a/xtask/src/metrics.rs b/xtask/src/metrics.rs index 3d8d7589b..97395738b 100644 --- a/xtask/src/metrics.rs +++ b/xtask/src/metrics.rs | |||
@@ -26,7 +26,8 @@ impl flags::Metrics { | |||
26 | } | 26 | } |
27 | { | 27 | { |
28 | let _d = pushd("./target/rustc-perf")?; | 28 | let _d = pushd("./target/rustc-perf")?; |
29 | cmd!("git reset --hard c52ee623e231e7690a93be88d943016968c1036b").run()?; | 29 | let revision = &metrics.perf_revision; |
30 | cmd!("git reset --hard {revision}").run()?; | ||
30 | } | 31 | } |
31 | 32 | ||
32 | let _env = pushenv("RA_METRICS", "1"); | 33 | let _env = pushenv("RA_METRICS", "1"); |
@@ -108,6 +109,7 @@ struct Metrics { | |||
108 | host: Host, | 109 | host: Host, |
109 | timestamp: SystemTime, | 110 | timestamp: SystemTime, |
110 | revision: String, | 111 | revision: String, |
112 | perf_revision: String, | ||
111 | metrics: BTreeMap<String, (u64, Unit)>, | 113 | metrics: BTreeMap<String, (u64, Unit)>, |
112 | } | 114 | } |
113 | 115 | ||
@@ -123,7 +125,8 @@ impl Metrics { | |||
123 | let host = Host::new()?; | 125 | let host = Host::new()?; |
124 | let timestamp = SystemTime::now(); | 126 | let timestamp = SystemTime::now(); |
125 | let revision = cmd!("git rev-parse HEAD").read()?; | 127 | let revision = cmd!("git rev-parse HEAD").read()?; |
126 | Ok(Metrics { host, timestamp, revision, metrics: BTreeMap::new() }) | 128 | let perf_revision = "c52ee623e231e7690a93be88d943016968c1036b".into(); |
129 | Ok(Metrics { host, timestamp, revision, perf_revision, metrics: BTreeMap::new() }) | ||
127 | } | 130 | } |
128 | 131 | ||
129 | fn report(&mut self, name: &str, value: u64, unit: Unit) { | 132 | fn report(&mut self, name: &str, value: u64, unit: Unit) { |
@@ -141,6 +144,7 @@ impl Metrics { | |||
141 | let timestamp = self.timestamp.duration_since(UNIX_EPOCH).unwrap(); | 144 | let timestamp = self.timestamp.duration_since(UNIX_EPOCH).unwrap(); |
142 | obj.number("timestamp", timestamp.as_secs() as f64); | 145 | obj.number("timestamp", timestamp.as_secs() as f64); |
143 | obj.string("revision", &self.revision); | 146 | obj.string("revision", &self.revision); |
147 | obj.string("perf_revision", &self.perf_revision); | ||
144 | let mut metrics = obj.object("metrics"); | 148 | let mut metrics = obj.object("metrics"); |
145 | for (k, (value, unit)) in &self.metrics { | 149 | for (k, (value, unit)) in &self.metrics { |
146 | metrics.array(k).number(*value as f64).string(unit); | 150 | metrics.array(k).number(*value as f64).string(unit); |