Documentation ¶
Index ¶
Constants ¶
const ( DefaultHTTPTimeout = 30 * time.Second DefaultWriteConcurrency = 40 DefaultWriteBufferSize = 1000 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BalanceMode ¶
type BalanceMode int
BalanceMode sets what balance mode to use on a subscription. valid options are currently ALL or ANY
const ( ALL BalanceMode = iota ANY )
ALL is a Balance mode option
type Config ¶
type Config struct { // Whether to enable to Subscriber service Enabled bool `toml:"enabled"` HTTPTimeout toml.Duration `toml:"http-timeout"` // InsecureSkipVerify gets passed to the http client, if true, it will // skip https certificate verification. Defaults to false InsecureSkipVerify bool `toml:"insecure-skip-verify"` // configure the path to the PEM encoded CA certs file. If the // empty string, the default system certs will be used CaCerts string `toml:"ca-certs"` // The number of writer goroutines processing the write channel. WriteConcurrency int `toml:"write-concurrency"` // The number of in-flight writes buffered in the write channel. WriteBufferSize int `toml:"write-buffer-size"` }
Config represents a configuration of the subscriber service.
type HTTP ¶
type HTTP struct {
// contains filtered or unexported fields
}
HTTP supports writing points over HTTP using the line protocol.
func NewHTTPS ¶
NewHTTPS returns a new HTTPS points writer with default options and HTTPS configured
func (*HTTP) WritePoints ¶
func (h *HTTP) WritePoints(p *coordinator.WritePointsRequest) (err error)
WritePoints writes points over HTTP transport.
type PointsWriter ¶
type PointsWriter interface {
WritePoints(p *coordinator.WritePointsRequest) error
}
PointsWriter is an interface for writing points to a subscription destination. Only WritePoints() needs to be satisfied. PointsWriter implementations must be goroutine safe.
type Service ¶
type Service struct { MetaClient interface { Databases() []meta.DatabaseInfo WaitForDataChanged() chan struct{} } NewPointsWriter func(u url.URL) (PointsWriter, error) Logger zap.Logger // contains filtered or unexported fields }
Service manages forking the incoming data from InfluxDB to defined third party destinations. Subscriptions are defined per database and retention policy.
func NewService ¶
NewService returns a subscriber service with given settings
func (*Service) Close ¶
Close terminates the subscription service Will panic if called multiple times or without first opening the service.
func (*Service) Points ¶
func (s *Service) Points() chan<- *coordinator.WritePointsRequest
Points returns a channel into which write point requests can be sent.
func (*Service) Statistics ¶
Statistics returns statistics for periodic monitoring.
func (*Service) WithLogger ¶
type Statistics ¶
Statistics maintains the statistics for the subscriber service.
type UDP ¶
type UDP struct {
// contains filtered or unexported fields
}
UDP supports writing points over UDP using the line protocol.
func (*UDP) WritePoints ¶
func (u *UDP) WritePoints(p *coordinator.WritePointsRequest) (err error)
WritePoints writes points over UDP transport.