getAllStats method

Map<String, dynamic> getAllStats()

获取所有性能统计

Implementation

Map<String, dynamic> getAllStats() {
  final Map<String, dynamic> stats = <String, dynamic>{
    'operations': <String, dynamic>{},
    'timing': <String, dynamic>{},
  };

  // 操作统计
  for (final String operationType in _operationCounts.keys) {
    stats['operations'][operationType] = getOperationStats(operationType);
  }

  // 时间统计
  if (_appStartTime != null) {
    final DateTime now = DateTime.now();
    stats['timing']['appStartToNowMs'] =
        now.difference(_appStartTime!).inMilliseconds;
  }

  if (_databaseInitStartTime != null && _databaseInitEndTime != null) {
    stats['timing']['databaseInitMs'] = _databaseInitEndTime!
        .difference(_databaseInitStartTime!)
        .inMilliseconds;
  }

  if (_appStartTime != null && _firstDatabaseOperationTime != null) {
    stats['timing']['appStartToFirstDbOperationMs'] =
        _firstDatabaseOperationTime!
            .difference(_appStartTime!)
            .inMilliseconds;
  }

  return stats;
}