mirror of
https://github.com/neilotoole/sq.git
synced 2024-12-18 13:41:49 +03:00
a3cd01f36a
* Diff refactor
55 lines
1.5 KiB
Go
55 lines
1.5 KiB
Go
// Package tuning contains tuning options.
|
|
package tuning
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/neilotoole/sq/libsq/core/options"
|
|
)
|
|
|
|
var OptMaxRetryInterval = options.NewDuration(
|
|
"retry.max-interval",
|
|
nil,
|
|
time.Second*3,
|
|
"Max interval between retries",
|
|
`The maximum interval to wait between retries. If an operation is
|
|
retryable (for example, if the DB has too many clients), repeated retry
|
|
operations back off, typically using a Fibonacci backoff.`,
|
|
options.TagSource,
|
|
)
|
|
|
|
var OptErrgroupLimit = options.NewInt(
|
|
"tuning.errgroup-limit",
|
|
nil,
|
|
16,
|
|
"Max goroutines in any one errgroup",
|
|
`Controls the maximum number of goroutines that can be spawned by an errgroup.
|
|
Note that this is the limit for any one errgroup, but not a ceiling on the total
|
|
number of goroutines spawned, as some errgroups may themselves start an
|
|
errgroup.
|
|
|
|
This knob is primarily for internal use. Ultimately it should go away in favor
|
|
of dynamic errgroup limit setting based on availability of additional DB conns,
|
|
etc.`,
|
|
options.TagTuning,
|
|
)
|
|
|
|
var OptRecBufSize = options.NewInt(
|
|
"tuning.record-buffer",
|
|
nil,
|
|
1024,
|
|
"Size of record buffer",
|
|
`Controls the size of the channel for buffering records.`,
|
|
options.TagTuning,
|
|
)
|
|
|
|
var OptFlushThreshold = options.NewInt(
|
|
"tuning.flush-threshold",
|
|
nil,
|
|
1000,
|
|
"Output writer buffer flush threshold in bytes",
|
|
`Size in bytes after which output writers should flush any internal buffer.
|
|
Generally, it is not necessary to fiddle this knob.`,
|
|
options.TagTuning,
|
|
)
|