Bump github.com/uber/jaeger-client-go

Bumps [github.com/uber/jaeger-client-go](https://github.com/uber/jaeger-client-go) from 2.23.1+incompatible to 2.24.0+incompatible.
- [Release notes](https://github.com/uber/jaeger-client-go/releases)
- [Changelog](https://github.com/jaegertracing/jaeger-client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/uber/jaeger-client-go/compare/v2.23.1...v2.24.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
This commit is contained in:
dependabot-preview[bot]
2020-06-15 10:20:54 +00:00
committed by Daniel J Walsh
parent c2690c2453
commit ea75042fb3
11 changed files with 83 additions and 60 deletions

2
go.mod
View File

@ -53,7 +53,7 @@ require (
github.com/spf13/pflag v1.0.5 github.com/spf13/pflag v1.0.5
github.com/stretchr/testify v1.6.1 github.com/stretchr/testify v1.6.1
github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2 github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2
github.com/uber/jaeger-client-go v2.23.1+incompatible github.com/uber/jaeger-client-go v2.24.0+incompatible
github.com/uber/jaeger-lib v2.2.0+incompatible // indirect github.com/uber/jaeger-lib v2.2.0+incompatible // indirect
github.com/varlink/go v0.0.0-20190502142041-0f1d566d194b github.com/varlink/go v0.0.0-20190502142041-0f1d566d194b
github.com/vishvananda/netlink v1.1.0 github.com/vishvananda/netlink v1.1.0

4
go.sum
View File

@ -452,8 +452,8 @@ github.com/tchap/go-patricia v2.3.0+incompatible h1:GkY4dP3cEfEASBPPkWd+AmjYxhmD
github.com/tchap/go-patricia v2.3.0+incompatible/go.mod h1:bmLyhP68RS6kStMGxByiQ23RP/odRBOTVjwp2cDyi6I= github.com/tchap/go-patricia v2.3.0+incompatible/go.mod h1:bmLyhP68RS6kStMGxByiQ23RP/odRBOTVjwp2cDyi6I=
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
github.com/u-root/u-root v6.0.0+incompatible/go.mod h1:RYkpo8pTHrNjW08opNd/U6p/RJE7K0D8fXO0d47+3YY= github.com/u-root/u-root v6.0.0+incompatible/go.mod h1:RYkpo8pTHrNjW08opNd/U6p/RJE7K0D8fXO0d47+3YY=
github.com/uber/jaeger-client-go v2.23.1+incompatible h1:uArBYHQR0HqLFFAypI7RsWTzPSj/bDpmZZuQjMLSg1A= github.com/uber/jaeger-client-go v2.24.0+incompatible h1:CGchgJcHsDd2jWnaL4XngByMrXoGHh3n8oCqAKx0uMo=
github.com/uber/jaeger-client-go v2.23.1+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= github.com/uber/jaeger-client-go v2.24.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=
github.com/uber/jaeger-lib v2.2.0+incompatible h1:MxZXOiR2JuoANZ3J6DE/U0kSFv/eJ/GfSYVCjK7dyaw= github.com/uber/jaeger-lib v2.2.0+incompatible h1:MxZXOiR2JuoANZ3J6DE/U0kSFv/eJ/GfSYVCjK7dyaw=
github.com/uber/jaeger-lib v2.2.0+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= github.com/uber/jaeger-lib v2.2.0+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U=
github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=

View File

@ -7,22 +7,22 @@ dist: trusty
matrix: matrix:
include: include:
- go: 1.13.x - go: 1.14.x
env: env:
- TESTS=true - TESTS=true
- USE_DEP=true - USE_DEP=true
- COVERAGE=true - COVERAGE=true
- go: 1.13.x - go: 1.14.x
env: env:
- USE_DEP=true - USE_DEP=true
- CROSSDOCK=true - CROSSDOCK=true
- go: 1.13.x - go: 1.14.x
env: env:
- TESTS=true - TESTS=true
- USE_DEP=false - USE_DEP=false
- USE_GLIDE=true - USE_GLIDE=true
# test with previous version of Go # test with previous version of Go
- go: 1.12.x - go: 1.13.x
env: env:
- TESTS=true - TESTS=true
- USE_DEP=true - USE_DEP=true

View File

@ -1,6 +1,14 @@
Changes by Version Changes by Version
================== ==================
2.24.0 (2020-06-14)
-------------------
- Mention FromEnv() in the README, docs, and examples (#518) -- Martin Lercher
- Serialize access to RemotelyControlledSampler.sampler (#515) -- Dima
- Override reporter config only when agent host/port is set in env (#513) -- ilylia
- Converge on JAEGER_SAMPLING_ENDPOINT env variable (#511) -- Eundoo Song
2.23.1 (2020-04-28) 2.23.1 (2020-04-28)
------------------- -------------------
- Fix regression by handling nil logger correctly ([#507](https://github.com/jaegertracing/jaeger-client-go/pull/507)) -- Prithvi Raj - Fix regression by handling nil logger correctly ([#507](https://github.com/jaegertracing/jaeger-client-go/pull/507)) -- Prithvi Raj

View File

@ -44,28 +44,32 @@ and [config/example_test.go](./config/example_test.go).
### Environment variables ### Environment variables
The tracer can be initialized with values coming from environment variables. None of the env vars are required The tracer can be initialized with values coming from environment variables, if it is
and all of them can be overridden via direct setting of the property on the configuration object. [built from a config](https://pkg.go.dev/github.com/uber/jaeger-client-go/config?tab=doc#Configuration.NewTracer)
that was created via [FromEnv()](https://pkg.go.dev/github.com/uber/jaeger-client-go/config?tab=doc#FromEnv).
None of the env vars are required and all of them can be overridden via direct setting
of the property on the configuration object.
Property| Description Property| Description
--- | --- --- | ---
JAEGER_SERVICE_NAME | The service name JAEGER_SERVICE_NAME | The service name.
JAEGER_AGENT_HOST | The hostname for communicating with agent via UDP JAEGER_AGENT_HOST | The hostname for communicating with agent via UDP (default `localhost`).
JAEGER_AGENT_PORT | The port for communicating with agent via UDP JAEGER_AGENT_PORT | The port for communicating with agent via UDP (default `6831`).
JAEGER_ENDPOINT | The HTTP endpoint for sending spans directly to a collector, i.e. http://jaeger-collector:14268/api/traces JAEGER_ENDPOINT | The HTTP endpoint for sending spans directly to a collector, i.e. http://jaeger-collector:14268/api/traces. If specified, the agent host/port are ignored.
JAEGER_USER | Username to send as part of "Basic" authentication to the collector endpoint JAEGER_USER | Username to send as part of "Basic" authentication to the collector endpoint.
JAEGER_PASSWORD | Password to send as part of "Basic" authentication to the collector endpoint JAEGER_PASSWORD | Password to send as part of "Basic" authentication to the collector endpoint.
JAEGER_REPORTER_LOG_SPANS | Whether the reporter should also log the spans JAEGER_REPORTER_LOG_SPANS | Whether the reporter should also log the spans" `true` or `false` (default `false`).
JAEGER_REPORTER_MAX_QUEUE_SIZE | The reporter's maximum queue size JAEGER_REPORTER_MAX_QUEUE_SIZE | The reporter's maximum queue size (default `100`).
JAEGER_REPORTER_FLUSH_INTERVAL | The reporter's flush interval, with units, e.g. "500ms" or "2s" ([valid units][timeunits]) JAEGER_REPORTER_FLUSH_INTERVAL | The reporter's flush interval, with units, e.g. `500ms` or `2s` ([valid units][timeunits]; default `1s`).
JAEGER_SAMPLER_TYPE | The sampler type JAEGER_SAMPLER_TYPE | The sampler type: `remote`, `const`, `probabilistic`, `ratelimiting` (default `remote`). See also https://www.jaegertracing.io/docs/latest/sampling/.
JAEGER_SAMPLER_PARAM | The sampler parameter (number) JAEGER_SAMPLER_PARAM | The sampler parameter (number).
JAEGER_SAMPLER_MANAGER_HOST_PORT | The HTTP endpoint when using the remote sampler, i.e. http://jaeger-agent:5778/sampling JAEGER_SAMPLER_MANAGER_HOST_PORT | (deprecated) The HTTP endpoint when using the `remote` sampler.
JAEGER_SAMPLER_MAX_OPERATIONS | The maximum number of operations that the sampler will keep track of JAEGER_SAMPLING_ENDPOINT | The URL for the sampling configuration server when using sampler type `remote` (default `http://127.0.0.1:5778/sampling`).
JAEGER_SAMPLER_REFRESH_INTERVAL | How often the remotely controlled sampler will poll jaeger-agent for the appropriate sampling strategy, with units, e.g. "1m" or "30s" ([valid units][timeunits]) JAEGER_SAMPLER_MAX_OPERATIONS | The maximum number of operations that the sampler will keep track of (default `2000`).
JAEGER_TAGS | A comma separated list of `name = value` tracer level tags, which get added to all reported spans. The value can also refer to an environment variable using the format `${envVarName:default}`, where the `:default` is optional, and identifies a value to be used if the environment variable cannot be found JAEGER_SAMPLER_REFRESH_INTERVAL | How often the `remote` sampler should poll the configuration server for the appropriate sampling strategy, e.g. "1m" or "30s" ([valid units][timeunits]; default `1m`).
JAEGER_DISABLED | Whether the tracer is disabled or not. If true, the default `opentracing.NoopTracer` is used. JAEGER_TAGS | A comma separated list of `name=value` tracer-level tags, which get added to all reported spans. The value can also refer to an environment variable using the format `${envVarName:defaultValue}`.
JAEGER_RPC_METRICS | Whether to store RPC metrics JAEGER_DISABLED | Whether the tracer is disabled or not. If `true`, the `opentracing.NoopTracer` is used (default `false`).
JAEGER_RPC_METRICS | Whether to store RPC metrics, `true` or `false` (default `false`).
By default, the client sends traces via UDP to the agent at `localhost:6831`. Use `JAEGER_AGENT_HOST` and By default, the client sends traces via UDP to the agent at `localhost:6831`. Use `JAEGER_AGENT_HOST` and
`JAEGER_AGENT_PORT` to send UDP traces to a different `host:port`. If `JAEGER_ENDPOINT` is set, the client sends traces `JAEGER_AGENT_PORT` to send UDP traces to a different `host:port`. If `JAEGER_ENDPOINT` is set, the client sends traces

View File

@ -2,6 +2,7 @@
1. Create a PR "Preparing for release X.Y.Z" against master branch 1. Create a PR "Preparing for release X.Y.Z" against master branch
* Alter CHANGELOG.md from `<placeholder_version> (unreleased)` to `<X.Y.Z> (YYYY-MM-DD)` * Alter CHANGELOG.md from `<placeholder_version> (unreleased)` to `<X.Y.Z> (YYYY-MM-DD)`
* Use `git log --pretty=format:'- %s -- %an'` as the basis for for changelog entries
* Update `JaegerClientVersion` in constants.go to `Go-X.Y.Z` * Update `JaegerClientVersion` in constants.go to `Go-X.Y.Z`
2. Create a release "Release X.Y.Z" on Github 2. Create a release "Release X.Y.Z" on Github
* Create Tag `vX.Y.Z` * Create Tag `vX.Y.Z`

View File

@ -36,16 +36,16 @@ const defaultSamplingProbability = 0.001
// Configuration configures and creates Jaeger Tracer // Configuration configures and creates Jaeger Tracer
type Configuration struct { type Configuration struct {
// ServiceName specifies the service name to use on the tracer. // ServiceName specifies the service name to use on the tracer.
// Can be provided via environment variable named JAEGER_SERVICE_NAME // Can be provided by FromEnv() via the environment variable named JAEGER_SERVICE_NAME
ServiceName string `yaml:"serviceName"` ServiceName string `yaml:"serviceName"`
// Disabled can be provided via environment variable named JAEGER_DISABLED // Disabled can be provided by FromEnv() via the environment variable named JAEGER_DISABLED
Disabled bool `yaml:"disabled"` Disabled bool `yaml:"disabled"`
// RPCMetrics can be provided via environment variable named JAEGER_RPC_METRICS // RPCMetrics can be provided by FromEnv() via the environment variable named JAEGER_RPC_METRICS
RPCMetrics bool `yaml:"rpc_metrics"` RPCMetrics bool `yaml:"rpc_metrics"`
// Tags can be provided via environment variable named JAEGER_TAGS // Tags can be provided by FromEnv() via the environment variable named JAEGER_TAGS
Tags []opentracing.Tag `yaml:"tags"` Tags []opentracing.Tag `yaml:"tags"`
Sampler *SamplerConfig `yaml:"sampler"` Sampler *SamplerConfig `yaml:"sampler"`
@ -57,8 +57,8 @@ type Configuration struct {
// SamplerConfig allows initializing a non-default sampler. All fields are optional. // SamplerConfig allows initializing a non-default sampler. All fields are optional.
type SamplerConfig struct { type SamplerConfig struct {
// Type specifies the type of the sampler: const, probabilistic, rateLimiting, or remote // Type specifies the type of the sampler: const, probabilistic, rateLimiting, or remote.
// Can be set by exporting an environment variable named JAEGER_SAMPLER_TYPE // Can be provided by FromEnv() via the environment variable named JAEGER_SAMPLER_TYPE
Type string `yaml:"type"` Type string `yaml:"type"`
// Param is a value passed to the sampler. // Param is a value passed to the sampler.
@ -69,22 +69,23 @@ type SamplerConfig struct {
// - for "remote" sampler, param is the same as for "probabilistic" // - for "remote" sampler, param is the same as for "probabilistic"
// and indicates the initial sampling rate before the actual one // and indicates the initial sampling rate before the actual one
// is received from the mothership. // is received from the mothership.
// Can be set by exporting an environment variable named JAEGER_SAMPLER_PARAM // Can be provided by FromEnv() via the environment variable named JAEGER_SAMPLER_PARAM
Param float64 `yaml:"param"` Param float64 `yaml:"param"`
// SamplingServerURL is the address of jaeger-agent's HTTP sampling server // SamplingServerURL is the URL of sampling manager that can provide
// Can be set by exporting an environment variable named JAEGER_SAMPLER_MANAGER_HOST_PORT // sampling strategy to this service.
// Can be provided by FromEnv() via the environment variable named JAEGER_SAMPLING_ENDPOINT
SamplingServerURL string `yaml:"samplingServerURL"` SamplingServerURL string `yaml:"samplingServerURL"`
// SamplingRefreshInterval controls how often the remotely controlled sampler will poll // SamplingRefreshInterval controls how often the remotely controlled sampler will poll
// jaeger-agent for the appropriate sampling strategy. // sampling manager for the appropriate sampling strategy.
// Can be set by exporting an environment variable named JAEGER_SAMPLER_REFRESH_INTERVAL // Can be provided by FromEnv() via the environment variable named JAEGER_SAMPLER_REFRESH_INTERVAL
SamplingRefreshInterval time.Duration `yaml:"samplingRefreshInterval"` SamplingRefreshInterval time.Duration `yaml:"samplingRefreshInterval"`
// MaxOperations is the maximum number of operations that the PerOperationSampler // MaxOperations is the maximum number of operations that the PerOperationSampler
// will keep track of. If an operation is not tracked, a default probabilistic // will keep track of. If an operation is not tracked, a default probabilistic
// sampler will be used rather than the per operation specific sampler. // sampler will be used rather than the per operation specific sampler.
// Can be set by exporting an environment variable named JAEGER_SAMPLER_MAX_OPERATIONS. // Can be provided by FromEnv() via the environment variable named JAEGER_SAMPLER_MAX_OPERATIONS.
MaxOperations int `yaml:"maxOperations"` MaxOperations int `yaml:"maxOperations"`
// Opt-in feature for applications that require late binding of span name via explicit // Opt-in feature for applications that require late binding of span name via explicit
@ -105,34 +106,35 @@ type ReporterConfig struct {
// QueueSize controls how many spans the reporter can keep in memory before it starts dropping // 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 // new spans. The queue is continuously drained by a background go-routine, as fast as spans
// can be sent out of process. // can be sent out of process.
// Can be set by exporting an environment variable named JAEGER_REPORTER_MAX_QUEUE_SIZE // Can be provided by FromEnv() via the environment variable named JAEGER_REPORTER_MAX_QUEUE_SIZE
QueueSize int `yaml:"queueSize"` QueueSize int `yaml:"queueSize"`
// BufferFlushInterval controls how often the buffer is force-flushed, even if it's not full. // 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. // It is generally not useful, as it only matters for very low traffic services.
// Can be set by exporting an environment variable named JAEGER_REPORTER_FLUSH_INTERVAL // Can be provided by FromEnv() via the environment variable named JAEGER_REPORTER_FLUSH_INTERVAL
BufferFlushInterval time.Duration BufferFlushInterval time.Duration
// LogSpans, when true, enables LoggingReporter that runs in parallel with the main reporter // 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 // and logs all submitted spans. Main Configuration.Logger must be initialized in the code
// for this option to have any effect. // for this option to have any effect.
// Can be set by exporting an environment variable named JAEGER_REPORTER_LOG_SPANS // Can be provided by FromEnv() via the environment variable named JAEGER_REPORTER_LOG_SPANS
LogSpans bool `yaml:"logSpans"` LogSpans bool `yaml:"logSpans"`
// LocalAgentHostPort instructs reporter to send spans to jaeger-agent at this address // LocalAgentHostPort instructs reporter to send spans to jaeger-agent at this address.
// Can be set by exporting an environment variable named JAEGER_AGENT_HOST / JAEGER_AGENT_PORT // Can be provided by FromEnv() via the environment variable named JAEGER_AGENT_HOST / JAEGER_AGENT_PORT
LocalAgentHostPort string `yaml:"localAgentHostPort"` LocalAgentHostPort string `yaml:"localAgentHostPort"`
// CollectorEndpoint instructs reporter to send spans to jaeger-collector at this URL // CollectorEndpoint instructs reporter to send spans to jaeger-collector at this URL.
// Can be set by exporting an environment variable named JAEGER_ENDPOINT // Can be provided by FromEnv() via the environment variable named JAEGER_ENDPOINT
CollectorEndpoint string `yaml:"collectorEndpoint"` CollectorEndpoint string `yaml:"collectorEndpoint"`
// User instructs reporter to include a user for basic http authentication when sending spans to jaeger-collector. // User instructs reporter to include a user for basic http authentication when sending spans to jaeger-collector.
// Can be set by exporting an environment variable named JAEGER_USER // Can be provided by FromEnv() via the environment variable named JAEGER_USER
User string `yaml:"user"` User string `yaml:"user"`
// Password instructs reporter to include a password for basic http authentication when sending spans to // Password instructs reporter to include a password for basic http authentication when sending spans to
// jaeger-collector. Can be set by exporting an environment variable named JAEGER_PASSWORD // jaeger-collector.
// Can be provided by FromEnv() via the environment variable named JAEGER_PASSWORD
Password string `yaml:"password"` Password string `yaml:"password"`
// HTTPHeaders instructs the reporter to add these headers to the http request when reporting spans. // HTTPHeaders instructs the reporter to add these headers to the http request when reporting spans.

View File

@ -36,7 +36,8 @@ const (
envTags = "JAEGER_TAGS" envTags = "JAEGER_TAGS"
envSamplerType = "JAEGER_SAMPLER_TYPE" envSamplerType = "JAEGER_SAMPLER_TYPE"
envSamplerParam = "JAEGER_SAMPLER_PARAM" envSamplerParam = "JAEGER_SAMPLER_PARAM"
envSamplerManagerHostPort = "JAEGER_SAMPLER_MANAGER_HOST_PORT" envSamplerManagerHostPort = "JAEGER_SAMPLER_MANAGER_HOST_PORT" // Deprecated by envSamplingEndpoint
envSamplingEndpoint = "JAEGER_SAMPLING_ENDPOINT"
envSamplerMaxOperations = "JAEGER_SAMPLER_MAX_OPERATIONS" envSamplerMaxOperations = "JAEGER_SAMPLER_MAX_OPERATIONS"
envSamplerRefreshInterval = "JAEGER_SAMPLER_REFRESH_INTERVAL" envSamplerRefreshInterval = "JAEGER_SAMPLER_REFRESH_INTERVAL"
envReporterMaxQueueSize = "JAEGER_REPORTER_MAX_QUEUE_SIZE" envReporterMaxQueueSize = "JAEGER_REPORTER_MAX_QUEUE_SIZE"
@ -118,7 +119,9 @@ func (sc *SamplerConfig) samplerConfigFromEnv() (*SamplerConfig, error) {
} }
} }
if e := os.Getenv(envSamplerManagerHostPort); e != "" { if e := os.Getenv(envSamplingEndpoint); e != "" {
sc.SamplingServerURL = e
} else if e := os.Getenv(envSamplerManagerHostPort); e != "" {
sc.SamplingServerURL = e sc.SamplingServerURL = e
} else if e := os.Getenv(envAgentHost); e != "" { } else if e := os.Getenv(envAgentHost); e != "" {
// Fallback if we know the agent host - try the sampling endpoint there // Fallback if we know the agent host - try the sampling endpoint there
@ -184,20 +187,25 @@ func (rc *ReporterConfig) reporterConfigFromEnv() (*ReporterConfig, error) {
rc.User = user rc.User = user
rc.Password = pswd rc.Password = pswd
} else { } else {
useEnv := false
host := jaeger.DefaultUDPSpanServerHost host := jaeger.DefaultUDPSpanServerHost
if e := os.Getenv(envAgentHost); e != "" { if e := os.Getenv(envAgentHost); e != "" {
host = e host = e
useEnv = true
} }
port := jaeger.DefaultUDPSpanServerPort port := jaeger.DefaultUDPSpanServerPort
if e := os.Getenv(envAgentPort); e != "" { if e := os.Getenv(envAgentPort); e != "" {
if value, err := strconv.ParseInt(e, 10, 0); err == nil { if value, err := strconv.ParseInt(e, 10, 0); err == nil {
port = int(value) port = int(value)
useEnv = true
} else { } else {
return nil, errors.Wrapf(err, "cannot parse env var %s=%s", envAgentPort, e) return nil, errors.Wrapf(err, "cannot parse env var %s=%s", envAgentPort, e)
} }
} }
rc.LocalAgentHostPort = fmt.Sprintf("%s:%d", host, port) if useEnv || rc.LocalAgentHostPort == "" {
rc.LocalAgentHostPort = fmt.Sprintf("%s:%d", host, port)
}
} }
return rc, nil return rc, nil

View File

@ -22,7 +22,7 @@ import (
const ( const (
// JaegerClientVersion is the version of the client library reported as Span tag. // JaegerClientVersion is the version of the client library reported as Span tag.
JaegerClientVersion = "Go-2.23.1" JaegerClientVersion = "Go-2.24.0"
// JaegerClientVersionTagKey is the name of the tag used to report client version. // JaegerClientVersionTagKey is the name of the tag used to report client version.
JaegerClientVersionTagKey = "jaeger.version" JaegerClientVersionTagKey = "jaeger.version"
@ -102,5 +102,5 @@ const (
var ( var (
// DefaultSamplingServerURL is the default url to fetch sampling config from, via http // DefaultSamplingServerURL is the default url to fetch sampling config from, via http
DefaultSamplingServerURL = fmt.Sprintf("http://localhost:%d/sampling", DefaultSamplingServerPort) DefaultSamplingServerURL = fmt.Sprintf("http://127.0.0.1:%d/sampling", DefaultSamplingServerPort)
) )

View File

@ -64,7 +64,7 @@ type RemotelyControlledSampler struct {
// Cf. https://github.com/uber/jaeger-client-go/issues/155, https://goo.gl/zW7dgq // Cf. https://github.com/uber/jaeger-client-go/issues/155, https://goo.gl/zW7dgq
closed int64 // 0 - not closed, 1 - closed closed int64 // 0 - not closed, 1 - closed
sync.RWMutex sync.RWMutex // used to serialize access to samplerOptions.sampler
samplerOptions samplerOptions
serviceName string serviceName string
@ -95,22 +95,22 @@ func (s *RemotelyControlledSampler) IsSampled(id TraceID, operation string) (boo
// OnCreateSpan implements OnCreateSpan of SamplerV2. // OnCreateSpan implements OnCreateSpan of SamplerV2.
func (s *RemotelyControlledSampler) OnCreateSpan(span *Span) SamplingDecision { func (s *RemotelyControlledSampler) OnCreateSpan(span *Span) SamplingDecision {
return s.sampler.OnCreateSpan(span) return s.Sampler().OnCreateSpan(span)
} }
// OnSetOperationName implements OnSetOperationName of SamplerV2. // OnSetOperationName implements OnSetOperationName of SamplerV2.
func (s *RemotelyControlledSampler) OnSetOperationName(span *Span, operationName string) SamplingDecision { func (s *RemotelyControlledSampler) OnSetOperationName(span *Span, operationName string) SamplingDecision {
return s.sampler.OnSetOperationName(span, operationName) return s.Sampler().OnSetOperationName(span, operationName)
} }
// OnSetTag implements OnSetTag of SamplerV2. // OnSetTag implements OnSetTag of SamplerV2.
func (s *RemotelyControlledSampler) OnSetTag(span *Span, key string, value interface{}) SamplingDecision { func (s *RemotelyControlledSampler) OnSetTag(span *Span, key string, value interface{}) SamplingDecision {
return s.sampler.OnSetTag(span, key, value) return s.Sampler().OnSetTag(span, key, value)
} }
// OnFinishSpan implements OnFinishSpan of SamplerV2. // OnFinishSpan implements OnFinishSpan of SamplerV2.
func (s *RemotelyControlledSampler) OnFinishSpan(span *Span) SamplingDecision { func (s *RemotelyControlledSampler) OnFinishSpan(span *Span) SamplingDecision {
return s.sampler.OnFinishSpan(span) return s.Sampler().OnFinishSpan(span)
} }
// Close implements Close() of Sampler. // Close implements Close() of Sampler.
@ -153,8 +153,8 @@ func (s *RemotelyControlledSampler) pollControllerWithTicker(ticker *time.Ticker
// Sampler returns the currently active sampler. // Sampler returns the currently active sampler.
func (s *RemotelyControlledSampler) Sampler() SamplerV2 { func (s *RemotelyControlledSampler) Sampler() SamplerV2 {
s.Lock() s.RLock()
defer s.Unlock() defer s.RUnlock()
return s.sampler return s.sampler
} }

2
vendor/modules.txt vendored
View File

@ -498,7 +498,7 @@ github.com/stretchr/testify/require
github.com/syndtr/gocapability/capability github.com/syndtr/gocapability/capability
# github.com/tchap/go-patricia v2.3.0+incompatible # github.com/tchap/go-patricia v2.3.0+incompatible
github.com/tchap/go-patricia/patricia github.com/tchap/go-patricia/patricia
# github.com/uber/jaeger-client-go v2.23.1+incompatible # github.com/uber/jaeger-client-go v2.24.0+incompatible
github.com/uber/jaeger-client-go github.com/uber/jaeger-client-go
github.com/uber/jaeger-client-go/config github.com/uber/jaeger-client-go/config
github.com/uber/jaeger-client-go/internal/baggage github.com/uber/jaeger-client-go/internal/baggage