MCPcopy Index your code
hub / github.com/triggerdotdev/trigger.dev / getTracer

Function getTracer

apps/webapp/app/v3/tracer.server.ts:79–153  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

77export const tracer = singleton("tracer", getTracer);
78
79function getTracer() {
80 if (env.INTERNAL_OTEL_TRACE_DISABLED === "1") {
81 console.log(`🔦 Tracer disabled, returning a noop tracer`);
82
83 return trace.getTracer("trigger.dev", "3.0.0.dp.1");
84 }
85
86 diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.ERROR);
87
88 const samplingRate = 1.0 / Math.max(parseInt(env.INTERNAL_OTEL_TRACE_SAMPLING_RATE, 10), 1);
89
90 const provider = new NodeTracerProvider({
91 forceFlushTimeoutMillis: 500,
92 resource: new Resource({
93 [SEMRESATTRS_SERVICE_NAME]: env.SERVICE_NAME,
94 }),
95 sampler: new ParentBasedSampler({
96 root: new CustomWebappSampler(new TraceIdRatioBasedSampler(samplingRate)),
97 }),
98 });
99
100 if (env.INTERNAL_OTEL_TRACE_EXPORTER_URL) {
101 const exporter = new OTLPTraceExporter({
102 url: env.INTERNAL_OTEL_TRACE_EXPORTER_URL,
103 timeoutMillis: 10_000,
104 headers:
105 env.INTERNAL_OTEL_TRACE_EXPORTER_AUTH_HEADER_NAME &&
106 env.INTERNAL_OTEL_TRACE_EXPORTER_AUTH_HEADER_VALUE
107 ? {
108 [env.INTERNAL_OTEL_TRACE_EXPORTER_AUTH_HEADER_NAME]:
109 env.INTERNAL_OTEL_TRACE_EXPORTER_AUTH_HEADER_VALUE,
110 }
111 : undefined,
112 });
113
114 provider.addSpanProcessor(
115 new BatchSpanProcessor(exporter, {
116 maxExportBatchSize: 512,
117 scheduledDelayMillis: 1000,
118 exportTimeoutMillis: 30000,
119 maxQueueSize: 2048,
120 })
121 );
122
123 console.log(
124 `🔦 Tracer: OTLP exporter enabled to ${env.INTERNAL_OTEL_TRACE_EXPORTER_URL} (sampling = ${samplingRate})`
125 );
126 } else {
127 if (env.INTERNAL_OTEL_TRACE_LOGGING_ENABLED === "1") {
128 console.log(`🔦 Tracer: Logger exporter enabled (sampling = ${samplingRate})`);
129
130 const loggerExporter = new LoggerSpanExporter();
131
132 provider.addSpanProcessor(new SimpleSpanProcessor(loggerExporter));
133 }
134 }
135
136 provider.register();

Callers

nothing calls this directly

Calls 3

maxMethod · 0.80
logMethod · 0.65
registerMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…