Skip to main content

feagi_api/v1/
monitoring_dtos.rs

1// Copyright 2025 Neuraville Inc.
2// Licensed under the Apache License, Version 2.0
3
4//! Monitoring API DTOs
5//!
6//! Request/response types for system monitoring and metrics
7
8use serde::{Deserialize, Serialize};
9use utoipa::ToSchema;
10
11/// Monitoring system status
12#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
13pub struct MonitoringStatusResponse {
14    pub enabled: bool,
15    pub metrics_collected: usize,
16    pub brain_readiness: bool,
17    pub burst_engine_active: bool,
18}
19
20/// System metrics response
21#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
22pub struct SystemMetricsResponse {
23    pub burst_frequency_hz: f64,
24    pub burst_count: u64,
25    pub neuron_count: usize,
26    pub cortical_area_count: usize,
27    pub brain_readiness: bool,
28    pub burst_engine_active: bool,
29}
30
31/// Detailed monitoring data
32#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
33pub struct MonitoringData {
34    pub neuron_count: usize,
35    pub cortical_area_count: usize,
36    pub burst_count: u64,
37    pub brain_readiness: bool,
38    pub burst_engine_active: bool,
39}
40
41/// Monitoring data response with timestamp
42#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
43pub struct MonitoringDataResponse {
44    pub data: MonitoringData,
45    pub timestamp: String,
46}