dynamicconfig

package
v0.6.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 26, 2019 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetBoolPropertyFn added in v0.3.14

func GetBoolPropertyFn(value bool) func(opts ...FilterOption) bool

GetBoolPropertyFn returns value as BoolPropertyFn

func GetBoolPropertyFnFilteredByDomain added in v0.5.0

func GetBoolPropertyFnFilteredByDomain(value bool) func(domain string) bool

GetBoolPropertyFnFilteredByDomain returns value as BoolPropertyFnWithDomainFilters

func GetDurationPropertyFn added in v0.3.14

func GetDurationPropertyFn(value time.Duration) func(opts ...FilterOption) time.Duration

GetDurationPropertyFn returns value as DurationPropertyFn

func GetDurationPropertyFnFilteredByTaskListInfo added in v0.3.14

func GetDurationPropertyFnFilteredByTaskListInfo(value time.Duration) func(domain string, taskList string, taskType int) time.Duration

GetDurationPropertyFnFilteredByTaskListInfo returns value as DurationPropertyFnWithTaskListInfoFilters

func GetFloatPropertyFn added in v0.3.14

func GetFloatPropertyFn(value float64) func(opts ...FilterOption) float64

GetFloatPropertyFn returns value as FloatPropertyFn

func GetIntPropertyFilteredByDomain added in v0.4.0

func GetIntPropertyFilteredByDomain(value int) func(domain string) int

GetIntPropertyFilteredByDomain returns values as IntPropertyFnWithDomainFilters

func GetIntPropertyFilteredByTaskListInfo added in v0.3.14

func GetIntPropertyFilteredByTaskListInfo(value int) func(domain string, taskList string, taskType int) int

GetIntPropertyFilteredByTaskListInfo returns value as IntPropertyFnWithTaskListInfoFilters

func GetIntPropertyFn added in v0.3.14

func GetIntPropertyFn(value int) func(opts ...FilterOption) int

GetIntPropertyFn returns value as IntPropertyFn

func GetMapPropertyFn added in v0.5.9

func GetMapPropertyFn(value map[string]interface{}) func(opts ...FilterOption) map[string]interface{}

GetMapPropertyFn returns value as MapPropertyFn

func GetStringPropertyFn added in v0.5.4

func GetStringPropertyFn(value string) func(opts ...FilterOption) string

GetStringPropertyFn returns value as StringPropertyFn

Types

type BoolPropertyFn

type BoolPropertyFn func(opts ...FilterOption) bool

BoolPropertyFn is a wrapper to get bool property from dynamic config

type BoolPropertyFnWithDomainFilter added in v0.5.0

type BoolPropertyFnWithDomainFilter func(domain string) bool

BoolPropertyFnWithDomainFilter is a wrapper to get string property from dynamic config

type BoolPropertyFnWithTaskListInfoFilters added in v0.3.14

type BoolPropertyFnWithTaskListInfoFilters func(domain string, taskList string, taskType int) bool

BoolPropertyFnWithTaskListInfoFilters is a wrapper to get bool property from dynamic config with three filters: domain, taskList, taskType

type Client

type Client interface {
	GetValue(name Key, defaultValue interface{}) (interface{}, error)
	GetValueWithFilters(name Key, filters map[Filter]interface{}, defaultValue interface{}) (interface{}, error)

	GetIntValue(name Key, filters map[Filter]interface{}, defaultValue int) (int, error)
	GetFloatValue(name Key, filters map[Filter]interface{}, defaultValue float64) (float64, error)
	GetBoolValue(name Key, filters map[Filter]interface{}, defaultValue bool) (bool, error)
	GetStringValue(name Key, filters map[Filter]interface{}, defaultValue string) (string, error)
	GetMapValue(
		name Key, filters map[Filter]interface{}, defaultValue map[string]interface{},
	) (map[string]interface{}, error)
	GetDurationValue(
		name Key, filters map[Filter]interface{}, defaultValue time.Duration,
	) (time.Duration, error)
	// UpdateValue takes value as map and updates by overriding. It doesn't support update with filters.
	UpdateValue(name Key, value interface{}) error
}

Client allows fetching values from a dynamic configuration system NOTE: This does not have async options right now. In the interest of keeping it minimal, we can add when requirement arises.

func NewFileBasedClient added in v0.5.8

func NewFileBasedClient(config *FileBasedClientConfig, logger log.Logger, doneCh chan struct{}) (Client, error)

NewFileBasedClient creates a file based client.

func NewNopClient

func NewNopClient() Client

NewNopClient creates a nop client

type Collection

type Collection struct {
	// contains filtered or unexported fields
}

Collection wraps dynamic config client with a closure so that across the code, the config values can be directly accessed by calling the function without propagating the client everywhere in code

func NewCollection

func NewCollection(client Client, logger log.Logger) *Collection

NewCollection creates a new collection

func NewNopCollection

func NewNopCollection() *Collection

NewNopCollection creates a new nop collection

func (*Collection) GetBoolProperty

func (c *Collection) GetBoolProperty(key Key, defaultValue bool) BoolPropertyFn

GetBoolProperty gets property and asserts that it's an bool

func (*Collection) GetBoolPropertyFilteredByTaskListInfo added in v0.3.14

func (c *Collection) GetBoolPropertyFilteredByTaskListInfo(key Key, defaultValue bool) BoolPropertyFnWithTaskListInfoFilters

GetBoolPropertyFilteredByTaskListInfo gets property with taskListInfo as filters and asserts that it's an bool

func (*Collection) GetBoolPropertyFnWithDomainFilter added in v0.5.0

func (c *Collection) GetBoolPropertyFnWithDomainFilter(key Key, defaultValue bool) BoolPropertyFnWithDomainFilter

GetBoolPropertyFnWithDomainFilter gets property with domain filter and asserts that its domain

func (*Collection) GetDurationProperty

func (c *Collection) GetDurationProperty(key Key, defaultValue time.Duration) DurationPropertyFn

GetDurationProperty gets property and asserts that it's a duration

func (*Collection) GetDurationPropertyFilteredByDomain added in v0.3.14

func (c *Collection) GetDurationPropertyFilteredByDomain(key Key, defaultValue time.Duration) DurationPropertyFnWithDomainFilter

GetDurationPropertyFilteredByDomain gets property with domain filter and asserts that it's a duration

func (*Collection) GetDurationPropertyFilteredByTaskListInfo added in v0.3.14

func (c *Collection) GetDurationPropertyFilteredByTaskListInfo(key Key, defaultValue time.Duration) DurationPropertyFnWithTaskListInfoFilters

GetDurationPropertyFilteredByTaskListInfo gets property with taskListInfo as filters and asserts that it's a duration

func (*Collection) GetFloat64Property

func (c *Collection) GetFloat64Property(key Key, defaultValue float64) FloatPropertyFn

GetFloat64Property gets property and asserts that it's a float64

func (*Collection) GetIntProperty

func (c *Collection) GetIntProperty(key Key, defaultValue int) IntPropertyFn

GetIntProperty gets property and asserts that it's an integer

func (*Collection) GetIntPropertyFilteredByDomain added in v0.3.14

func (c *Collection) GetIntPropertyFilteredByDomain(key Key, defaultValue int) IntPropertyFnWithDomainFilter

GetIntPropertyFilteredByDomain gets property with domain filter and asserts that it's an integer

func (*Collection) GetIntPropertyFilteredByTaskListInfo added in v0.3.14

func (c *Collection) GetIntPropertyFilteredByTaskListInfo(key Key, defaultValue int) IntPropertyFnWithTaskListInfoFilters

GetIntPropertyFilteredByTaskListInfo gets property with taskListInfo as filters and asserts that it's an integer

func (*Collection) GetMapProperty added in v0.5.9

func (c *Collection) GetMapProperty(key Key, defaultValue map[string]interface{}) MapPropertyFn

GetMapProperty gets property and asserts that it's a map

func (*Collection) GetProperty

func (c *Collection) GetProperty(key Key, defaultValue interface{}) PropertyFn

GetProperty gets a interface property and returns defaultValue if property is not found

func (*Collection) GetStringProperty added in v0.4.0

func (c *Collection) GetStringProperty(key Key, defaultValue string) StringPropertyFn

GetStringProperty gets property and asserts that it's an string

func (*Collection) GetStringPropertyFnWithDomainFilter added in v0.4.0

func (c *Collection) GetStringPropertyFnWithDomainFilter(key Key, defaultValue string) StringPropertyFnWithDomainFilter

GetStringPropertyFnWithDomainFilter gets property with domain filter and asserts that its domain

type DurationPropertyFn

type DurationPropertyFn func(opts ...FilterOption) time.Duration

DurationPropertyFn is a wrapper to get duration property from dynamic config

type DurationPropertyFnWithDomainFilter added in v0.3.14

type DurationPropertyFnWithDomainFilter func(domain string) time.Duration

DurationPropertyFnWithDomainFilter is a wrapper to get duration property from dynamic config with domain as filter

type DurationPropertyFnWithTaskListInfoFilters added in v0.3.14

type DurationPropertyFnWithTaskListInfoFilters func(domain string, taskList string, taskType int) time.Duration

DurationPropertyFnWithTaskListInfoFilters is a wrapper to get duration property from dynamic config with three filters: domain, taskList, taskType

type FileBasedClientConfig added in v0.5.8

type FileBasedClientConfig struct {
	Filepath     string        `yaml:"filepath"`
	PollInterval time.Duration `yaml:"pollInterval"`
}

FileBasedClientConfig is the config for the file based dynamic config client. It specifies where the config file is stored and how often the config should be updated by checking the config file again.

type Filter

type Filter int

Filter represents a filter on the dynamic config key

const (

	// DomainName is the domain name
	DomainName Filter
	// TaskListName is the tasklist name
	TaskListName
	// TaskType is the task type (0:Decision, 1:Activity)
	TaskType
)

func (Filter) String

func (f Filter) String() string

type FilterOption

type FilterOption func(filterMap map[Filter]interface{})

FilterOption is used to provide filters for dynamic config keys

func DomainFilter

func DomainFilter(name string) FilterOption

DomainFilter filters by domain name

func TaskListFilter

func TaskListFilter(name string) FilterOption

TaskListFilter filters by task list name

func TaskTypeFilter added in v0.3.14

func TaskTypeFilter(taskType int) FilterOption

TaskTypeFilter filters by task type

type FloatPropertyFn

type FloatPropertyFn func(opts ...FilterOption) float64

FloatPropertyFn is a wrapper to get float property from dynamic config

type IntPropertyFn

type IntPropertyFn func(opts ...FilterOption) int

IntPropertyFn is a wrapper to get int property from dynamic config

type IntPropertyFnWithDomainFilter added in v0.3.14

type IntPropertyFnWithDomainFilter func(domain string) int

IntPropertyFnWithDomainFilter is a wrapper to get int property from dynamic config with domain as filter

type IntPropertyFnWithTaskListInfoFilters added in v0.3.14

type IntPropertyFnWithTaskListInfoFilters func(domain string, taskList string, taskType int) int

IntPropertyFnWithTaskListInfoFilters is a wrapper to get int property from dynamic config with three filters: domain, taskList, taskType

type Key

type Key int

Key represents a key/property stored in dynamic config

const (

	// EnableGlobalDomain is key for enable global domain
	EnableGlobalDomain Key
	// EnableNewKafkaClient is key for using New Kafka client
	EnableNewKafkaClient
	// EnableVisibilitySampling is key for enable visibility sampling
	EnableVisibilitySampling
	// EnableReadFromClosedExecutionV2 is key for enable read from cadence_visibility.closed_executions_v2
	EnableReadFromClosedExecutionV2
	// EnableVisibilityToKafka is key for enable kafka
	EnableVisibilityToKafka
	// EmitShardDiffLog whether emit the shard diff log
	EmitShardDiffLog
	// EnableReadVisibilityFromES is key for enable read from elastic search
	EnableReadVisibilityFromES
	// DisableListVisibilityByFilter is config to disable list open/close workflow using filter
	DisableListVisibilityByFilter
	// ArchivalStatus is key for the status of archival
	ArchivalStatus
	// EnableReadFromArchival is key for enabling reading history from archival store
	EnableReadFromArchival
	// EnableDomainNotActiveAutoForwarding whether enabling DC auto forwarding to active cluster
	// for signal / start / signal with start API if domain is not active
	EnableDomainNotActiveAutoForwarding
	// TransactionSizeLimit is the largest allowed transaction size to persistence
	TransactionSizeLimit
	// MinRetentionDays is the minimal allowed retention days for domain
	MinRetentionDays
	// MaxDecisionStartToCloseSeconds is the minimal allowed decision start to close timeout in seconds
	MaxDecisionStartToCloseSeconds

	// BlobSizeLimitError is the per event blob size limit
	BlobSizeLimitError
	// BlobSizeLimitWarn is the per event blob size limit for warning
	BlobSizeLimitWarn
	// HistorySizeLimitError is the per workflow execution history size limit
	HistorySizeLimitError
	// HistorySizeLimitWarn is the per workflow execution history size limit for warning
	HistorySizeLimitWarn
	// HistoryCountLimitError is the per workflow execution history event count limit
	HistoryCountLimitError
	// HistoryCountLimitWarn is the per workflow execution history event count limit for warning
	HistoryCountLimitWarn

	// MaxIDLengthLimit is the length limit for various IDs, including: Domain, TaskList, WorkflowID, ActivityID, TimerID,
	// WorkflowType, ActivityType, SignalName, MarkerName, ErrorReason/FailureReason/CancelCause, Identity, RequestID
	MaxIDLengthLimit

	// FrontendPersistenceMaxQPS is the max qps frontend host can query DB
	FrontendPersistenceMaxQPS
	// FrontendVisibilityMaxPageSize is default max size for ListWorkflowExecutions in one page
	FrontendVisibilityMaxPageSize
	// FrontendVisibilityListMaxQPS is max qps frontend can list open/close workflows
	FrontendVisibilityListMaxQPS
	// FrontendESVisibilityListMaxQPS is max qps frontend can list open/close workflows from ElasticSearch
	FrontendESVisibilityListMaxQPS
	// FrontendESIndexMaxResultWindow is ElasticSearch index setting max_result_window
	FrontendESIndexMaxResultWindow
	// FrontendHistoryMaxPageSize is default max size for GetWorkflowExecutionHistory in one page
	FrontendHistoryMaxPageSize
	// FrontendRPS is workflow rate limit per second
	FrontendRPS
	// FrontendHistoryMgrNumConns is for persistence cluster.NumConns
	FrontendHistoryMgrNumConns
	// FrontendThrottledLogRPS is the rate limit on number of log messages emitted per second for throttled logger
	FrontendThrottledLogRPS
	// EnableClientVersionCheck enables client version check for frontend
	EnableClientVersionCheck
	// FrontendMaxBadBinaries is the max number of bad binaries in domain config
	FrontendMaxBadBinaries
	// ValidSearchAttributes is legal indexed keys that can be used in list APIs
	ValidSearchAttributes
	// SearchAttributesNumberOfKeysLimit is the limit of number of keys
	SearchAttributesNumberOfKeysLimit
	// SearchAttributesSizeOfValueLimit is the size limit of each value
	SearchAttributesSizeOfValueLimit
	// SearchAttributesTotalSizeLimit is the size limit of the whole map
	SearchAttributesTotalSizeLimit

	// MatchingRPS is request rate per second for each matching host
	MatchingRPS
	// MatchingPersistenceMaxQPS is the max qps matching host can query DB
	MatchingPersistenceMaxQPS
	// MatchingMinTaskThrottlingBurstSize is the minimum burst size for task list throttling
	MatchingMinTaskThrottlingBurstSize
	// MatchingGetTasksBatchSize is the maximum batch size to fetch from the task buffer
	MatchingGetTasksBatchSize
	// MatchingLongPollExpirationInterval is the long poll expiration interval in the matching service
	MatchingLongPollExpirationInterval
	// MatchingEnableSyncMatch is to enable sync match
	MatchingEnableSyncMatch
	// MatchingUpdateAckInterval is the interval for update ack
	MatchingUpdateAckInterval
	// MatchingIdleTasklistCheckInterval is the IdleTasklistCheckInterval
	MatchingIdleTasklistCheckInterval
	// MaxTasklistIdleTime is the max time tasklist being idle
	MaxTasklistIdleTime
	// MatchingOutstandingTaskAppendsThreshold is the threshold for outstanding task appends
	MatchingOutstandingTaskAppendsThreshold
	// MatchingMaxTaskBatchSize is max batch size for task writer
	MatchingMaxTaskBatchSize
	// MatchingMaxTaskDeleteBatchSize is the max batch size for range deletion of tasks
	MatchingMaxTaskDeleteBatchSize
	// MatchingThrottledLogRPS is the rate limit on number of log messages emitted per second for throttled logger
	MatchingThrottledLogRPS

	// HistoryRPS is request rate per second for each history host
	HistoryRPS
	// HistoryPersistenceMaxQPS is the max qps history host can query DB
	HistoryPersistenceMaxQPS
	// HistoryVisibilityOpenMaxQPS is max qps one history host can write visibility open_executions
	HistoryVisibilityOpenMaxQPS
	// HistoryVisibilityClosedMaxQPS is max qps one history host can write visibility closed_executions
	HistoryVisibilityClosedMaxQPS
	// HistoryLongPollExpirationInterval is the long poll expiration interval in the history service
	HistoryLongPollExpirationInterval
	// HistoryCacheInitialSize is initial size of history cache
	HistoryCacheInitialSize
	// HistoryCacheMaxSize is max size of history cache
	HistoryCacheMaxSize
	// HistoryCacheTTL is TTL of history cache
	HistoryCacheTTL
	// EventsCacheInitialSize is initial size of events cache
	EventsCacheInitialSize
	// EventsCacheMaxSize is max size of events cache
	EventsCacheMaxSize
	// EventsCacheTTL is TTL of events cache
	EventsCacheTTL
	// AcquireShardInterval is interval that timer used to acquire shard
	AcquireShardInterval
	// StandbyClusterDelay is the atrificial delay added to standby cluster's view of active cluster's time
	StandbyClusterDelay
	// TimerTaskBatchSize is batch size for timer processor to process tasks
	TimerTaskBatchSize
	// TimerTaskWorkerCount is number of task workers for timer processor
	TimerTaskWorkerCount
	// TimerTaskMaxRetryCount is max retry count for timer processor
	TimerTaskMaxRetryCount
	// TimerProcessorStartDelay is the start delay
	TimerProcessorStartDelay
	// TimerProcessorFailoverStartDelay is the failover start delay
	TimerProcessorFailoverStartDelay
	// TimerProcessorGetFailureRetryCount is retry count for timer processor get failure operation
	TimerProcessorGetFailureRetryCount
	// TimerProcessorCompleteTimerFailureRetryCount is retry count for timer processor complete timer operation
	TimerProcessorCompleteTimerFailureRetryCount
	// TimerProcessorUpdateShardTaskCount is update shard count for timer processor
	TimerProcessorUpdateShardTaskCount
	// TimerProcessorUpdateAckInterval is update interval for timer processor
	TimerProcessorUpdateAckInterval
	// TimerProcessorUpdateAckIntervalJitterCoefficient is the update interval jitter coefficient
	TimerProcessorUpdateAckIntervalJitterCoefficient
	// TimerProcessorCompleteTimerInterval is complete timer interval for timer processor
	TimerProcessorCompleteTimerInterval
	// TimerProcessorFailoverMaxPollRPS is max poll rate per second for timer processor
	TimerProcessorFailoverMaxPollRPS
	// TimerProcessorMaxPollRPS is max poll rate per second for timer processor
	TimerProcessorMaxPollRPS
	// TimerProcessorMaxPollInterval is max poll interval for timer processor
	TimerProcessorMaxPollInterval
	// TimerProcessorMaxPollIntervalJitterCoefficient is the max poll interval jitter coefficient
	TimerProcessorMaxPollIntervalJitterCoefficient
	// TimerProcessorMaxTimeShift is the max shift timer processor can have
	TimerProcessorMaxTimeShift
	// TransferTaskBatchSize is batch size for transferQueueProcessor
	TransferTaskBatchSize
	// TransferProcessorFailoverMaxPollRPS is max poll rate per second for transferQueueProcessor
	TransferProcessorFailoverMaxPollRPS
	// TransferProcessorMaxPollRPS is max poll rate per second for transferQueueProcessor
	TransferProcessorMaxPollRPS
	// TransferTaskWorkerCount is number of worker for transferQueueProcessor
	TransferTaskWorkerCount
	// TransferTaskMaxRetryCount is max times of retry for transferQueueProcessor
	TransferTaskMaxRetryCount
	// TransferProcessorStartDelay is the start delay
	TransferProcessorStartDelay
	// TransferProcessorFailoverStartDelay is the failover start delay
	TransferProcessorFailoverStartDelay
	// TransferProcessorCompleteTransferFailureRetryCount is times of retry for failure
	TransferProcessorCompleteTransferFailureRetryCount
	// TransferProcessorUpdateShardTaskCount is update shard count for transferQueueProcessor
	TransferProcessorUpdateShardTaskCount
	// TransferProcessorMaxPollInterval max poll interval for transferQueueProcessor
	TransferProcessorMaxPollInterval
	// TransferProcessorMaxPollIntervalJitterCoefficient is the max poll interval jitter coefficient
	TransferProcessorMaxPollIntervalJitterCoefficient
	// TransferProcessorUpdateAckInterval is update interval for transferQueueProcessor
	TransferProcessorUpdateAckInterval
	// TransferProcessorUpdateAckIntervalJitterCoefficient is the update interval jitter coefficient
	TransferProcessorUpdateAckIntervalJitterCoefficient
	// TransferProcessorCompleteTransferInterval is complete timer interval for transferQueueProcessor
	TransferProcessorCompleteTransferInterval
	// ReplicatorTaskBatchSize is batch size for ReplicatorProcessor
	ReplicatorTaskBatchSize
	// ReplicatorTaskWorkerCount is number of worker for ReplicatorProcessor
	ReplicatorTaskWorkerCount
	// ReplicatorTaskMaxRetryCount is max times of retry for ReplicatorProcessor
	ReplicatorTaskMaxRetryCount
	// ReplicatorProcessorStartDelay is the start delay
	ReplicatorProcessorStartDelay
	// ReplicatorProcessorMaxPollRPS is max poll rate per second for ReplicatorProcessor
	ReplicatorProcessorMaxPollRPS
	// ReplicatorProcessorUpdateShardTaskCount is update shard count for ReplicatorProcessor
	ReplicatorProcessorUpdateShardTaskCount
	// ReplicatorProcessorMaxPollInterval is max poll interval for ReplicatorProcessor
	ReplicatorProcessorMaxPollInterval
	// ReplicatorProcessorMaxPollIntervalJitterCoefficient is the max poll interval jitter coefficient
	ReplicatorProcessorMaxPollIntervalJitterCoefficient
	// ReplicatorProcessorUpdateAckInterval is update interval for ReplicatorProcessor
	ReplicatorProcessorUpdateAckInterval
	// ReplicatorProcessorUpdateAckIntervalJitterCoefficient is the update interval jitter coefficient
	ReplicatorProcessorUpdateAckIntervalJitterCoefficient
	// ExecutionMgrNumConns is persistence connections number for ExecutionManager
	ExecutionMgrNumConns
	// HistoryMgrNumConns is persistence connections number for HistoryManager
	HistoryMgrNumConns
	// MaximumBufferedEventsBatch is max number of buffer event in mutable state
	MaximumBufferedEventsBatch
	// MaximumSignalsPerExecution is max number of signals supported by single execution
	MaximumSignalsPerExecution
	// ShardUpdateMinInterval is the minimal time interval which the shard info can be updated
	ShardUpdateMinInterval
	// ShardSyncMinInterval is the minimal time interval which the shard info should be sync to remote
	ShardSyncMinInterval
	// DefaultEventEncoding is the encoding type for history events
	DefaultEventEncoding
	// NumArchiveSystemWorkflows is key for number of archive system workflows running in total
	NumArchiveSystemWorkflows
	// ArchiveRequestRPS is the rate limit on the number of archive request per second
	ArchiveRequestRPS

	// EnableAdminProtection is whether to enable admin checking
	EnableAdminProtection
	// AdminOperationToken is the token to pass admin checking
	AdminOperationToken
	// HistoryMaxAutoResetPoints is the key for max number of auto reset points stored in mutableState
	HistoryMaxAutoResetPoints

	// EnableEventsV2 is whether to use eventsV2
	EnableEventsV2
	// HistoryThrottledLogRPS is the rate limit on number of log messages emitted per second for throttled logger
	HistoryThrottledLogRPS

	// WorkerPersistenceMaxQPS is the max qps worker host can query DB
	WorkerPersistenceMaxQPS
	// WorkerReplicatorMetaTaskConcurrency is the number of coroutine handling metadata related tasks
	WorkerReplicatorMetaTaskConcurrency
	// WorkerReplicatorTaskConcurrency is the number of coroutine handling non metadata related tasks
	WorkerReplicatorTaskConcurrency
	// WorkerReplicatorMessageConcurrency is the max concurrent tasks provided by messaging client
	WorkerReplicatorMessageConcurrency
	// WorkerReplicatorActivityBufferRetryCount is the retry attempt when encounter retry error on activity
	WorkerReplicatorActivityBufferRetryCount
	// WorkerReplicatorHistoryBufferRetryCount is the retry attempt when encounter retry error on history
	WorkerReplicatorHistoryBufferRetryCount
	// WorkerReplicationTaskMaxRetryCount is the max retry count for any task
	WorkerReplicationTaskMaxRetryCount
	// WorkerReplicationTaskMaxRetryDuration is the max retry duration for any task
	WorkerReplicationTaskMaxRetryDuration
	// WorkerIndexerConcurrency is the max concurrent messages to be processed at any given time
	WorkerIndexerConcurrency
	// WorkerESProcessorNumOfWorkers is num of workers for esProcessor
	WorkerESProcessorNumOfWorkers
	// WorkerESProcessorBulkActions is max number of requests in bulk for esProcessor
	WorkerESProcessorBulkActions
	// WorkerESProcessorBulkSize is max total size of bulk in bytes for esProcessor
	WorkerESProcessorBulkSize
	// WorkerESProcessorFlushInterval is flush interval for esProcessor
	WorkerESProcessorFlushInterval
	// EnableArchivalCompression indicates whether blobs are compressed before they are archived
	EnableArchivalCompression
	// WorkerHistoryPageSize indicates the page size of history fetched from persistence for archival
	WorkerHistoryPageSize
	// WorkerTargetArchivalBlobSize indicates the target blob size in bytes for archival, actual blob size may vary
	WorkerTargetArchivalBlobSize
	// WorkerArchiverConcurrency controls the number of coroutines handling archival work per archival workflow
	WorkerArchiverConcurrency
	// WorkerArchivalsPerIteration controls the number of archivals handled in each iteration of archival workflow
	WorkerArchivalsPerIteration
	// WorkerDeterministicConstructionCheckProbability controls the probability of running a deterministic construction check for any given archival
	WorkerDeterministicConstructionCheckProbability
	// WorkerBlobIntegrityCheckProbability controls the probability of running an integrity check for any given archival
	WorkerBlobIntegrityCheckProbability
	// WorkerTimeLimitPerArchivalIteration controls the time limit of each iteration of archival workflow
	WorkerTimeLimitPerArchivalIteration
	// WorkerThrottledLogRPS is the rate limit on number of log messages emitted per second for throttled logger
	WorkerThrottledLogRPS
	// ScannerPersistenceMaxQPS is the maximum rate of persistence calls from worker.Scanner
	ScannerPersistenceMaxQPS
	// EnableBatcher decides whether start batcher in our worker
	EnableBatcher
)

func (Key) String

func (k Key) String() string

type MapPropertyFn added in v0.5.9

type MapPropertyFn func(opts ...FilterOption) map[string]interface{}

MapPropertyFn is a wrapper to get map property from dynamic config

type PropertyFn

type PropertyFn func() interface{}

PropertyFn is a wrapper to get property from dynamic config

type StringPropertyFn added in v0.4.0

type StringPropertyFn func(opts ...FilterOption) string

StringPropertyFn is a wrapper to get string property from dynamic config

type StringPropertyFnWithDomainFilter added in v0.4.0

type StringPropertyFnWithDomainFilter func(domain string) string

StringPropertyFnWithDomainFilter is a wrapper to get string property from dynamic config

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL