getStatistics method

Map<String, dynamic> getStatistics()

Returns statistics about the queue.

Implementation

Map<String, dynamic> getStatistics() {
  final controlMessages = _queue.where((m) => m.isControl).length;
  final jsonMessages = _queue.where((m) => m.isJson).length;
  final binaryMessages = _queue.where((m) => m.isBinary).length;
  final textMessages = _queue.where((m) => m.isText).length;

  return {
    'size': size,
    'maxSize': maxSize,
    'isEmpty': isEmpty,
    'isFull': isFull,
    'retryableCount': retryableCount,
    'ackRequiredCount': ackRequiredCount,
    'controlMessages': controlMessages,
    'jsonMessages': jsonMessages,
    'binaryMessages': binaryMessages,
    'textMessages': textMessages,
    'enablePriority': enablePriority,
    'enableDeduplication': enableDeduplication,
    'utilization': maxSize > 0
        ? '${(size / maxSize * 100).toStringAsFixed(2)}%'
        : '0%',
  };
}