Telemetry
Usage tracking and analytics
Telemetry tracks agent, tool, and LLM usage for analytics and debugging.
Quick Start
- Simple Usage
typescript import { TelemetryCollector } from 'praisonai'; const telemetry = new TelemetryCollector({ enabled: true }); telemetry.track('user_action', { action: 'click' }); - With Configuration
Configure batching, endpoints, and opt-out — see sections below.
Basic Usage
import { TelemetryCollector } from 'praisonai';
const telemetry = new TelemetryCollector({ enabled: true });
telemetry.track('user_action', { action: 'click', target: 'button' });Track Feature Usage
import { getTelemetry } from 'praisonai';
const telemetry = getTelemetry();
telemetry.trackFeatureUsage('chat', { model: 'gpt-4o' });
telemetry.trackFeatureUsage('tool_call', { tool: 'calculator' });Track Agent Execution
import { getTelemetry } from 'praisonai';
const telemetry = getTelemetry();
const startTime = Date.now();
// ... agent execution ...
const duration = Date.now() - startTime;
telemetry.trackAgentExecution('MyAgent', duration, true);Track Tool Calls
import { getTelemetry } from 'praisonai';
const telemetry = getTelemetry();
telemetry.trackToolCall('calculator', 150, true);
telemetry.trackToolCall('web_search', 2000, false);Track LLM Calls
import { getTelemetry } from 'praisonai';
const telemetry = getTelemetry();
telemetry.trackLLMCall('openai', 'gpt-4o', 1500, 2500);Enable/Disable
import { enableTelemetry, disableTelemetry, getTelemetry } from 'praisonai';
// Enable telemetry
enableTelemetry();
// Disable telemetry
disableTelemetry();
// Check status
const telemetry = getTelemetry();
console.log('Enabled:', telemetry.isEnabled());Environment Variables
# Disable telemetry
export PRAISONAI_TELEMETRY_DISABLED=true
# Or use DO_NOT_TRACK
export DO_NOT_TRACK=trueCleanup
import { cleanupTelemetry } from 'praisonai';
// Flush pending events and cleanup
cleanupTelemetry();Custom Configuration
import { TelemetryCollector } from 'praisonai';
const telemetry = new TelemetryCollector({
enabled: true,
endpoint: 'https://your-analytics.com/events',
batchSize: 50,
flushInterval: 30000
});