Skip to content

Commit edd33e2

Browse files
committed
Add a metric containing the size of generated documentation
1 parent 152350a commit edd33e2

File tree

4 files changed

+23
-0
lines changed

4 files changed

+23
-0
lines changed

Cargo.lock

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

collector/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ filetime = "0.2.14"
3333
walkdir = "2"
3434
flate2 = { version = "1.0.22", features = ["rust_backend"] }
3535
rayon = "1.5.2"
36+
fs_extra = "1.2.0"
3637

3738
[target.'cfg(windows)'.dependencies]
3839
miow = "0.3"

collector/src/execute.rs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -848,6 +848,12 @@ impl<'a> Processor for BenchProcessor<'a> {
848848
if let Some(ref profile) = res.1 {
849849
store_artifact_sizes_into_stats(&mut res.0, profile);
850850
}
851+
if let Profile::Doc = data.profile {
852+
let doc_dir = data.cwd.join("target/doc");
853+
if doc_dir.is_dir() {
854+
store_documentation_size_into_stats(&mut res.0, &doc_dir);
855+
}
856+
}
851857

852858
match data.scenario {
853859
Scenario::Full => {
@@ -894,6 +900,17 @@ impl<'a> Processor for BenchProcessor<'a> {
894900
}
895901
}
896902

903+
fn store_documentation_size_into_stats(stats: &mut Stats, doc_dir: &Path) {
904+
match fs_extra::dir::get_size(doc_dir) {
905+
Ok(size) => stats.insert("size:doc_bytes".to_string(), size as f64),
906+
Err(error) => log::error!(
907+
"Cannot get size of documentation directory {}: {:?}",
908+
doc_dir.display(),
909+
error
910+
),
911+
}
912+
}
913+
897914
fn store_artifact_sizes_into_stats(stats: &mut Stats, profile: &SelfProfile) {
898915
for artifact in profile.artifact_sizes.iter() {
899916
stats

site/src/comparison.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,9 @@ pub enum Metric {
231231
LlvmBitcodeSize,
232232
#[serde(rename = "size:llvm_ir")]
233233
LlvmIrSize,
234+
/// Total bytes of a generated documentation directory
235+
#[serde(rename = "size:doc_bytes")]
236+
DocByteSize,
234237
}
235238

236239
impl Metric {
@@ -260,6 +263,7 @@ impl Metric {
260263
Metric::AssemblyFileSize => "size:assembly_file",
261264
Metric::LlvmBitcodeSize => "size:llvm_bitcode",
262265
Metric::LlvmIrSize => "size:llvm_ir",
266+
Metric::DocByteSize => "size:doc_bytes",
263267
}
264268
}
265269

0 commit comments

Comments
 (0)