pub struct DashboardState {
pub cost_tracker: Arc<CostTracker>,
pub prometheus_handle: PrometheusHandle,
pub broadcast_tx: Sender<WsMessage>,
/* private fields */
}Expand description
Shared dashboard state
Fields§
§cost_tracker: Arc<CostTracker>Cost tracker reference
prometheus_handle: PrometheusHandlePrometheus metrics handle for /metrics endpoint
broadcast_tx: Sender<WsMessage>Broadcast channel for WebSocket updates
Implementations§
Source§impl DashboardState
impl DashboardState
Sourcepub fn new(
cost_tracker: Arc<CostTracker>,
prometheus_handle: PrometheusHandle,
) -> Self
pub fn new( cost_tracker: Arc<CostTracker>, prometheus_handle: PrometheusHandle, ) -> Self
Create new dashboard state with Prometheus handle
Sourcepub fn update_agent(&self, status: AgentStatus)
pub fn update_agent(&self, status: AgentStatus)
Register or update an agent
Sourcepub fn remove_agent(&self, agent_id: &str)
pub fn remove_agent(&self, agent_id: &str)
Remove an agent
Sourcepub fn get_agents(&self) -> Vec<AgentStatus>
pub fn get_agents(&self) -> Vec<AgentStatus>
Get all agents
Sourcepub fn get_agent(&self, id: &str) -> Option<AgentStatus>
pub fn get_agent(&self, id: &str) -> Option<AgentStatus>
Get a specific agent
Sourcepub fn update_session(&self, session: Session)
pub fn update_session(&self, session: Session)
Add or update a session
Sourcepub fn get_sessions(&self) -> Vec<Session>
pub fn get_sessions(&self) -> Vec<Session>
Get all sessions
Sourcepub fn get_session(&self, id: &str) -> Option<Session>
pub fn get_session(&self, id: &str) -> Option<Session>
Get a specific session
Sourcepub fn add_session_message(&self, message: SessionMessage)
pub fn add_session_message(&self, message: SessionMessage)
Add a message to a session
Sourcepub fn get_session_messages(&self, session_id: &str) -> Vec<SessionMessage>
pub fn get_session_messages(&self, session_id: &str) -> Vec<SessionMessage>
Get messages for a session
Sourcepub fn add_trace(&self, trace: TraceEntry)
pub fn add_trace(&self, trace: TraceEntry)
Add a trace entry
Sourcepub fn get_traces(&self) -> Vec<TraceEntry>
pub fn get_traces(&self) -> Vec<TraceEntry>
Get all traces
Sourcepub fn get_session_traces(&self, session_id: &str) -> Vec<TraceEntry>
pub fn get_session_traces(&self, session_id: &str) -> Vec<TraceEntry>
Get traces for a specific session
Sourcepub fn record_message(&self)
pub fn record_message(&self)
Increment message counter
Sourcepub fn record_request(
&self,
model: &str,
cost: f64,
tokens: u64,
latency_ms: f64,
)
pub fn record_request( &self, model: &str, cost: f64, tokens: u64, latency_ms: f64, )
Record a new LLM request (broadcasts to clients)
Sourcepub fn get_metrics(&self) -> DashboardMetrics
pub fn get_metrics(&self) -> DashboardMetrics
Get current metrics snapshot
Sourcepub fn broadcast_metrics(&self)
pub fn broadcast_metrics(&self)
Broadcast metrics to all connected clients
Auto Trait Implementations§
impl !Freeze for DashboardState
impl !RefUnwindSafe for DashboardState
impl Send for DashboardState
impl Sync for DashboardState
impl Unpin for DashboardState
impl UnsafeUnpin for DashboardState
impl !UnwindSafe for DashboardState
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more