Analytics & Evaluation
July 19, 2026 ยท View on GitHub
Advanced analytics and AI response evaluation features for monitoring usage, performance, and quality.
๐ฏ Overview
NeuroLink provides comprehensive analytics and evaluation capabilities to help you monitor AI usage, track performance, and assess response quality. These features are essential for production applications and enterprise deployments.
๐ Analytics Features
Usage Analytics
Track detailed metrics about your AI interactions:
import { NeuroLink } from "@juspay/neurolink";
const neurolink = new NeuroLink({
analytics: {
enabled: true,
endpoint: "https://analytics.yourcompany.com",
apiKey: process.env.ANALYTICS_API_KEY,
},
});
// Analytics automatically tracked
const result = await neurolink.generate({
input: { text: "Generate report" },
context: {
userId: "user123",
sessionId: "sess456",
department: "engineering",
},
});
CLI Analytics
Enable analytics in CLI commands:
# Enable analytics for single command
npx @juspay/neurolink gen "Analyze data" --enable-analytics
# With custom context
npx @juspay/neurolink gen "Business analysis" \
--enable-analytics \
--context '{"team":"product","project":"dashboard"}' \
--debug
Tracked Metrics
- Usage Statistics: Request count, frequency, patterns
- Performance Metrics: Response time, token usage, costs
- Provider Statistics: Success rates, error patterns, latency
- Cost Analysis: Per-provider costs, budget tracking
- User Analytics: Usage by user, team, or department
- Quality Metrics: Response evaluation scores
๐ Response Evaluation
AI-Powered Quality Assessment
// Enable evaluation for quality scoring
const result = await neurolink.generate({
input: { text: "Write production code" },
enableEvaluation: true,
evaluationDomain: "Senior Software Engineer",
evaluationCriteria: ["accuracy", "completeness"],
});
console.log(result.evaluation);
// {
// overall: 9.2,
// relevance: 9.5,
// accuracy: 9.0,
// completeness: 8.8,
// reasoning: "Code follows best practices...",
// alertSeverity: "none"
// }
CLI Evaluation
# Basic evaluation
npx @juspay/neurolink gen "Write API documentation" --enable-evaluation
# Domain-specific evaluation
npx @juspay/neurolink gen "Design system architecture" \
--enable-evaluation \
--evaluation-domain "Solutions Architect"
# Combined analytics and evaluation
npx @juspay/neurolink gen "Create test plan" \
--enable-analytics \
--enable-evaluation \
--evaluation-domain "QA Engineer" \
--debug
Evaluation Domains
Specialized evaluation contexts:
- Technical:
Senior Software Engineer,DevOps Specialist,Data Scientist - Business:
Product Manager,Business Analyst,Marketing Manager - Creative:
Content Writer,UX Designer,Creative Director - Academic:
Research Scientist,Technical Writer,Educator
๐ Analytics Collection
Per-Request Analytics
Analytics are collected on a per-request basis and included in each result:
// Enable analytics for a single request
const result = await neurolink.generate({
input: { text: "Generate documentation" },
enableAnalytics: true,
});
// Access analytics from the result
console.log(result.analytics);
// {
// totalTokens: 1523,
// promptTokens: 421,
// completionTokens: 1102,
// cost: 0.0045,
// durationMs: 1456,
// provider: "openai",
// model: "gpt-4o"
// }
Middleware-Based Analytics
For application-wide analytics collection, use the analytics middleware:
import { getAnalyticsMetrics, clearAnalyticsMetrics } from "@juspay/neurolink";
// Analytics are automatically collected by the middleware
const metrics = getAnalyticsMetrics();
// Process or export metrics as needed
console.log(metrics);
// Clear metrics after processing
clearAnalyticsMetrics();
๐ง Configuration
Environment Variables
# Evaluation Configuration
NEUROLINK_EVALUATION_PROVIDER="google-ai"
NEUROLINK_EVALUATION_MODEL="gemini-2.5-flash"
NEUROLINK_EVALUATION_THRESHOLD="7"
Per-Request Configuration
Analytics and evaluation are configured on a per-request basis:
// Enable analytics and evaluation for specific requests
const result = await neurolink.generate({
input: { text: "Your prompt" },
enableAnalytics: true,
enableEvaluation: true,
evaluationDomain: "Senior Software Engineer",
evaluationCriteria: ["accuracy", "completeness"],
});
๐ Available Methods
The following methods are fully available in the SDK for advanced analytics, performance monitoring, and cost calculations:
| Method | Description |
|---|---|
neurolink.getProviderMetrics() | Get aggregated provider metrics and performance |
neurolink.getCostAnalysis() | Get granular cost breakdown and projections |
neurolink.getTeamAnalytics() | Get team-wide usage, unique users, and quality |
neurolink.getProviderStatus() | Get provider availability status |
neurolink.getProviderHealthSummary() | Get health summary for all providers |
neurolink.getToolExecutionMetrics() | Get tool execution statistics |
getAnalyticsMetrics() | Standalone middleware function for analytics data |
import { NeuroLink } from "@juspay/neurolink";
const neurolink = new NeuroLink();
// Get provider metrics
const providerMetrics = await neurolink.getProviderMetrics({
timeRange: "last_7_days",
});
console.log(providerMetrics);
// Get granular cost analysis
const costAnalysis = await neurolink.getCostAnalysis({
includeProjections: true,
});
console.log(costAnalysis);
// Get team usage analytics
const teamAnalytics = await neurolink.getTeamAnalytics({
teamId: "engineering-core",
});
console.log(teamAnalytics);
๐ Use Cases
Performance Monitoring
// Monitor provider performance
const perfMetrics = await neurolink.getProviderMetrics({
providers: ["openai", "google", "anthropic"],
timeRange: "last_24_hours",
});
// Identify best performing provider by average latency
const bestProvider = perfMetrics.providers.sort(
(a, b) => a.averageLatency - b.averageLatency,
)[0];
console.log(`Best provider: ${bestProvider.name}`);
Cost Optimization
// Track costs and project future spend
const costAnalysis = await neurolink.getCostAnalysis({
timeRange: "current_month",
groupBy: ["provider", "model"],
includeProjections: true,
});
console.log(`Current spend: $${costAnalysis.totalCost}`);
console.log(`Projected next month: $${costAnalysis.projections?.nextMonth}`);
Quality Assurance
# Batch evaluate responses for quality
cat prompts.txt | while read prompt; do
npx @juspay/neurolink gen "$prompt" \
--enable-evaluation \
--evaluation-domain "Senior Engineer" \
--json >> evaluations.json
done
# Analyze quality trends
jq '.evaluation.overall' evaluations.json | awk '{sum+=\$1} END {print "Average quality:", sum/NR}'
๐ Enterprise Features
Team Analytics
// Department-level analytics and user attribution
const teamMetrics = await neurolink.getTeamAnalytics({
departments: ["engineering", "product", "marketing"],
timeRange: "last_30_days",
});
console.log(`Total active unique users: ${teamMetrics.uniqueUsers}`);
Custom Metrics
// Define custom analytics tracking
const result = await neurolink.generate({
input: { text: "Generate report" },
analytics: {
customMetrics: {
feature: "report_generation",
complexity: "high",
businessValue: "critical",
},
},
});
Compliance Monitoring
# Audit trail with evaluation
npx @juspay/neurolink gen "Sensitive analysis" \
--enable-analytics \
--enable-evaluation \
--context '{"compliance":"required","audit":"true"}' \
--evaluation-domain "Compliance Officer"
๐ Related Documentation
- CLI Commands - Analytics CLI commands
- Environment Variables - Configuration
- SDK Reference - Programmatic analytics
- Enterprise Setup - Enterprise features