PostHog 수출업체
포스트호그LLM 애플리케이션 모니터링을 위한 AI 관찰 기능을 갖춘 분석 플랫폼입니다. PostHog 내보내기는 추적을 구조화된 이벤트로 PostHog에 전송하여 토큰 사용, 비용, 대기 시간 및 대화 흐름에 대한 통찰력을 제공합니다.
설치설치에 대한 직접 링크
- npm
- pnpm
- Yarn
- Bun
npm install @mastra/posthog@latest
pnpm add @mastra/posthog@latest
yarn add @mastra/posthog@latest
bun add @mastra/posthog@latest
구성구성에 대한 직접 링크
전제조건전제조건에 대한 직접 링크
- 포스트호그 계정: 가입하세요posthog.com
- 프로젝트 API 키: PostHog 설정 → 프로젝트 API 키에서 프로젝트 API 키를 가져옵니다.
- 환경 변수: 자격 증명을 설정하세요
.env
# Required
POSTHOG_API_KEY=phc_xxxxxxxxxxxxxxxx
# Optional
POSTHOG_HOST=https://us.i.posthog.com # or eu.i.posthog.com for EU region
제로 구성 설정제로 구성 설정에 대한 직접 링크
환경 변수가 설정된 경우 구성 없이 내보내기를 사용합니다.
src/mastra/index.ts
import { Mastra } from '@mastra/core'
import { Observability } from '@mastra/observability'
import { PosthogExporter } from '@mastra/posthog'
export const mastra = new Mastra({
observability: new Observability({
configs: {
posthog: {
serviceName: 'my-service',
exporters: [new PosthogExporter()],
},
},
}),
})
명시적 구성명시적 구성에 대한 직접 링크
자격 증명을 직접 전달할 수도 있습니다(환경 변수보다 우선 적용됨).
src/mastra/index.ts
import { Mastra } from '@mastra/core'
import { Observability } from '@mastra/observability'
import { PosthogExporter } from '@mastra/posthog'
export const mastra = new Mastra({
observability: new Observability({
configs: {
posthog: {
serviceName: 'my-service',
exporters: [
new PosthogExporter({
apiKey: process.env.POSTHOG_API_KEY,
}),
],
},
},
}),
})
구성 옵션구성 옵션에 대한 직접 링크
완전한 구성완전한 구성에 대한 직접 링크
new PosthogExporter({
// Required credentials
apiKey: process.env.POSTHOG_API_KEY!,
// Optional settings
host: 'https://us.i.posthog.com', // Default: US region
// or "https://eu.i.posthog.com" for EU region
// or your self-hosted URL
// Batching configuration
flushAt: 20, // Batch size (default: 20)
flushInterval: 10000, // Flush interval in ms (default: 10000)
serverless: false, // Serverless mode: flushAt=10, flushInterval=2000
// User identification
defaultDistinctId: 'anonymous', // Fallback if no userId in metadata
// Privacy settings
enablePrivacyMode: false, // Excludes input/output from generation events
// Diagnostic logging
logLevel: 'info', // debug | info | warn | error
})
서버리스 모드서버리스 모드에 대한 직접 링크
서버리스 환경에 최적화된 일괄 처리:
new PosthogExporter({
apiKey: process.env.POSTHOG_API_KEY!,
serverless: true, // Configures smaller batches for faster flushing
})
개인 정보 보호 모드개인 정보 보호 모드에 대한 직접 링크
토큰 측정항목을 보존하면서 생성 이벤트에서 입력/출력 데이터를 제외합니다.
new PosthogExporter({
apiKey: process.env.POSTHOG_API_KEY!,
enablePrivacyMode: true, // Removes $ai_input and $ai_output_choices
})
그룹 분석그룹 분석에 대한 직접 링크
이벤트를 PostHog 그룹에 연결하려면 tracingOptions.metadata에 $groups 객체를 추가하세요. 내보내기는 해당 값을 PostHog 캡처 호출의 최상위 groups 필드로 전송하므로 그룹별 LLM 비용과 같은 분석 데이터를 분류할 수 있습니다.
await agent.generate(input, {
tracingOptions: {
metadata: {
$groups: {
publication: 'publication-1',
},
},
},
})