+static void dump_and_clear_stats(struct tdb_attribute_stats *stats)
+{
+ printf("allocs = %llu\n",
+ (unsigned long long)stats->allocs);
+ printf(" alloc_subhash = %llu\n",
+ (unsigned long long)stats->alloc_subhash);
+ printf(" alloc_chain = %llu\n",
+ (unsigned long long)stats->alloc_chain);
+ printf(" alloc_bucket_exact = %llu\n",
+ (unsigned long long)stats->alloc_bucket_exact);
+ printf(" alloc_bucket_max = %llu\n",
+ (unsigned long long)stats->alloc_bucket_max);
+ printf(" alloc_leftover = %llu\n",
+ (unsigned long long)stats->alloc_leftover);
+ printf(" alloc_coalesce_tried = %llu\n",
+ (unsigned long long)stats->alloc_coalesce_tried);
+ printf(" alloc_coalesce_lockfail = %llu\n",
+ (unsigned long long)stats->alloc_coalesce_lockfail);
+ printf(" alloc_coalesce_race = %llu\n",
+ (unsigned long long)stats->alloc_coalesce_race);
+ printf(" alloc_coalesce_succeeded = %llu\n",
+ (unsigned long long)stats->alloc_coalesce_succeeded);
+ printf(" alloc_coalesce_num_merged = %llu\n",
+ (unsigned long long)stats->alloc_coalesce_num_merged);
+ printf("compares = %llu\n",
+ (unsigned long long)stats->compares);
+ printf(" compare_wrong_bucket = %llu\n",
+ (unsigned long long)stats->compare_wrong_bucket);
+ printf(" compare_wrong_offsetbits = %llu\n",
+ (unsigned long long)stats->compare_wrong_offsetbits);
+ printf(" compare_wrong_keylen = %llu\n",
+ (unsigned long long)stats->compare_wrong_keylen);
+ printf(" compare_wrong_rechash = %llu\n",
+ (unsigned long long)stats->compare_wrong_rechash);
+ printf(" compare_wrong_keycmp = %llu\n",
+ (unsigned long long)stats->compare_wrong_keycmp);
+ printf("expands = %llu\n",
+ (unsigned long long)stats->expands);
+ printf("frees = %llu\n",
+ (unsigned long long)stats->frees);
+ printf("locks = %llu\n",
+ (unsigned long long)stats->locks);
+ printf(" lock_lowlevel = %llu\n",
+ (unsigned long long)stats->lock_lowlevel);
+ printf(" lock_nonblock = %llu\n",
+ (unsigned long long)stats->lock_nonblock);
+
+ /* Now clear. */
+ memset(&stats->allocs, 0, (char *)(stats+1) - (char *)&stats->allocs);
+}
+