app

package
v1.17.0 Latest Latest
Warning

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

Go to latest
Published: Feb 24, 2020 License: Apache-2.0 Imports: 23 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) GetHTTPRouter

func (a *Agent) GetHTTPRouter() *mux.Router

GetHTTPRouter returns Gorilla HTTP router used by the agent's HTTP server.

func (*Agent) HTTPAddr

func (a *Agent) HTTPAddr() string

HTTPAddr returns the address that HTTP server is listening on

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"`
	// contains filtered or unexported fields
}

Builder Struct to hold configurations

func (*Builder) CreateAgent

func (b *Builder) CreateAgent(primaryProxy CollectorProxy, logger *zap.Logger, mFactory metrics.Factory) (*Agent, error)

CreateAgent creates the Agent

func (*Builder) InitFromViper

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

InitFromViper initializes Builder with properties retrieved from Viper.

func (*Builder) WithReporter

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

WithReporter adds auxiliary reporters.

type CollectorProxy

type CollectorProxy interface {
	GetReporter() reporter.Reporter
	GetManager() configmanager.ClientConfigManager
}

CollectorProxy provides access to Reporter and ClientConfigManager

func CreateCollectorProxy

func CreateCollectorProxy(
	opts *reporter.Options,
	tchanBuilder *tchannel.Builder,
	grpcBuilder *grpc.ConnBuilder,
	logger *zap.Logger,
	mFactory metrics.Factory,
) (CollectorProxy, error)

CreateCollectorProxy creates collector proxy

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

type Model

type Model string

Model used to distinguish the data transfer model

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,
	logger *zap.Logger,
) (processors.Processor, error)

GetThriftProcessor gets a TBufferedServer backed Processor using the collector configuration

type Protocol

type Protocol string

Protocol used to distinguish the data transfer protocol

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

Jump to

Keyboard shortcuts

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