*/
#include "daemon/bindings/impl.h"
-#include "lib/cache/cdb_lmdb.h"
#include "daemon/zimport.h"
add_stat(read_leq);
add_stat(read_leq_miss);
/* usage_percent statistics special case - double */
- struct libknot_lmdb_env *libknot_db = kr_cdb_pt2knot_db_t(cache->db);
- cache->stats.usage_percent = cache->api->usage_percent(libknot_db);
+ cache->stats.usage_percent = cache->api->usage_percent(cache->db);
lua_pushnumber(L, cache->stats.usage_percent);
lua_setfield(L, -2, "usage_percent");
- free(libknot_db);
#undef add_stat
return 1;
int (*read_leq)(kr_cdb_pt db, struct kr_cdb_stats *stat,
knot_db_val_t *key, knot_db_val_t *val);
- double (*usage_percent)(knot_db_t *db);
+ /** Return estimated space usage (0--100). */
+ double (*usage_percent)(kr_cdb_pt db);
/** Return the current cache size limit in bytes; could be cached by check_health(). */
size_t (*get_maxsize)(kr_cdb_pt db);
return lmdb_error(ret);
}
-static double cdb_usage(knot_db_t *db)
+static double cdb_usage_percent(kr_cdb_pt db)
{
- const size_t db_size = knot_db_lmdb_get_mapsize(db);
- const size_t db_usage_abs = knot_db_lmdb_get_usage(db);
+ knot_db_t *kdb = kr_cdb_pt2knot_db_t(db);
+ const size_t db_size = knot_db_lmdb_get_mapsize(kdb);
+ const size_t db_usage_abs = knot_db_lmdb_get_usage(kdb);
const double db_usage = (double)db_usage_abs / db_size * 100.0;
-
+ free(kdb);
return db_usage;
}
cdb_readv, cdb_writev, cdb_remove,
cdb_match,
cdb_read_leq,
- cdb_usage,
+ cdb_usage_percent,
cdb_get_maxsize,
cdb_check_health,
};