Documentation ¶
Index ¶
Constants ¶
View Source
const ( // ContentType is the key for the Content-Type header ContentType = "Content-Type" // ContentTypeJSON is the allowed content type ContentTypeJSON = "application/json" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Collector ¶
type Collector interface { http.Handler // Submit submits a measurement to the Collector Submit(*Measurement) // Wait waits up to timeout for the Collector to finish running and returns // the error that caused the Collector to terminate. A timeout of -1 causes // Wait to block indefinitely. Wait(timeout time.Duration) error }
Collector collects Measurements
func NewCollector ¶
NewCollector creates and starts a new Collector
type Measurement ¶
type Measurement struct { // Name is the name of the measurement (e.g. cpu_usage). It maps to the "key" // in "InfluxDB". Name string `json:"name"` // Ts records the time of the measurement. Ts time.Time `json:"ts,omitempty"` // Values contains numeric values of the measurement. These will be stored as // "fields" in InfluxDB. // // Example: { "num_errors": 67 } Values map[string]float64 `json:"values,omitempty"` // Dimensions captures key/value pairs which characterize the measurement. // Dimensions are stored as "tags" or "fields" in InfluxDB depending on which // dimensions have been configured as "IndexedDimensions" on the Collector. // // Example: { "requestid": "18af517b-004f-486c-9978-6cf60be7f1e9", // "ipv6": "2001:0db8:0a0b:12f0:0000:0000:0000:0001", // "host": "myhost.mydomain.com", // "total_cpus": "2", // "cpu_idle": 10.1, // "cpu_system": 53.3, // "cpu_user": 36.6, // "connected_to_internet": true } Dimensions map[string]interface{} `json:"dimensions,omitempty"` }
Measurement represents a measurement at a point in time. It maps to a "point" in InfluxDB.
type Options ¶
type Options struct { // IndexedDimensions identifies which dimensions should be indexed for fast // queries and grouping. In InfluxDB these are stored as "tags". IndexedDimensions []string // WriteToDatabase is a function that writes a batch to the database. If // specified, the influx connection parameters are ignored WriteToDatabase WriteFunc // DBName identifies the name of the InfluxDB database DBName string // BatchSize is the number of measurements to include in a batch before // writing it. If BatchSize is not specified, it defaults to 1000. BatchSize int // MaxBatchWindow is the maximum amount of time to wait before writing a // batch of measurements. If MaxBatchWindow is reached before BatchSize, the // Collector will write the batch of Measurements anyway. If MaxBatchWindow is // unspecified, this feature is not used. MaxBatchWindow time.Duration // MaxRetries caps the number of times that we retry a batch. Defaults to 10. MaxRetries int // RetryInterval specifies the amount of time to wait before retrying a batch. // Defaults to 5 seconds. RetryInterval time.Duration }
Options configures a Collector.
Click to show internal directories.
Click to hide internal directories.