opentsdb - ActiveState ActiveGo 1.8
...

Package opentsdb

import "github.com/influxdata/influxdb/services/opentsdb"
Overview
Index

Overview ▾

Package opentsdb provides a service for InfluxDB to ingest data via the opentsdb protocol.

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
}