1use crate::models;
12
13#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
14pub struct TopicStats {
15 #[serde(rename = "averageMsgSize", skip_serializing_if = "Option::is_none")]
16 pub average_msg_size: Option<f64>,
17 #[serde(rename = "backlogQuotaLimitSize", skip_serializing_if = "Option::is_none")]
18 pub backlog_quota_limit_size: Option<i64>,
19 #[serde(rename = "backlogQuotaLimitTime", skip_serializing_if = "Option::is_none")]
20 pub backlog_quota_limit_time: Option<i64>,
21 #[serde(rename = "backlogSize", skip_serializing_if = "Option::is_none")]
22 pub backlog_size: Option<i64>,
23 #[serde(rename = "bytesInCounter", skip_serializing_if = "Option::is_none")]
24 pub bytes_in_counter: Option<i64>,
25 #[serde(rename = "bytesOutCounter", skip_serializing_if = "Option::is_none")]
26 pub bytes_out_counter: Option<i64>,
27 #[serde(rename = "compaction", skip_serializing_if = "Option::is_none")]
28 pub compaction: Option<Box<models::CompactionStats>>,
29 #[serde(rename = "deduplicationStatus", skip_serializing_if = "Option::is_none")]
30 pub deduplication_status: Option<String>,
31 #[serde(rename = "delayedMessageIndexSizeInBytes", skip_serializing_if = "Option::is_none")]
32 pub delayed_message_index_size_in_bytes: Option<i64>,
33 #[serde(rename = "earliestMsgPublishTimeInBacklogs", skip_serializing_if = "Option::is_none")]
34 pub earliest_msg_publish_time_in_backlogs: Option<i64>,
35 #[serde(rename = "msgChunkPublished", skip_serializing_if = "Option::is_none")]
36 pub msg_chunk_published: Option<bool>,
37 #[serde(rename = "msgInCounter", skip_serializing_if = "Option::is_none")]
38 pub msg_in_counter: Option<i64>,
39 #[serde(rename = "msgOutCounter", skip_serializing_if = "Option::is_none")]
40 pub msg_out_counter: Option<i64>,
41 #[serde(rename = "msgRateIn", skip_serializing_if = "Option::is_none")]
42 pub msg_rate_in: Option<f64>,
43 #[serde(rename = "msgRateOut", skip_serializing_if = "Option::is_none")]
44 pub msg_rate_out: Option<f64>,
45 #[serde(rename = "msgThroughputIn", skip_serializing_if = "Option::is_none")]
46 pub msg_throughput_in: Option<f64>,
47 #[serde(rename = "msgThroughputOut", skip_serializing_if = "Option::is_none")]
48 pub msg_throughput_out: Option<f64>,
49 #[serde(rename = "nonContiguousDeletedMessagesRanges", skip_serializing_if = "Option::is_none")]
50 pub non_contiguous_deleted_messages_ranges: Option<i32>,
51 #[serde(rename = "nonContiguousDeletedMessagesRangesSerializedSize", skip_serializing_if = "Option::is_none")]
52 pub non_contiguous_deleted_messages_ranges_serialized_size: Option<i32>,
53 #[serde(rename = "offloadedStorageSize", skip_serializing_if = "Option::is_none")]
54 pub offloaded_storage_size: Option<i64>,
55 #[serde(rename = "oldestBacklogMessageAgeSeconds", skip_serializing_if = "Option::is_none")]
56 pub oldest_backlog_message_age_seconds: Option<i64>,
57 #[serde(rename = "oldestBacklogMessageSubscriptionName", skip_serializing_if = "Option::is_none")]
58 pub oldest_backlog_message_subscription_name: Option<String>,
59 #[serde(rename = "ownerBroker", skip_serializing_if = "Option::is_none")]
60 pub owner_broker: Option<String>,
61 #[serde(rename = "publishers", skip_serializing_if = "Option::is_none")]
62 pub publishers: Option<Vec<models::PublisherStats>>,
63 #[serde(rename = "replication", skip_serializing_if = "Option::is_none")]
64 pub replication: Option<std::collections::HashMap<String, models::ReplicatorStats>>,
65 #[serde(rename = "storageSize", skip_serializing_if = "Option::is_none")]
66 pub storage_size: Option<i64>,
67 #[serde(rename = "subscriptions", skip_serializing_if = "Option::is_none")]
68 pub subscriptions: Option<std::collections::HashMap<String, models::SubscriptionStats>>,
69 #[serde(rename = "topicEpoch", skip_serializing_if = "Option::is_none")]
70 pub topic_epoch: Option<i64>,
71 #[serde(rename = "waitingPublishers", skip_serializing_if = "Option::is_none")]
72 pub waiting_publishers: Option<i32>,
73}
74
75impl TopicStats {
76 pub fn new() -> TopicStats {
77 TopicStats {
78 average_msg_size: None,
79 backlog_quota_limit_size: None,
80 backlog_quota_limit_time: None,
81 backlog_size: None,
82 bytes_in_counter: None,
83 bytes_out_counter: None,
84 compaction: None,
85 deduplication_status: None,
86 delayed_message_index_size_in_bytes: None,
87 earliest_msg_publish_time_in_backlogs: None,
88 msg_chunk_published: None,
89 msg_in_counter: None,
90 msg_out_counter: None,
91 msg_rate_in: None,
92 msg_rate_out: None,
93 msg_throughput_in: None,
94 msg_throughput_out: None,
95 non_contiguous_deleted_messages_ranges: None,
96 non_contiguous_deleted_messages_ranges_serialized_size: None,
97 offloaded_storage_size: None,
98 oldest_backlog_message_age_seconds: None,
99 oldest_backlog_message_subscription_name: None,
100 owner_broker: None,
101 publishers: None,
102 replication: None,
103 storage_size: None,
104 subscriptions: None,
105 topic_epoch: None,
106 waiting_publishers: None,
107 }
108 }
109}
110