Skip to main content

Installation

npm install praisonai

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=true

Cleanup

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
});