CLUSTER_INFO.js 1.2 KB

1234567891011121314151617181920212223242526272829303132
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.extractLineValue = exports.transformReply = exports.transformArguments = void 0;
  4. function transformArguments() {
  5. return ['CLUSTER', 'INFO'];
  6. }
  7. exports.transformArguments = transformArguments;
  8. function transformReply(reply) {
  9. const lines = reply.split('\r\n');
  10. return {
  11. state: extractLineValue(lines[0]),
  12. slots: {
  13. assigned: Number(extractLineValue(lines[1])),
  14. ok: Number(extractLineValue(lines[2])),
  15. pfail: Number(extractLineValue(lines[3])),
  16. fail: Number(extractLineValue(lines[4]))
  17. },
  18. knownNodes: Number(extractLineValue(lines[5])),
  19. size: Number(extractLineValue(lines[6])),
  20. currentEpoch: Number(extractLineValue(lines[7])),
  21. myEpoch: Number(extractLineValue(lines[8])),
  22. stats: {
  23. messagesSent: Number(extractLineValue(lines[9])),
  24. messagesReceived: Number(extractLineValue(lines[10]))
  25. }
  26. };
  27. }
  28. exports.transformReply = transformReply;
  29. function extractLineValue(line) {
  30. return line.substring(line.indexOf(':') + 1);
  31. }
  32. exports.extractLineValue = extractLineValue;