influxdb

package module
v0.0.0-...-23dc106 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 14, 2014 License: MIT Imports: 10 Imported by: 29

README

influxdb-go

Documentation

Index

Constants

View Source
const (
	UDPMaxMessageSize = 2048
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

func NewClient

func NewClient(config *ClientConfig) (*Client, error)

func (*Client) AlterDatabasePrivilege

func (self *Client) AlterDatabasePrivilege(database, name string, isAdmin bool, permissions ...string) error

func (*Client) AuthenticateClusterAdmin

func (self *Client) AuthenticateClusterAdmin(username, password string) error

func (*Client) AuthenticateDatabaseUser

func (self *Client) AuthenticateDatabaseUser(database, username, password string) error

func (*Client) ChangeClusterAdminPassword

func (self *Client) ChangeClusterAdminPassword(name, newPassword string) error

Change the cluster admin password

func (*Client) ChangeDatabaseUser

func (self *Client) ChangeDatabaseUser(database, name, newPassword string, isAdmin bool, newPermissions ...string) error

Change the user password, adming flag and optionally permissions

func (*Client) CreateClusterAdmin

func (self *Client) CreateClusterAdmin(name, password string) error

func (*Client) CreateDatabase

func (self *Client) CreateDatabase(name string) error

func (*Client) CreateDatabaseUser

func (self *Client) CreateDatabaseUser(database, name, password string, permissions ...string) error

Creates a new database user for the given database. permissions can be omitted in which case the user will be able to read and write to all time series. If provided, there should be two strings, the first for read and the second for write. The strings are regexes that are used to match the time series name to determine whether the user has the ability to read/write to the given time series.

client.CreateDatabaseUser("db", "user", "pass")
// the following user cannot read from any series and can write
// to the limited time series only
client.CreateDatabaseUser("db", "limited", "pass", "^$", "limited")

func (*Client) CreateShardSpace

func (self *Client) CreateShardSpace(space *ShardSpace) error

Added to InfluxDB in 0.8.0

func (*Client) DeleteClusterAdmin

func (self *Client) DeleteClusterAdmin(name string) error

func (*Client) DeleteContinuousQueries

func (self *Client) DeleteContinuousQueries(id int) error

func (*Client) DeleteDatabase

func (self *Client) DeleteDatabase(name string) error

func (*Client) DeleteDatabaseUser

func (self *Client) DeleteDatabaseUser(database, name string) error

func (*Client) DisableCompression

func (self *Client) DisableCompression()

func (*Client) DropShard

func (self *Client) DropShard(id uint32, serverIds []uint32) error

func (*Client) DropShardSpace

func (self *Client) DropShardSpace(database, name string) error

Added to InfluxDB in 0.8.0

func (*Client) GetClusterAdminList

func (self *Client) GetClusterAdminList() ([]map[string]interface{}, error)

func (*Client) GetContinuousQueries

func (self *Client) GetContinuousQueries() ([]map[string]interface{}, error)

func (*Client) GetDatabaseList

func (self *Client) GetDatabaseList() ([]map[string]interface{}, error)

func (*Client) GetDatabaseUserList

func (self *Client) GetDatabaseUserList(database string) ([]map[string]interface{}, error)

func (*Client) GetShardSpaces

func (self *Client) GetShardSpaces() ([]*ShardSpace, error)

Added to InfluxDB in 0.8.0

func (*Client) GetShards

func (self *Client) GetShards() (*LongTermShortTermShards, error)

func (*Client) Ping

func (self *Client) Ping() error

func (*Client) Query

func (self *Client) Query(query string, precision ...TimePrecision) ([]*Series, error)

func (*Client) QueryWithNumbers

func (self *Client) QueryWithNumbers(query string, precision ...TimePrecision) ([]*Series, error)

func (*Client) RemoveServer

func (self *Client) RemoveServer(id int) error

func (*Client) Servers

func (self *Client) Servers() ([]map[string]interface{}, error)

func (*Client) UpdateClusterAdmin

func (self *Client) UpdateClusterAdmin(name, password string) error

func (*Client) UpdateDatabaseUser

func (self *Client) UpdateDatabaseUser(database, name, password string) error

func (*Client) UpdateDatabaseUserPermissions

func (self *Client) UpdateDatabaseUserPermissions(database, name, readPermission, writePermissions string) error

func (*Client) WriteSeries

func (self *Client) WriteSeries(series []*Series) error

func (*Client) WriteSeriesOverUDP

func (self *Client) WriteSeriesOverUDP(series []*Series) error

func (*Client) WriteSeriesWithTimePrecision

func (self *Client) WriteSeriesWithTimePrecision(series []*Series, timePrecision TimePrecision) error

type ClientConfig

type ClientConfig struct {
	Host       string
	Username   string
	Password   string
	Database   string
	HttpClient *http.Client
	IsSecure   bool
	IsUDP      bool
}

type LongTermShortTermShards

type LongTermShortTermShards struct {
	// Long term shards, (doesn't get populated for version >= 0.8.0)
	LongTerm []*Shard `json:"longTerm"`
	// Short term shards, (doesn't get populated for version >= 0.8.0)
	ShortTerm []*Shard `json:"shortTerm"`
	// All shards in the system (Long + Short term shards for version < 0.8.0)
	All []*Shard `json:"-"`
}

type Series

type Series struct {
	Name    string          `json:"name"`
	Columns []string        `json:"columns"`
	Points  [][]interface{} `json:"points"`
}

func (*Series) GetColumns

func (self *Series) GetColumns() []string

func (*Series) GetName

func (self *Series) GetName() string

func (*Series) GetPoints

func (self *Series) GetPoints() [][]interface{}

type Shard

type Shard struct {
	Id        uint32   `json:"id"`
	EndTime   int64    `json:"endTime"`
	StartTime int64    `json:"startTime"`
	ServerIds []uint32 `json:"serverIds"`
	SpaceName string   `json:"spaceName"`
	Database  string   `json:"database"`
}

type ShardSpace

type ShardSpace struct {
	// required, must be unique within in the cluster
	Name string
	// optional, if they don't set this shard space will get evaluated for every database
	Database string
	// this is optional, if they don't set it, we'll set to /.*/
	Regex string
	// a duration (24h, 365d) this is optional, if they don't set it, it will default to the storage.dir in the config
	RetentionPolicy string
	// this is required. Should be something like 1h, 4h, 1d, 7d, 30d. Less than the retention policy by about a factor of 10
	ShardDuration string
	// how many servers should have a copy of shards in this space
	ReplicationFactor uint32
	// how many shards should be created for each block of time. Series will be distributed across this split
	Split uint32
}

type ShardSpaceCollection

type ShardSpaceCollection struct {
	ShardSpaces []ShardSpace
}

type TimePrecision

type TimePrecision string
const (
	Second      TimePrecision = "s"
	Millisecond TimePrecision = "m"
	Microsecond TimePrecision = "u"
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL