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//!
8//! Copyright (c) systemprompt.io — Business Source License 1.1.
9//! See <https://systemprompt.io> for licensing details.
10
11mod detail_queries;
12pub(super) mod list_queries;
13
14use crate::Result;
15use sqlx::PgPool;
16use std::sync::Arc;
17use systemprompt_database::DbPool;
18
19#[derive(Debug)]
20pub struct ToolAnalyticsRepository {
21 pool: Arc<PgPool>,
22}
23
24impl ToolAnalyticsRepository {
25 pub fn new(db: &DbPool) -> Result<Self> {
26 let pool = db.pool_arc()?;
27 Ok(Self { pool })
28 }
29}