InternalBroker.java 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. package com.provectus.kafka.ui.model;
  2. import java.math.BigDecimal;
  3. import javax.annotation.Nullable;
  4. import lombok.Data;
  5. import org.apache.kafka.common.Node;
  6. @Data
  7. public class InternalBroker {
  8. private final Integer id;
  9. private final String host;
  10. private final Integer port;
  11. private final @Nullable BigDecimal bytesInPerSec;
  12. private final @Nullable BigDecimal bytesOutPerSec;
  13. private final @Nullable Integer partitionsLeader;
  14. private final @Nullable Integer partitions;
  15. private final @Nullable Integer inSyncPartitions;
  16. private final @Nullable BigDecimal leadersSkew;
  17. private final @Nullable BigDecimal partitionsSkew;
  18. public InternalBroker(Node node,
  19. PartitionDistributionStats partitionDistribution,
  20. Statistics statistics) {
  21. this.id = node.id();
  22. this.host = node.host();
  23. this.port = node.port();
  24. this.bytesInPerSec = statistics.getMetrics().getBrokerBytesInPerSec().get(node.id());
  25. this.bytesOutPerSec = statistics.getMetrics().getBrokerBytesOutPerSec().get(node.id());
  26. this.partitionsLeader = partitionDistribution.getPartitionLeaders().get(node);
  27. this.partitions = partitionDistribution.getPartitionsCount().get(node);
  28. this.inSyncPartitions = partitionDistribution.getInSyncPartitions().get(node);
  29. this.leadersSkew = partitionDistribution.leadersSkew(node);
  30. this.partitionsSkew = partitionDistribution.partitionsSkew(node);
  31. }
  32. }