Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ForwardTo ¶
type ForwardTo struct { URL *string `json:",omitempty"` EventURL *string `json:",omitempty"` TraceURL *string `json:",omitempty"` Host *string `json:",omitempty"` Port *uint16 `json:",omitempty"` Type string TimeoutDuration *time.Duration `json:"-"` Timeout *string `json:",omitempty"` DefaultSource *string `json:",omitempty"` DefaultAuthToken *string `json:",omitempty"` UseAuthFromRequest *bool `json:",omitempty"` AuthTokenEnvVar *string `json:",omitempty"` BufferSize *int64 `json:",omitempty"` Name *string `json:",omitempty"` DrainingThreads *int64 `json:",omitempty"` MetricCreationURL *string `json:",omitempty"` MaxDrainSize *int64 `json:",omitempty"` Filename *string `json:",omitempty"` SourceDimensions *string `json:",omitempty"` FormatVersion *uint32 `json:",omitempty"` DimensionsOrder []string `json:",omitempty"` Filters *filtering.FilterObj `json:",omitempty"` TraceSample *sampling.SmartSampleConfig `json:",omitempty"` TraceDistributor *sampling.SmartSampleConfig `json:",omitempty"` AdditionalDimensions map[string]string `json:",omitempty"` DisableCompression *bool `json:",omitempty"` Client etcdIntf.Client `json:"-"` ClusterName *string `json:"-"` Idx int `json:"-"` }
ForwardTo configures where we forward datapoints to
type GatewayConfig ¶ added in v1.0.1
type GatewayConfig struct { // General Gateway Configurations NumProcs *int `json:",omitempty"` PidFilename *string `json:",omitempty"` AdditionalDimensions map[string]string `json:",omitempty"` // forwarder Configuration ForwardTo []*ForwardTo `json:",omitempty"` // Listener Configurations ListenFrom []*ListenFrom `json:",omitempty"` LateThreshold *string `json:",omitempty"` FutureThreshold *string `json:",omitempty"` LateThresholdDuration *time.Duration `json:"-"` FutureThresholdDuration *time.Duration `json:"-"` // Log configurations LogDir *string `json:",omitempty"` LogMaxSize *int `json:",omitempty"` LogMaxBackups *int `json:",omitempty"` LogFormat *string `json:",omitempty"` // Internal Metric Configurations StatsDelay *string `json:",omitempty"` StatsDelayDuration *time.Duration `json:"-"` InternalMetricsListenerAddress *string `json:",omitempty"` // Debug Configurations LocalDebugServer *string `json:",omitempty"` PprofAddr *string `json:",omitempty"` DebugFlag *string `json:",omitempty"` // Shutdown Configurations MaxGracefulWaitTime *string `json:",omitempty"` GracefulCheckInterval *string `json:",omitempty"` SilentGracefulTime *string `json:",omitempty"` MaxGracefulWaitTimeDuration *time.Duration `json:"-"` GracefulCheckIntervalDuration *time.Duration `json:"-"` SilentGracefulTimeDuration *time.Duration `json:"-"` // General Cluster configurations ServerName *string `json:",omitempty"` ClusterName *string `json:",omitempty"` ClusterOperation *string `json:",omitempty"` ClusterDataDir *string `json:",omitempty"` // Target Cluster Addresses TargetClusterAddresses []string `json:",omitempty"` // Peer Addresses AdvertisedPeerAddresses []string `json:",omitempty"` AdvertisePeerAddress *string `json:",omitempty"` ListenOnPeerAddresses []string `json:",omitempty"` ListenOnPeerAddress *string `json:",omitempty"` // Client Addresses AdvertisedClientAddresses []string `json:",omitempty"` AdvertiseClientAddress *string `json:",omitempty"` ListenOnClientAddresses []string `json:",omitempty"` ListenOnClientAddress *string `json:",omitempty"` // Metric Addresses for Etcd EtcdListenOnMetricsAddresses []string `json:",omitempty"` ETCDMetricsAddress *string `json:",omitempty"` // Durations UnhealthyMemberTTL *time.Duration `json:"-"` RemoveMemberTimeout *time.Duration `json:"-"` EtcdServerStartTimeout *time.Duration `json:"-"` // Etcd Configurable Durations EtcdDialTimeout *time.Duration `json:"-"` EtcdAutoSyncInterval *time.Duration `json:"-"` EtcdStartupGracePeriod *time.Duration `json:"-"` EtcdClusterCleanUpInterval *time.Duration `json:"-"` EtcdHeartBeatInterval *time.Duration `json:"-"` // maps to TickMs EtcdElectionTimeout *time.Duration `json:"-"` // maps to ElectionMs this should be 10x TickMS https://github.com/etcd-io/etcd/blob/release-3.3/Documentation/tuning.md // Etcd configurable file limits EtcdSnapCount *uint64 `json:",omitempty"` EtcdMaxSnapFiles *uint `json:",omitempty"` EtcdMaxWalFiles *uint `json:",omitempty"` EmitDebugMetrics *bool `json:",omitempty"` // indicates whether debug metrics should be emitted or not }
GatewayConfig is the full config as presented inside the gateway config file
func DefaultGatewayConfig ¶ added in v1.0.1
func DefaultGatewayConfig() *GatewayConfig
DefaultGatewayConfig returns default gateway config
func Load ¶
func Load(configFile string, logger log.Logger) (*GatewayConfig, error)
Load loads gateway configuration from a filename that is in an xdg configuration location
func (*GatewayConfig) String ¶ added in v1.0.1
func (p *GatewayConfig) String() string
func (*GatewayConfig) ToEtcdConfig ¶ added in v1.0.19
func (p *GatewayConfig) ToEtcdConfig() *embetcd.Config
ToEtcdConfig returns a config struct for github.com/signalfx/embetcd/embetcd
func (*GatewayConfig) Var ¶ added in v1.0.1
func (p *GatewayConfig) Var() expvar.Var
Var returns the gateway config itself as an expvar
type ListenFrom ¶
type ListenFrom struct { Type string ListenAddr *string `json:",omitempty"` Dimensions map[string]string `json:",omitempty"` MetricDeconstructor *string `json:",omitempty"` MetricDeconstructorOptions *string `json:",omitempty"` MetricDeconstructorOptionsJSON map[string]interface{} `json:",omitempty"` Timeout *string `json:",omitempty"` Name *string `json:",omitempty"` ListenPath *string `json:",omitempty"` JSONEngine *string `json:",omitempty"` Encrypted *bool `json:",omitempty"` Protocol *string `json:",omitempty"` TimeoutDuration *time.Duration `json:"-"` ServerAcceptDeadline *time.Duration `json:"-"` SpanNameReplacementRules []string `json:",omitempty"` SpanNameReplacementBreakAfterMatch *bool `json:",omitempty"` AdditionalSpanTags map[string]string `json:",omitempty"` RemoveSpanTags []*spanobfuscation.TagMatchRuleConfig `json:",omitempty"` ObfuscateSpanTags []*spanobfuscation.TagMatchRuleConfig `json:",omitempty"` Counter *dpsink.Counter `json:"-"` }
ListenFrom configures how we listen for datapoints to forward
func (*ListenFrom) String ¶
func (listenFrom *ListenFrom) String() string
type Loader ¶ added in v0.9.0
type Loader struct {
// contains filtered or unexported fields
}
Loader is able to load forwarders and listeners from config type strings
func NewLoader ¶ added in v0.9.0
func NewLoader(ctx context.Context, logger log.Logger, version string, debugContext *web.HeaderCtxFlag, itemFlagger *dpsink.ItemFlagger, ctxdims *log.CtxDimensions, next web.NextConstructor) *Loader
NewLoader creates the default loader for gateway protocols
Click to show internal directories.
Click to hide internal directories.