graphite

package
v0.9.0-rc15 Latest Latest
Warning

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

Go to latest
Published: Mar 19, 2015 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// DefaultGraphitePort represents the default Graphite (Carbon) plaintext port.
	DefaultGraphitePort = 2003

	// DefaultGraphiteNameSeparator represents the default Graphite field separator.
	DefaultGraphiteNameSeparator = "."
)

Variables

View Source
var (
	// ErrBindAddressRequired is returned when starting the Server
	// without a TCP or UDP listening address.
	ErrBindAddressRequired = errors.New("bind address required")

	// ErrServerClosed return when closing an already closed graphite server.
	ErrServerClosed = errors.New("server already closed")

	// ErrServerNotSpecified returned when Server is not specified.
	ErrServerNotSpecified = errors.New("server not present")
)

Functions

This section is empty.

Types

type Parser

type Parser struct {
	Separator   string
	LastEnabled bool
}

Parser encapulates a Graphite Parser.

func NewParser

func NewParser() *Parser

NewParser returns a GraphiteParser instance.

func (*Parser) DecodeNameAndTags

func (p *Parser) DecodeNameAndTags(field string) (string, map[string]string, error)

DecodeNameAndTags parses the name and tags of a single field of a Graphite datum.

func (*Parser) Parse

func (p *Parser) Parse(line string) (influxdb.Point, error)

Parse performs Graphite parsing of a single line.

type SeriesWriter

type SeriesWriter interface {
	WriteSeries(string, string, []influxdb.Point) (uint64, error)
}

SeriesWriter defines the interface for the destination of the data.

type Server

type Server interface {
	SetLogOutput(w io.Writer)
	ListenAndServe(iface string) error
}

Server defines the interface all Graphite servers support.

func NewServer

func NewServer(protocol string, p *Parser, s SeriesWriter, db string) (Server, error)

NewServer return a Graphite server for the given protocol, using the given parser series writer, and database.

type TCPServer

type TCPServer struct {
	Logger *log.Logger
	// contains filtered or unexported fields
}

TCPServer processes Graphite data received over TCP connections.

func NewTCPServer

func NewTCPServer(p *Parser, w SeriesWriter, db string) *TCPServer

NewTCPServer returns a new instance of a TCPServer.

func (*TCPServer) ListenAndServe

func (t *TCPServer) ListenAndServe(iface string) error

ListenAndServe instructs the TCPServer to start processing Graphite data on the given interface. iface must be in the form host:port

func (*TCPServer) SetLogOutput

func (s *TCPServer) SetLogOutput(w io.Writer)

SetLogOutput sets writer for all Graphite log output.

type UDPServer

type UDPServer struct {
	Logger *log.Logger
	// contains filtered or unexported fields
}

UDPServer processes Graphite data received via UDP.

func NewUDPServer

func NewUDPServer(p *Parser, w SeriesWriter, db string) *UDPServer

NewUDPServer returns a new instance of a UDPServer

func (*UDPServer) ListenAndServe

func (u *UDPServer) ListenAndServe(iface string) error

ListenAndServer instructs the UDPServer to start processing Graphite data on the given interface. iface must be in the form host:port.

func (*UDPServer) SetLogOutput

func (s *UDPServer) SetLogOutput(w io.Writer)

SetLogOutput sets writer for all Graphite log output.

Jump to

Keyboard shortcuts

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