stats method
Returns aggregate metrics from the database.
Implementation
Future<Map<String, dynamic>> stats() async {
final result = await _db.query('''
SELECT
status,
COUNT(*) as count,
AVG(EXTRACT(EPOCH FROM (finished_at - created_at))) as avg_duration_sec
FROM $_table
GROUP BY status
''');
final stats = <String, dynamic>{};
for (final row in result.rows) {
stats[row['status'] as String] = {
'count': row['count'],
'avgDurationSec': row['avg_duration_sec'],
};
}
return stats;
}