UNPKG

dd-trace

Version:

Datadog APM tracing client for JavaScript

34 lines (25 loc) 753 B
'use strict' const TracingPlugin = require('../../dd-trace/src/plugins/tracing') const { getModelProvider } = require('./utils') class VercelAITracingPlugin extends TracingPlugin { static id = 'ai' static prefix = 'tracing:dd-trace:vercel-ai' bindStart (ctx) { const attributes = ctx.attributes const model = attributes['ai.model.id'] const modelProvider = getModelProvider(attributes) this.startSpan(ctx.name, { meta: { 'resource.name': ctx.name, 'ai.request.model': model, 'ai.request.model_provider': modelProvider } }, ctx) return ctx.currentStore } asyncEnd (ctx) { const span = ctx.currentStore?.span span?.finish() } } module.exports = VercelAITracingPlugin