func (a *Agent) Run() {
	for _, starter := range []interface{ Start() }{
		a.Receiver,
		a.Concentrator,
		a.ClientStatsAggregator,
		a.PrioritySampler,
		a.ErrorsSampler,
		a.NoPrioritySampler,
		a.EventProcessor,
		a.OTLPReceiver,
	} {
		starter.Start()
	}

	go a.TraceWriter.Run()
	go a.StatsWriter.Run()

	for i := 0; i < runtime.NumCPU(); i++ {
		go a.work()
	}

	a.loop()
}
// Run starts routers routines and individual pieces then stop them when the exit order is received
Run starts routers routines and individual pieces then stop them when the exit order is received
// Run starts routers routines and individual pieces then stop them when the exit order is received
func (a *Agent) Run() {
	for _, starter := range []interface{ Start() }{
		a.Receiver,
		a.Concentrator,
		a.ClientStatsAggregator,
		a.PrioritySampler,
		a.ErrorsSampler,
		a.NoPrioritySampler,
		a.EventProcessor,
		a.OTLPReceiver,
	} {
		starter.Start()
	}
	go a.TraceWriter.Run()
	go a.StatsWriter.Run()
	for i := 0; i < runtime.NumCPU(); i++ {
		go a.work()
	}
	a.loop()
}
func ( a * Agent ) Run ( ) { for _ , starter := range [ ] interface { Start ( ) } { a . Receiver , a . Concentrator , a . ClientStatsAggregator , a . PrioritySampler , a . ErrorsSampler , a . NoPrioritySampler , a . EventProcessor , a . OTLPReceiver , } { starter . Start ( ) } go a . TraceWriter . Run ( ) go a . StatsWriter . Run ( ) for i := 0 ; i < runtime . NumCPU ( ) ; i ++ { go a . work ( ) } a . loop ( ) }
Run starts routers routines and individual pieces then stop them when the exit order is received
Run starts routers routines and individual pieces then stop them when the exit order is received