MCPcopy Create free account
hub / github.com/ResearAI/AutoFigure / register

Function register

frontend/instrumentation.ts:4–39  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

2import { NodeTracerProvider } from "@opentelemetry/sdk-trace-node"
3
4export function register() {
5 // Skip telemetry if Langfuse env vars are not configured
6 if (!process.env.LANGFUSE_PUBLIC_KEY || !process.env.LANGFUSE_SECRET_KEY) {
7 console.warn(
8 "[Langfuse] Environment variables not configured - telemetry disabled",
9 )
10 return
11 }
12
13 const langfuseSpanProcessor = new LangfuseSpanProcessor({
14 publicKey: process.env.LANGFUSE_PUBLIC_KEY,
15 secretKey: process.env.LANGFUSE_SECRET_KEY,
16 baseUrl: process.env.LANGFUSE_BASEURL,
17 // Filter out Next.js HTTP request spans so AI SDK spans become root traces
18 shouldExportSpan: ({ otelSpan }) => {
19 const spanName = otelSpan.name
20 // Skip Next.js HTTP infrastructure spans
21 if (
22 spanName.startsWith("POST /") ||
23 spanName.startsWith("GET /") ||
24 spanName.includes("BaseServer") ||
25 spanName.includes("handleRequest")
26 ) {
27 return false
28 }
29 return true
30 },
31 })
32
33 const tracerProvider = new NodeTracerProvider({
34 spanProcessors: [langfuseSpanProcessor],
35 })
36
37 // Register globally so AI SDK's telemetry also uses this processor
38 tracerProvider.register()
39}

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected