Skip to content

Commit 21f4767

Browse files
Add queue_totals to Overview
1 parent 879e99d commit 21f4767

File tree

2 files changed

+50
-1
lines changed

2 files changed

+50
-1
lines changed

src/formatting.rs

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,31 @@ impl Display for ObjectTotals {
2727
}
2828
}
2929

30+
impl Display for Rate {
31+
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
32+
writeln!(f, "{:.2}", self.rate)?;
33+
Ok(())
34+
}
35+
}
36+
37+
impl Display for QueueTotals {
38+
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
39+
writeln!(f, "all messages: {}", self.messages)?;
40+
writeln!(
41+
f,
42+
"messages ready for dlievery: {}",
43+
self.messages_ready_for_delivery
44+
)?;
45+
writeln!(
46+
f,
47+
"messages delivered but unacknowledged by consumer: {}",
48+
self.messages_delivered_but_unacknowledged_by_consumers
49+
)?;
50+
51+
Ok(())
52+
}
53+
}
54+
3055
impl Display for TagList {
3156
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
3257
fmt_comma_separated_list(f, &self.0)

src/responses.rs

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -980,6 +980,13 @@ impl fmt::Display for ChurnRates {
980980
}
981981
}
982982

983+
#[derive(Debug, Deserialize, Clone, PartialEq, PartialOrd)]
984+
#[serde(transparent)]
985+
#[cfg_attr(feature = "tabled", derive(Tabled))]
986+
pub struct Rate {
987+
pub rate: f64,
988+
}
989+
983990
#[derive(Debug, Deserialize, Clone, Eq, PartialEq)]
984991
#[cfg_attr(feature = "tabled", derive(Tabled))]
985992
pub struct ObjectTotals {
@@ -990,6 +997,22 @@ pub struct ObjectTotals {
990997
pub consumers: u64,
991998
}
992999

1000+
#[derive(Debug, Deserialize, Clone, PartialEq)]
1001+
#[cfg_attr(feature = "tabled", derive(Tabled))]
1002+
pub struct QueueTotals {
1003+
pub messages: u64,
1004+
#[serde(rename = "messages_ready")]
1005+
pub messages_ready_for_delivery: u64,
1006+
#[serde(rename = "messages_unacknowledged")]
1007+
pub messages_delivered_but_unacknowledged_by_consumers: u64,
1008+
1009+
pub message_details: Rate,
1010+
#[serde(rename = "messages_ready_details")]
1011+
pub messages_ready_for_delivery_details: Rate,
1012+
#[serde(rename = "messages_unacknowledged_details")]
1013+
pub messages_delivered_but_unacknowledged_by_consumers_details: Rate,
1014+
}
1015+
9931016
#[derive(Debug, Deserialize, Clone, Eq, PartialEq)]
9941017
#[cfg_attr(feature = "tabled", derive(Tabled))]
9951018
pub struct Listener {
@@ -1004,7 +1027,7 @@ pub struct Listener {
10041027
#[serde(transparent)]
10051028
pub struct TagMap(pub Map<String, serde_json::Value>);
10061029

1007-
#[derive(Debug, Deserialize, Clone, Eq, PartialEq)]
1030+
#[derive(Debug, Deserialize, Clone, PartialEq)]
10081031
#[cfg_attr(feature = "tabled", derive(Tabled))]
10091032
pub struct Overview {
10101033
pub cluster_name: String,
@@ -1024,6 +1047,7 @@ pub struct Overview {
10241047

10251048
pub statistics_db_event_queue: u64,
10261049
pub churn_rates: ChurnRates,
1050+
pub queue_totals: QueueTotals,
10271051
pub object_totals: ObjectTotals,
10281052
}
10291053

0 commit comments

Comments
 (0)