123456789101112131415161718192021222324252627282930313233343536 |
- package com.provectus.kafka.ui.cluster;
- import com.provectus.kafka.ui.cluster.model.KafkaCluster;
- import com.provectus.kafka.ui.cluster.service.ClusterService;
- import com.provectus.kafka.ui.jmx.JmxService;
- import com.provectus.kafka.ui.kafka.KafkaService;
- import com.provectus.kafka.ui.model.ClusterStatus;
- import lombok.RequiredArgsConstructor;
- import lombok.extern.log4j.Log4j2;
- import org.springframework.scheduling.annotation.Scheduled;
- import org.springframework.stereotype.Component;
- @Component
- @RequiredArgsConstructor
- @Log4j2
- public class ClustersMetricUpdateScheduler {
- private final JmxService jmxService;
- private final KafkaService kafkaService;
- private final ClusterService clusterService;
- @Scheduled(fixedRate = 30000)
- public void updateMetrics() {
- for (KafkaCluster cluster : clusterService.getKafkaClusters()) {
- try {
- kafkaService.loadClusterMetrics(cluster);
- jmxService.loadClusterMetrics(cluster);
- cluster.setStatus(ClusterStatus.ONLINE);
- } catch (Exception e) {
- log.error(e);
- cluster.setStatus(ClusterStatus.OFFLINE);
- }
- }
- }
- }
|