MCPcopy
hub / github.com/prisma/prisma / runInActiveSpan

Function runInActiveSpan

packages/query-plan-executor/src/tracing/tracer.ts:9–25  ·  view source on GitHub ↗
(
  nameOrOptions: string | ExtendedSpanOptions,
  fn: (span: Span) => Promise<R>,
)

Source from the content-addressed store, hash-verified

7export const tracer = trace.getTracer('query-plan-executor', version)
8
9export function runInActiveSpan<R>(
10 nameOrOptions: string | ExtendedSpanOptions,
11 fn: (span: Span) => Promise<R>,
12): Promise<R> {
13 const options = normalizeSpanOptions(nameOrOptions)
14
15 return tracer.startActiveSpan(options.name, options, async (span) => {
16 try {
17 return await fn(span)
18 } catch (error) {
19 span.recordException(extractErrorFromUnknown(error))
20 throw error
21 } finally {
22 span.end()
23 }
24 })
25}

Callers 1

startMethod · 0.90

Calls 5

normalizeSpanOptionsFunction · 0.90
extractErrorFromUnknownFunction · 0.90
recordExceptionMethod · 0.80
endMethod · 0.80
fnFunction · 0.50

Tested by

no test coverage detected