MCPcopy Create free account
hub / github.com/Effect-TS/effect / layerTracerProvider

Function layerTracerProvider

packages/opentelemetry/src/WebSdk.ts:40–61  ·  view source on GitHub ↗
(
  processor: SpanProcessor | NonEmptyReadonlyArray<SpanProcessor>,
  config?: Omit<TracerConfig, "resource">
)

Source from the content-addressed store, hash-verified

38 * @category layers
39 */
40export const layerTracerProvider = (
41 processor: SpanProcessor | NonEmptyReadonlyArray<SpanProcessor>,
42 config?: Omit<TracerConfig, "resource">
43): Layer.Layer<Tracer.OtelTracerProvider, never, Resource.Resource> =>
44 Layer.scoped(
45 Tracer.OtelTracerProvider,
46 Effect.flatMap(
47 Resource.Resource,
48 (resource) =>
49 Effect.acquireRelease(
50 Effect.sync(() => {
51 const provider = new WebTracerProvider({
52 ...(config ?? undefined),
53 resource,
54 spanProcessors: Array.isArray(processor) ? (processor as any) : [processor]
55 })
56 return provider
57 }),
58 (provider) => Effect.ignoreLogged(Effect.promise(() => provider.forceFlush().then(() => provider.shutdown())))
59 )
60 )
61 )
62
63/**
64 * @since 1.0.0

Callers 1

layerFunction · 0.70

Calls 2

syncMethod · 0.80
shutdownMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…