summaryrefslogtreecommitdiff
path: root/src/backup_run.rs
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2022-04-06 05:33:25 +0000
committerLars Wirzenius <liw@liw.fi>2022-04-06 05:33:25 +0000
commit1c6ae813b00e46d2a8061fa480d1780124af1e64 (patch)
treec7d274adb6e0021c143436ac13eac934d5fe1c1e /src/backup_run.rs
parent961d091f418f67c7435d085a4d71cc17b78345a9 (diff)
parentdd13fde5ea8bd61b6b5c7f024df6733301864456 (diff)
downloadobnam2-1c6ae813b00e46d2a8061fa480d1780124af1e64.tar.gz
Merge branch 'perf-stats-3' into 'main'
Log some performance measurements Closes #174 See merge request obnam/obnam!226
Diffstat (limited to 'src/backup_run.rs')
-rw-r--r--src/backup_run.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/backup_run.rs b/src/backup_run.rs
index 21140ba..29e82fc 100644
--- a/src/backup_run.rs
+++ b/src/backup_run.rs
@@ -15,6 +15,7 @@ use crate::fsiter::{AnnotatedFsEntry, FsIterError, FsIterator};
use crate::generation::{
GenId, LocalGeneration, LocalGenerationError, NascentError, NascentGeneration,
};
+use crate::performance::{Clock, Performance};
use crate::policy::BackupPolicy;
use crate::schema::SchemaVersion;
@@ -129,6 +130,7 @@ impl<'a> BackupRun<'a> {
&mut self,
genid: Option<&GenId>,
oldname: &Path,
+ perf: &mut Performance,
) -> Result<LocalGeneration, ObnamError> {
match genid {
None => {
@@ -140,7 +142,9 @@ impl<'a> BackupRun<'a> {
Ok(LocalGeneration::open(oldname)?)
}
Some(genid) => {
+ perf.start(Clock::GenerationDownload);
let old = self.fetch_previous_generation(genid, oldname).await?;
+ perf.stop(Clock::GenerationDownload);
let progress = BackupProgress::incremental();
progress.files_in_previous_generation(old.file_count()? as u64);
@@ -176,6 +180,7 @@ impl<'a> BackupRun<'a> {
old: &LocalGeneration,
newpath: &Path,
schema: SchemaVersion,
+ perf: &mut Performance,
) -> Result<RootsBackupOutcome, ObnamError> {
let mut warnings: Vec<BackupError> = vec![];
let mut new_cachedir_tags = vec![];
@@ -204,7 +209,9 @@ impl<'a> BackupRun<'a> {
count
};
self.finish();
+ perf.start(Clock::GenerationUpload);
let gen_id = self.upload_nascent_generation(newpath).await?;
+ perf.stop(Clock::GenerationUpload);
let gen_id = GenId::from_chunk_id(gen_id);
Ok(RootsBackupOutcome {
files_count,