app

package
v0.0.0-...-2a2fe1c Latest Latest
Warning

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

Go to latest
Published: Aug 19, 2022 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
	io.Closer
}

CollectorProxy provides access to Reporter and ClientConfigManager

func CreateCollectorProxy

func CreateCollectorProxy(
	opts ProxyBuilderOptions,
	builders map[reporter.Type]CollectorProxyBuilder,
) (CollectorProxy, error)

CreateCollectorProxy creates collector proxy

type CollectorProxyBuilder

type CollectorProxyBuilder func(ProxyBuilderOptions) (CollectorProxy, error)

CollectorProxyBuilder is a func which builds CollectorProxy.

func GRPCCollectorProxyBuilder

func GRPCCollectorProxyBuilder(builder *grpc.ConnBuilder) CollectorProxyBuilder

GRPCCollectorProxyBuilder creates CollectorProxyBuilder for GRPC reporter

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 ProxyBuilderOptions

type ProxyBuilderOptions struct {
	reporter.Options
	Logger  *zap.Logger
	Metrics metrics.Factory
}

ProxyBuilderOptions holds config for CollectorProxyBuilder

type ServerConfiguration

type ServerConfiguration struct {
	QueueSize        int    `yaml:"queueSize"`
	MaxPacketSize    int    `yaml:"maxPacketSize"`
	SocketBufferSize int    `yaml:"socketBufferSize"`
	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