rocketmq_model/common/running/
running_stats.rs1#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
17pub enum RunningStats {
18 CommitLogMaxOffset,
20
21 CommitLogMinOffset,
23
24 CommitLogDiskRatio,
26
27 ConsumeQueueDiskRatio,
29
30 ScheduleMessageOffset,
32}
33
34impl RunningStats {
35 pub fn as_str(&self) -> &'static str {
37 match self {
38 RunningStats::CommitLogMaxOffset => "commitLogMaxOffset",
39 RunningStats::CommitLogMinOffset => "commitLogMinOffset",
40 RunningStats::CommitLogDiskRatio => "commitLogDiskRatio",
41 RunningStats::ConsumeQueueDiskRatio => "consumeQueueDiskRatio",
42 RunningStats::ScheduleMessageOffset => "scheduleMessageOffset",
43 }
44 }
45}
46
47impl std::fmt::Display for RunningStats {
48 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
49 write!(f, "{}", self.as_str())
50 }
51}
52
53impl std::str::FromStr for RunningStats {
54 type Err = String;
55
56 fn from_str(s: &str) -> Result<Self, Self::Err> {
57 match s {
58 "commitLogMaxOffset" => Ok(RunningStats::CommitLogMaxOffset),
59 "commitLogMinOffset" => Ok(RunningStats::CommitLogMinOffset),
60 "commitLogDiskRatio" => Ok(RunningStats::CommitLogDiskRatio),
61 "consumeQueueDiskRatio" => Ok(RunningStats::ConsumeQueueDiskRatio),
62 "scheduleMessageOffset" => Ok(RunningStats::ScheduleMessageOffset),
63 _ => Err(format!("Unknown RunningStats value: {s}")),
64 }
65 }
66}