analyzeUsage static method

String analyzeUsage(
  1. DatabaseStats stats
)

Analyzes current database usage and returns a formatted string report.

The report includes information about:

  • Total number of entries
  • Tree structure details
  • Performance metrics

Example:

final stats = await db.getStats();
print(LMDBConfig.analyzeUsage(stats));

Implementation

static String analyzeUsage(DatabaseStats stats) {
  final branchToLeafRatio =
      stats.leafPages > 0 ? stats.branchPages / stats.leafPages : 0.0;

  final averageEntriesPerLeafPage =
      stats.leafPages > 0 ? stats.entries / stats.leafPages : 0.0;

  return '''
Database Usage Analysis:
- Total Entries: ${stats.entries}
- Tree Structure:
• Depth: ${stats.depth}
• Branch Pages: ${stats.branchPages}
• Leaf Pages: ${stats.leafPages}
• Branch/Leaf Ratio: ${branchToLeafRatio.toStringAsFixed(3)}
- Performance Metrics:
• Average Entries per Leaf Page: ${averageEntriesPerLeafPage.toStringAsFixed(2)}
• Overflow Pages: ${stats.overflowPages}
''';
}