1Changes by Version 2================== 3 42.27.0 (2021-04-19) 5------------------- 6- Don't override HTTP Reporter batch size to 1; default to 100, user can override (#571) -- R. Aidan Campbell 7 8 92.26.0 (2021-04-16) 10------------------- 11- Delete a baggage item when value is blank (#562) -- evan.kim 12- Trim baggage key when parsing (#566) -- sicong.huang 13- feat: extend configuration to support custom randomNumber func (#555) -- NemoO_o 14- Support JAEGER_TRACEID_128BIT env var (#547) -- Yuri Shkuro 15- Additional context protections (#544) -- Joe Elliott 16- Lock RemotelyControlledSampler.sampler on callbacks (#543) -- Dima 17- Upgrade build to Go 1.15 (#539) -- Yuri Shkuro 18- Upgrade to jaeger-lib@2.3.0 to fix broken codahale/hdrhistogram dependency (#537) -- Yuri Shkuro 19- Prefix TraceID/SpanID.String() with zeroes (#533) -- Lukas Vogel 20- Upgrade to OpenTracing Go 1.2 (#525) -- Yuri Shkuro 21 22 232.25.0 (2020-07-13) 24------------------- 25## Breaking changes 26- [feat] Periodically re-resolve UDP server address, with opt-out (#520) -- Trevor Foster 27 28 The re-resolving of UDP address is now enabled by default, to make the client more robust in Kubernetes deployments. 29 The old resolve-once behavior can be restored by setting DisableAttemptReconnecting=true in the Configuration struct, 30 or via JAEGER_REPORTER_ATTEMPT_RECONNECTING_DISABLED=true environment variable. 31 32## Bug fixes 33- Do not add invalid context to references (#521) -- Yuri Shkuro 34 35 362.24.0 (2020-06-14) 37------------------- 38- Mention FromEnv() in the README, docs, and examples (#518) -- Martin Lercher 39- Serialize access to RemotelyControlledSampler.sampler (#515) -- Dima 40- Override reporter config only when agent host/port is set in env (#513) -- ilylia 41- Converge on JAEGER_SAMPLING_ENDPOINT env variable (#511) -- Eundoo Song 42 43 442.23.1 (2020-04-28) 45------------------- 46- Fix regression by handling nil logger correctly ([#507](https://github.com/jaegertracing/jaeger-client-go/pull/507)) -- Prithvi Raj 47 48 492.23.0 (2020-04-22) 50------------------- 51 52- Add the ability to log all span interactions at a new debug log level([#502](https://github.com/jaegertracing/jaeger-client-go/pull/502), [#503](https://github.com/jaegertracing/jaeger-client-go/pull/503), [#504](https://github.com/jaegertracing/jaeger-client-go/pull/504)) -- Prithvi Raj 53- Chore (docs): fix typos ([#496](https://github.com/jaegertracing/jaeger-client-go/pull/496), [#498](https://github.com/jaegertracing/jaeger-client-go/pull/498)) -- Febrian Setianto and Ivan Babrou 54- Unset highest bit of traceID in probabilistic sampler ([#490](https://github.com/jaegertracing/jaeger-client-go/pull/490)) -- Sokolov Yura 55 562.22.1 (2020-01-16) 57------------------- 58 59- Increase UDP batch overhead to account for data loss metrics ([#488](https://github.com/jaegertracing/jaeger-client-go/pull/488)) -- Yuri Shkuro 60 61 622.22.0 (2020-01-15) 63------------------- 64 65- Report data loss stats to Jaeger backend ([#482](https://github.com/jaegertracing/jaeger-client-go/pull/482)) -- Yuri Shkuro 66- Add limit on log records per span ([#483](https://github.com/jaegertracing/jaeger-client-go/pull/483)) -- Sokolov Yura 67 68 692.21.1 (2019-12-20) 70------------------- 71 72- Update version correctly. 73 74 752.21.0 (2019-12-20) 76------------------- 77 78- Clarify reporting error logs ([#469](https://github.com/jaegertracing/jaeger-client-go/pull/469)) -- Yuri Shkuro 79- Do not strip leading zeros from trace IDs ([#472](https://github.com/jaegertracing/jaeger-client-go/pull/472)) -- Yuri Shkuro 80- Chore (docs): fixed a couple of typos ([#475](https://github.com/jaegertracing/jaeger-client-go/pull/475)) -- Marc Bramaud 81- Support custom HTTP headers when reporting spans over HTTP ([#479](https://github.com/jaegertracing/jaeger-client-go/pull/479)) -- Albert Teoh 82 83 842.20.1 (2019-11-08) 85------------------- 86 87Minor patch via https://github.com/jaegertracing/jaeger-client-go/pull/468 88 89- Make `AdaptiveSamplerUpdater` usable with default values; Resolves #467 90- Create `OperationNameLateBinding` sampler option and config option 91- Make `SamplerOptions` var of public type, so that its functions are discoverable via godoc 92 93 942.20.0 (2019-11-06) 95------------------- 96 97## New Features 98 99- Allow all in-process spans of a trace to share sampling state (#443) -- Prithvi Raj 100 101 Sampling state is shared between all spans of the trace that are still in memory. 102 This allows implementation of delayed sampling decisions (see below). 103 104- Support delayed sampling decisions (#449) -- Yuri Shkuro 105 106 This is a large structural change to how the samplers work. 107 It allows some samplers to be executed multiple times on different 108 span events (like setting a tag) and make a positive sampling decision 109 later in the span life cycle, or even based on children spans. 110 See [README](./README.md#delayed-sampling) for more details. 111 112 There is a related minor change in behavior of the adaptive (per-operation) sampler, 113 which will no longer re-sample the trace when `span.SetOperation()` is called, i.e. the 114 operation used to make the sampling decision is always the one provided at span creation. 115 116- Add experimental tag matching sampler (#452) -- Yuri Shkuro 117 118 A sampler that can sample a trace based on a certain tag added to the root 119 span or one of its local (in-process) children. The sampler can be used with 120 another experimental `PrioritySampler` that allows multiple samplers to try 121 to make a sampling decision, in a certain priority order. 122 123- [log/zap] Report whether a trace was sampled (#445) -- Abhinav Gupta 124- Allow config.FromEnv() to enrich an existing config object (#436) -- Vineeth Reddy 125 126## Minor patches 127 128- Expose Sampler on Tracer and accept sampler options via Configuration (#460) -- Yuri Shkuro 129- Fix github.com/uber-go/atomic import (#464) -- Yuri Shkuro 130- Add nodejs to crossdock tests (#441) -- Bhavin Gandhi 131- Bump Go compiler version to 1.13 (#453) -- Yuri Shkuro 132 1332.19.0 (2019-09-23) 134------------------- 135 136- Upgrade jaeger-lib to 2.2 and unpin Prom client (#434) -- Yuri Shkuro 137 138 1392.18.1 (2019-09-16) 140------------------- 141 142- Remove go.mod / go.sum that interfere with `go get` (#432) 143 144 1452.18.0 (2019-09-09) 146------------------- 147 148- Add option "noDebugFlagOnForcedSampling" for tracer initialization [resolves #422] (#423) <Jun Guo> 149 150 1512.17.0 (2019-08-30) 152------------------- 153 154- Add a flag for firehose mode (#419) <Prithvi Raj> 155- Default sampling server URL to agent (#414) <Bryan Boreham> 156- Update default sampling rate when sampling strategy is refreshed (#413) <Bryan Boreham> 157- Support "Self" Span Reference (#411) <dm03514> 158- Don't complain about blank service name if tracing is Disabled (#410) Yuri <Shkuro> 159- Use IP address from tag if exist (#402) <NikoKVCS> 160- Expose span data to custom reporters [fixes #394] (#399) <Curtis Allen> 161- Fix the span allocation in the pool (#381) <Dmitry Ponomarev> 162 163 1642.16.0 (2019-03-24) 165------------------- 166 167- Add baggage to B3 codec (#319) <Pavol Loffay> 168- Add support for 128bit trace ids to zipkin thrift spans. (#378) <Douglas Reid> 169- Update zipkin propagation logic to support 128bit traceIDs (#373) <Douglas Reid> 170- Accept "true" for the x-b3-sampled header (#356) <Adrian Bogatu> 171 172- Allow setting of PoolSpans from Config object (#322) <Matthew Pound> 173- Make propagators public to allow wrapping (#379) <Ivan Babrou> 174- Change default metric namespace to use relevant separator for the metric backend (#364) <Gary Brown> 175- Change metrics prefix to jaeger_tracer and add descriptions (#346) <Gary Brown> 176- Bump OpenTracing to ^1.1.x (#383) <Yuri Shkuro> 177- Upgrade jaeger-lib to v2.0.0 (#359) <Gary Brown> 178- Avoid defer when generating random number (#358) <Gary Brown> 179- Use a pool of rand.Source to reduce lock contention when creating span ids (#357) <Gary Brown> 180- Make JAEGER_ENDPOINT take priority over JAEGER_AGENT_XXX (#342) <Eundoo Song> 181 182 1832.15.0 (2018-10-10) 184------------------- 185 186- Fix FollowsFrom spans ignoring baggage/debug header from dummy parent context (#313) <Zvi Cahana> 187- Make maximum annotation length configurable in tracer options (#318) <Eric Chang> 188- Support more environment variables in configuration (#323) <Daneyon Hansen> 189- Print error on Sampler Query failure (#328) <Goutham Veeramachaneni> 190- Add an HTTPOption to support custom http.RoundTripper (#333) <Michael Puncel> 191- Return an error when an HTTP error code is seen in zipkin HTTP transport (#331) <Michael Puncel> 192 193 1942.14.0 (2018-04-30) 195------------------- 196 197- Support throttling for debug traces (#274) <Isaac Hier> 198- Remove dependency on Apache Thrift (#303) <Yuri Shkuro> 199- Remove dependency on tchannel (#295) (#294) <Yuri Shkuro> 200- Test with Go 1.9 (#298) <Yuri Shkuro> 201 202 2032.13.0 (2018-04-15) 204------------------- 205 206- Use value receiver for config.NewTracer() (#283) <Yuri Shkuro> 207- Lock span during jaeger thrift conversion (#273) <Won Jun Jang> 208- Fix the RemotelyControlledSampler so that it terminates go-routine on Close() (#260) <Scott Kidder> <Yuri Shkuro> 209- Added support for client configuration via env vars (#275) <Juraci Paixão Kröhling> 210- Allow overriding sampler in the Config (#270) <Mike Kabischev> 211 212 2132.12.0 (2018-03-14) 214------------------- 215 216- Use lock when retrieving span.Context() (#268) 217- Add Configuration support for custom Injector and Extractor (#263) <Martin Liu> 218 219 2202.11.2 (2018-01-12) 221------------------- 222 223- Add Gopkg.toml to allow using the lib with `dep` 224 225 2262.11.1 (2018-01-03) 227------------------- 228 229- Do not enqueue spans after Reporter is closed (#235, #245) 230- Change default flush interval to 1sec (#243) 231 232 2332.11.0 (2017-11-27) 234------------------- 235 236- Normalize metric names and tags to be compatible with Prometheus (#222) 237 238 2392.10.0 (2017-11-14) 240------------------- 241 242- Support custom tracing headers (#176) 243- Add BaggageRestrictionManager (#178) and RemoteBaggageRestrictionManager (#182) 244- Do not coerce baggage keys to lower case (#196) 245- Log span name when span cannot be reported (#198) 246- Add option to enable gen128Bit for tracer (#193) and allow custom generator for high bits of trace ID (#219) 247 248 2492.9.0 (2017-07-29) 250------------------ 251 252- Pin thrift <= 0.10 (#179) 253- Introduce a parallel interface ContribObserver (#159) 254 255 2562.8.0 (2017-07-05) 257------------------ 258 259- Drop `jaeger.` prefix from `jaeger.hostname` process-level tag 260- Add options to set tracer tags 261 262 2632.7.0 (2017-06-21) 264------------------ 265 266- Fix rate limiter balance [#135](https://github.com/uber/jaeger-client-go/pull/135) [#140](https://github.com/uber/jaeger-client-go/pull/140) 267- Default client to send Jaeger.thrift [#147](https://github.com/uber/jaeger-client-go/pull/147) 268- Save baggage in span [#153](https://github.com/uber/jaeger-client-go/pull/153) 269- Move reporter.queueLength to the top of the struct to guarantee 64bit alignment [#158](https://github.com/uber/jaeger-client-go/pull/158) 270- Support HTTP transport with jaeger.thrift [#161](https://github.com/uber/jaeger-client-go/pull/161) 271 272 2732.6.0 (2017-03-28) 274------------------ 275 276- Add config option to initialize RPC Metrics feature 277 278 2792.5.0 (2017-03-23) 280------------------ 281 282- Split request latency metric by success/failure [#123](https://github.com/uber/jaeger-client-go/pull/123) 283- Add mutex to adaptive sampler and fix race condition [#124](https://github.com/uber/jaeger-client-go/pull/124) 284- Fix rate limiter panic [#125](https://github.com/uber/jaeger-client-go/pull/125) 285 286 2872.4.0 (2017-03-21) 288------------------ 289 290- Remove `_ms` suffix from request latency metric name [#121](https://github.com/uber/jaeger-client-go/pull/121) 291- Rename all metrics to "request" and "http_request" and use tags for other dimensions [#121](https://github.com/uber/jaeger-client-go/pull/121) 292 293 2942.3.0 (2017-03-20) 295------------------ 296 297- Make Span type public to allow access to non-std methods for testing [#117](https://github.com/uber/jaeger-client-go/pull/117) 298- Add a structured way to extract traces for logging with zap [#118](https://github.com/uber/jaeger-client-go/pull/118) 299 300 3012.2.1 (2017-03-14) 302------------------ 303 304- Fix panic caused by updating the remote sampler from adaptive sampler to any other sampler type (https://github.com/uber/jaeger-client-go/pull/111) 305 306 3072.2.0 (2017-03-10) 308------------------ 309 310- Introduce Observer and SpanObserver (https://github.com/uber/jaeger-client-go/pull/94) 311- Add RPC metrics emitter as Observer/SpanObserver (https://github.com/uber/jaeger-client-go/pull/103) 312 313 3142.1.2 (2017-02-27) 315------------------- 316 317- Fix leaky bucket bug (https://github.com/uber/jaeger-client-go/pull/99) 318- Fix zap logger Infof (https://github.com/uber/jaeger-client-go/pull/100) 319- Add tracer initialization godoc examples 320 321 3222.1.1 (2017-02-21) 323------------------- 324 325- Fix inefficient usage of zap.Logger 326 327 3282.1.0 (2017-02-17) 329------------------- 330 331- Add adapter for zap.Logger (https://github.com/uber-go/zap) 332- Move logging API to ./log/ package 333 334 3352.0.0 (2017-02-08) 336------------------- 337 338- Support Adaptive Sampling 339- Support 128bit Trace IDs 340- Change trace/span IDs from uint64 to strong types TraceID and SpanID 341- Add Zipkin HTTP B3 Propagation format support #72 342- Rip out existing metrics and use github.com/uber/jaeger-lib/metrics 343- Change API for tracer, reporter, sampler initialization 344 345 3461.6.0 (2016-10-14) 347------------------- 348 349- Add Zipkin HTTP transport 350- Support external baggage via jaeger-baggage header 351- Unpin Thrift version, keep to master 352 353 3541.5.1 (2016-09-27) 355------------------- 356 357- Relax dependency on opentracing to ^1 358 359 3601.5.0 (2016-09-27) 361------------------- 362 363- Upgrade to opentracing-go 1.0 364- Support KV logging for Spans 365 366 3671.4.0 (2016-09-14) 368------------------- 369 370- Support debug traces via HTTP header "jaeger-debug-id" 371