systemprompt-analytics 0.21.1

Analytics for systemprompt.io AI governance infrastructure. Session, agent, tool, and microdollar-precision cost attribution across the MCP governance pipeline.
Documentation

Production infrastructure for AI agents

Website · Documentation · Guides · Core · Template · Discord


systemprompt-analytics

Crates.io Docs.rs License: BSL-1.1 codecov

Prove what your agents did, down to the microdollar. Every session, agent, tool call, and cost is attributed and stored where you can query it, so the answer to "what happened" comes from your database, not a vendor's dashboard.

Layer: Domain — business-logic modules that implement systemprompt.io features. Part of the systemprompt-core workspace.

Overview

Capabilities · Analytics & Observability

This crate provides:

  • Session Management - Create, track, and manage user sessions with fingerprint-based identification
  • Behavioral Bot Detection - Server-side detection of automated traffic using 7-signal analysis
  • Engagement Tracking - Client-side engagement metrics (scroll depth, time on page, clicks)
  • Funnel Analytics - Track user progression through defined conversion funnels
  • Anomaly Detection - Real-time threshold-based and trend anomaly detection
  • Platform Statistics - Aggregated metrics for users, agents, tools, costs, and traffic

Usage

[dependencies]
systemprompt-analytics = "0.21"

Optional geolocation feature enables MaxMind GeoIP enrichment via maxminddb:

systemprompt-analytics = { version = "0.21", features = ["geolocation"] }

Module Layout

Module Purpose
models/ Analytics models: sessions, events, engagement, fingerprints, funnels, plus CLI row types.
repository/ Compile-time-verified queries for sessions, agents, tools, requests, costs, traffic, content, funnels, fingerprints, and aggregate stats.
services/ AnalyticsService session lifecycle, AnomalyDetectionService, the behavioral_detector/ 7-signal bot detection, session cleanup, and the request/GeoIP extractor/.

Schema DDL lives in schema/*.sql (anomaly_thresholds, engagement_events, fingerprint_reputation, funnels, funnel_progress) with migrations in schema/migrations/:

  • 001_add_engagement_event_type.sql
  • 002_add_engagement_event_data.sql
  • 003_seed_anomaly_thresholds.sql

Key Components

Services

Service Purpose
AnalyticsService Session lifecycle management and analytics extraction
AnomalyDetectionService Threshold-based and trend anomaly detection
BehavioralBotDetector 7-signal server-side bot detection
SessionCleanupService Cleanup of inactive sessions

Repositories

Repository Purpose
SessionRepository Session CRUD and behavioral data queries
EngagementRepository Engagement event operations
FingerprintRepository Fingerprint reputation tracking
FunnelRepository Funnel progress and statistics
AnalyticsEventsRepository Analytics event storage
CoreStatsRepository Platform statistics and trends
AgentAnalyticsRepository Agent task analytics
ToolAnalyticsRepository MCP tool execution analytics
RequestAnalyticsRepository AI request analytics
CostAnalyticsRepository Cost breakdown queries
TrafficAnalyticsRepository Traffic source analysis
ContentAnalyticsRepository Content performance metrics
OverviewAnalyticsRepository Dashboard metrics
ConversationAnalyticsRepository Conversation statistics
CliSessionAnalyticsRepository CLI session statistics

Models

Model Purpose
AnalyticsSession Session data with tracking fields
AnalyticsEvent Event with type, category, severity
EngagementEvent Client-side engagement metrics
FingerprintReputation Fingerprint tracking and flags
Funnel, FunnelStep, FunnelProgress Funnel tracking
AnomalyCheckResult, AnomalyLevel Anomaly detection
BehavioralAnalysisResult, BehavioralSignal Bot detection

Dependencies

Crate Purpose
systemprompt-database Database pool access
systemprompt-extension Extension trait and schema registration
systemprompt-models Shared types including ContentRouting
systemprompt-identifiers SessionId, UserId, FunnelId, and other typed IDs
systemprompt-traits Repository trait
maxminddb (optional) GeoIP database reader behind geolocation feature

Behavioral Bot Detection

The BehavioralBotDetector analyzes sessions using 7 signals:

Signal Points Threshold
High Request Count 30 > 50 requests
High Page Coverage 25 > 60% of site pages
Sequential Navigation 20 Systematic crawl pattern
Multiple Fingerprint Sessions 20 > 5 sessions per fingerprint
Regular Timing 15 < 0.1 timing variance
High Pages Per Minute 15 > 5 pages/min
Outdated Browser 10 Chrome < 90 or Firefox < 88

Sessions with score >= 50 are marked as behavioral bots.

License

BSL-1.1 (Business Source License). Source-available for evaluation, testing, and non-production use. Production use requires a commercial license. Each version converts to Apache 2.0 four years after publication. See LICENSE.


systemprompt.io · Documentation · Guides · Live Demo · Template · crates.io · docs.rs · Discord

Domain layer · Own how your organization uses AI.