Log garbage collection statistics

This commit is contained in:
Konstantin Knizhnik
2021-04-23 18:02:58 +03:00
parent 52ee3a2bac
commit 499b4f7eba
2 changed files with 10 additions and 7 deletions

View File

@@ -19,8 +19,8 @@ use slog::Drain;
use pageserver::{page_service, tui, zenith_repo_dir, PageServerConf};
const DEFAULT_GC_HORIZON: u64 = 64 * 1024 * 1024;
const DEFAULT_GC_PERIOD_SEC: u64 = 10;
const DEFAULT_GC_HORIZON: u64 = 1024 * 1024 * 1024;
const DEFAULT_GC_PERIOD_SEC: u64 = 600;
fn main() -> Result<()> {
let arg_matches = App::new("Zenith page server")
@@ -213,7 +213,7 @@ fn init_logging(conf: &PageServerConf) -> Result<slog_scope::GlobalLoggerGuard,
let decorator = slog_term::PlainSyncDecorator::new(log_file);
let drain = slog_term::CompactFormat::new(decorator).build();
let drain = slog::Filter::new(drain, |record: &slog::Record| {
if record.level().is_at_least(slog::Level::Debug) {
if record.level().is_at_least(slog::Level::Info) {
return true;
}
false
@@ -229,13 +229,11 @@ fn init_logging(conf: &PageServerConf) -> Result<slog_scope::GlobalLoggerGuard,
if record.level().is_at_least(slog::Level::Info) {
return true;
}
/* let's do not be too verbose
if record.level().is_at_least(slog::Level::Debug)
&& record.module().starts_with("pageserver")
{
return true;
}
*/
false
})
.fuse();

View File

@@ -21,7 +21,7 @@ use std::sync::atomic::AtomicU64;
use std::sync::atomic::Ordering;
use std::sync::{Arc, Condvar, Mutex};
use std::thread;
use std::time::Duration;
use std::time::{Duration, Instant};
use std::{convert::TryInto, ops::AddAssign};
use zenith_utils::seqwait::SeqWait;
@@ -122,7 +122,6 @@ pub fn get_or_restore_pagecache(
timelineid: ZTimelineId,
) -> anyhow::Result<Arc<PageCache>> {
let mut pcaches = PAGECACHES.lock().unwrap();
match pcaches.get(&timelineid) {
Some(pcache) => Ok(pcache.clone()),
None => {
@@ -403,6 +402,9 @@ impl PageCache {
},
lsn: u64::MAX,
};
let now = Instant::now();
let mut reconstructed = 0u64;
let mut truncated = 0u64;
loop {
maxbuf.clear();
maxkey.pack(&mut maxbuf);
@@ -431,6 +433,7 @@ impl PageCache {
trace!("Reconstruct most recent page {:?}", key);
// force reconstruction of most recent page version
self.reconstruct_page(key, content)?;
reconstructed += 1;
}
maxbuf.clear();
@@ -452,6 +455,7 @@ impl PageCache {
let key = CacheKey::unpack(&mut minbuf);
trace!("Reconstruct horizon page {:?}", key);
self.reconstruct_page(key, content)?;
truncated += 1;
}
}
}
@@ -466,6 +470,7 @@ impl PageCache {
break;
}
}
info!("Garbage collection completed in {:?}: {} pages reconstructed, {} version histories truncated", now.elapsed(), reconstructed, truncated);
}
}
}