MCPcopy
hub / github.com/grafana/tempo / NewPool

Function NewPool

tempodb/pool/pool.go:57–79  ·  view source on GitHub ↗
(cfg *Config)

Source from the content-addressed store, hash-verified

55}
56
57func NewPool(cfg *Config) *Pool {
58 if cfg == nil {
59 cfg = defaultConfig()
60 }
61
62 q := make(chan *job, cfg.QueueDepth)
63 p := &Pool{
64 cfg: cfg,
65 workQueue: q,
66 size: atomic.NewInt32(0),
67 shutdownCh: make(chan struct{}),
68 }
69
70 for i := 0; i < cfg.MaxWorkers; i++ {
71 go p.worker(q)
72 }
73
74 p.reportQueueLength()
75
76 metricQueryQueueMax.Set(float64(cfg.QueueDepth))
77
78 return p
79}
80
81func (p *Pool) RunJobs(ctx context.Context, payloads []interface{}, fn JobFunc) ([]interface{}, []error, error) {
82 ctx, cancel := context.WithCancel(ctx)

Callers 13

NewFunction · 0.92
TestResultsFunction · 0.70
TestNoResultsFunction · 0.70
TestMultipleHitsFunction · 0.70
TestErrorFunction · 0.70
TestMultipleErrorsFunction · 0.70
TestTooManyJobsFunction · 0.70
TestOneWorkerFunction · 0.70
TestGoingHamFunction · 0.70
TestShutdownFunction · 0.70
TestDataEncodingsFunction · 0.70

Calls 4

workerMethod · 0.95
reportQueueLengthMethod · 0.95
defaultConfigFunction · 0.70
SetMethod · 0.65

Tested by 12

TestResultsFunction · 0.56
TestNoResultsFunction · 0.56
TestMultipleHitsFunction · 0.56
TestErrorFunction · 0.56
TestMultipleErrorsFunction · 0.56
TestTooManyJobsFunction · 0.56
TestOneWorkerFunction · 0.56
TestGoingHamFunction · 0.56
TestShutdownFunction · 0.56
TestDataEncodingsFunction · 0.56
TestCancellationFunction · 0.56