sourcebot/packages/web/src/instrumentation.ts

34 lines
1 KiB
TypeScript

import * as Sentry from '@sentry/nextjs';
import { registerOTel } from '@vercel/otel';
import { LangfuseExporter } from 'langfuse-vercel';
export async function register() {
if (
process.env.LANGFUSE_SECRET_KEY &&
process.env.NEXT_PUBLIC_LANGFUSE_PUBLIC_KEY
) {
console.log("Registering Langfuse");
registerOTel({
serviceName: 'sourcebot',
traceExporter: new LangfuseExporter({
secretKey: process.env.LANGFUSE_SECRET_KEY,
publicKey: process.env.NEXT_PUBLIC_LANGFUSE_PUBLIC_KEY,
baseUrl: process.env.NEXT_PUBLIC_LANGFUSE_BASE_URL,
}),
});
}
if (process.env.NEXT_RUNTIME === 'nodejs') {
await import('../sentry.server.config');
}
if (process.env.NEXT_RUNTIME === 'edge') {
await import('../sentry.edge.config');
}
if (process.env.NEXT_RUNTIME === 'nodejs') {
await import('./initialize');
}
}
export const onRequestError = Sentry.captureRequestError;