All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.infobip.kafkistry.metric.KafkistryMetricsCollector.kt Maven / Gradle / Ivy

The newest version!
package com.infobip.kafkistry.metric

import com.infobip.kafkistry.kafka.Partition
import com.infobip.kafkistry.kafkastate.ClusterTopicOffsets
import com.infobip.kafkistry.kafkastate.TopicReplicaInfos
import com.infobip.kafkistry.model.ClusterRef
import com.infobip.kafkistry.model.KafkaClusterIdentifier
import com.infobip.kafkistry.model.TopicName
import com.infobip.kafkistry.service.acl.PrincipalAclsInspection
import com.infobip.kafkistry.service.cluster.ClusterStatusIssues
import com.infobip.kafkistry.service.consumers.ClusterConsumerGroup
import com.infobip.kafkistry.service.topic.TopicStatuses
import io.prometheus.client.Collector.MetricFamilySamples

interface KafkistryMetricsCollector {

    fun expose(context: MetricsDataContext): List
}

data class MetricsDataContext(
    val clusters: Map,
    val clusterStatuses: List,
    val topicInspections: List,
    val clustersGroups: List,
    val allClustersTopicsOffsets: Map,
    val allClustersTopicOldestAges: Map>?>,
    val allClustersTopicReplicaInfos: Map>,
    val aclPrincipalInspections: List,
)




© 2015 - 2024 Weber Informatics LLC | Privacy Policy