router

package
v0.2.4 Latest Latest
Warning

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

Go to latest
Published: Aug 8, 2017 License: MIT Imports: 18 Imported by: 0

Documentation

Overview

Package router implements dynamic routing of incoming http requests for multi-prometheus deployments

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AffinityOption

type AffinityOption uint8

AffinityOption represents supported options for session affinity

const (
	// AffinityByCookies implies session affinity by cookies
	AffinityByCookies AffinityOption = iota
	// AffinityBySourceIP implies session affinity by the source ip
	AffinityBySourceIP
)

func ParseAffinityOption

func ParseAffinityOption(value string) (*AffinityOption, error)

ParseAffinityOption returns a AffinityOption for a provided string representation

func (AffinityOption) String

func (o AffinityOption) String() string

type Router

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

Router provides dynamic routing of http requests based on a configurable strategy

func NewRouter

func NewRouter(interval time.Duration, affinityOptions []AffinityOption,
	locators []locator.Locator, strategyArgs ...string) (*Router, error)

NewRouter constructs a new router based on the provided stategy and locators

func (*Router) Close added in v0.2.4

func (r *Router) Close()

Close stops the router's background selection routine

func (*Router) ServeHTTP

func (r *Router) ServeHTTP(w http.ResponseWriter, req *http.Request)

func (*Router) Status

func (r *Router) Status() *Status

Status returns a summary of the router's current state

type Status

type Status struct {
	Endpoints           []*locator.PrometheusEndpoint
	Strategy            string
	StrategyDescription string
	AffinityOptions     string
	ComparisonMetric    string
	Interval            time.Duration
}

Status contains a snapshot status summary of the router state

Jump to

Keyboard shortcuts

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