Skip to main content

systemprompt_analytics/repository/tools/
mod.rs

1//! MCP tool-execution analytics over `mcp_tool_executions`.
2//!
3//! [`ToolAnalyticsRepository`] reports tool success/failure/timeout rates,
4//! latency percentiles, error and per-agent breakdowns, and trend series.
5//! Cross-tool listing lives in `list_queries`, single-tool drill-down in
6//! `detail_queries`.
7
8mod detail_queries;
9pub(super) mod list_queries;
10
11use crate::Result;
12use sqlx::PgPool;
13use std::sync::Arc;
14use systemprompt_database::DbPool;
15
16#[derive(Debug)]
17pub struct ToolAnalyticsRepository {
18    pool: Arc<PgPool>,
19}
20
21impl ToolAnalyticsRepository {
22    pub fn new(db: &DbPool) -> Result<Self> {
23        let pool = db.pool_arc()?;
24        Ok(Self { pool })
25    }
26}