#[derive(Debug, Clone, Copy)]
pub(super) enum LoggingSchemaDebugHealthReasonMetric {
RequiredMissingTables,
RequiredMissingColumns,
RelationTypeMismatches,
OptionalMissingTables,
OptionalMissingColumns,
}
#[derive(Debug, Clone, Copy)]
pub(super) struct LoggingSchemaDebugHealthReasonSpec {
pub(super) code: &'static str,
pub(super) severity: &'static str,
pub(super) message: &'static str,
pub(super) metric: LoggingSchemaDebugHealthReasonMetric,
}
pub(super) const LOGGING_SCHEMA_DEBUG_HEALTH_REASON_SPECS: [LoggingSchemaDebugHealthReasonSpec; 5] = [
LoggingSchemaDebugHealthReasonSpec {
code: "missing_required_tables",
severity: "error",
message: "Required logging tables are missing",
metric: LoggingSchemaDebugHealthReasonMetric::RequiredMissingTables,
},
LoggingSchemaDebugHealthReasonSpec {
code: "missing_required_columns",
severity: "error",
message: "Required logging columns are missing",
metric: LoggingSchemaDebugHealthReasonMetric::RequiredMissingColumns,
},
LoggingSchemaDebugHealthReasonSpec {
code: "relation_type_mismatches",
severity: "error",
message: "Found relation types do not match expected relation types",
metric: LoggingSchemaDebugHealthReasonMetric::RelationTypeMismatches,
},
LoggingSchemaDebugHealthReasonSpec {
code: "missing_optional_tables",
severity: "warning",
message: "Optional logging tables are missing",
metric: LoggingSchemaDebugHealthReasonMetric::OptionalMissingTables,
},
LoggingSchemaDebugHealthReasonSpec {
code: "missing_optional_columns",
severity: "warning",
message: "Optional logging columns are missing",
metric: LoggingSchemaDebugHealthReasonMetric::OptionalMissingColumns,
},
];