@@ -192,14 +192,25 @@ func (t *OTelInstaller) Install(r chi.Router, serviceComponent string, extraOpts
192192 }
193193
194194 ctx := context .Background ()
195- tp , err := createTraceProvider (ctx , t .endpoint , protocol , res )
196- if err != nil {
197- return fmt .Errorf ("creating trace provider: %w" , err )
198- }
195+ var tp trace.TracerProvider
196+ var mp * sdkmetric.MeterProvider
197+ var err error
199198
200- mp , err := createMetricProvider (ctx , t .endpoint , protocol , res )
201- if err != nil {
202- return fmt .Errorf ("creating metric provider: %w" , err )
199+ if t .endpoint == nil {
200+ // If endpoint is nil, use no-op providers (local tracing only)
201+ tp = sdktrace .NewTracerProvider ()
202+ mp = sdkmetric .NewMeterProvider ()
203+ } else {
204+ // Create providers that export to the configured endpoint
205+ tp , err = createTraceProvider (ctx , t .endpoint , protocol , res )
206+ if err != nil {
207+ return fmt .Errorf ("creating trace provider: %w" , err )
208+ }
209+
210+ mp , err = createMetricProvider (ctx , t .endpoint , protocol , res )
211+ if err != nil {
212+ return fmt .Errorf ("creating metric provider: %w" , err )
213+ }
203214 }
204215
205216 if ! t .installed {
0 commit comments