self

package
v0.3.1 Latest Latest
Warning

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

Go to latest
Published: Dec 24, 2016 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Overview

Package self contains codes for recording expvastic's own metrics. Here is a list of currently collected metrics:

ElasticSearch Var Name    | expvastic var name
----------------------------------------------
Recorders                 | expRecorders
Readers                   | expReaders
Read Jobs                 | readJobs
Record Jobs               | recordJobs
Errored Jobs              | erroredJobs
Records Distributed       | recordsDistributed
DataType Objects          | datatypeObjs
DataType Objects Errors   | datatypeErrs
Unidentified JSON Count   | unidentifiedJSON
StringType Count          | stringTypeCount
FloatType Count           | floatTypeCount
GCListType Count          | gcListTypeCount
ByteType Count            | byteTypeCount
Expvar Reads              | expvarReads
ElasticSearch Records     | elasticsearchRecords

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	TypeName_ string `mapstructure:"type_name"`
	Interval_ string `mapstructure:"interval"`
	// contains filtered or unexported fields
}

Config holds the necessary configuration for setting up an self reading facility.

func FromViper

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

FromViper constructs the necessary configuration for bootstrapping the expvar reader

func (*Config) Backoff

func (c *Config) Backoff() int

func (*Config) Endpoint

func (c *Config) Endpoint() string

func (*Config) Interval

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

func (*Config) Logger

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

func (*Config) Name

func (c *Config) Name() string

func (*Config) NewInstance

func (c *Config) NewInstance(ctx context.Context, jobChan chan context.Context, resultChan chan *reader.ReadJobResult, errorChan chan<- communication.ErrorMessage) (reader.DataReader, error)

func (*Config) RoutePath

func (c *Config) RoutePath() string

func (*Config) Timeout

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

func (*Config) TypeName added in v0.2.1

func (c *Config) TypeName() string

type Reader

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

Reader contains communication channels with a worker that exposes expvar information. It implements DataReader interface.

func NewSelfReader

func NewSelfReader(
	logger logrus.FieldLogger,
	mapper datatype.Mapper,
	jobChan chan context.Context,
	resultChan chan *reader.ReadJobResult,
	errorChan chan<- communication.ErrorMessage,
	name,
	typeName string,
	interval time.Duration,
) (*Reader, error)

NewSelfReader exposes expvastic's own metrics.

func (*Reader) Interval

func (r *Reader) Interval() time.Duration

Interval returns the interval

func (*Reader) JobChan

func (r *Reader) JobChan() chan context.Context

JobChan returns the job channel.

func (*Reader) Mapper added in v0.3.0

func (r *Reader) Mapper() datatype.Mapper

Mapper returns the mapper object

func (*Reader) Name

func (r *Reader) Name() string

Name shows the name identifier for this reader

func (*Reader) ResultChan

func (r *Reader) ResultChan() chan *reader.ReadJobResult

ResultChan returns the result channel.

func (*Reader) Start

func (r *Reader) Start(ctx context.Context) <-chan struct{}

Start begins reading from the target in its own goroutine. It will issue a goroutine on each job request. It will close the done channel when the job channel is closed.

func (*Reader) Timeout

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

Timeout returns the timeout

func (*Reader) TypeName added in v0.2.1

func (r *Reader) TypeName() string

TypeName shows the typeName the recorder should record as

Jump to

Keyboard shortcuts

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