mssf_util/monitoring/
entities.rs1use mssf_core::types::{
7 ApplicationHealth, ApplicationQueryResultItem, ClusterHealth, NodeHealthResult,
8 NodeQueryResultItem, PartitionHealthResult, ReplicaHealthResult, ServiceHealthResult,
9 ServicePartitionQueryResultItem, ServiceQueryResultItem, ServiceReplicaQueryResultItem, Uri,
10};
11
12#[derive(Debug, Clone)]
17pub enum ProducerEvent {
18 Node(NodeHealthEntity),
19 Cluster(ClusterHealthEntity),
20 Application(ApplicationHealthEntity),
21 Partition(PartitionHealthEntity),
22 Service(ServiceHealthEntity),
23 Replica(ReplicaHealthEntity),
24 IterationComplete(LoopKind),
28}
29
30#[derive(Debug, Clone, Copy, PartialEq, Eq)]
33pub enum LoopKind {
34 ClusterNode,
36 Application,
38}
39
40#[derive(Debug, Clone)]
43pub struct ClusterHealthEntity {
44 pub health: ClusterHealth,
45}
46
47#[derive(Debug, Clone)]
48pub struct NodeHealthEntity {
49 pub node: NodeQueryResultItem,
50 pub health: NodeHealthResult,
51}
52
53#[derive(Debug, Clone)]
54pub struct ApplicationHealthEntity {
55 pub application: ApplicationQueryResultItem,
56 pub health: ApplicationHealth,
57}
58
59#[derive(Debug, Clone)]
60pub struct ServiceHealthEntity {
61 pub service: ServiceQueryResultItem,
62 pub health: ServiceHealthResult,
63}
64
65#[derive(Debug, Clone)]
66pub struct PartitionHealthEntity {
67 pub partition: ServicePartitionQueryResultItem,
68 pub health: PartitionHealthResult,
69 pub service_name: Uri,
70 pub application_name: Uri,
71}
72
73#[derive(Debug, Clone)]
74pub struct ReplicaHealthEntity {
75 pub replica: ServiceReplicaQueryResultItem,
76 pub health: ReplicaHealthResult,
77 pub service_name: Uri,
78 pub application_name: Uri,
79}