athena_rs 3.26.4

Hyper performant polyglot Database driver
Documentation
//! Health-reason metric readers for `/debug/schema`.
//!
//! This module owns selecting one aggregate count from summary metrics for a
//! requested health-reason metric kind.

use super::debug_health_reasons_specs::LoggingSchemaDebugHealthReasonMetric;
use super::debug_summary_metrics::LoggingSchemaDebugSummaryMetrics;

/// Reads one summary-metrics count for the requested health-reason metric type.
pub(super) fn read_health_reason_metric_count(
    metrics: &LoggingSchemaDebugSummaryMetrics,
    metric: LoggingSchemaDebugHealthReasonMetric,
) -> usize {
    match metric {
        LoggingSchemaDebugHealthReasonMetric::RequiredMissingTables => {
            metrics.required_missing_table_count
        }
        LoggingSchemaDebugHealthReasonMetric::RequiredMissingColumns => {
            metrics.required_missing_column_count
        }
        LoggingSchemaDebugHealthReasonMetric::RelationTypeMismatches => {
            metrics.relation_type_mismatch_count
        }
        LoggingSchemaDebugHealthReasonMetric::OptionalMissingTables => {
            metrics.optional_missing_table_count
        }
        LoggingSchemaDebugHealthReasonMetric::OptionalMissingColumns => {
            metrics.optional_missing_column_count
        }
    }
}