use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct DoctorReport {
pub ok: bool,
pub checks: Vec<DoctorCheck>,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct DoctorCheck {
pub name: String,
pub ok: bool,
pub message: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct HealthReport {
pub ok: bool,
pub summary: String,
pub apps: Vec<AppHealth>,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct AppHealth {
pub instance_id: String,
pub session_id: String,
pub service_name: String,
pub status: String,
pub ok: bool,
pub checks: Vec<HealthCheck>,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct HealthCheck {
pub name: String,
pub ok: bool,
pub message: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct TraceSummary {
pub trace_id: String,
pub root_span_name: Option<String>,
pub start_time_unix_nanos: Option<i64>,
pub duration_unix_nanos: Option<i64>,
pub status_code: Option<String>,
pub span_count: usize,
pub error_count: usize,
}