commit - 30b23f546456233c0030505bdc72ed107f30cb48
commit + cadc72f05df58d52f4654d58b4e07093d69c6422
blob - b3a2cb74d16eb1cea91ea7e995e998721d06f5fc
blob + ef9737b133c279be1e1781fc0b8145a641d1fc30
--- lib/got_lib_object_cache.h
+++ lib/got_lib_object_cache.h
int cache_miss;
int cache_evict;
int cache_toolarge;
+ size_t max_cached_size;
};
const struct got_error *got_object_cache_init(struct got_object_cache *,
blob - c040c48573c53032a2213eea793817ec8f0b8598
blob + b42ee27e74fde47ef3bc23fbbadddb8a37804c72
--- lib/object_cache.c
+++ lib/object_cache.c
err = got_object_idset_add(cache->idset, id, ce);
if (err)
free(ce);
+ else if (size > cache->max_cached_size)
+ cache->max_cached_size = size;
return err;
}
print_cache_stats(struct got_object_cache *cache, const char *name)
{
fprintf(stderr, "%s: %s cache: %d elements, %d searches, %d hits, "
- "%d missed, %d evicted, %d too large\n", getprogname(), name,
+ "%d missed, %d evicted, %d too large, max cached %zd bytes\n",
+ getprogname(), name,
got_object_idset_num_elements(cache->idset),
cache->cache_searches, cache->cache_hit,
- cache->cache_miss, cache->cache_evict, cache->cache_toolarge);
+ cache->cache_miss, cache->cache_evict, cache->cache_toolarge,
+ cache->max_cached_size);
}
static const struct got_error *