cache

package
v0.5.2 Latest Latest
Warning

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

Go to latest
Published: Jul 10, 2015 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ReadCarbonlinkRequest

func ReadCarbonlinkRequest(reader io.Reader) ([]byte, error)

ReadCarbonlinkRequest from socket/buffer

Types

type Cache

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

Cache stores and aggregate metrics in memory

func New

func New() *Cache

New create Cache instance and run in/out goroutine

func (*Cache) Add

func (c *Cache) Add(p *points.Points)

Add points to cache

func (*Cache) Get

func (c *Cache) Get() *points.Points

Get any key/values pair from Cache

func (*Cache) In

func (c *Cache) In() chan *points.Points

In returns input channel

func (*Cache) Out

func (c *Cache) Out() chan *points.Points

Out returns output channel

func (*Cache) Pop

func (c *Cache) Pop() *points.Points

Pop return and remove next for save point from cache

func (*Cache) Query

func (c *Cache) Query() chan *Query

Query returns carbonlink query channel

func (*Cache) Remove

func (c *Cache) Remove(key string)

Remove key from cache

func (*Cache) SetGraphPrefix

func (c *Cache) SetGraphPrefix(prefix string)

SetGraphPrefix for internal cache metrics

func (*Cache) SetInputCapacity

func (c *Cache) SetInputCapacity(size int)

SetInputCapacity set buffer size of input channel. Call before In() getter

func (*Cache) SetMaxSize

func (c *Cache) SetMaxSize(maxSize int)

SetMaxSize of cache

func (*Cache) SetOutputChanSize

func (c *Cache) SetOutputChanSize(size int)

SetOutputChanSize ...

func (*Cache) Size

func (c *Cache) Size() int

Size returns size

func (*Cache) Start

func (c *Cache) Start()

Start worker

func (*Cache) Stop

func (c *Cache) Stop()

Stop worker

type CarbonlinkListener

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

CarbonlinkListener receive cache Carbonlinkrequests from graphite-web

func NewCarbonlinkListener

func NewCarbonlinkListener(queryChan chan *Query) *CarbonlinkListener

NewCarbonlinkListener create new instance of CarbonlinkListener

func (*CarbonlinkListener) Addr added in v0.5.1

func (listener *CarbonlinkListener) Addr() net.Addr

Addr returns binded socket address. For bind port 0 in tests

func (*CarbonlinkListener) Listen

func (listener *CarbonlinkListener) Listen(addr *net.TCPAddr) error

Listen bind port. Receive messages and send to out channel

func (*CarbonlinkListener) SetQueryTimeout

func (listener *CarbonlinkListener) SetQueryTimeout(timeout time.Duration)

SetQueryTimeout for queries to cache

func (*CarbonlinkListener) SetReadTimeout

func (listener *CarbonlinkListener) SetReadTimeout(timeout time.Duration)

SetReadTimeout for read request from client

func (*CarbonlinkListener) Stop

func (listener *CarbonlinkListener) Stop()

Stop all listeners

type CarbonlinkRequest

type CarbonlinkRequest struct {
	Type   string
	Metric string
	Key    string
	Value  string
}

CarbonlinkRequest ...

func NewCarbonlinkRequest

func NewCarbonlinkRequest() *CarbonlinkRequest

NewCarbonlinkRequest creates instance of CarbonlinkRequest

func ParseCarbonlinkRequest

func ParseCarbonlinkRequest(data []byte) (*CarbonlinkRequest, error)

ParseCarbonlinkRequest from pickle encoded data

type Query

type Query struct {
	Metric    string
	ReplyChan chan *Reply
}

Query request from carbonlink

func NewQuery

func NewQuery(metric string) *Query

NewQuery create Query instance

type Reply

type Reply struct {
	Points *points.Points
}

Reply response to carbonlink

func NewReply

func NewReply() *Reply

NewReply create Reply instance

Jump to

Keyboard shortcuts

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