Installation
Copy
npm install praisonai
Basic Usage
Copy
import { TelemetryCollector } from 'praisonai';
const telemetry = new TelemetryCollector({ enabled: true });
telemetry.track('user_action', { action: 'click', target: 'button' });
Track Feature Usage
Copy
import { getTelemetry } from 'praisonai';
const telemetry = getTelemetry();
telemetry.trackFeatureUsage('chat', { model: 'gpt-4o' });
telemetry.trackFeatureUsage('tool_call', { tool: 'calculator' });
Track Agent Execution
Copy
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
Copy
import { getTelemetry } from 'praisonai';
const telemetry = getTelemetry();
telemetry.trackToolCall('calculator', 150, true);
telemetry.trackToolCall('web_search', 2000, false);
Track LLM Calls
Copy
import { getTelemetry } from 'praisonai';
const telemetry = getTelemetry();
telemetry.trackLLMCall('openai', 'gpt-4o', 1500, 2500);
Enable/Disable
Copy
import { enableTelemetry, disableTelemetry, getTelemetry } from 'praisonai';
// Enable telemetry
enableTelemetry();
// Disable telemetry
disableTelemetry();
// Check status
const telemetry = getTelemetry();
console.log('Enabled:', telemetry.isEnabled());
Environment Variables
Copy
# Disable telemetry
export PRAISONAI_TELEMETRY_DISABLED=true
# Or use DO_NOT_TRACK
export DO_NOT_TRACK=true
Cleanup
Copy
import { cleanupTelemetry } from 'praisonai';
// Flush pending events and cleanup
cleanupTelemetry();
Custom Configuration
Copy
import { TelemetryCollector } from 'praisonai';
const telemetry = new TelemetryCollector({
enabled: true,
endpoint: 'https://your-analytics.com/events',
batchSize: 50,
flushInterval: 30000
});

