Analytics Engine


Turn your agent data into actionable insights. Analytics Engine is a time-series database optimized for storing and querying metrics at massive scale. Perfect for tracking agent performance, user engagement, billing data, trading data, and generating real-time dashboards.

Key Features

  • Time-Series Optimized: Built for high-frequency metric ingestion with 90 day retention
  • SQL Querying: Use familiar SQL to analyze your data
  • Real-Time Analytics: Query data as soon as it's written
  • Cost Effective: Pay only for data points written, not storage
  • Global Distribution: Data available worldwide with low latency

NOTE: If you are looking for longer storage retention, consider SQL Database combined with caching techniques to achieve similar results.

Getting Started

Wrangler Configuration

First, add analytics in your wrangler.json:

json

Agent Integration

Access analytics through your agent's environment and start tracking basic metrics:

typescript

Basic Query Example

Query your analytics data using SQL to extract meaningful insights:

typescript

MCP Integration

typescript

TypeScript API Reference

You can access the analytics API via the env of the Agent or MCP Tool:

typescript

Data Writing Methods

writeDataPoint(dataset: string, data: AnalyticsDataPoint): Promise<void>
Writes a single data point to the specified dataset. Use for individual events or metrics.

writeDataPoints(dataset: string, data: AnalyticsDataPoint[]): Promise<void>
Writes multiple data points in a single batch operation. More efficient for bulk data ingestion.

Query Methods

query(sql: string): Promise<AnalyticsQueryResult>
Executes a SQL query against your analytics data. Returns structured results with metadata.

getMetrics(dataset: string, options: MetricsOptions): Promise<MetricsResult>
Predefined query helper for common metric aggregations with time ranges and grouping.

getTimeSeries(dataset: string, metric: string, options: TimeSeriesOptions): Promise<TimeSeriesResult>
Specialized query for time-series data with automatic interval bucketing.

Data Structures

typescript

Examples

Each example demonstrates different analytics patterns for monitoring agent performance, billing tracking, A/B testing, and real-time system monitoring.

Performance Monitoring Agent

Comprehensive agent performance tracking with error handling and user satisfaction metrics:

typescript

Usage-Based Billing Agent

Track detailed resource usage and implement billing alerts for cost management:

typescript

A/B Testing Analytics Agent

Run experiments and analyze statistical significance of different agent variants:

typescript

Real-Time Monitoring Agent

Monitor system health with automatic anomaly detection and alerting:

typescript

Best Practices

Follow these patterns for optimal analytics performance and maintainability. Use consistent naming conventions and batch operations when possible.

Efficient Data Modeling

Choose appropriate dimension cardinality and use consistent naming conventions to optimize query performance and storage costs.

typescript

Query Optimization

Write efficient SQL queries that filter early and use appropriate aggregations to minimize data transfer and processing time.

typescript

Error Handling

Implement graceful error handling to ensure analytics failures don't break your main application flow.

typescript

Limitations & Considerations

  • Data Point Size: Maximum 25 fields per data point
  • String Length: Maximum 256 characters per string field
  • Write Rate: Up to 25,000 data points per minute per dataset
  • Retention: Data retained for 3 months by default
  • Query Complexity: Limited to 1000 result rows per query
  • Memory Store (KV) - Store analytics configurations and cache query results
  • Queues - Buffer high-volume analytics data
  • Logs - Detailed debugging information to complement metrics