@@ -49,8 +49,8 @@ const gracefulShutdownTimeout = 60 * time.Minute
4949
5050var (
5151 // These variables might be overridden at buildtime.
52- serviceVersion = "dev"
5352 serviceName = "pipeline-backend-worker"
53+ serviceVersion = "dev"
5454)
5555
5656func main () {
@@ -130,6 +130,19 @@ func main() {
130130 WorkflowPanicPolicy : worker .BlockWorkflow ,
131131 WorkerStopTimeout : gracefulShutdownTimeout ,
132132 MaxConcurrentWorkflowTaskExecutionSize : 100 ,
133+ Interceptors : func () []interceptor.WorkerInterceptor {
134+ if ! config .Config .OTELCollector .Enable {
135+ return nil
136+ }
137+ workerInterceptor , err := opentelemetry .NewTracingInterceptor (opentelemetry.TracerOptions {
138+ Tracer : otel .Tracer (serviceName ),
139+ TextMapPropagator : otel .GetTextMapPropagator (),
140+ })
141+ if err != nil {
142+ logger .Fatal ("Unable to create worker tracing interceptor" , zap .Error (err ))
143+ }
144+ return []interceptor.WorkerInterceptor {workerInterceptor }
145+ }(),
133146 })
134147
135148 w .RegisterWorkflow (cw .TriggerPipelineWorkflow )
@@ -253,20 +266,23 @@ func newClients(ctx context.Context, logger *zap.Logger) (
253266 }
254267
255268 // Initialize Temporal client
256- temporalTracingInterceptor , err := opentelemetry .NewTracingInterceptor (opentelemetry.TracerOptions {
257- Tracer : otel .Tracer (serviceName + "-temporal" ),
258- TextMapPropagator : otel .GetTextMapPropagator (),
259- })
260- if err != nil {
261- logger .Fatal ("Unable to create temporal tracing interceptor" , zap .Error (err ))
262- }
263-
264269 temporalClientOptions , err := temporal .ClientOptions (config .Config .Temporal , logger )
265270 if err != nil {
266271 logger .Fatal ("Unable to build Temporal client options" , zap .Error (err ))
267272 }
268273
269- temporalClientOptions .Interceptors = []interceptor.ClientInterceptor {temporalTracingInterceptor }
274+ // Only add interceptor if tracing is enabled
275+ if config .Config .OTELCollector .Enable {
276+ temporalTracingInterceptor , err := opentelemetry .NewTracingInterceptor (opentelemetry.TracerOptions {
277+ Tracer : otel .Tracer (serviceName ),
278+ TextMapPropagator : otel .GetTextMapPropagator (),
279+ })
280+ if err != nil {
281+ logger .Fatal ("Unable to create temporal tracing interceptor" , zap .Error (err ))
282+ }
283+ temporalClientOptions .Interceptors = []interceptor.ClientInterceptor {temporalTracingInterceptor }
284+ }
285+
270286 temporalClient , err := temporalclient .Dial (temporalClientOptions )
271287 if err != nil {
272288 logger .Fatal ("Unable to create Temporal client" , zap .Error (err ))
0 commit comments