UNPKG

autotel

Version:
85 lines (57 loc) 2.19 kB
--- name: autotel-events description: > track(), Event API, subscribers (e.g. PostHog). Configure subscribers in init(); use track() or Event for product/analytics events. --- # Autotel — Events Send product and analytics events with `track(name, attributes)` or the `Event` class from `autotel/event`. Configure subscribers (e.g. PostHog) in `init()`; they receive events automatically. For observability events in new code, prefer log-based correlated events (OTel Logs API model) over introducing new direct span-event instrumentation. ## Setup ```typescript import { init, track } from 'autotel'; import { PostHogSubscriber } from 'autotel-subscribers/posthog'; init({ service: 'my-app', subscribers: [new PostHogSubscriber({ apiKey: 'phc_...' })], }); track('checkout.started', { userId: 'u_123', cartId: 'c_456' }); ``` With Event instance (optional override of subscribers): ```typescript import { Event } from 'autotel/event'; const event = new Event('checkout'); event.trackEvent('application.submitted', { jobId: '123', userId: '456' }); ``` ## Core Patterns **Simple track (uses subscribers from init):** ```typescript track('signup.completed', { plan: 'pro', source: 'web' }); ``` **Event with custom subscribers:** ```typescript import { Event } from 'autotel/event'; import { PostHogSubscriber } from 'autotel-subscribers/posthog'; const event = new Event('onboarding', { subscribers: [new PostHogSubscriber({ apiKey: 'phc_other_project' })], }); event.trackEvent('step.completed', { step: 2 }); ``` **Validation and config:** See `getEventsConfig()`, `getValidationConfig()` from init; event names and attributes can be validated. ## Common Mistakes ### MEDIUM Call track() before init() with subscribers Wrong: ```typescript track('signup', { plan: 'pro' }); ``` Correct: ```typescript init({ service: 'my-app', subscribers: [new PostHogSubscriber({ apiKey: 'phc_...' })], }); track('signup', { plan: 'pro' }); ``` Subscribers are configured in init(). track() sends to those subscribers; without init or without subscribers, events may not reach the backend. Source: packages/autotel/src/event.ts ## Version Targets autotel v2.23.x.