InternalClusterMetrics.java 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package com.provectus.kafka.ui.model;
  2. import java.math.BigDecimal;
  3. import java.util.List;
  4. import java.util.Map;
  5. import javax.annotation.Nullable;
  6. import lombok.Builder;
  7. import lombok.Data;
  8. @Data
  9. @Builder(toBuilder = true)
  10. public class InternalClusterMetrics {
  11. public static InternalClusterMetrics empty() {
  12. return InternalClusterMetrics.builder()
  13. .brokers(List.of())
  14. .topics(Map.of())
  15. .status(ServerStatusDTO.OFFLINE)
  16. .internalBrokerMetrics(Map.of())
  17. .metrics(List.of())
  18. .version("unknown")
  19. .build();
  20. }
  21. private final String version;
  22. private final ServerStatusDTO status;
  23. private final Throwable lastKafkaException;
  24. private final int brokerCount;
  25. private final int activeControllers;
  26. private final List<Integer> brokers;
  27. private final int topicCount;
  28. private final Map<String, InternalTopic> topics;
  29. // partitions stats
  30. private final int underReplicatedPartitionCount;
  31. private final int onlinePartitionCount;
  32. private final int offlinePartitionCount;
  33. private final int inSyncReplicasCount;
  34. private final int outOfSyncReplicasCount;
  35. // log dir stats
  36. @Nullable // will be null if log dir collection disabled
  37. private final Map<Integer, InternalBrokerDiskUsage> internalBrokerDiskUsage;
  38. // metrics from jmx
  39. private final BigDecimal bytesInPerSec;
  40. private final BigDecimal bytesOutPerSec;
  41. private final Map<Integer, JmxBrokerMetrics> internalBrokerMetrics;
  42. private final List<MetricDTO> metrics;
  43. }