Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Computed ¶
type Computed struct { Name string `json:"name"` Type typeof.Type `json:"type"` Func string `json:"func"` }
Computed represents a computed column
type Config ¶
type Config struct { URI string `json:"uri" yaml:"uri" env:"URI"` Env string `json:"env" yaml:"env" env:"ENV"` // The environment (eg: prd, stg) AppName string `json:"appName" yaml:"appName" env:"APPNAME"` // app name used for monitoring Domain string `json:"domain" yaml:"domain" env:"DOMAIN"` Readers Readers `json:"readers" yaml:"readers" env:"READERS"` Writers Writers `json:"writers" yaml:"writers" env:"WRITERS"` Storage Storage `json:"storage" yaml:"storage" env:"STORAGE"` Tables Tables `json:"tables" yaml:"tables" env:"TABLES"` Statsd *StatsD `json:"statsd,omitempty" yaml:"statsd" env:"STATSD"` Computed []Computed `json:"computed" yaml:"computed" env:"COMPUTED"` }
Config global
type Configurer ¶
type Configurer interface { // Config reads the config in json and populate the config Configure(cfg *Config) error }
Configurer is an interface for any component which will provide the config.
type Func ¶
type Func func() *Config
type GRPC ¶
type GRPC struct {
Port int32 `json:"port" yaml:"port" env:"PORT"` // The port for the gRPC listener (default: 8080)
}
GRPC represents the configuration for gRPC ingress
type Log ¶
type Log struct { Name string `json:"name" yaml:"name" env:"NAME"` // The name of the table TTL int64 `json:"ttl,omitempty" yaml:"ttl" env:"TTL"` // The ttl (in seconds) for the storage, defaults to 1 hour. SortBy string `json:"sortBy,omitempty" yaml:"sortBy" env:"SORTBY"` // The column to use as time, defaults to 'time'. }
Log is the config for log table
type Nodes ¶
type Nodes struct {
Name string `json:"name" yaml:"name" env:"NAME"` // The name of the table
}
Nodes
type Presto ¶
type Presto struct { Port int32 `json:"port" yaml:"port" env:"PORT"` Schema string `json:"schema" yaml:"schema" env:"SCHEMA"` }
Presto represents the Presto configuration
type Readers ¶
type Readers struct {
Presto *Presto `json:"presto" yaml:"presto" env:"PRESTO"`
}
Readers are ways to read the data
type S3Compact ¶
type S3Compact struct { Region string `json:"region" yaml:"region" env:"REGION"` // The region of AWS bucket Bucket string `json:"bucket" yaml:"bucket" env:"BUCKET"` // The name of AWS bucket Concurrency int `json:"concurrency" yaml:"concurrency" env:"CONCURRENCY"` // The S3 upload concurrency NameFunc string `json:"nameFunc" yaml:"nameFunc" env:"NAMEFUNC"` // The lua script to compute file name given a row }
S3Compact stores the config for s3 compaction
type S3SQS ¶
type S3SQS struct { Region string `json:"region" yaml:"region" env:"REGION"` Queue string `json:"queue" yaml:"queue" env:"QUEUE"` WaitTimeout int64 `json:"waitTimeout,omitempty" yaml:"waitTimeout" env:"WAITTIMEOUT"` // in seconds VisibilityTimeout *int64 `json:"visibilityTimeout,omitempty" yaml:"visibilityTimeout" env:"VISIBILITYTIMEOUT"` // in seconds Retries int `json:"retries" yaml:"retries" env:"RETRIES"` }
S3SQS represents the aws S3 SQS configuration
type StatsD ¶
type StatsD struct { Host string `json:"host" yaml:"host" env:"HOST"` Port int64 `json:"port" port:"port" env:"PORT"` }
StatsD represents the configuration for statsD client
type Storage ¶
type Storage struct { Directory string `json:"dir" yaml:"dir" env:"DIR"` S3Compact *S3Compact `json:"s3Compact" yaml:"s3Compact" env:"S3COMPACT"` }
Storage is the location to write the data
type Tables ¶
type Tables struct { Timeseries *Timeseries `json:"timeseries,omitempty" yaml:"timeseries" env:"TIMESERIES"` Log *Log `json:"log,omitempty" yaml:"log" env:"LOG"` Nodes *Nodes `json:"nodes,omitempty" yaml:"nodes" env:"NODES"` }
Tables is a list of table configs
type Timeseries ¶
type Timeseries struct { Name string `json:"name" yaml:"name" env:"NAME"` // The name of the table TTL int64 `json:"ttl,omitempty" yaml:"ttl" env:"TTL"` // The ttl (in seconds) for the storage, defaults to 1 hour. HashBy string `json:"hashBy,omitempty" yaml:"hashBy" env:"HASHBY"` // The column to use as key (metric), defaults to 'event'. SortBy string `json:"sortBy,omitempty" yaml:"sortBy" env:"SORTBY"` // The column to use as time, defaults to 'tsi'. Schema *typeof.Schema `json:"schema" yaml:"schema" env:"SCHEMA"` // The schema of the table }
Timeseries is the config for the timeseries table
Click to show internal directories.
Click to hide internal directories.