kapacitor

package module
v1.7.6 Latest Latest
Warning

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

Go to latest
Published: Oct 28, 2024 License: MIT Imports: 77 Imported by: 281

README ¶

Kapacitor Circle CI Docker pulls

Open source framework for processing, monitoring, and alerting on time series data

Installation

Kapacitor has two binaries:

  • kapacitor – a CLI program for calling the Kapacitor API.
  • kapacitord – the Kapacitor server daemon.

You can either download the binaries directly from the downloads page or go get them:

go get github.com/influxdata/kapacitor/cmd/kapacitor
go get github.com/influxdata/kapacitor/cmd/kapacitord

Configuration

An example configuration file can be found here

Kapacitor can also provide an example config for you using this command:

kapacitord config

Getting Started

This README gives you a high level overview of what Kapacitor is and what its like to use it. As well as some details of how it works. To get started using Kapacitor see this guide. After you finish the getting started exercise you can check out the TICKscripts for different Telegraf plugins.

Basic Example

Kapacitor uses a DSL named TICKscript to define tasks.

A simple TICKscript that alerts on high cpu usage looks like this:

stream
    |from()
        .measurement('cpu_usage_idle')
        .groupBy('host')
    |window()
        .period(1m)
        .every(1m)
    |mean('value')
    |eval(lambda: 100.0 - "mean")
        .as('used')
    |alert()
        .message('{{ .Level}}: {{ .Name }}/{{ index .Tags "host" }} has high cpu usage: {{ index .Fields "used" }}')
        .warn(lambda: "used" > 70.0)
        .crit(lambda: "used" > 85.0)

        // Send alert to hander of choice.

        // Slack
        .slack()
        .channel('#alerts')

        // VictorOps
        .victorOps()
        .routingKey('team_rocket')

        // PagerDuty
        .pagerDuty()

Place the above script into a file cpu_alert.tick then run these commands to start the task:

# Define the task (assumes cpu data is in db 'telegraf')
kapacitor define \
    cpu_alert \
    -type stream \
    -dbrp telegraf.default \
    -tick ./cpu_alert.tick
# Start the task
kapacitor enable cpu_alert

Documentation ¶

Overview ¶

A data pipeline processing engine.

See the README for more complete examples and guides.

Code Organization:

The pipeline package provides an API for how nodes can be connected to form a pipeline. The individual implementations of each node exist in this kapacitor package. The reason for the separation is to keep the exported API from the pipeline package clean as it is consumed via the TICKscripts (a DSL for Kapacitor).

Other Concepts:

Stream vs Batch -- Use of the word 'stream' indicates data arrives a single data point at a time. Use of the word 'batch' indicates data arrives in sets or batches or data points.

Task -- A task represents a concrete workload to perform. It consists of a pipeline and an identifying name. Basic CRUD operations can be performed on tasks.

Task Master -- Responsible for executing a task in a specific environment.

Replay -- Replays static datasets against tasks.

Index ¶

Constants ¶

View Source
const (
	MainTaskMaster = "main"
)

Variables ¶

View Source
var ErrAborted = errors.New("edged aborted")
View Source
var ErrTaskMasterClosed = errors.New("TaskMaster is closed")
View Source
var ErrTaskMasterOpen = errors.New("TaskMaster is open")
View Source
var ErrWrongTaskType = errors.New("wrong task type")

Functions ¶

func ConvertResultTimes ¶ added in v0.10.1

func ConvertResultTimes(r *Result)

func CreateDBRPMap ¶

func CreateDBRPMap(dbrps []DBRP) map[DBRP]bool

func EvalPredicate ¶

func EvalPredicate(se stateful.Expression, scopePool stateful.ScopePool, p edge.FieldsTagsTimeGetter) (bool, error)

EvalPredicate - Evaluate a given expression as a boolean predicate against a set of fields and tags

func ReplayBatchFromChan ¶ added in v1.0.0

func ReplayBatchFromChan(clck clock.Clock, batches []<-chan edge.BufferedBatchMessage, collectors []BatchCollector, recTime bool) <-chan error

Replay batch data from a channel source.

func ReplayBatchFromIO ¶ added in v1.0.0

func ReplayBatchFromIO(clck clock.Clock, data []io.ReadCloser, collectors []BatchCollector, recTime bool) <-chan error

Replay batch data from an IO source.

func ReplayStreamFromChan ¶ added in v1.0.0

func ReplayStreamFromChan(clck clock.Clock, points <-chan edge.PointMessage, collector StreamCollector, recTime bool) <-chan error

Replay stream data from a channel source.

func ReplayStreamFromIO ¶ added in v1.0.0

func ReplayStreamFromIO(clck clock.Clock, data io.ReadCloser, collector StreamCollector, recTime bool, precision string) <-chan error

Replay stream data from an IO source.

func WriteBatchForRecording ¶

func WriteBatchForRecording(w io.Writer, b edge.BufferedBatchMessage) error

func WritePointForRecording ¶

func WritePointForRecording(w io.Writer, p edge.PointMessage, precision string) error

Types ¶

type AlertNode ¶

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

func (*AlertNode) NewGroup ¶ added in v1.4.0

func (n *AlertNode) NewGroup(group edge.GroupInfo, first edge.PointMeta) (edge.Receiver, error)

func (*AlertNode) Wait ¶ added in v0.11.0

func (n *AlertNode) Wait() error

type AutoscaleNode ¶ added in v1.4.0

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

func (*AutoscaleNode) NewGroup ¶ added in v1.4.0

func (n *AutoscaleNode) NewGroup(group edge.GroupInfo, first edge.PointMeta) (edge.Receiver, error)

func (*AutoscaleNode) Wait ¶ added in v1.4.0

func (n *AutoscaleNode) Wait() error

type BarrierNode ¶ added in v1.4.0

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

func (*BarrierNode) NewGroup ¶ added in v1.4.0

func (n *BarrierNode) NewGroup(group edge.GroupInfo, first edge.PointMeta) (edge.Receiver, error)

func (*BarrierNode) Wait ¶ added in v1.4.0

func (n *BarrierNode) Wait() error

type BatchCollector ¶

type BatchCollector interface {
	CollectBatch(edge.BufferedBatchMessage) error
	Close() error
}

type BatchNode ¶

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

func (*BatchNode) Abort ¶ added in v0.10.1

func (n *BatchNode) Abort()

func (*BatchNode) Count ¶ added in v0.13.0

func (n *BatchNode) Count() int

func (*BatchNode) DBRPs ¶

func (n *BatchNode) DBRPs() ([]DBRP, error)

Return list of databases and retention policies the batcher will query.

func (*BatchNode) Queries ¶

func (n *BatchNode) Queries(start, stop time.Time) ([]BatchQueries, error)

func (*BatchNode) Start ¶

func (n *BatchNode) Start()

func (*BatchNode) Wait ¶ added in v0.11.0

func (n *BatchNode) Wait() error

type BatchQueries ¶ added in v1.0.0

type BatchQueries struct {
	Queries            []*Query
	FluxQueries        []*QueryFlux
	Cluster            string
	GroupByMeasurement bool
}

type ChangeDetectNode ¶ added in v1.5.0

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

func (*ChangeDetectNode) NewGroup ¶ added in v1.5.0

func (n *ChangeDetectNode) NewGroup(group edge.GroupInfo, first edge.PointMeta) (edge.Receiver, error)

func (*ChangeDetectNode) Wait ¶ added in v1.5.0

func (n *ChangeDetectNode) Wait() error

type CircularQueue ¶ added in v1.6.5

type CircularQueue[T any] struct {
	Len int
	// contains filtered or unexported fields
}

CircularQueue defines a circular queue, always use the contructor to create one.

func NewCircularQueue ¶ added in v1.6.5

func NewCircularQueue[T any](buf ...T) *CircularQueue[T]

func (*CircularQueue[T]) Dequeue ¶ added in v1.6.5

func (q *CircularQueue[T]) Dequeue(n int)

Dequeue removes n items from the queue. If n is longer than the number of the items in the queue it will clear them all out.

func (*CircularQueue[T]) Enqueue ¶ added in v1.6.5

func (q *CircularQueue[T]) Enqueue(v T)

Enqueue adds an item to the queue.

func (*CircularQueue[x]) Peek ¶ added in v1.6.5

func (q *CircularQueue[x]) Peek(i int) x

Peek peeks i ahead of the current head of queue. It should be used in conjunction with .Len() to prevent a panic.

type CombineNode ¶ added in v1.0.0

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

func (*CombineNode) NewGroup ¶ added in v1.4.0

func (n *CombineNode) NewGroup(group edge.GroupInfo, first edge.PointMeta) (edge.Receiver, error)

func (*CombineNode) Wait ¶ added in v1.0.0

func (n *CombineNode) Wait() error

type DBRP ¶

type DBRP struct {
	Database        string `json:"db"`
	RetentionPolicy string `json:"rp"`
}

func (DBRP) String ¶

func (d DBRP) String() string

type DefaultNode ¶ added in v0.13.0

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

func (*DefaultNode) Barrier ¶ added in v1.4.0

func (n *DefaultNode) Barrier(b edge.BarrierMessage) (edge.Message, error)

func (*DefaultNode) BatchPoint ¶ added in v1.4.0

func (n *DefaultNode) BatchPoint(bp edge.BatchPointMessage) (edge.Message, error)

func (*DefaultNode) BeginBatch ¶ added in v1.4.0

func (n *DefaultNode) BeginBatch(begin edge.BeginBatchMessage) (edge.Message, error)

func (*DefaultNode) DeleteGroup ¶ added in v1.4.0

func (n *DefaultNode) DeleteGroup(d edge.DeleteGroupMessage) (edge.Message, error)

func (*DefaultNode) Done ¶ added in v1.5.0

func (n *DefaultNode) Done()

func (*DefaultNode) EndBatch ¶ added in v1.4.0

func (n *DefaultNode) EndBatch(end edge.EndBatchMessage) (edge.Message, error)

func (*DefaultNode) Point ¶ added in v1.4.0

func (n *DefaultNode) Point(p edge.PointMessage) (edge.Message, error)

func (*DefaultNode) Wait ¶ added in v0.13.0

func (n *DefaultNode) Wait() error

type DeleteNode ¶ added in v1.0.0

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

func (*DeleteNode) Barrier ¶ added in v1.4.0

func (n *DeleteNode) Barrier(b edge.BarrierMessage) (edge.Message, error)

func (*DeleteNode) BatchPoint ¶ added in v1.4.0

func (n *DeleteNode) BatchPoint(bp edge.BatchPointMessage) (edge.Message, error)

func (*DeleteNode) BeginBatch ¶ added in v1.4.0

func (n *DeleteNode) BeginBatch(begin edge.BeginBatchMessage) (edge.Message, error)

func (*DeleteNode) DeleteGroup ¶ added in v1.4.0

func (n *DeleteNode) DeleteGroup(d edge.DeleteGroupMessage) (edge.Message, error)

func (*DeleteNode) Done ¶ added in v1.5.0

func (n *DeleteNode) Done()

func (*DeleteNode) EndBatch ¶ added in v1.4.0

func (n *DeleteNode) EndBatch(end edge.EndBatchMessage) (edge.Message, error)

func (*DeleteNode) Point ¶ added in v1.4.0

func (n *DeleteNode) Point(p edge.PointMessage) (edge.Message, error)

func (*DeleteNode) Wait ¶ added in v1.0.0

func (n *DeleteNode) Wait() error

type DerivativeNode ¶

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

func (*DerivativeNode) NewGroup ¶ added in v1.4.0

func (n *DerivativeNode) NewGroup(group edge.GroupInfo, first edge.PointMeta) (edge.Receiver, error)

func (*DerivativeNode) Wait ¶ added in v0.11.0

func (n *DerivativeNode) Wait() error

type Diagnostic ¶ added in v1.4.0

type Diagnostic interface {
	WithTaskContext(task string) TaskDiagnostic
	WithTaskMasterContext(tm string) Diagnostic
	WithNodeContext(node string) NodeDiagnostic
	WithEdgeContext(task, parent, child string) EdgeDiagnostic

	TaskMasterOpened()
	TaskMasterClosed()

	StartingTask(id string)
	StartedTask(id string)

	StoppedTask(id string)
	StoppedTaskWithError(id string, err error)

	TaskMasterDot(d string)
}

type Edge ¶

type Edge struct {
	edge.StatsEdge
	// contains filtered or unexported fields
}

func (*Edge) Close ¶

func (e *Edge) Close() error

type EdgeDiagnostic ¶ added in v1.4.0

type EdgeDiagnostic interface {
	ClosingEdge(collected, emitted int64)
}

type EvalNode ¶

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

func (*EvalNode) NewGroup ¶ added in v1.4.0

func (n *EvalNode) NewGroup(group edge.GroupInfo, first edge.PointMeta) (edge.Receiver, error)

func (*EvalNode) Wait ¶ added in v0.11.0

func (n *EvalNode) Wait() error

type ExecutingTask ¶

type ExecutingTask struct {
	Task *Task
	// contains filtered or unexported fields
}

A task that is ready for execution.

func NewExecutingTask ¶

func NewExecutingTask(tm *TaskMaster, t *Task) (*ExecutingTask, error)

Create a new task from a defined kapacitor.

func (*ExecutingTask) BatchCount ¶

func (et *ExecutingTask) BatchCount() (int, error)

func (*ExecutingTask) BatchQueries ¶

func (et *ExecutingTask) BatchQueries(start, stop time.Time) ([]BatchQueries, error)

Get the next `num` batch queries that the batcher will run starting at time `start`.

func (*ExecutingTask) EDot ¶ added in v0.2.3

func (et *ExecutingTask) EDot(labels bool) []byte

Return a graphviz .dot formatted byte array. Label edges with relavant execution information.

func (*ExecutingTask) ExecutionStats ¶ added in v0.11.0

func (et *ExecutingTask) ExecutionStats() (ExecutionStats, error)

func (*ExecutingTask) GetOutput ¶

func (et *ExecutingTask) GetOutput(name string) (Output, error)

Get a named output.

func (*ExecutingTask) Snapshot ¶ added in v0.10.0

func (et *ExecutingTask) Snapshot() (*TaskSnapshot, error)

func (*ExecutingTask) StartBatching ¶

func (et *ExecutingTask) StartBatching() error

Instruct source batch node to start querying and sending batches of data

func (*ExecutingTask) StopStats ¶ added in v0.11.0

func (et *ExecutingTask) StopStats()

Stop all stats nodes

func (*ExecutingTask) Wait ¶ added in v0.11.0

func (et *ExecutingTask) Wait() error

Wait till the task finishes and return any error

type ExecutionStats ¶ added in v0.11.0

type ExecutionStats struct {
	TaskStats map[string]interface{}
	NodeStats map[string]map[string]interface{}
}

type FlattenNode ¶ added in v1.0.0

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

func (*FlattenNode) NewGroup ¶ added in v1.4.0

func (n *FlattenNode) NewGroup(group edge.GroupInfo, first edge.PointMeta) (edge.Receiver, error)

func (*FlattenNode) Wait ¶ added in v1.0.0

func (n *FlattenNode) Wait() error

type FluxQueryNode ¶ added in v1.6.0

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

FluxQueryNode is a node for making flux queries

func (*FluxQueryNode) Abort ¶ added in v1.6.0

func (n *FluxQueryNode) Abort()

func (*FluxQueryNode) Cluster ¶ added in v1.6.0

func (n *FluxQueryNode) Cluster() string

func (*FluxQueryNode) Queries ¶ added in v1.6.0

func (n *FluxQueryNode) Queries(start, stop time.Time) ([]*QueryFlux, error)

func (*FluxQueryNode) Start ¶ added in v1.6.0

func (n *FluxQueryNode) Start()

func (*FluxQueryNode) Wait ¶ added in v1.6.0

func (n *FluxQueryNode) Wait() error

type FromNode ¶ added in v0.13.0

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

func (*FromNode) Barrier ¶ added in v1.4.0

func (n *FromNode) Barrier(b edge.BarrierMessage) (edge.Message, error)

func (*FromNode) BatchPoint ¶ added in v1.4.0

func (n *FromNode) BatchPoint(edge.BatchPointMessage) (edge.Message, error)

func (*FromNode) BeginBatch ¶ added in v1.4.0

func (n *FromNode) BeginBatch(edge.BeginBatchMessage) (edge.Message, error)

func (*FromNode) DeleteGroup ¶ added in v1.4.0

func (n *FromNode) DeleteGroup(d edge.DeleteGroupMessage) (edge.Message, error)

func (*FromNode) Done ¶ added in v1.5.0

func (n *FromNode) Done()

func (*FromNode) EndBatch ¶ added in v1.4.0

func (n *FromNode) EndBatch(edge.EndBatchMessage) (edge.Message, error)

func (*FromNode) Point ¶ added in v1.4.0

func (n *FromNode) Point(p edge.PointMessage) (edge.Message, error)

func (*FromNode) Wait ¶ added in v0.13.0

func (n *FromNode) Wait() error

type GroupByNode ¶

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

func (*GroupByNode) Barrier ¶ added in v1.4.0

func (n *GroupByNode) Barrier(b edge.BarrierMessage) error

func (*GroupByNode) BatchPoint ¶ added in v1.4.0

func (n *GroupByNode) BatchPoint(bp edge.BatchPointMessage) error

func (*GroupByNode) BeginBatch ¶ added in v1.4.0

func (n *GroupByNode) BeginBatch(begin edge.BeginBatchMessage) error

func (*GroupByNode) DeleteGroup ¶ added in v1.4.0

func (n *GroupByNode) DeleteGroup(d edge.DeleteGroupMessage) error

func (*GroupByNode) Done ¶ added in v1.5.0

func (n *GroupByNode) Done()

func (*GroupByNode) EndBatch ¶ added in v1.4.0

func (n *GroupByNode) EndBatch(end edge.EndBatchMessage) error

func (*GroupByNode) Point ¶ added in v1.4.0

func (n *GroupByNode) Point(p edge.PointMessage) error

func (*GroupByNode) Wait ¶ added in v0.11.0

func (n *GroupByNode) Wait() error

type HTTPOutNode ¶

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

func (*HTTPOutNode) Endpoint ¶

func (n *HTTPOutNode) Endpoint() string

func (*HTTPOutNode) NewGroup ¶ added in v1.4.0

func (n *HTTPOutNode) NewGroup(group edge.GroupInfo, first edge.PointMeta) (edge.Receiver, error)

func (*HTTPOutNode) Wait ¶ added in v0.11.0

func (n *HTTPOutNode) Wait() error

type HTTPPostNode ¶ added in v1.3.0

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

func (*HTTPPostNode) NewGroup ¶ added in v1.4.0

func (n *HTTPPostNode) NewGroup(group edge.GroupInfo, first edge.PointMeta) (edge.Receiver, error)

func (*HTTPPostNode) Wait ¶ added in v1.3.0

func (n *HTTPPostNode) Wait() error

type InfluxDBOutNode ¶

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

func (*InfluxDBOutNode) Barrier ¶ added in v1.4.0

func (*InfluxDBOutNode) BatchPoint ¶ added in v1.4.0

func (n *InfluxDBOutNode) BatchPoint(bp edge.BatchPointMessage) (edge.Message, error)

func (*InfluxDBOutNode) BeginBatch ¶ added in v1.4.0

func (n *InfluxDBOutNode) BeginBatch(begin edge.BeginBatchMessage) (edge.Message, error)

func (*InfluxDBOutNode) BufferedBatch ¶ added in v1.4.0

func (n *InfluxDBOutNode) BufferedBatch(batch edge.BufferedBatchMessage) (edge.Message, error)

func (*InfluxDBOutNode) DeleteGroup ¶ added in v1.4.0

func (*InfluxDBOutNode) Done ¶ added in v1.5.0

func (n *InfluxDBOutNode) Done()

func (*InfluxDBOutNode) EndBatch ¶ added in v1.4.0

func (n *InfluxDBOutNode) EndBatch(end edge.EndBatchMessage) (edge.Message, error)

func (*InfluxDBOutNode) Point ¶ added in v1.4.0

func (*InfluxDBOutNode) Wait ¶ added in v0.11.0

func (n *InfluxDBOutNode) Wait() error

type InfluxQLNode ¶ added in v0.11.0

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

func (*InfluxQLNode) NewGroup ¶ added in v1.4.0

func (n *InfluxQLNode) NewGroup(group edge.GroupInfo, first edge.PointMeta) (edge.Receiver, error)

func (*InfluxQLNode) Wait ¶ added in v0.11.0

func (n *InfluxQLNode) Wait() error

type JoinNode ¶

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

func (*JoinNode) Barrier ¶ added in v1.4.0

func (n *JoinNode) Barrier(src int, b edge.BarrierMessage) error

func (*JoinNode) BufferedBatch ¶ added in v1.4.0

func (n *JoinNode) BufferedBatch(src int, batch edge.BufferedBatchMessage) error

func (*JoinNode) Delete ¶ added in v1.6.0

func (n *JoinNode) Delete(src int, d edge.DeleteGroupMessage) error

Delete deletes the group from the JoinNode, and resets the Low Marks for from the group from that source. if deleteAll is set on the pipeline.Joinnode, then it any delete will delete

func (*JoinNode) Finish ¶ added in v1.4.0

func (n *JoinNode) Finish() error

func (*JoinNode) Point ¶ added in v1.4.0

func (n *JoinNode) Point(src int, p edge.PointMessage) error

func (*JoinNode) Wait ¶ added in v0.11.0

func (n *JoinNode) Wait() error

type KapacitorLoopbackNode ¶ added in v1.3.0

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

func (*KapacitorLoopbackNode) Barrier ¶ added in v1.4.0

func (*KapacitorLoopbackNode) BatchPoint ¶ added in v1.4.0

func (*KapacitorLoopbackNode) BeginBatch ¶ added in v1.4.0

func (n *KapacitorLoopbackNode) BeginBatch(begin edge.BeginBatchMessage) error

func (*KapacitorLoopbackNode) DeleteGroup ¶ added in v1.4.0

func (*KapacitorLoopbackNode) Done ¶ added in v1.5.0

func (n *KapacitorLoopbackNode) Done()

func (*KapacitorLoopbackNode) EndBatch ¶ added in v1.4.0

func (*KapacitorLoopbackNode) Point ¶ added in v1.4.0

func (*KapacitorLoopbackNode) Wait ¶ added in v1.3.0

func (n *KapacitorLoopbackNode) Wait() error

type LogNode ¶ added in v0.11.0

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

func (*LogNode) Barrier ¶ added in v1.4.0

func (n *LogNode) Barrier(b edge.BarrierMessage) (edge.Message, error)

func (*LogNode) BatchPoint ¶ added in v1.4.0

func (n *LogNode) BatchPoint(bp edge.BatchPointMessage) (edge.Message, error)

func (*LogNode) BeginBatch ¶ added in v1.4.0

func (n *LogNode) BeginBatch(begin edge.BeginBatchMessage) (edge.Message, error)

func (*LogNode) BufferedBatch ¶ added in v1.4.0

func (n *LogNode) BufferedBatch(batch edge.BufferedBatchMessage) (edge.Message, error)

func (*LogNode) DeleteGroup ¶ added in v1.4.0

func (n *LogNode) DeleteGroup(d edge.DeleteGroupMessage) (edge.Message, error)

func (*LogNode) Done ¶ added in v1.5.0

func (n *LogNode) Done()

func (*LogNode) EndBatch ¶ added in v1.4.0

func (n *LogNode) EndBatch(end edge.EndBatchMessage) (edge.Message, error)

func (*LogNode) Point ¶ added in v1.4.0

func (n *LogNode) Point(p edge.PointMessage) (edge.Message, error)

func (*LogNode) Wait ¶ added in v0.11.0

func (n *LogNode) Wait() error

type LogService ¶

type LogService interface {
	NewLogger(prefix string, flag int) *log.Logger
}

type MaxDuration ¶ added in v0.11.0

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

MaxDuration is a 64-bit int variable representing a duration in nanoseconds,that satisfies the expvar.Var interface. When setting a value it will only be set if it is greater than the current value.

func (*MaxDuration) IntValue ¶ added in v0.11.0

func (v *MaxDuration) IntValue() int64

func (*MaxDuration) Set ¶ added in v0.11.0

func (v *MaxDuration) Set(next int64)

Set sets value if it is greater than current value. If set was successful and a setter exists, will pass on value to setter.

func (*MaxDuration) String ¶ added in v0.11.0

func (v *MaxDuration) String() string

func (*MaxDuration) StringValue ¶ added in v1.0.0

func (v *MaxDuration) StringValue() string

type NoOpNode ¶ added in v0.11.0

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

func (*NoOpNode) Wait ¶ added in v0.11.0

func (n *NoOpNode) Wait() error

type Node ¶

type Node interface {
	pipeline.Node

	// wait for the node to finish processing and return any errors
	Wait() error
	// contains filtered or unexported methods
}

A node that can be in an executor.

type NodeDiagnostic ¶ added in v1.4.0

type NodeDiagnostic interface {
	Error(msg string, err error, ctx ...keyvalue.T)

	// AlertNode
	AlertTriggered(level alert.Level, id string, message string, rows *models.Row)

	// AutoscaleNode
	SettingReplicas(new int, old int, id string)

	// QueryNode
	StartingBatchQuery(q string)

	// LogNode
	LogPointData(key, prefix string, data edge.PointMessage)
	LogBatchData(key, prefix string, data edge.BufferedBatchMessage)

	//UDF
	UDFLog(s string)
}

type NoopMetaClient ¶ added in v1.0.0

type NoopMetaClient struct{}

func (*NoopMetaClient) Authenticate ¶ added in v1.0.0

func (m *NoopMetaClient) Authenticate(username, password string) (ui *meta.UserInfo, err error)

func (*NoopMetaClient) CreateDatabase ¶ added in v1.0.0

func (m *NoopMetaClient) CreateDatabase(name string) (*meta.DatabaseInfo, error)

func (*NoopMetaClient) CreateDatabaseWithRetentionPolicy ¶ added in v1.0.0

func (m *NoopMetaClient) CreateDatabaseWithRetentionPolicy(name string, rpi *meta.RetentionPolicySpec) (*meta.DatabaseInfo, error)

func (*NoopMetaClient) CreateRetentionPolicy ¶ added in v1.0.0

func (m *NoopMetaClient) CreateRetentionPolicy(database string, spec *meta.RetentionPolicySpec, makeDefault bool) (*meta.RetentionPolicyInfo, error)

func (*NoopMetaClient) Database ¶ added in v1.0.0

func (m *NoopMetaClient) Database(name string) *meta.DatabaseInfo

func (*NoopMetaClient) RetentionPolicy ¶ added in v1.0.0

func (m *NoopMetaClient) RetentionPolicy(database, name string) (*meta.RetentionPolicyInfo, error)

func (*NoopMetaClient) Users ¶ added in v1.0.0

func (m *NoopMetaClient) Users() ([]meta.UserInfo, error)

func (*NoopMetaClient) WaitForLeader ¶ added in v1.0.0

func (m *NoopMetaClient) WaitForLeader(d time.Duration) error

type Output ¶

type Output interface {
	Endpoint() string
}

An output of a pipeline. Still need to improve this interface to expose different types of outputs.

type Query ¶

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

func NewQuery ¶

func NewQuery(queryString string) (*Query, error)

func (*Query) AlignGroup ¶ added in v1.2.0

func (q *Query) AlignGroup()

func (*Query) Clone ¶ added in v1.0.1

func (q *Query) Clone() (*Query, error)

Deep clone this query

func (*Query) DBRPs ¶

func (q *Query) DBRPs() ([]DBRP, error)

Return the db rp pairs of the query

func (*Query) Dimensions ¶

func (q *Query) Dimensions(dims []interface{}) error

Set the dimensions on the query

func (*Query) Fill ¶

func (q *Query) Fill(option influxql.FillOption, value interface{})

func (*Query) IsGroupedByTime ¶ added in v1.0.1

func (q *Query) IsGroupedByTime() bool

func (*Query) SetStartTime ¶ added in v1.0.1

func (q *Query) SetStartTime(s time.Time)

Set the start time of the query

func (*Query) SetStopTime ¶ added in v1.0.1

func (q *Query) SetStopTime(s time.Time)

Set the stop time of the query

func (*Query) StartTime ¶ added in v1.0.1

func (q *Query) StartTime() time.Time

Set the start time of the query

func (*Query) StopTime ¶ added in v1.0.1

func (q *Query) StopTime() time.Time

Set the stop time of the query

func (*Query) String ¶

func (q *Query) String() string

type QueryFlux ¶ added in v1.6.0

type QueryFlux struct {
	Now time.Time
	// contains filtered or unexported fields
}

func NewQueryFlux ¶ added in v1.6.0

func NewQueryFlux(queryString, org, orgID string) (*QueryFlux, error)

func (*QueryFlux) Clone ¶ added in v1.6.0

func (q *QueryFlux) Clone() (*QueryFlux, error)

Deep clone this query

func (*QueryFlux) String ¶ added in v1.6.0

func (q *QueryFlux) String() string

type QueryNode ¶ added in v0.13.0

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

func (*QueryNode) Abort ¶ added in v0.13.0

func (n *QueryNode) Abort()

func (*QueryNode) Cluster ¶ added in v1.0.0

func (n *QueryNode) Cluster() string

func (*QueryNode) DBRPs ¶ added in v0.13.0

func (n *QueryNode) DBRPs() ([]DBRP, error)

Return list of databases and retention policies the batcher will query.

func (*QueryNode) GroupByMeasurement ¶ added in v1.0.0

func (n *QueryNode) GroupByMeasurement() bool

func (*QueryNode) Queries ¶ added in v0.13.0

func (n *QueryNode) Queries(start, stop time.Time) ([]*Query, error)

func (*QueryNode) Start ¶ added in v0.13.0

func (n *QueryNode) Start()

func (*QueryNode) Wait ¶ added in v0.13.0

func (n *QueryNode) Wait() error

type Result ¶

type Result query.Result

The result from an output.

func ResultFromJSON ¶

func ResultFromJSON(in io.Reader) (r Result)

Unmarshal a Result object from JSON.

type SampleNode ¶

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

func (*SampleNode) NewGroup ¶ added in v1.4.0

func (n *SampleNode) NewGroup(group edge.GroupInfo, first edge.PointMeta) (edge.Receiver, error)

func (*SampleNode) Wait ¶ added in v0.11.0

func (n *SampleNode) Wait() error

type ShiftNode ¶ added in v0.11.0

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

func (*ShiftNode) Barrier ¶ added in v1.4.0

func (n *ShiftNode) Barrier(b edge.BarrierMessage) (edge.Message, error)

func (*ShiftNode) BatchPoint ¶ added in v1.4.0

func (n *ShiftNode) BatchPoint(bp edge.BatchPointMessage) (edge.Message, error)

func (*ShiftNode) BeginBatch ¶ added in v1.4.0

func (n *ShiftNode) BeginBatch(begin edge.BeginBatchMessage) (edge.Message, error)

func (*ShiftNode) DeleteGroup ¶ added in v1.4.0

func (n *ShiftNode) DeleteGroup(d edge.DeleteGroupMessage) (edge.Message, error)

func (*ShiftNode) Done ¶ added in v1.5.0

func (n *ShiftNode) Done()

func (*ShiftNode) EndBatch ¶ added in v1.4.0

func (n *ShiftNode) EndBatch(end edge.EndBatchMessage) (edge.Message, error)

func (*ShiftNode) Point ¶ added in v1.4.0

func (n *ShiftNode) Point(p edge.PointMessage) (edge.Message, error)

func (*ShiftNode) Wait ¶ added in v0.11.0

func (n *ShiftNode) Wait() error

type SideloadNode ¶ added in v1.4.0

type SideloadNode struct {
	Endpoint *httppost.Endpoint
	// contains filtered or unexported fields
}

func (*SideloadNode) Barrier ¶ added in v1.4.0

func (n *SideloadNode) Barrier(b edge.BarrierMessage) (edge.Message, error)

func (*SideloadNode) BatchPoint ¶ added in v1.4.0

func (n *SideloadNode) BatchPoint(bp edge.BatchPointMessage) (edge.Message, error)

func (*SideloadNode) BeginBatch ¶ added in v1.4.0

func (n *SideloadNode) BeginBatch(begin edge.BeginBatchMessage) (edge.Message, error)

func (*SideloadNode) DeleteGroup ¶ added in v1.4.0

func (n *SideloadNode) DeleteGroup(d edge.DeleteGroupMessage) (edge.Message, error)

func (*SideloadNode) Done ¶ added in v1.5.0

func (n *SideloadNode) Done()

func (*SideloadNode) EndBatch ¶ added in v1.4.0

func (n *SideloadNode) EndBatch(end edge.EndBatchMessage) (edge.Message, error)

func (*SideloadNode) Point ¶ added in v1.4.0

func (*SideloadNode) Wait ¶ added in v1.4.0

func (n *SideloadNode) Wait() error

type Socket ¶ added in v0.13.0

type Socket interface {
	Open() error
	Close() error
	In() io.WriteCloser
	Out() io.Reader
}

func NewSocketConn ¶ added in v1.0.0

func NewSocketConn(path string) Socket

type StateTrackingNode ¶ added in v1.3.0

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

func (*StateTrackingNode) NewGroup ¶ added in v1.4.0

func (n *StateTrackingNode) NewGroup(group edge.GroupInfo, first edge.PointMeta) (edge.Receiver, error)

func (*StateTrackingNode) Wait ¶ added in v1.3.0

func (n *StateTrackingNode) Wait() error

type StatsNode ¶ added in v0.10.0

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

func (*StatsNode) Wait ¶ added in v0.11.0

func (n *StatsNode) Wait() error

type StreamCollector ¶

type StreamCollector interface {
	CollectPoint(edge.PointMessage) error
	Close() error
}

type StreamEdge ¶ added in v1.4.0

type StreamEdge interface {
	CollectPoint(edge.PointMessage) error
	EmitPoint() (edge.PointMessage, bool)
	Close() error
}

type StreamNode ¶

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

func (*StreamNode) Wait ¶ added in v0.11.0

func (n *StreamNode) Wait() error

type Task ¶

type Task struct {
	ID               string
	Pipeline         *pipeline.Pipeline
	Type             TaskType
	DBRPs            []DBRP
	SnapshotInterval time.Duration
}

The complete definition of a task, its id, pipeline and type.

func (*Task) Dot ¶

func (t *Task) Dot() []byte

func (*Task) Measurements ¶ added in v0.13.0

func (t *Task) Measurements() []string

returns all the measurements from a FromNode

type TaskDiagnostic ¶ added in v1.4.0

type TaskDiagnostic interface {
	WithNodeContext(node string) NodeDiagnostic

	Error(msg string, err error, ctx ...keyvalue.T)
}

type TaskMaster ¶

type TaskMaster struct {
	ServerInfo vars.Infoer

	HTTPDService interface {
		AddRoutes([]httpd.Route) error
		DelRoutes([]httpd.Route)
		URL() string
	}
	TaskStore interface {
		SaveSnapshot(id string, snapshot *TaskSnapshot) error
		HasSnapshot(id string) bool
		LoadSnapshot(id string) (*TaskSnapshot, error)
	}
	DeadmanService pipeline.DeadmanService

	UDFService UDFService

	AlertService interface {
		alertservice.AnonHandlerRegistrar
		alertservice.Events
		alertservice.TopicPersister
		alertservice.InhibitorLookup
	}
	InfluxDBService interface {
		NewNamedClient(name string) (influxdb.Client, error)
	}
	SMTPService interface {
		Global() bool
		StateChangesOnly() bool
		Handler(smtp.HandlerConfig, ...keyvalue.T) alert.Handler
	}
	MQTTService interface {
		Handler(mqtt.HandlerConfig, ...keyvalue.T) (alert.Handler, error)
	}

	OpsGenieService interface {
		Global() bool
		Handler(opsgenie.HandlerConfig, ...keyvalue.T) alert.Handler
	}
	OpsGenie2Service interface {
		Global() bool
		Handler(opsgenie2.HandlerConfig, ...keyvalue.T) alert.Handler
	}
	VictorOpsService interface {
		Global() bool
		Handler(victorops.HandlerConfig, ...keyvalue.T) alert.Handler
	}
	PagerDutyService interface {
		Global() bool
		Handler(pagerduty.HandlerConfig, ...keyvalue.T) alert.Handler
	}
	PagerDuty2Service interface {
		Global() bool
		Handler(pagerduty2.HandlerConfig, ...keyvalue.T) (alert.Handler, error)
	}
	PushoverService interface {
		Handler(pushover.HandlerConfig, ...keyvalue.T) alert.Handler
	}
	HTTPPostService interface {
		Handler(httppost.HandlerConfig, ...keyvalue.T) (alert.Handler, error)
		Endpoint(string) (*httppost.Endpoint, bool)
	}
	DiscordService interface {
		Global() bool
		StateChangesOnly() bool
		Handler(discord.HandlerConfig, ...keyvalue.T) (alert.Handler, error)
	}
	BigPandaService interface {
		Global() bool
		StateChangesOnly() bool
		Handler(bigpanda.HandlerConfig, ...keyvalue.T) (alert.Handler, error)
	}
	SlackService interface {
		Global() bool
		StateChangesOnly() bool
		Handler(slack.HandlerConfig, ...keyvalue.T) alert.Handler
	}
	SNMPTrapService interface {
		Handler(snmptrap.HandlerConfig, ...keyvalue.T) (alert.Handler, error)
	}
	TelegramService interface {
		Global() bool
		StateChangesOnly() bool
		Handler(telegram.HandlerConfig, ...keyvalue.T) alert.Handler
	}
	HipChatService interface {
		Global() bool
		StateChangesOnly() bool
		Handler(hipchat.HandlerConfig, ...keyvalue.T) alert.Handler
	}
	KafkaService interface {
		Handler(kafka.HandlerConfig, ...keyvalue.T) (alert.Handler, error)
	}
	AlertaService interface {
		DefaultHandlerConfig() alerta.HandlerConfig
		Handler(alerta.HandlerConfig, ...keyvalue.T) (alert.Handler, error)
	}
	SensuService interface {
		Handler(sensu.HandlerConfig, ...keyvalue.T) (alert.Handler, error)
	}
	TalkService interface {
		Handler(...keyvalue.T) alert.Handler
	}
	TimingService interface {
		NewTimer(timer.Setter) timer.Timer
	}
	K8sService interface {
		Client(string) (k8s.Client, error)
	}
	SwarmService interface {
		Client(string) (swarm.Client, error)
	}
	EC2Service interface {
		Client(string) (ec2.Client, error)
	}

	SideloadService interface {
		Source(*httppost.Endpoint) (sideload.Source, error)
	}

	TeamsService interface {
		Global() bool
		StateChangesOnly() bool
		Handler(teams.HandlerConfig, ...keyvalue.T) alert.Handler
	}
	ServiceNowService interface {
		Global() bool
		StateChangesOnly() bool
		Handler(servicenow.HandlerConfig, ...keyvalue.T) alert.Handler
	}
	ZenossService interface {
		Global() bool
		StateChangesOnly() bool
		Handler(zenoss.HandlerConfig, ...keyvalue.T) alert.Handler
	}

	Commander command.Commander

	DefaultRetentionPolicy string

	TestCloser io.Closer
	// contains filtered or unexported fields
}

An execution framework for a set of tasks.

func NewTaskMaster ¶

func NewTaskMaster(id string, info vars.Infoer, d Diagnostic) *TaskMaster

Create a new Executor with a given clock.

func (*TaskMaster) BatchCollectors ¶

func (tm *TaskMaster) BatchCollectors(id string) []BatchCollector

func (*TaskMaster) Close ¶

func (tm *TaskMaster) Close() error

func (*TaskMaster) CreateTICKScope ¶ added in v0.10.0

func (tm *TaskMaster) CreateTICKScope() *stateful.Scope

func (*TaskMaster) DelFork ¶

func (tm *TaskMaster) DelFork(id string)

func (*TaskMaster) DeleteTask ¶ added in v1.2.0

func (tm *TaskMaster) DeleteTask(id string) error

func (*TaskMaster) Drain ¶ added in v0.2.1

func (tm *TaskMaster) Drain()

func (*TaskMaster) ExecutingDot ¶ added in v0.2.3

func (tm *TaskMaster) ExecutingDot(id string, labels bool) string

func (*TaskMaster) ExecutionStats ¶ added in v0.11.0

func (tm *TaskMaster) ExecutionStats(id string) (ExecutionStats, error)

func (*TaskMaster) ID ¶ added in v1.2.0

func (tm *TaskMaster) ID() string

func (*TaskMaster) IsExecuting ¶ added in v0.2.1

func (tm *TaskMaster) IsExecuting(id string) bool

func (*TaskMaster) New ¶

func (tm *TaskMaster) New(id string) *TaskMaster

Returns a new TaskMaster instance with the same services as the current one.

func (*TaskMaster) NewFork ¶

func (tm *TaskMaster) NewFork(taskName string, dbrps []DBRP, measurements []string) (edge.StatsEdge, error)

func (*TaskMaster) NewTask ¶ added in v0.10.0

func (tm *TaskMaster) NewTask(
	id,
	script string,
	tt TaskType,
	dbrps []DBRP,
	snapshotInterval time.Duration,
	vars map[string]tick.Var,
) (*Task, error)

Create a new task in the context of a TaskMaster

func (*TaskMaster) NewTemplate ¶ added in v1.0.0

func (tm *TaskMaster) NewTemplate(
	id,
	script string,
	tt TaskType,
) (*Template, error)

Create a new template in the context of a TaskMaster

func (*TaskMaster) Open ¶

func (tm *TaskMaster) Open() (err error)

func (*TaskMaster) SnapshotTask ¶ added in v0.10.0

func (tm *TaskMaster) SnapshotTask(id string) (*TaskSnapshot, error)

func (*TaskMaster) StartTask ¶

func (tm *TaskMaster) StartTask(t *Task) (*ExecutingTask, error)

func (*TaskMaster) StopTask ¶

func (tm *TaskMaster) StopTask(id string) error

func (*TaskMaster) StopTasks ¶ added in v0.10.1

func (tm *TaskMaster) StopTasks()

func (*TaskMaster) Stream ¶

func (tm *TaskMaster) Stream(name string) (StreamCollector, error)

func (*TaskMaster) WriteKapacitorPoint ¶ added in v1.3.0

func (tm *TaskMaster) WriteKapacitorPoint(p edge.PointMessage) error

func (*TaskMaster) WritePoints ¶ added in v0.2.1

func (tm *TaskMaster) WritePoints(database, retentionPolicy string, consistencyLevel imodels.ConsistencyLevel, points []imodels.Point) error

func (*TaskMaster) WritePointsPrivileged ¶ added in v1.6.5

func (tm *TaskMaster) WritePointsPrivileged(ctx tsdb.WriteContext, database, retentionPolicy string, consistencyLevel imodels.ConsistencyLevel, points []imodels.Point) error

type TaskMasterLookup ¶ added in v1.0.0

type TaskMasterLookup struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func NewTaskMasterLookup ¶ added in v1.0.0

func NewTaskMasterLookup() *TaskMasterLookup

func (*TaskMasterLookup) Delete ¶ added in v1.0.0

func (tml *TaskMasterLookup) Delete(tm *TaskMaster)

func (*TaskMasterLookup) Get ¶ added in v1.0.0

func (tml *TaskMasterLookup) Get(id string) *TaskMaster

func (*TaskMasterLookup) Main ¶ added in v1.0.0

func (tml *TaskMasterLookup) Main() *TaskMaster

func (*TaskMasterLookup) Set ¶ added in v1.0.0

func (tml *TaskMasterLookup) Set(tm *TaskMaster)

type TaskSnapshot ¶ added in v0.10.0

type TaskSnapshot struct {
	NodeSnapshots map[string][]byte
}

type TaskType ¶

type TaskType int

The type of a task

const (
	StreamTask TaskType = iota
	BatchTask
	InvalidTask
)

func (TaskType) MarshalText ¶ added in v0.13.0

func (t TaskType) MarshalText() ([]byte, error)

func (TaskType) String ¶

func (t TaskType) String() string

func (*TaskType) UnmarshalText ¶ added in v0.13.0

func (t *TaskType) UnmarshalText(text []byte) error

type Template ¶ added in v1.0.0

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

func (*Template) Dot ¶ added in v1.0.0

func (t *Template) Dot() string

func (*Template) Vars ¶ added in v1.0.0

func (t *Template) Vars() map[string]tick.Var

type TimeDimension ¶ added in v1.0.0

type TimeDimension struct {
	Length time.Duration
	Offset time.Duration
}

type TrickleNode ¶ added in v1.6.0

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

func (*TrickleNode) Barrier ¶ added in v1.6.0

func (n *TrickleNode) Barrier(barrier edge.BarrierMessage) error

func (*TrickleNode) BatchPoint ¶ added in v1.6.0

func (n *TrickleNode) BatchPoint(bp edge.BatchPointMessage) error

BatchPoint forwards a PointMessage

func (*TrickleNode) BeginBatch ¶ added in v1.6.0

func (n *TrickleNode) BeginBatch(b edge.BeginBatchMessage) error

BeginBatch sets some batch variables on the node, and isn't forwarded.

func (*TrickleNode) DeleteGroup ¶ added in v1.6.0

func (n *TrickleNode) DeleteGroup(d edge.DeleteGroupMessage) error

func (*TrickleNode) Done ¶ added in v1.6.0

func (n *TrickleNode) Done()

func (*TrickleNode) EndBatch ¶ added in v1.6.0

func (n *TrickleNode) EndBatch(end edge.EndBatchMessage) error

func (*TrickleNode) Point ¶ added in v1.6.0

func (n *TrickleNode) Point(p edge.PointMessage) error

func (*TrickleNode) Wait ¶ added in v1.6.0

func (n *TrickleNode) Wait() error

type UDFNode ¶ added in v0.10.0

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

User defined function

func (*UDFNode) Wait ¶ added in v0.11.0

func (n *UDFNode) Wait() error

type UDFProcess ¶ added in v0.10.0

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

UDFProcess wraps an external process and sends and receives data over STDIN and STDOUT. Lines received over STDERR are logged via normal Kapacitor logging.

func NewUDFProcess ¶ added in v0.10.0

func NewUDFProcess(
	taskName, nodeName string,
	commander command.Commander,
	cmdSpec command.Spec,
	d udf.Diagnostic,
	timeout time.Duration,
	abortCallback func(),
) *UDFProcess

func (*UDFProcess) Abort ¶ added in v0.10.0

func (p *UDFProcess) Abort(err error)

func (*UDFProcess) Close ¶ added in v0.13.0

func (p *UDFProcess) Close() error

Stop the UDFProcess cleanly.

Calling Close should only be done once the owner has stopped writing to the *In channel, at which point the remaining data will be processed and the subprocess will be allowed to exit cleanly.

func (*UDFProcess) In ¶ added in v1.4.0

func (p *UDFProcess) In() chan<- edge.Message

func (*UDFProcess) Info ¶ added in v0.10.0

func (p *UDFProcess) Info() (udf.Info, error)

func (*UDFProcess) Init ¶ added in v0.10.0

func (p *UDFProcess) Init(options []*agent.Option) error

func (*UDFProcess) Open ¶ added in v0.13.0

func (p *UDFProcess) Open() error

Open the UDFProcess

func (*UDFProcess) Out ¶ added in v1.4.0

func (p *UDFProcess) Out() <-chan edge.Message

func (*UDFProcess) Restore ¶ added in v0.10.0

func (p *UDFProcess) Restore(snapshot []byte) error

func (*UDFProcess) Snapshot ¶ added in v0.10.0

func (p *UDFProcess) Snapshot() ([]byte, error)

type UDFService ¶ added in v0.10.0

type UDFService interface {
	List() []string
	Info(name string) (udf.Info, bool)
	Create(name, taskID, nodeID string, d udf.Diagnostic, abortCallback func()) (udf.Interface, error)
}

type UDFSocket ¶ added in v0.13.0

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

func NewUDFSocket ¶ added in v0.13.0

func NewUDFSocket(
	taskName, nodeName string,
	socket Socket,
	d udf.Diagnostic,
	timeout time.Duration,
	abortCallback func(),
) *UDFSocket

func (*UDFSocket) Abort ¶ added in v0.13.0

func (s *UDFSocket) Abort(err error)

func (*UDFSocket) Close ¶ added in v0.13.0

func (s *UDFSocket) Close() error

func (*UDFSocket) In ¶ added in v1.4.0

func (s *UDFSocket) In() chan<- edge.Message

func (*UDFSocket) Info ¶ added in v0.13.0

func (s *UDFSocket) Info() (udf.Info, error)

func (*UDFSocket) Init ¶ added in v0.13.0

func (s *UDFSocket) Init(options []*agent.Option) error

func (*UDFSocket) Open ¶ added in v0.13.0

func (s *UDFSocket) Open() error

func (*UDFSocket) Out ¶ added in v1.4.0

func (s *UDFSocket) Out() <-chan edge.Message

func (*UDFSocket) Restore ¶ added in v0.13.0

func (s *UDFSocket) Restore(snapshot []byte) error

func (*UDFSocket) Snapshot ¶ added in v0.13.0

func (s *UDFSocket) Snapshot() ([]byte, error)

type UnionNode ¶

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

func (*UnionNode) Barrier ¶ added in v1.4.0

func (n *UnionNode) Barrier(src int, b edge.BarrierMessage) error

func (*UnionNode) BufferedBatch ¶ added in v1.4.0

func (n *UnionNode) BufferedBatch(src int, batch edge.BufferedBatchMessage) error

func (*UnionNode) Delete ¶ added in v1.6.0

func (n *UnionNode) Delete(src int, d edge.DeleteGroupMessage) error

func (*UnionNode) Finish ¶ added in v1.4.0

func (n *UnionNode) Finish() error

func (*UnionNode) Point ¶ added in v1.4.0

func (n *UnionNode) Point(src int, p edge.PointMessage) error

func (*UnionNode) Wait ¶ added in v0.11.0

func (n *UnionNode) Wait() error

type WhereNode ¶

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

func (*WhereNode) NewGroup ¶ added in v1.4.0

func (n *WhereNode) NewGroup(group edge.GroupInfo, first edge.PointMeta) (edge.Receiver, error)

func (*WhereNode) Wait ¶ added in v0.11.0

func (n *WhereNode) Wait() error

type WindowNode ¶

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

func (*WindowNode) DeleteGroup ¶ added in v1.4.0

func (n *WindowNode) DeleteGroup(group models.GroupID)

func (*WindowNode) NewGroup ¶ added in v1.4.0

func (n *WindowNode) NewGroup(group edge.GroupInfo, first edge.PointMeta) (edge.Receiver, error)

func (*WindowNode) Wait ¶ added in v0.11.0

func (n *WindowNode) Wait() error

Directories ¶

Path Synopsis
Alert provides a framework for tracking events in a publish subscribe system.
Alert provides a framework for tracking events in a publish subscribe system.
client
v1
Kapacitor HTTP API client written in Go
Kapacitor HTTP API client written in Go
A clock that provides blocking calls that wait until absolute times have occurred.
A clock that provides blocking calls that wait until absolute times have occurred.
cmd
Package edge provides mechanisms for message passing along edges.
Package edge provides mechanisms for message passing along edges.
This package is a fork of the golang expvar expvar.Var types.
This package is a fork of the golang expvar expvar.Var types.
Contains integration and end-to-end tests
Contains integration and end-to-end tests
Provides a set of structures for passing data around Kapacitor.
Provides a set of structures for passing data around Kapacitor.
Provides an API for constructing data processing pipelines.
Provides an API for constructing data processing pipelines.
Provides a server type for starting and configuring a Kapacitor server.
Provides a server type for starting and configuring a Kapacitor server.
services
alert
Alert provides an implementation of the HTTP API for managing alert topics, handlers and events.
Alert provides an implementation of the HTTP API for managing alert topics, handlers and events.
auth/meta
Package meta provides a client to the meta node to allow Kapacitor to perform auth.
Package meta provides a client to the meta node to allow Kapacitor to perform auth.
config/override
Overrider provides an API for overriding and reading redacted values for a configuration object.
Overrider provides an API for overriding and reading redacted values for a configuration object.
dns
ec2
gce
httpd
Provides an HTTP API exposing many components of Kapacitor.
Provides an HTTP API exposing many components of Kapacitor.
k8s
reporting
Sends anonymous reports to InfluxData
Sends anonymous reports to InfluxData
stats
The stats service collects the exported stats and submits them to the Kapacitor stream under the configured database and retetion policy.
The stats service collects the exported stats and submits them to the Kapacitor stream under the configured database and retetion policy.
storage
The storage package provides a key/value based interface for storing Kapacitor metadata.
The storage package provides a key/value based interface for storing Kapacitor metadata.
udf
udp
kv
options
Package options provides ways to extract the task-related options from a Flux script.
Package options provides ways to extract the task-related options from a Flux script.
servicetest
Package servicetest provides tests to ensure that implementations of platform/task/backend.Store and platform/task/backend.LogReader meet the requirements of influxdb.TaskService.
Package servicetest provides tests to ensure that implementations of platform/task/backend.Store and platform/task/backend.LogReader meet the requirements of influxdb.TaskService.
TICKscript is a simple invocation chaining DSL.
TICKscript is a simple invocation chaining DSL.
ast
cmd/tickdoc
Tickdoc is a simple utility similar to godoc that generates documentation from comments.
Tickdoc is a simple utility similar to godoc that generates documentation from comments.
udf
Package uuid generates and parses UUIDs.
Package uuid generates and parses UUIDs.

Jump to

Keyboard shortcuts

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