@@ -385,63 +385,39 @@ func (oc *Collector) updateHeadersSetterExtension(
385385}
386386
387387func (oc * Collector ) restartCollector (ctx context.Context ) {
388- if ! oc .canRestartCollector (ctx ) {
389- return
390- }
391- if ! oc .tryCloseCollector (ctx ) {
388+ err := oc .Close (ctx )
389+ if err != nil {
390+ slog .ErrorContext (ctx , "Failed to shutdown OTel Collector" , "error" , err )
392391 return
393392 }
394- if ! oc .tryCreateCollector (ctx ) {
393+
394+ settings := OTelCollectorSettings (oc .config )
395+ oTelCollector , err := otelcol .NewCollector (settings )
396+ if err != nil {
397+ slog .ErrorContext (ctx , "Failed to create OTel Collector" , "error" , err )
395398 return
396399 }
400+ oc .service = oTelCollector
397401
398402 if oc .config .IsCommandServerProxyConfigured () {
399403 oc .setProxyIfNeeded (ctx )
400404 }
405+
401406 var runCtx context.Context
402407 runCtx , oc .cancel = context .WithCancel (ctx )
408+
403409 if ! oc .stopped {
404410 slog .ErrorContext (ctx , "Unable to restart OTel collector, failed to stop collector" )
405411 return
406412 }
413+
407414 slog .InfoContext (ctx , "Restarting OTel collector" )
408415 bootErr := oc .bootup (runCtx )
409416 if bootErr != nil {
410417 slog .ErrorContext (runCtx , "Unable to start OTel Collector" , "error" , bootErr )
411418 }
412419}
413420
414- func (oc * Collector ) canRestartCollector (ctx context.Context ) bool {
415- if oc == nil || oc .config == nil || oc .config .Command == nil || oc .config .Collector == nil {
416- slog .ErrorContext (ctx , "Collector or required config is nil; cannot restart collector" )
417- return false
418- }
419-
420- return true
421- }
422-
423- func (oc * Collector ) tryCloseCollector (ctx context.Context ) bool {
424- err := oc .Close (ctx )
425- if err != nil {
426- slog .ErrorContext (ctx , "Failed to shutdown OTel Collector" , "error" , err )
427- return false
428- }
429-
430- return true
431- }
432-
433- func (oc * Collector ) tryCreateCollector (ctx context.Context ) bool {
434- settings := OTelCollectorSettings (oc .config )
435- oTelCollector , err := otelcol .NewCollector (settings )
436- if err != nil {
437- slog .ErrorContext (ctx , "Failed to create OTel Collector" , "error" , err )
438- return false
439- }
440- oc .service = oTelCollector
441-
442- return true
443- }
444-
445421func (oc * Collector ) setProxyIfNeeded (ctx context.Context ) {
446422 if oc .config .Collector .Exporters .OtlpExporters != nil ||
447423 oc .config .Collector .Exporters .PrometheusExporter != nil {
0 commit comments