AcctIdx: don't log disk stats when disk isn't enabled (#21371)

This commit is contained in:
Jeff Washington (jwash)
2021-11-22 15:26:25 -06:00
committed by GitHub
parent 87831e7f8d
commit a762066310

View File

@ -173,242 +173,338 @@ impl BucketMapHolderStats {
// sum of elapsed time in each thread // sum of elapsed time in each thread
let mut thread_time_elapsed_ms = elapsed_ms * storage.threads as u64; let mut thread_time_elapsed_ms = elapsed_ms * storage.threads as u64;
datapoint_info!( if disk.is_some() {
if startup || was_startup { datapoint_info!(
thread_time_elapsed_ms *= 2; // more threads are allocated during startup if startup || was_startup {
"accounts_index_startup" thread_time_elapsed_ms *= 2; // more threads are allocated during startup
} else { "accounts_index_startup"
"accounts_index" } else {
}, "accounts_index"
( },
"count_in_mem", (
self.count_in_mem.load(Ordering::Relaxed), "count_in_mem",
i64 self.count_in_mem.load(Ordering::Relaxed),
), i64
("count", self.count.load(Ordering::Relaxed), i64),
(
"bg_waiting_percent",
Self::calc_percent(
self.bg_waiting_us.swap(0, Ordering::Relaxed) / US_PER_MS,
thread_time_elapsed_ms
), ),
f64 ("count", self.count.load(Ordering::Relaxed), i64),
), (
( "bg_waiting_percent",
"bg_throttling_wait_percent", Self::calc_percent(
Self::calc_percent( self.bg_waiting_us.swap(0, Ordering::Relaxed) / US_PER_MS,
self.bg_throttling_wait_us.swap(0, Ordering::Relaxed) / US_PER_MS, thread_time_elapsed_ms
thread_time_elapsed_ms ),
f64
), ),
f64 (
), "bg_throttling_wait_percent",
( Self::calc_percent(
"held_in_mem_slot_list_len", self.bg_throttling_wait_us.swap(0, Ordering::Relaxed) / US_PER_MS,
self.held_in_mem_slot_list_len.swap(0, Ordering::Relaxed), thread_time_elapsed_ms
i64 ),
), f64
( ),
"held_in_mem_slot_list_cached", (
self.held_in_mem_slot_list_cached.swap(0, Ordering::Relaxed), "held_in_mem_slot_list_len",
i64 self.held_in_mem_slot_list_len.swap(0, Ordering::Relaxed),
), i64
("min_in_bin_mem", in_mem_stats.0, i64), ),
("max_in_bin_mem", in_mem_stats.1, i64), (
("count_from_bins_mem", in_mem_stats.2, i64), "held_in_mem_slot_list_cached",
("median_from_bins_mem", in_mem_stats.3, i64), self.held_in_mem_slot_list_cached.swap(0, Ordering::Relaxed),
("min_in_bin_disk", disk_stats.0, i64), i64
("max_in_bin_disk", disk_stats.1, i64), ),
("count_from_bins_disk", disk_stats.2, i64), ("min_in_bin_mem", in_mem_stats.0, i64),
("median_from_bins_disk", disk_stats.3, i64), ("max_in_bin_mem", in_mem_stats.1, i64),
( ("count_from_bins_mem", in_mem_stats.2, i64),
"gets_from_mem", ("median_from_bins_mem", in_mem_stats.3, i64),
self.gets_from_mem.swap(0, Ordering::Relaxed), ("min_in_bin_disk", disk_stats.0, i64),
i64 ("max_in_bin_disk", disk_stats.1, i64),
), ("count_from_bins_disk", disk_stats.2, i64),
( ("median_from_bins_disk", disk_stats.3, i64),
"get_mem_us", (
self.get_mem_us.swap(0, Ordering::Relaxed), "gets_from_mem",
i64 self.gets_from_mem.swap(0, Ordering::Relaxed),
), i64
( ),
"gets_missing", (
self.gets_missing.swap(0, Ordering::Relaxed), "get_mem_us",
i64 self.get_mem_us.swap(0, Ordering::Relaxed),
), i64
( ),
"get_missing_us", (
self.get_missing_us.swap(0, Ordering::Relaxed), "gets_missing",
i64 self.gets_missing.swap(0, Ordering::Relaxed),
), i64
( ),
"entries_from_mem", (
self.entries_from_mem.swap(0, Ordering::Relaxed), "get_missing_us",
i64 self.get_missing_us.swap(0, Ordering::Relaxed),
), i64
( ),
"entry_mem_us", (
self.entry_mem_us.swap(0, Ordering::Relaxed), "entries_from_mem",
i64 self.entries_from_mem.swap(0, Ordering::Relaxed),
), i64
( ),
"load_disk_found_count", (
self.load_disk_found_count.swap(0, Ordering::Relaxed), "entry_mem_us",
i64 self.entry_mem_us.swap(0, Ordering::Relaxed),
), i64
( ),
"load_disk_found_us", (
self.load_disk_found_us.swap(0, Ordering::Relaxed), "load_disk_found_count",
i64 self.load_disk_found_count.swap(0, Ordering::Relaxed),
), i64
( ),
"load_disk_missing_count", (
self.load_disk_missing_count.swap(0, Ordering::Relaxed), "load_disk_found_us",
i64 self.load_disk_found_us.swap(0, Ordering::Relaxed),
), i64
( ),
"load_disk_missing_us", (
self.load_disk_missing_us.swap(0, Ordering::Relaxed), "load_disk_missing_count",
i64 self.load_disk_missing_count.swap(0, Ordering::Relaxed),
), i64
( ),
"entries_missing", (
self.entries_missing.swap(0, Ordering::Relaxed), "load_disk_missing_us",
i64 self.load_disk_missing_us.swap(0, Ordering::Relaxed),
), i64
( ),
"entry_missing_us", (
self.entry_missing_us.swap(0, Ordering::Relaxed), "entries_missing",
i64 self.entries_missing.swap(0, Ordering::Relaxed),
), i64
( ),
"updates_in_mem", (
self.updates_in_mem.swap(0, Ordering::Relaxed), "entry_missing_us",
i64 self.entry_missing_us.swap(0, Ordering::Relaxed),
), i64
( ),
"get_range_us", (
self.get_range_us.swap(0, Ordering::Relaxed), "updates_in_mem",
i64 self.updates_in_mem.swap(0, Ordering::Relaxed),
), i64
("inserts", self.inserts.swap(0, Ordering::Relaxed), i64), ),
("deletes", self.deletes.swap(0, Ordering::Relaxed), i64), (
( "get_range_us",
"active_threads", self.get_range_us.swap(0, Ordering::Relaxed),
self.active_threads.load(Ordering::Relaxed), i64
i64 ),
), ("inserts", self.inserts.swap(0, Ordering::Relaxed), i64),
("items", self.items.swap(0, Ordering::Relaxed), i64), ("deletes", self.deletes.swap(0, Ordering::Relaxed), i64),
("keys", self.keys.swap(0, Ordering::Relaxed), i64), (
("ms_per_age", ms_per_age, i64), "active_threads",
( self.active_threads.load(Ordering::Relaxed),
"flush_scan_update_us", i64
self.flush_scan_update_us.swap(0, Ordering::Relaxed), ),
i64 ("items", self.items.swap(0, Ordering::Relaxed), i64),
), ("keys", self.keys.swap(0, Ordering::Relaxed), i64),
( ("ms_per_age", ms_per_age, i64),
"flush_grow_us", (
self.flush_remove_us.swap(0, Ordering::Relaxed), "flush_scan_update_us",
i64 self.flush_scan_update_us.swap(0, Ordering::Relaxed),
), i64
( ),
"flush_remove_us", (
self.flush_remove_us.swap(0, Ordering::Relaxed), "flush_grow_us",
i64 self.flush_remove_us.swap(0, Ordering::Relaxed),
), i64
( ),
"disk_index_resizes", (
disk.map(|disk| disk.stats.index.resizes.swap(0, Ordering::Relaxed)) "flush_remove_us",
self.flush_remove_us.swap(0, Ordering::Relaxed),
i64
),
(
"disk_index_resizes",
disk.map(|disk| disk.stats.index.resizes.swap(0, Ordering::Relaxed))
.unwrap_or_default(),
i64
),
(
"disk_index_max_size",
disk.map(|disk| {
let mut lock = disk.stats.index.max_size.lock().unwrap();
let value = *lock;
*lock = 0;
value
})
.unwrap_or_default(), .unwrap_or_default(),
i64 i64
), ),
( (
"disk_index_max_size", "disk_index_new_file_us",
disk.map(|disk| { disk.map(|disk| disk.stats.index.new_file_us.swap(0, Ordering::Relaxed))
let mut lock = disk.stats.index.max_size.lock().unwrap(); .unwrap_or_default(),
let value = *lock; i64
*lock = 0; ),
value (
}) "disk_index_resize_us",
.unwrap_or_default(), disk.map(|disk| disk.stats.index.resize_us.swap(0, Ordering::Relaxed))
i64 .unwrap_or_default(),
), i64
( ),
"disk_index_new_file_us", (
disk.map(|disk| disk.stats.index.new_file_us.swap(0, Ordering::Relaxed)) "disk_index_flush_file_us",
disk.map(|disk| disk.stats.index.flush_file_us.swap(0, Ordering::Relaxed))
.unwrap_or_default(),
i64
),
(
"disk_index_flush_mmap_us",
disk.map(|disk| disk.stats.index.mmap_us.swap(0, Ordering::Relaxed))
.unwrap_or_default(),
i64
),
(
"disk_data_resizes",
disk.map(|disk| disk.stats.data.resizes.swap(0, Ordering::Relaxed))
.unwrap_or_default(),
i64
),
(
"disk_data_max_size",
disk.map(|disk| {
let mut lock = disk.stats.data.max_size.lock().unwrap();
let value = *lock;
*lock = 0;
value
})
.unwrap_or_default(), .unwrap_or_default(),
i64 i64
), ),
( (
"disk_index_resize_us", "disk_data_new_file_us",
disk.map(|disk| disk.stats.index.resize_us.swap(0, Ordering::Relaxed)) disk.map(|disk| disk.stats.data.new_file_us.swap(0, Ordering::Relaxed))
.unwrap_or_default(), .unwrap_or_default(),
i64 i64
), ),
( (
"disk_index_flush_file_us", "disk_data_resize_us",
disk.map(|disk| disk.stats.index.flush_file_us.swap(0, Ordering::Relaxed)) disk.map(|disk| disk.stats.data.resize_us.swap(0, Ordering::Relaxed))
.unwrap_or_default(), .unwrap_or_default(),
i64 i64
), ),
( (
"disk_index_flush_mmap_us", "disk_data_flush_file_us",
disk.map(|disk| disk.stats.index.mmap_us.swap(0, Ordering::Relaxed)) disk.map(|disk| disk.stats.data.flush_file_us.swap(0, Ordering::Relaxed))
.unwrap_or_default(), .unwrap_or_default(),
i64 i64
), ),
( (
"disk_data_resizes", "disk_data_flush_mmap_us",
disk.map(|disk| disk.stats.data.resizes.swap(0, Ordering::Relaxed)) disk.map(|disk| disk.stats.data.mmap_us.swap(0, Ordering::Relaxed))
.unwrap_or_default(), .unwrap_or_default(),
i64 i64
), ),
( (
"disk_data_max_size", "flush_entries_updated_on_disk",
disk.map(|disk| { self.flush_entries_updated_on_disk
let mut lock = disk.stats.data.max_size.lock().unwrap(); .swap(0, Ordering::Relaxed),
let value = *lock; i64
*lock = 0; ),
value (
}) "flush_entries_removed_from_mem",
.unwrap_or_default(), self.flush_entries_removed_from_mem
i64 .swap(0, Ordering::Relaxed),
), i64
( ),
"disk_data_new_file_us", );
disk.map(|disk| disk.stats.data.new_file_us.swap(0, Ordering::Relaxed)) } else {
.unwrap_or_default(), datapoint_info!(
i64 if startup || was_startup {
), thread_time_elapsed_ms *= 2; // more threads are allocated during startup
( "accounts_index_startup"
"disk_data_resize_us", } else {
disk.map(|disk| disk.stats.data.resize_us.swap(0, Ordering::Relaxed)) "accounts_index"
.unwrap_or_default(), },
i64 (
), "count_in_mem",
( self.count_in_mem.load(Ordering::Relaxed),
"disk_data_flush_file_us", i64
disk.map(|disk| disk.stats.data.flush_file_us.swap(0, Ordering::Relaxed)) ),
.unwrap_or_default(), ("count", self.count.load(Ordering::Relaxed), i64),
i64 (
), "bg_waiting_percent",
( Self::calc_percent(
"disk_data_flush_mmap_us", self.bg_waiting_us.swap(0, Ordering::Relaxed) / US_PER_MS,
disk.map(|disk| disk.stats.data.mmap_us.swap(0, Ordering::Relaxed)) thread_time_elapsed_ms
.unwrap_or_default(), ),
i64 f64
), ),
( (
"flush_entries_updated_on_disk", "bg_throttling_wait_percent",
self.flush_entries_updated_on_disk Self::calc_percent(
.swap(0, Ordering::Relaxed), self.bg_throttling_wait_us.swap(0, Ordering::Relaxed) / US_PER_MS,
i64 thread_time_elapsed_ms
), ),
( f64
"flush_entries_removed_from_mem", ),
self.flush_entries_removed_from_mem ("min_in_bin_mem", in_mem_stats.0, i64),
.swap(0, Ordering::Relaxed), ("max_in_bin_mem", in_mem_stats.1, i64),
i64 ("count_from_bins_mem", in_mem_stats.2, i64),
), ("median_from_bins_mem", in_mem_stats.3, i64),
); (
"gets_from_mem",
self.gets_from_mem.swap(0, Ordering::Relaxed),
i64
),
(
"get_mem_us",
self.get_mem_us.swap(0, Ordering::Relaxed),
i64
),
(
"gets_missing",
self.gets_missing.swap(0, Ordering::Relaxed),
i64
),
(
"get_missing_us",
self.get_missing_us.swap(0, Ordering::Relaxed),
i64
),
(
"entries_from_mem",
self.entries_from_mem.swap(0, Ordering::Relaxed),
i64
),
(
"entry_mem_us",
self.entry_mem_us.swap(0, Ordering::Relaxed),
i64
),
(
"entries_missing",
self.entries_missing.swap(0, Ordering::Relaxed),
i64
),
(
"entry_missing_us",
self.entry_missing_us.swap(0, Ordering::Relaxed),
i64
),
(
"updates_in_mem",
self.updates_in_mem.swap(0, Ordering::Relaxed),
i64
),
(
"get_range_us",
self.get_range_us.swap(0, Ordering::Relaxed),
i64
),
("inserts", self.inserts.swap(0, Ordering::Relaxed), i64),
("deletes", self.deletes.swap(0, Ordering::Relaxed), i64),
(
"active_threads",
self.active_threads.load(Ordering::Relaxed),
i64
),
("items", self.items.swap(0, Ordering::Relaxed), i64),
("keys", self.keys.swap(0, Ordering::Relaxed), i64),
);
}
} }
} }