elasticsearch

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Jan 1, 2017 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package elasticsearch contains logic to record data to an elasticsearch index. The data is already sanitised by the data provider.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	ESEndpoint  string `mapstructure:"endpoint"`
	ESTimeout   string `mapstructure:"timeout"`
	ESBackoff   int    `mapstructure:"backoff"`
	ESIndexName string `mapstructure:"index_name"`
	// contains filtered or unexported fields
}

Config holds the necessary configuration for setting up an elasticsearch reader endpoint.

func FromViper

func FromViper(v *viper.Viper, log logrus.FieldLogger, name, key string) (*Config, error)

FromViper constructs the necessary configuration for bootstrapping the elasticsearch reader

func NewConfig

func NewConfig(log logrus.FieldLogger, name string, endpoint string, timeout time.Duration, backoff int, indexName string) (*Config, error)

NewConfig returns errors coming from Viper

func (*Config) Backoff

func (c *Config) Backoff() int

Backoff return the backoff

func (*Config) Endpoint

func (c *Config) Endpoint() string

Endpoint return the endpoint

func (*Config) IndexName

func (c *Config) IndexName() string

IndexName return the index name

func (*Config) Logger

func (c *Config) Logger() logrus.FieldLogger

Logger return the logger

func (*Config) Name

func (c *Config) Name() string

Name return the name

func (*Config) NewInstance

func (c *Config) NewInstance(ctx context.Context) (recorder.DataRecorder, error)

NewInstance returns an instance of the elasticsearch recorder

func (*Config) RoutePath

func (c *Config) RoutePath() string

RoutePath return an empty string

func (*Config) Timeout

func (c *Config) Timeout() time.Duration

Timeout return the timeout

type Recorder

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

Recorder contains an elasticsearch client and an index name for recording data It implements DataRecorder interface

func NewRecorder

func NewRecorder(
	ctx context.Context,
	log logrus.FieldLogger,
	name,
	endpoint,
	indexName string,
	timeout time.Duration,
	backoff int,
) (*Recorder, error)

NewRecorder returns an error if it can't create the index

func (*Recorder) IndexName added in v0.1.1

func (r *Recorder) IndexName() string

IndexName is the index/database

func (*Recorder) Name

func (r *Recorder) Name() string

Name shows the name identifier for this reader

func (*Recorder) Record added in v0.6.0

func (r *Recorder) Record(ctx context.Context, job *recorder.RecordJob) error

Record returns an error if the endpoint errors. It stops receiving jobs when the endpoint's absence has exceeded the backoff value.

func (*Recorder) SetRecordFunc added in v0.6.0

func (r *Recorder) SetRecordFunc(f func(ctx context.Context, typeName string, timestamp time.Time, list datatype.DataContainer) error)

SetRecordFunc sets the recordFunc. You should only use it in tests.

func (*Recorder) Timeout added in v0.1.1

func (r *Recorder) Timeout() time.Duration

Timeout returns the timeout

Jump to

Keyboard shortcuts

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