void mmap_cache_stats_log_debug(MMapCache *m) {
assert(m);
- log_debug("mmap cache statistics: %u category cache hit, %u window list hit, %u miss",
- m->n_category_cache_hit, m->n_window_list_hit, m->n_missed);
+ log_debug("mmap cache statistics: %u category cache hit, %u window list hit, %u miss, %u files, %u windows, %u unused",
+ m->n_category_cache_hit, m->n_window_list_hit, m->n_missed, hashmap_size(m->fds), m->n_windows, m->n_unused);
}
static void mmap_cache_process_sigbus(MMapCache *m) {
sd_journal_flush_matches(j);
+ /* log stats before closing files so we can see the windows state */
+ if (j->mmap)
+ mmap_cache_stats_log_debug(j->mmap);
+
ordered_hashmap_free_with_destructor(j->files, journal_file_close);
iterated_cache_free(j->files_cache);
safe_close(j->inotify_fd);
- if (j->mmap) {
- mmap_cache_stats_log_debug(j->mmap);
+ if (j->mmap)
mmap_cache_unref(j->mmap);
- }
hashmap_free_free(j->errors);