Documentation ¶
Index ¶
- Constants
- Variables
- type Client
- type Metrics
- func (s *Metrics) Equal(other *Metrics) bool
- func (s *Metrics) TotalErrors() uint64
- func (s *Metrics) TotalErrorsAtomic() uint64
- func (s *Metrics) TotalPanics() uint64
- func (s *Metrics) TotalPanicsAtomic() uint64
- func (s *Metrics) TotalResources() uint64
- func (s *Metrics) TotalResourcesAtomic() uint64
- type Option
- func WithConcurrency(concurrency int) Option
- func WithLogger(logger zerolog.Logger) Option
- func WithMaxDepth(maxDepth uint64) Option
- func WithSingleNestedTableMaxConcurrency(concurrency int64) Option
- func WithSingleResourceMaxConcurrency(concurrency int64) Option
- func WithStrategy(strategy Strategy) Option
- type Scheduler
- type Strategies
- type Strategy
- type SyncOption
- type TableClientMetrics
Constants ¶
View Source
const ( DefaultSingleResourceMaxConcurrency = 5 DefaultSingleNestedTableMaxConcurrency = 5 DefaultConcurrency = 50000 DefaultMaxDepth = 4 )
Variables ¶
View Source
var AllStrategies = Strategies{StrategyDFS, StrategyRoundRobin, StrategyShuffle}
View Source
var AllStrategyNames = [...]string{
StrategyDFS: "dfs",
StrategyRoundRobin: "round-robin",
StrategyShuffle: "shuffle",
}
View Source
var ErrNoTables = errors.New("no tables specified for syncing, review `tables` and `skip_tables` in your config and specify at least one table to sync")
Functions ¶
This section is empty.
Types ¶
type Metrics ¶
type Metrics struct {
TableClient map[string]map[string]*TableClientMetrics
}
Metrics is deprecated as we move toward open telemetry for tracing and metrics
func (*Metrics) TotalErrors ¶
func (*Metrics) TotalErrorsAtomic ¶
func (*Metrics) TotalPanics ¶
func (*Metrics) TotalPanicsAtomic ¶
func (*Metrics) TotalResources ¶
func (*Metrics) TotalResourcesAtomic ¶
type Option ¶
type Option func(*Scheduler)
func WithConcurrency ¶
func WithLogger ¶
func WithMaxDepth ¶
func WithSingleNestedTableMaxConcurrency ¶ added in v4.21.0
func WithSingleResourceMaxConcurrency ¶ added in v4.23.0
func WithStrategy ¶
type Scheduler ¶
type Scheduler struct {
// contains filtered or unexported fields
}
func NewScheduler ¶
func (*Scheduler) Sync ¶
func (s *Scheduler) Sync(ctx context.Context, client schema.ClientMeta, tables schema.Tables, res chan<- message.SyncMessage, opts ...SyncOption) error
type Strategies ¶
type Strategies []Strategy
func (Strategies) String ¶
func (s Strategies) String() string
type Strategy ¶
type Strategy int
func StrategyForName ¶
func (Strategy) JSONSchema ¶ added in v4.12.0
func (Strategy) JSONSchema() *jsonschema.Schema
func (*Strategy) MarshalJSON ¶
MarshalJSON implements json.Marshaler.
func (*Strategy) UnmarshalJSON ¶
UnmarshalJSON implements json.Unmarshaler.
type SyncOption ¶
type SyncOption func(*syncClient)
func WithSyncDeterministicCQID ¶
func WithSyncDeterministicCQID(deterministicCQID bool) SyncOption
type TableClientMetrics ¶
type TableClientMetrics struct { Resources uint64 Errors uint64 Panics uint64 StartTime time.Time EndTime time.Time }
func (*TableClientMetrics) Equal ¶
func (s *TableClientMetrics) Equal(other *TableClientMetrics) bool
Click to show internal directories.
Click to hide internal directories.