app

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Aug 10, 2017 License: MIT Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddFlags

func AddFlags(flags *flag.FlagSet)

AddFlags adds flags for Builder.

Types

type Agent

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

Agent is a composition of all services / components

func NewAgent

func NewAgent(
	processors []processors.Processor,
	httpServer *http.Server,
	logger *zap.Logger,
) *Agent

NewAgent creates the new Agent.

func (*Agent) Run

func (a *Agent) Run() error

Run runs all of agent UDP and HTTP servers in separate go-routines. It returns an error when it's immediately apparent on startup, but any errors happening after starting the servers are only logged.

func (*Agent) Stop

func (a *Agent) Stop()

Stop forces all agent go routines to exit.

type Builder

type Builder struct {
	Processors []ProcessorConfiguration `yaml:"processors"`
	HTTPServer HTTPServerConfiguration  `yaml:"httpServer"`
	Metrics    jmetrics.Builder         `yaml:"metrics"`

	// These 3 fields are copied from tchreporter.Builder because yaml does not parse embedded structs
	CollectorHostPorts   []string `yaml:"collectorHostPorts"`
	DiscoveryMinPeers    int      `yaml:"minPeers"`
	CollectorServiceName string   `yaml:"collectorServiceName"`

	tchreporter.Builder
	// contains filtered or unexported fields
}

Builder Struct to hold configurations

func (*Builder) CreateAgent

func (b *Builder) CreateAgent(logger *zap.Logger) (*Agent, error)

CreateAgent creates the Agent

func (*Builder) GetProcessors

func (b *Builder) GetProcessors(rep reporter.Reporter, mFactory metrics.Factory) ([]processors.Processor, error)

GetProcessors creates Processors with attached Reporter

func (*Builder) InitFromViper

func (b *Builder) InitFromViper(v *viper.Viper)

InitFromViper initializes Builder with properties retrieved from Viper.

func (*Builder) WithMetricsFactory

func (b *Builder) WithMetricsFactory(mf metrics.Factory) *Builder

WithMetricsFactory sets an externally initialized metrics factory.

func (*Builder) WithReporter

func (b *Builder) WithReporter(r reporter.Reporter) *Builder

WithReporter adds auxiliary reporters.

type HTTPServerConfiguration

type HTTPServerConfiguration struct {
	HostPort string `yaml:"hostPort" validate:"nonzero"`
}

HTTPServerConfiguration holds config for a server providing sampling strategies and baggage restrictions to clients

func (HTTPServerConfiguration) GetHTTPServer

func (c HTTPServerConfiguration) GetHTTPServer(svc string, channel *tchannel.Channel, mFactory metrics.Factory) *http.Server

GetHTTPServer creates an HTTP server that provides sampling strategies and baggage restrictions to client libraries.

type ProcessorConfiguration

type ProcessorConfiguration struct {
	Workers  int                 `yaml:"workers"`
	Model    model               `yaml:"model"`
	Protocol protocol            `yaml:"protocol"`
	Server   ServerConfiguration `yaml:"server"`
}

ProcessorConfiguration holds config for a processor that receives spans from Server

func (*ProcessorConfiguration) GetThriftProcessor

func (c *ProcessorConfiguration) GetThriftProcessor(
	mFactory metrics.Factory,
	factory thrift.TProtocolFactory,
	handler processors.AgentProcessor,
) (processors.Processor, error)

GetThriftProcessor gets a TBufferedServer backed Processor using the collector configuration

type ServerConfiguration

type ServerConfiguration struct {
	QueueSize     int    `yaml:"queueSize"`
	MaxPacketSize int    `yaml:"maxPacketSize"`
	HostPort      string `yaml:"hostPort" validate:"nonzero"`
}

ServerConfiguration holds config for a server that receives spans from the network

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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