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}