- Nothing yet.
- Add deprecation notice -- Yuri Shkuro
- Use public struct for tracer options to document initialization better (#605) -- Yuri Shkuro
- Remove redundant newline in NewReporter init message (#603) -- wwade
- [zipkin] Encode span IDs as full 16-hex strings #601 -- Nathan
- [docs] Replace godoc.org with pkg.go.dev (#591) -- Aaron Jheng
- Remove outdated reference to Zipkin model. -- Yuri Shkuro
- Move thrift compilation to a script (#590) -- Aaron Jheng
- Document JAEGER_TRACEID_128BIT env var -- Yuri Shkuro
- Remove dependency on "testing" in "thrift" (#586) -- @yurishkuro
- Update vendored thrift to 0.14.1 (#584) -- @nhatthm
- HTTPSamplingStrategyFetcher: Use http client with 10 second timeout (#578) -- Joe Elliott
- Don't override HTTP Reporter batch size to 1; default to 100, user can override (#571) -- R. Aidan Campbell
- Delete a baggage item when value is blank (#562) -- evan.kim
- Trim baggage key when parsing (#566) -- sicong.huang
- feat: extend configuration to support custom randomNumber func (#555) -- NemoO_o
- Support JAEGER_TRACEID_128BIT env var (#547) -- Yuri Shkuro
- Additional context protections (#544) -- Joe Elliott
- Lock RemotelyControlledSampler.sampler on callbacks (#543) -- Dima
- Upgrade build to Go 1.15 (#539) -- Yuri Shkuro
- Upgrade to [email protected] to fix broken codahale/hdrhistogram dependency (#537) -- Yuri Shkuro
- Prefix TraceID/SpanID.String() with zeroes (#533) -- Lukas Vogel
- Upgrade to OpenTracing Go 1.2 (#525) -- Yuri Shkuro
-
[feat] Periodically re-resolve UDP server address, with opt-out (#520) -- Trevor Foster
The re-resolving of UDP address is now enabled by default, to make the client more robust in Kubernetes deployments. The old resolve-once behavior can be restored by setting DisableAttemptReconnecting=true in the Configuration struct, or via JAEGER_REPORTER_ATTEMPT_RECONNECTING_DISABLED=true environment variable.
- Do not add invalid context to references (#521) -- Yuri Shkuro
- 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
- Fix regression by handling nil logger correctly (#507) -- Prithvi Raj
- Add the ability to log all span interactions at a new debug log level(#502, #503, #504) -- Prithvi Raj
- Chore (docs): fix typos (#496, #498) -- Febrian Setianto and Ivan Babrou
- Unset highest bit of traceID in probabilistic sampler (#490) -- Sokolov Yura
- Increase UDP batch overhead to account for data loss metrics (#488) -- Yuri Shkuro
- Report data loss stats to Jaeger backend (#482) -- Yuri Shkuro
- Add limit on log records per span (#483) -- Sokolov Yura
- Update version correctly.
- Clarify reporting error logs (#469) -- Yuri Shkuro
- Do not strip leading zeros from trace IDs (#472) -- Yuri Shkuro
- Chore (docs): fixed a couple of typos (#475) -- Marc Bramaud
- Support custom HTTP headers when reporting spans over HTTP (#479) -- Albert Teoh
Minor patch via #468
- Make
AdaptiveSamplerUpdater
usable with default values; Resolves #467 - Create
OperationNameLateBinding
sampler option and config option - Make
SamplerOptions
var of public type, so that its functions are discoverable via godoc
-
Allow all in-process spans of a trace to share sampling state (#443) -- Prithvi Raj
Sampling state is shared between all spans of the trace that are still in memory. This allows implementation of delayed sampling decisions (see below).
-
Support delayed sampling decisions (#449) -- Yuri Shkuro
This is a large structural change to how the samplers work. It allows some samplers to be executed multiple times on different span events (like setting a tag) and make a positive sampling decision later in the span life cycle, or even based on children spans. See README for more details.
There is a related minor change in behavior of the adaptive (per-operation) sampler, which will no longer re-sample the trace when
span.SetOperation()
is called, i.e. the operation used to make the sampling decision is always the one provided at span creation. -
Add experimental tag matching sampler (#452) -- Yuri Shkuro
A sampler that can sample a trace based on a certain tag added to the root span or one of its local (in-process) children. The sampler can be used with another experimental
PrioritySampler
that allows multiple samplers to try to make a sampling decision, in a certain priority order. -
[log/zap] Report whether a trace was sampled (#445) -- Abhinav Gupta
-
Allow config.FromEnv() to enrich an existing config object (#436) -- Vineeth Reddy
- Expose Sampler on Tracer and accept sampler options via Configuration (#460) -- Yuri Shkuro
- Fix github.com/uber-go/atomic import (#464) -- Yuri Shkuro
- Add nodejs to crossdock tests (#441) -- Bhavin Gandhi
- Bump Go compiler version to 1.13 (#453) -- Yuri Shkuro
- Upgrade jaeger-lib to 2.2 and unpin Prom client (#434) -- Yuri Shkuro
- Remove go.mod / go.sum that interfere with
go get
(#432)
- Add option "noDebugFlagOnForcedSampling" for tracer initialization [resolves #422] (#423)
- Add a flag for firehose mode (#419)
- Default sampling server URL to agent (#414)
- Update default sampling rate when sampling strategy is refreshed (#413)
- Support "Self" Span Reference (#411)
- Don't complain about blank service name if tracing is Disabled (#410) Yuri
- Use IP address from tag if exist (#402)
- Expose span data to custom reporters [fixes #394] (#399)
- Fix the span allocation in the pool (#381)
-
Add baggage to B3 codec (#319)
-
Add support for 128bit trace ids to zipkin thrift spans. (#378)
-
Update zipkin propagation logic to support 128bit traceIDs (#373)
-
Accept "true" for the x-b3-sampled header (#356)
-
Allow setting of PoolSpans from Config object (#322)
-
Make propagators public to allow wrapping (#379)
-
Change default metric namespace to use relevant separator for the metric backend (#364)
-
Change metrics prefix to jaeger_tracer and add descriptions (#346)
-
Bump OpenTracing to ^1.1.x (#383)
-
Upgrade jaeger-lib to v2.0.0 (#359)
-
Avoid defer when generating random number (#358)
-
Use a pool of rand.Source to reduce lock contention when creating span ids (#357)
-
Make JAEGER_ENDPOINT take priority over JAEGER_AGENT_XXX (#342)
- Fix FollowsFrom spans ignoring baggage/debug header from dummy parent context (#313)
- Make maximum annotation length configurable in tracer options (#318)
- Support more environment variables in configuration (#323)
- Print error on Sampler Query failure (#328)
- Add an HTTPOption to support custom http.RoundTripper (#333)
- Return an error when an HTTP error code is seen in zipkin HTTP transport (#331)
- Support throttling for debug traces (#274)
- Remove dependency on Apache Thrift (#303)
- Remove dependency on tchannel (#295) (#294)
- Test with Go 1.9 (#298)
- Use value receiver for config.NewTracer() (#283)
- Lock span during jaeger thrift conversion (#273)
- Fix the RemotelyControlledSampler so that it terminates go-routine on Close() (#260)
- Added support for client configuration via env vars (#275) <Juraci Paixão Kröhling>
- Allow overriding sampler in the Config (#270)
- Use lock when retrieving span.Context() (#268)
- Add Configuration support for custom Injector and Extractor (#263)
- Add Gopkg.toml to allow using the lib with
dep
- Do not enqueue spans after Reporter is closed (#235, #245)
- Change default flush interval to 1sec (#243)
- Normalize metric names and tags to be compatible with Prometheus (#222)
- Support custom tracing headers (#176)
- Add BaggageRestrictionManager (#178) and RemoteBaggageRestrictionManager (#182)
- Do not coerce baggage keys to lower case (#196)
- Log span name when span cannot be reported (#198)
- Add option to enable gen128Bit for tracer (#193) and allow custom generator for high bits of trace ID (#219)
- Pin thrift <= 0.10 (#179)
- Introduce a parallel interface ContribObserver (#159)
- Drop
jaeger.
prefix fromjaeger.hostname
process-level tag - Add options to set tracer tags
- Fix rate limiter balance #135 #140
- Default client to send Jaeger.thrift #147
- Save baggage in span #153
- Move reporter.queueLength to the top of the struct to guarantee 64bit alignment #158
- Support HTTP transport with jaeger.thrift #161
- Add config option to initialize RPC Metrics feature
- Split request latency metric by success/failure #123
- Add mutex to adaptive sampler and fix race condition #124
- Fix rate limiter panic #125
- Remove
_ms
suffix from request latency metric name #121 - Rename all metrics to "request" and "http_request" and use tags for other dimensions #121
- Make Span type public to allow access to non-std methods for testing #117
- Add a structured way to extract traces for logging with zap #118
- Fix panic caused by updating the remote sampler from adaptive sampler to any other sampler type (#111)
- Fix inefficient usage of zap.Logger
- Add adapter for zap.Logger (https://github.com/uber-go/zap)
- Move logging API to ./log/ package
- Support Adaptive Sampling
- Support 128bit Trace IDs
- Change trace/span IDs from uint64 to strong types TraceID and SpanID
- Add Zipkin HTTP B3 Propagation format support #72
- Rip out existing metrics and use github.com/uber/jaeger-lib/metrics
- Change API for tracer, reporter, sampler initialization
- Add Zipkin HTTP transport
- Support external baggage via jaeger-baggage header
- Unpin Thrift version, keep to master
- Relax dependency on opentracing to ^1
- Upgrade to opentracing-go 1.0
- Support KV logging for Spans
- Support debug traces via HTTP header "jaeger-debug-id"