kube-forward 0.4.7

A persistent port-forward manager for Kubernetes
Documentation
use metrics::{counter, gauge};

#[derive(Clone, Debug, PartialEq)]
pub struct ForwardMetrics {
    pub(crate) name: String,
}

impl ForwardMetrics {
    pub fn new(name: String) -> Self {
        Self { name }
    }

    pub fn record_connection_attempt(&self) {
        counter!("port_forward_connection_attempts_total", 1, "forward" => self.name.clone());
    }

    pub fn record_connection_success(&self) {
        counter!("port_forward_connection_successes_total", 1, "forward" => self.name.clone());
    }

    pub fn record_connection_failure(&self) {
        counter!("port_forward_connection_failures_total", 1, "forward" => self.name.clone());
    }

    pub fn set_connection_status(&self, connected: bool) {
        gauge!("port_forward_connected", if connected { 1.0 } else { 0.0 }, "forward" => self.name.clone());
    }
}