Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AdvancedSync ¶
type AdvancedSync struct {
StreamingEnabled bool `json:"streamingEnabled" s-cli:"streaming-enabled" s-def:"true" s-desc:"Enable/disable streaming functionality"`
HTTPTimeoutMs int64 `json:"httpTimeoutMs" s-cli:"http-timeout-ms" s-def:"30000" s-desc:"Total http request timeout"`
InternalMetricsRateMs int64 `json:"internalTelemetryRateMs" s-cli:"internal-metrics-rate-ms" s-def:"3600000" s-desc:"How often to send internal metrics"`
TelemetryPushRateMs int64 `json:"telemetryPushRateMs" s-cli:"telemetry-push-rate-ms" s-def:"60000" s-desc:"how often to flush sdk telemetry"`
ImpressionsFetchSize int64 `json:"impressionsFetchSize" s-cli:"impressions-fetch-size" s-def:"0" s-desc:"Impression fetch bulk size"`
ImpressionsProcessConcurrency int `json:"impressionsProcessConcurrency" s-cli:"impressions-process-concurrency" s-def:"0" s-desc:"#Threads for processing imps"`
ImpressionsProcessBatchSize int `json:"impressionsProcessBatchSize" s-cli:"impressions-process-batch-size" s-def:"0" s-desc:"Size of imp processing batchs"`
ImpressionsPostConcurrency int `json:"impressionsPostConcurrency" s-cli:"impressions-post-concurrency" s-def:"0" s-desc:"#concurrent imp post threads"`
ImpressionsPostSize int `json:"impressionsPostSize" s-cli:"impressions-post-size" s-def:"0" s-desc:"Max #impressions to send per POST"`
ImpressionsAccumWaitMs int64 `` /* 126-byte string literal not displayed */
EventsFetchSize int64 `json:"eventsFetchSize" s-cli:"events-fetch-size" s-def:"0" s-desc:"How many impressions to pop from storage at once"`
EventsProcessConcurrency int `json:"eventsProcessConcurrency" s-cli:"events-process-concurrency" s-def:"0" s-desc:"#Threads for processing imps"`
EventsProcessBatchSize int `json:"eventsProcessBatchSize" s-cli:"events-process-batch-size" s-def:"0" s-desc:"Size of imp processing batchs"`
EventsPostConcurrency int `json:"eventsPostConcurrency" s-cli:"events-post-concurrency" s-def:"0" s-desc:"#concurrent imp post threads"`
EventsPostSize int `json:"eventsPostSize" s-cli:"events-post-size" s-def:"0" s-desc:"Max #impressions to send per POST"`
EventsAccumWaitMs int64 `json:"eventsAccumWaitMs" s-cli:"events-accum-wait-ms" s-def:"0" s-desc:"Max ms to wait to close an events bulk"`
}
AdvancedSync configuration options
type Healthcheck ¶
type Healthcheck struct {
App HealthcheckApp `json:"app" s-nested:"true"`
}
Healthcheck configuration options
type HealthcheckApp ¶
type HealthcheckApp struct {
StorageCheckRateMs int64 `json:"storageCheckRateMs" s-cli:"storage-check-rate-ms" s-def:"3600000" s-desc:"How often to check storage health"`
}
HealthcheckApp configuration options
type Initialization ¶
type Initialization struct {
TimeoutMs int64 `json:"timeoutMS" s-cli:"timeout-ms" s-def:"10000" s-desc:"How long to wait until the synchronizer is ready"`
// Coming soon
// Snapshot string `json:"snapshot" s-cli:"snapshot" s-def:"" s-desc:"Snapshot file to use as a starting point"`
ForceFreshStartup bool `json:"forceFreshStartup" s-cli:"force-fresh-startup" s-def:"false" s-desc:"Wipe storage before starting the synchronizer"`
}
Initialization configuration options
type Main ¶
type Main struct {
Apikey string `json:"apikey" s-cli:"apikey" s-def:"" s-desc:"Split Server-side SDK api-key"`
IPAddressEnabled bool `json:"ipAddressEnabled" s-cli:"ip-address-enabled" s-def:"true" s-desc:"Bundle host's ip address when sending data to split"`
Initialization Initialization `json:"initialization" s-nested:"true"`
Storage Storage `json:"storage" s-nested:"true"`
Sync Sync `json:"sync" s-nested:"true"`
Admin conf.Admin `json:"admin" s-nested:"true"`
Integrations conf.Integrations `json:"integrations" s-nested:"true"`
Logging conf.Logging `json:"logging" s-nested:"true"`
Healthcheck Healthcheck `json:"healthcheck" s-nested:"true"`
}
Main configuration options
func (*Main) BuildAdvancedConfig ¶
func (m *Main) BuildAdvancedConfig() *cconf.AdvancedConfig
BuildAdvancedConfig generates a commons-compatible advancedconfig with default + overriden parameters
type Redis ¶
type Redis struct {
Host string `json:"host" s-cli:"redis-host" s-def:"localhost" s-desc:"Redis server hostname"`
Port int `json:"port" s-cli:"redis-port" s-def:"6379" s-desc:"Redis Server port"`
Db int `json:"db" s-cli:"redis-db" s-def:"0" s-desc:"Redis DB"`
Pass string `json:"password" s-cli:"redis-pass" s-def:"" s-desc:"Redis password"`
Prefix string `json:"prefix" s-cli:"redis-prefix" s-def:"" s-desc:"Redis key prefix"`
Network string `json:"network" s-cli:"redis-network" s-def:"tcp" s-desc:"Redis network protocol"`
MaxRetries int `json:"maxRetries" s-cli:"redis-max-retries" s-def:"0" s-desc:"Redis connection max retries"`
DialTimeout int `json:"dialTimeout" s-cli:"redis-dial-timeout" s-def:"5" s-desc:"Redis connection dial timeout"`
ReadTimeout int `json:"readTimeout" s-cli:"redis-read-timeout" s-def:"10" s-desc:"Redis connection read timeout"`
WriteTimeout int `json:"writeTimeout" s-cli:"redis-write-timeout" s-def:"5" s-desc:"Redis connection write timeout"`
PoolSize int `json:"poolSize" s-cli:"redis-pool" s-def:"10" s-desc:"Redis connection pool size"`
SentinelReplication bool `json:"sentinelReplication" s-cli:"redis-sentinel-replication" s-def:"false" s-desc:"Redis sentinel replication enabled."`
SentinelAddresses string `json:"sentinelAddresses" s-cli:"redis-sentinel-addresses" s-def:"" s-desc:"List of redis sentinels"`
SentinelMaster string `json:"sentinelMaster" s-cli:"redis-sentinel-master" s-def:"" s-desc:"Name of master"`
ClusterMode bool `json:"clusterMode" s-cli:"redis-cluster-mode" s-def:"false" s-desc:"Redis cluster enabled."`
ClusterNodes string `json:"clusterNodes" s-cli:"redis-cluster-nodes" s-def:"" s-desc:"List of redis cluster nodes."`
ClusterKeyHashTag string `json:"keyHashTag" s-cli:"redis-cluster-key-hashtag" s-def:"" s-desc:"keyHashTag for redis cluster."`
TLS bool `json:"enableTLS" s-cli:"redis-tls" s-def:"false" s-desc:"Use SSL/TLS for connecting to redis"`
TLSServerName string `json:"tlsServerName" s-cli:"redis-tls-server-name" s-def:"" s-desc:"Server name to use when validating a server public key"`
TLSCACertificates []string `` /* 128-byte string literal not displayed */
TLSSkipNameValidation bool `` /* 126-byte string literal not displayed */
TLSClientCertificate string `json:"tlsClientCertificate" s-cli:"redis-tls-client-certificate" s-def:"" s-desc:"Client certificate signed by a known CA"`
TLSClientKey string `json:"tlsClientKey" s-cli:"redis-tls-client-key" s-def:"" s-desc:"Client private key matching the certificate."`
}
Redis configuration options
type Storage ¶
type Storage struct {
Type string `` /* 129-byte string literal not displayed */
Redis Redis `json:"redis" s-nested:"true"`
}
Storage configuration options
type Sync ¶
type Sync struct {
SplitRefreshRateMs int64 `json:"splitRefreshRateMs" s-cli:"split-refresh-rate-ms" s-def:"60000" s-desc:"How often to refresh splits"`
SegmentRefreshRateMs int64 `json:"segmentRefreshRateMs" s-cli:"segment-refresh-rate-ms" s-def:"60000" s-desc:"How often to refresh segments"`
ImpressionsMode string `json:"impressionsMode" s-cli:"impressions-mode" s-def:"optimized" s-desc:"whether to send all impressions for debugging"`
Advanced AdvancedSync `json:"advanced" s-nested:"true"`
}
Sync configuration options
Click to show internal directories.
Click to hide internal directories.