Package opentsdb
Overview ▹
Index ▹
Constants
const ( // DefaultBindAddress is the default address that the service binds to. DefaultBindAddress = ":4242" // DefaultDatabase is the default database used for writes. DefaultDatabase = "opentsdb" // DefaultRetentionPolicy is the default retention policy used for writes. DefaultRetentionPolicy = "" // DefaultConsistencyLevel is the default write consistency level. DefaultConsistencyLevel = "one" // DefaultBatchSize is the default OpenTSDB batch size. DefaultBatchSize = 1000 // DefaultBatchTimeout is the default OpenTSDB batch timeout. DefaultBatchTimeout = time.Second // DefaultBatchPending is the default number of batches that can be in the queue. DefaultBatchPending = 5 // DefaultCertificate is the default location of the certificate used when TLS is enabled. DefaultCertificate = "/etc/ssl/influxdb.pem" )
type Config ¶
Config represents the configuration of the OpenTSDB service.
type Config struct { Enabled bool `toml:"enabled"` BindAddress string `toml:"bind-address"` Database string `toml:"database"` RetentionPolicy string `toml:"retention-policy"` ConsistencyLevel string `toml:"consistency-level"` TLSEnabled bool `toml:"tls-enabled"` Certificate string `toml:"certificate"` BatchSize int `toml:"batch-size"` BatchPending int `toml:"batch-pending"` BatchTimeout toml.Duration `toml:"batch-timeout"` LogPointErrors bool `toml:"log-point-errors"` }
func NewConfig ¶
func NewConfig() Config
NewConfig returns a new config for the service.
func (*Config) WithDefaults ¶
func (c *Config) WithDefaults() *Config
WithDefaults takes the given config and returns a new config with any required default values set.
type Handler ¶
Handler is an http.Handler for the OpenTSDB service.
type Handler struct {
Database string
RetentionPolicy string
PointsWriter interface {
WritePoints(database, retentionPolicy string, consistencyLevel models.ConsistencyLevel, points []models.Point) error
}
Logger zap.Logger
// contains filtered or unexported fields
}
func (*Handler) ServeHTTP ¶
func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request)
ServeHTTP handles an HTTP request of the OpenTSDB REST API.
type Service ¶
Service manages the listener and handler for an HTTP endpoint.
type Service struct {
BindAddress string
Database string
RetentionPolicy string
PointsWriter interface {
WritePoints(database, retentionPolicy string, consistencyLevel models.ConsistencyLevel, points []models.Point) error
}
MetaClient interface {
CreateDatabase(name string) (*meta.DatabaseInfo, error)
}
LogPointErrors bool
Logger zap.Logger
// contains filtered or unexported fields
}
func NewService ¶
func NewService(c Config) (*Service, error)
NewService returns a new instance of Service.
func (*Service) Addr ¶
func (s *Service) Addr() net.Addr
Addr returns the listener's address. Returns nil if listener is closed.
func (*Service) Close ¶
func (s *Service) Close() error
Close closes the openTSDB service.
func (*Service) Closed ¶
func (s *Service) Closed() bool
Closed returns true if the service is currently closed.
func (*Service) Open ¶
func (s *Service) Open() error
Open starts the service.
func (*Service) Statistics ¶
func (s *Service) Statistics(tags map[string]string) []models.Statistic
Statistics returns statistics for periodic monitoring.
func (*Service) WithLogger ¶
func (s *Service) WithLogger(log zap.Logger)
WithLogger sets the logger for the service.
type Statistics ¶
Statistics maintains statistics for the subscriber service.
type Statistics struct { HTTPConnectionsHandled int64 ActiveTelnetConnections int64 HandledTelnetConnections int64 TelnetPointsReceived int64 TelnetBytesReceived int64 TelnetReadError int64 TelnetBadLine int64 TelnetBadTime int64 TelnetBadTag int64 TelnetBadFloat int64 BatchesTransmitted int64 PointsTransmitted int64 BatchesTransmitFail int64 ActiveConnections int64 HandledConnections int64 InvalidDroppedPoints int64 }