Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { // ServiceName specifies the service name to use on the tracer. // Can be provided by FromEnv() via the environment variable named JAEGER_SERVICE_NAME ServiceName string `yaml:"service-name" json:"service-name"` // Disabled can be provided by FromEnv() via the environment variable named JAEGER_DISABLED Disabled bool `yaml:"disabled" json:"disabled"` // RPCMetrics can be provided by FromEnv() via the environment variable named JAEGER_RPC_METRICS RPCMetrics bool `yaml:"rpc-metrics" json:"rpc-metrics"` // Tags can be provided by FromEnv() via the environment variable named JAEGER_TAGS Tags []opentracing.Tag `yaml:"tags" json:"tags"` Sampler *SamplerConfig `yaml:"sampler" json:"sampler"` // CustomBindFlagsFunc defines custom bind flags behaviour for structure, if CustomBindFlagsFunc is nil, default bind flags behaviour will be used CustomBindFlagsFunc func(fs *bootflag.FlagSet) `json:"-" yaml:"-" mapstructure:",omitempty"` // CustomParseFunc defines custom parse behaviour for structure, if CustomParseFunc is nil, default parse behaviour will be used CustomParseFunc func() (err error) `json:"-" yaml:"-" mapstructure:",omitempty"` }
type ReporterConfig ¶
type ReporterConfig struct { // QueueSize controls how many spans the reporter can keep in memory before it starts dropping // new spans. The queue is continuously drained by a background go-routine, as fast as spans // can be sent out of process. // Can be provided by FromEnv() via the environment variable named JAEGER_REPORTER_MAX_QUEUE_SIZE QueueSize int `yaml:"queue-size" json:"queue-size"` // BufferFlushInterval controls how often the buffer is force-flushed, even if it's not full. // It is generally not useful, as it only matters for very low traffic services. // Can be provided by FromEnv() via the environment variable named JAEGER_REPORTER_FLUSH_INTERVAL BufferFlushInterval time.Duration `yaml:"buffer-flush-interval" json:"buffer-flush-interval"` // LogSpans, when true, enables LoggingReporter that runs in parallel with the main reporter // and logs all submitted spans. Main Configuration.Logger must be initialized in the code // for this option to have any effect. // Can be provided by FromEnv() via the environment variable named JAEGER_REPORTER_LOG_SPANS LogSpans bool `yaml:"log-spans" json:"log-spans"` // LocalAgentHostPort instructs reporter to send spans to jaeger-agent at this address. // Can be provided by FromEnv() via the environment variable named JAEGER_AGENT_HOST / JAEGER_AGENT_PORT LocalAgentHostPort string `yaml:"local-agent-host-port" json:"local-agent-host-port"` // DisableAttemptReconnecting when true, disables udp connection helper that periodically re-resolves // the agent's hostname and reconnects if there was a change. This option only // applies if LocalAgentHostPort is specified. // Can be provided by FromEnv() via the environment variable named JAEGER_REPORTER_ATTEMPT_RECONNECTING_DISABLED DisableAttemptReconnecting bool `yaml:"disable-attempt-reconnecting" json:"disable-attempt-reconnecting"` // AttemptReconnectInterval controls how often the agent client re-resolves the provided hostname // in order to detect address changes. This option only applies if DisableAttemptReconnecting is false. // Can be provided by FromEnv() via the environment variable named JAEGER_REPORTER_ATTEMPT_RECONNECT_INTERVAL AttemptReconnectInterval time.Duration `yaml:"attempt-reconnect-interval" json:"attempt-reconnect-interval"` // CollectorEndpoint instructs reporter to send spans to jaeger-collector at this URL. // Can be provided by FromEnv() via the environment variable named JAEGER_ENDPOINT CollectorEndpoint string `yaml:"collector-endpoint" json:"collector-endpoint"` // User instructs reporter to include a user for basic http authentication when sending spans to jaeger-collector. // Can be provided by FromEnv() via the environment variable named JAEGER_USER User string `yaml:"user" json:"user"` // Password instructs reporter to include a password for basic http authentication when sending spans to // jaeger-collector. // Can be provided by FromEnv() via the environment variable named JAEGER_PASSWORD Password string `yaml:"password" json:"password"` // HTTPHeaders instructs the reporter to add these headers to the http request when reporting spans. // This field takes effect only when using HTTPTransport by setting the CollectorEndpoint. HTTPHeaders map[string]string `yaml:"http-headers" json:"http-headers"` }
ReporterConfig configures the reporter. All fields are optional.
type SamplerConfig ¶
type SamplerConfig struct { // Type specifies the type of the sampler: const, probabilistic, rateLimiting, or remote. // Can be provided by FromEnv() via the environment variable named JAEGER_SAMPLER_TYPE Type string `yaml:"type" json:"type"` // Param is a value passed to the sampler. // Valid values for Param field are: // - for "const" sampler, 0 or 1 for always false/true respectively // - for "probabilistic" sampler, a probability between 0 and 1 // - for "rateLimiting" sampler, the number of spans per second // - for "remote" sampler, param is the same as for "probabilistic" // and indicates the initial sampling rate before the actual one // is received from the mothership. // Can be provided by FromEnv() via the environment variable named JAEGER_SAMPLER_PARAM Param float64 `yaml:"param" json:"param"` // SamplingServerURL is the URL of sampling manager that can provide // sampling strategy to this service. // Can be provided by FromEnv() via the environment variable named JAEGER_SAMPLING_ENDPOINT SamplingServerURL string `yaml:"sampling-server-url" json:"sampling-server-url"` // SamplingRefreshInterval controls how often the remotely controlled sampler will poll // sampling manager for the appropriate sampling strategy. // Can be provided by FromEnv() via the environment variable named JAEGER_SAMPLER_REFRESH_INTERVAL SamplingRefreshInterval time.Duration `yaml:"sampling-refresh-interval" json:"sampling-refresh-interval"` // MaxOperations is the maximum number of operations that the PerOperationSampler // will keep track of. If an operation is not tracked, a default probabilistic // sampler will be used rather than the per operation specific sampler. // Can be provided by FromEnv() via the environment variable named JAEGER_SAMPLER_MAX_OPERATIONS. MaxOperations int `yaml:"max-operations" json:"max-operations"` // Opt-in feature for applications that require late binding of span name via explicit // call to SetOperationName when using PerOperationSampler. When this feature is enabled, // the sampler will return retryable=true from OnCreateSpan(), thus leaving the sampling // decision as non-final (and the span as writeable). This may lead to degraded performance // in applications that always provide the correct span name on trace creation. // // For backwards compatibility this option is off by default. OperationNameLateBinding bool `yaml:"operation-name-late-binding" json:"operation-name-late-binding"` // CustomBindFlagsFunc defines custom bind flags behaviour for structure, if CustomBindFlagsFunc is nil, default bind flags behaviour will be used CustomBindFlagsFunc func(fs *bootflag.FlagSet) `json:"-" yaml:"-" mapstructure:",omitempty"` // CustomParseFunc defines custom parse behaviour for structure, if CustomParseFunc is nil, default parse behaviour will be used CustomParseFunc func() (err error) `json:"-" yaml:"-" mapstructure:",omitempty"` }
func (*SamplerConfig) BindFlags ¶
func (sc *SamplerConfig) BindFlags(fs *bootflag.FlagSet)
func (*SamplerConfig) Parse ¶
func (sc *SamplerConfig) Parse() (err error)
func (*SamplerConfig) Standardize ¶
func (sc *SamplerConfig) Standardize() (config *jaegerconfig.SamplerConfig)
Click to show internal directories.
Click to hide internal directories.