getAllDatabaseStats method
Gets statistics for all databases in the environment.
Returns a map with statistics for:
- 'environment' - Overall environment stats
- 'default' - Default database stats
- Named databases - Stats for each named database
Example:
final allStats = await db.getAllDatabaseStats();
print('Environment entries: ${allStats['environment']?.entries}');
print('Default DB entries: ${allStats['default']?.entries}');
// Stats for named databases
allStats.forEach((name, stats) {
if (name != 'environment' && name != 'default') {
print('DB $name entries: ${stats.entries}');
}
});
Throws StateError if database is closed Throws LMDBException if operation fails
Implementation
Future<Map<String, DatabaseStats>> getAllDatabaseStats() async {
final statistics = <String, DatabaseStats>{};
return _withTransaction((txn) async {
// Get environment stats
statistics['environment'] = await getEnvironmentStats();
// Get stats for default DB
statistics['default'] = await stats(txn);
// Get stats for all named DBs
final names = await _getDbNames(txn);
for (final name in names) {
statistics[name] = await stats(txn, dbName: name);
}
return statistics;
}, flags: LMDBFlagSet.readOnly);
}