Skip to main content

Analytics Dashboards

Reeflect provides comprehensive analytics dashboards to monitor and analyze your memory system's performance, usage patterns, and content.

Analytics Dashboard

Dashboard Types​

Usage Dashboard

Tracks memory creation, retrieval, and access patterns over time.

  • Memory creation trends
  • Retrieval frequency by namespace
  • Most accessed memories
  • User activity patterns

Performance Dashboard

Monitors system performance and resource utilization.

  • Retrieval latency
  • Embedding generation time
  • Storage utilization
  • API call volume

Content Dashboard

Analyzes the content and structure of your memory corpus.

  • Topic distribution
  • Entity analysis
  • Sentiment trends
  • Memory relationships

Enterprise Dashboard

Provides governance, compliance, and team collaboration metrics.

  • User activity by team
  • Access control compliance
  • Memory retention audit
  • Contradiction detection rates

Setting Up Dashboards​

Reeflect offers several ways to deploy and access analytics dashboards:

1. Web Dashboard​

The easiest option is to use our hosted web dashboard:

from reeflect.analytics import DashboardManager

# Configure dashboard access
dashboard = DashboardManager(memory_system)

# Generate access link (valid for 7 days by default)
dashboard_url = dashboard.generate_access_link(
dashboards=["usage", "performance", "content"],
permissions="read",
expiration_days=7
)

print(f"Access your dashboard at: {dashboard_url}")

2. Self-hosted Dashboard​

For organizations that prefer to host their own dashboards:

# Deploy a self-hosted dashboard
dashboard.deploy_self_hosted(
host="localhost",
port=8080,
dashboards=["usage", "performance", "content", "enterprise"],
authentication={
"type": "basic",
"users": [
{"username": "admin", "password": "secure_password", "role": "admin"},
{"username": "viewer", "password": "view_only", "role": "viewer"}
]
}
)

print("Dashboard deployed at http://localhost:8080")

3. Integration with External Tools​

For teams already using analytics platforms, Reeflect can integrate with popular tools:

# Integrate with Grafana
dashboard.integrate_with_external(
platform="grafana",
connection_info={
"url": "https://your-grafana-instance.com",
"api_key": "your_grafana_api_key",
"org_id": 1,
"dashboard_folder": "Reeflect"
},
dashboards=["usage", "performance"]
)

# Integrate with DataDog
dashboard.integrate_with_external(
platform="datadog",
connection_info={
"api_key": "your_datadog_api_key",
"app_key": "your_datadog_app_key",
"site": "us"
},
dashboards=["usage", "performance", "content"]
)

Dashboard Widgets​

Reeflect dashboards include various widgets for monitoring different aspects of your memory system:

Usage Metrics Widgets​

  • Memory Creation Rate: Tracks memory creation over time
  • Retrieval Volume: Shows retrieval request volume
  • Active Namespaces: Displays activity by namespace
  • User Activity Heatmap: Shows when users are most active
  • Memory Importance Distribution: Histograms of memory importance

Performance Metrics Widgets​

  • Retrieval Latency: Shows p50, p95, and p99 retrieval times
  • Embedding Generation Time: Tracks embedding processing time
  • Cache Hit Rate: Monitors cache efficiency
  • API Call Volume: Tracks API usage
  • Error Rate: Shows errors by type and endpoint

Content Analysis Widgets​

  • Topic Clusters: Shows main topic groups in memories
  • Entity Recognition: Identifies and tracks entities
  • Relationship Graph: Visualizes memory relationships
  • Content Age Analysis: Shows age distribution of memories
  • Sentiment Analysis: Tracks sentiment over time

Enterprise Widgets​

  • User Access Logs: Tracks user access to the system
  • Compliance Status: Shows compliance with retention policies
  • Team Activity: Tracks activity by team
  • Contradiction Rate: Monitors memory consistency

Custom Dashboard Widgets​

You can create custom dashboard widgets for specific monitoring needs:

from reeflect.analytics import CustomWidget

# Create a custom widget
contradiction_rate_widget = CustomWidget(
title="Contradiction Rate Over Time",
type="time_series",
data_source=lambda time_period: analytics.get_contradiction_rate(time_period),
refresh_interval=3600, # seconds
chart_properties={
"x_axis": "time",
"y_axis": "rate",
"line_color": "#9f7aea",
"alert_threshold": 0.2 # Alert if contradiction rate exceeds 20%
}
)

# Add widget to dashboard
dashboard.add_custom_widget(
widget=contradiction_rate_widget,
dashboard="content"
)

Dashboard Embedding​

You can embed dashboards directly in your applications:

import { Dashboard } from 'reeflect-react';

function AnalyticsDashboard() {
return (
<div className="dashboard-container">
<h2>Memory System Analytics</h2>

<Dashboard
apiKey="your_api_key"
dashboardId="usage_dashboard"
theme="light"
height={800}
refreshInterval={60} // Refresh every 60 seconds
timeRange={{
start: "7d", // 7 days ago
end: "now"
}}
filters={{
namespace: "user_preferences"
}}
/>
</div>
);
}

Dashboard APIs​

You can also access dashboard data programmatically:

# Get dashboard data
dashboard_data = dashboard.get_dashboard_data(
dashboard_id="usage_dashboard",
time_range={
"start": "2025-01-01T00:00:00Z",
"end": "2025-04-01T00:00:00Z"
},
filters={
"namespace": "user_preferences"
}
)

# Export dashboard data
dashboard.export_dashboard_data(
dashboard_id="usage_dashboard",
format="csv", # Options: csv, json, excel
output_path="./dashboard_data.csv",
time_range={
"start": "2025-01-01T00:00:00Z",
"end": "2025-04-01T00:00:00Z"
}
)

Alerting​

Enterprise users can set up automated alerts based on dashboard metrics:

# Configure alerts
dashboard.configure_alerts(
dashboard_id="performance_dashboard",
alerts=[
{
"name": "high_latency_alert",
"metric": "p95_retrieval_latency",
"condition": "> 200", # ms
"threshold_duration": "5m", # Alert if condition persists for 5 minutes
"severity": "warning",
"channels": ["email", "slack"],
"recipients": {
"email": ["alerts@example.com"],
"slack": "#monitoring"
}
},
{
"name": "error_rate_alert",
"metric": "error_rate",
"condition": "> 0.01", # 1% error rate
"threshold_duration": "2m",
"severity": "critical",
"channels": ["email", "slack", "pagerduty"],
"recipients": {
"email": ["alerts@example.com", "oncall@example.com"],
"slack": "#monitoring-critical",
"pagerduty": "P1234567"
}
}
]
)

Dashboard Access Control​

For enterprise users, you can configure fine-grained access control for dashboards:

# Configure dashboard access
dashboard.configure_access_control(
dashboard_id="enterprise_dashboard",
access_rules=[
{
"role": "admin",
"permissions": ["view", "edit", "share", "export", "configure_alerts"]
},
{
"role": "manager",
"permissions": ["view", "export", "configure_alerts"]
},
{
"role": "analyst",
"permissions": ["view", "export"]
},
{
"role": "viewer",
"permissions": ["view"]
}
],
default_role="viewer"
)

# Assign dashboard access to users
dashboard.assign_dashboard_access(
dashboard_id="enterprise_dashboard",
user_assignments=[
{"user_id": "user123", "role": "admin"},
{"user_id": "user456", "role": "manager"},
{"user_id": "user789", "role": "analyst"}
]
)

Next Steps​

Learn about related topics for monitoring and analyzing your memory system: