sui_core/validator_client_monitor/
mod.rs1mod metrics;
5mod monitor;
6mod stats;
7
8#[cfg(test)]
9mod tests;
10
11pub use metrics::ValidatorClientMetrics;
12pub use monitor::ValidatorClientMonitor;
13use std::time::Duration;
14use strum::EnumIter;
15use sui_types::{base_types::AuthorityName, messages_grpc::PingType};
16
17#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, EnumIter)]
19pub enum OperationType {
20 Submit,
21 Effects,
22 FastPath,
23 HealthCheck,
24 Consensus,
25}
26
27impl OperationType {
28 pub fn as_str(&self) -> &str {
29 match self {
30 OperationType::Submit => "submit",
31 OperationType::Effects => "effects",
32 OperationType::HealthCheck => "health_check",
33 OperationType::FastPath => "fast_path",
34 OperationType::Consensus => "consensus",
35 }
36 }
37}
38
39#[derive(Debug, Clone)]
41pub struct OperationFeedback {
42 pub authority_name: AuthorityName,
44 pub display_name: String,
46 pub operation: OperationType,
48 pub ping_type: Option<PingType>,
50 pub result: Result<Duration, ()>,
56}