Documentation
¶
Overview ¶
Package expvar contains logic to read from an expvar provide. The data comes in JSON format. The GC and memory related information will be changed to better presented to the data recorders. Bytes will be turned into megabytes, gc lists will be truncated to remove zero values.
Index ¶
- type Config
- func (c *Config) Backoff() int
- func (c *Config) Endpoint() string
- func (c *Config) Interval() time.Duration
- func (c *Config) Logger() internal.FieldLogger
- func (c *Config) Name() string
- func (c *Config) NewInstance(ctx context.Context) (reader.DataReader, error)
- func (c *Config) RoutePath() string
- func (c *Config) Timeout() time.Duration
- func (c *Config) TypeName() string
- type Reader
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { EXPTypeName string `mapstructure:"type_name"` EXPEndpoint string `mapstructure:"endpoint"` EXPRoutePath string `mapstructure:"routepath"` EXPInterval string `mapstructure:"interval"` EXPTimeout string `mapstructure:"timeout"` EXPBackoff int `mapstructure:"backoff"` MapFile string `mapstructure:"map_file"` // contains filtered or unexported fields }
Config holds the necessary configuration for setting up an expvar reader endpoint. If MapFile is provided, the data will be mapped, otherwise it uses the DefaultMapper.
func FromViper ¶
FromViper constructs the necessary configuration for bootstrapping the expvar reader.
func NewConfig ¶
func NewConfig(log internal.FieldLogger, name, typeName string, endpoint, routepath string, interval, timeout time.Duration, backoff int, mapFile string) (*Config, error)
NewConfig returns an instance of the expvar reader
func (*Config) NewInstance ¶
NewInstance returns an instance of the expvar reader.
type Reader ¶
type Reader struct {
// contains filtered or unexported fields
}
Reader can read from any application that exposes expvar information. It implements DataReader interface.
func New ¶ added in v0.7.0
func New(log internal.FieldLogger, endpoint string, mapper datatype.Mapper, name string, typeName string, interval time.Duration, timeout time.Duration, backoff int) (*Reader, error)
New creates the worker and sets up its channels. It returns and error on the following occasions:
Condition | Error ---------------------|------------- name == "" | ErrEmptyName endpoint == "" | ErrEmptyEndpoint Invalid endpoint | ErrInvalidEndpoint typeName == "" | ErrEmptyTypeName backoff < 5 | ErrLowBackoffValue
func (*Reader) Ping ¶ added in v0.7.0
Ping pings the endpoint and return nil if was successful. It returns an ErrEndpointNotAvailable if the endpoint id unavailable.
func (*Reader) Read ¶ added in v0.6.0
Read begins reading from the target. It returns an error back to the engine if it can't read from metrics provider, Ping() is not called or the endpoint has been unresponsive too many times.