mirror of
https://github.com/isar/libmdbx.git
synced 2025-11-06 19:08:56 +08:00
mdbx-tools: cleanup mdbx_stat from float-point.
This commit is contained in:
@@ -341,8 +341,8 @@ int main(int argc, char *argv[]) {
|
|||||||
}
|
}
|
||||||
print_stat(&mst);
|
print_stat(&mst);
|
||||||
|
|
||||||
pgno_t pages = 0, *iptr;
|
size_t gc_pages = 0, *iptr;
|
||||||
pgno_t reclaimable = 0;
|
size_t gc_reclaimable = 0;
|
||||||
MDBX_val key, data;
|
MDBX_val key, data;
|
||||||
while (MDBX_SUCCESS == (rc = mdbx_cursor_get(cursor, &key, &data, MDBX_NEXT))) {
|
while (MDBX_SUCCESS == (rc = mdbx_cursor_get(cursor, &key, &data, MDBX_NEXT))) {
|
||||||
if (user_break) {
|
if (user_break) {
|
||||||
@@ -352,9 +352,9 @@ int main(int argc, char *argv[]) {
|
|||||||
iptr = data.iov_base;
|
iptr = data.iov_base;
|
||||||
const pgno_t number = *iptr++;
|
const pgno_t number = *iptr++;
|
||||||
|
|
||||||
pages += number;
|
gc_pages += number;
|
||||||
if (envinfo && mei.mi_latter_reader_txnid > *(txnid_t *)key.iov_base)
|
if (envinfo && mei.mi_latter_reader_txnid > *(txnid_t *)key.iov_base)
|
||||||
reclaimable += number;
|
gc_reclaimable += number;
|
||||||
|
|
||||||
if (freinfo > 1) {
|
if (freinfo > 1) {
|
||||||
char *bad = "";
|
char *bad = "";
|
||||||
@@ -402,36 +402,43 @@ int main(int argc, char *argv[]) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (envinfo) {
|
if (envinfo) {
|
||||||
uint64_t value = mei.mi_mapsize / mei.mi_dxb_pagesize;
|
char buffer[64];
|
||||||
double percent = value / 100.0;
|
|
||||||
printf("Page Usage\n");
|
|
||||||
printf(" Total: %" PRIu64 " 100%%\n", value);
|
|
||||||
|
|
||||||
value = mei.mi_geo.current / mei.mi_dxb_pagesize;
|
puts("Page Usage");
|
||||||
printf(" Backed: %" PRIu64 " %.1f%%\n", value, value / percent);
|
const size_t total_pages = mei.mi_mapsize / mei.mi_dxb_pagesize;
|
||||||
|
printf(" Total: %" PRIuSIZE " 100%%\n", total_pages);
|
||||||
|
|
||||||
value = mei.mi_last_pgno + 1;
|
const size_t backed_pages = mei.mi_geo.current / mei.mi_dxb_pagesize;
|
||||||
printf(" Allocated: %" PRIu64 " %.1f%%\n", value, value / percent);
|
printf(" Backed: %" PRIuSIZE " %s%%\n", backed_pages,
|
||||||
|
mdbx_ratio2percents(backed_pages, total_pages, buffer, sizeof(buffer)));
|
||||||
|
|
||||||
value = mei.mi_mapsize / mei.mi_dxb_pagesize - (mei.mi_last_pgno + 1);
|
const size_t allocated_pages = mei.mi_last_pgno + 1;
|
||||||
printf(" Remained: %" PRIu64 " %.1f%%\n", value, value / percent);
|
printf(" Allocated: %" PRIuSIZE " %s%%\n", allocated_pages,
|
||||||
|
mdbx_ratio2percents(allocated_pages, total_pages, buffer, sizeof(buffer)));
|
||||||
|
|
||||||
value = mei.mi_last_pgno + 1 - pages;
|
const size_t remained_pages = total_pages - allocated_pages;
|
||||||
printf(" Used: %" PRIu64 " %.1f%%\n", value, value / percent);
|
printf(" Remained: %" PRIuSIZE " %s%%\n", remained_pages,
|
||||||
|
mdbx_ratio2percents(remained_pages, total_pages, buffer, sizeof(buffer)));
|
||||||
|
|
||||||
value = pages;
|
const size_t used_pages = allocated_pages - gc_pages;
|
||||||
printf(" GC: %" PRIu64 " %.1f%%\n", value, value / percent);
|
printf(" Used: %" PRIuSIZE " %s%%\n", used_pages,
|
||||||
|
mdbx_ratio2percents(used_pages, total_pages, buffer, sizeof(buffer)));
|
||||||
|
|
||||||
value = pages - reclaimable;
|
printf(" GC: %" PRIuSIZE " %s%%\n", gc_pages,
|
||||||
printf(" Retained: %" PRIu64 " %.1f%%\n", value, value / percent);
|
mdbx_ratio2percents(gc_pages, total_pages, buffer, sizeof(buffer)));
|
||||||
|
|
||||||
value = reclaimable;
|
printf(" Reclaimable: %" PRIuSIZE " %s%%\n", gc_reclaimable,
|
||||||
printf(" Reclaimable: %" PRIu64 " %.1f%%\n", value, value / percent);
|
mdbx_ratio2percents(gc_reclaimable, total_pages, buffer, sizeof(buffer)));
|
||||||
|
|
||||||
value = mei.mi_mapsize / mei.mi_dxb_pagesize - (mei.mi_last_pgno + 1) + reclaimable;
|
const size_t gc_retained = gc_pages - gc_reclaimable;
|
||||||
printf(" Available: %" PRIu64 " %.1f%%\n", value, value / percent);
|
printf(" Retained: %" PRIuSIZE " %s%%\n", gc_retained,
|
||||||
|
mdbx_ratio2percents(gc_retained, total_pages, buffer, sizeof(buffer)));
|
||||||
|
|
||||||
|
const size_t available_pages = gc_reclaimable + remained_pages;
|
||||||
|
printf(" Available: %" PRIuSIZE " %s%%\n", available_pages,
|
||||||
|
mdbx_ratio2percents(available_pages, total_pages, buffer, sizeof(buffer)));
|
||||||
} else
|
} else
|
||||||
printf(" GC: %" PRIaPGNO " pages\n", pages);
|
printf(" GC: %" PRIuSIZE " pages\n", gc_pages);
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = mdbx_dbi_open(txn, table, MDBX_DB_ACCEDE, &dbi);
|
rc = mdbx_dbi_open(txn, table, MDBX_DB_ACCEDE, &dbi);
|
||||||
|
|||||||
Reference in New Issue
Block a user