sentinel-group / sentinel-rust

Sentinel Rust version
Apache License 2.0
128 stars 21 forks source link

form_metric_filename does not form correct metric filename when the service_name does not contain dot #140

Closed flearc closed 6 months ago

flearc commented 6 months ago

The function form_metric_filename takes service_name as a parameter but always uses empty string as filename to generate the metric filename if the service_name does not contains dot(.).

// Generate the metric file name from the service name.
fn form_metric_filename(service_name: &str, with_pid: bool) -> String {
    let dot = ".";
    let separator = "-";
    let mut filename = String::new();
    if service_name.contains(dot) {
        filename = service_name.replace(dot, separator);
    }
    let mut filename = format!("{}{}{}", filename, separator, METRIC_FILENAME_SUFFIX);
    if with_pid {
        let pid = std::process::id();
        filename = format!("{}.pid{}", filename, pid);
    }
    filename
}