- Allow span buffer to be reset after n-number of consecutive retries (relax cpu/memory pressure).
- Implement retry logic upon failed requests.
- Do not try to recreate Metrics thread if initialization failed
- Use shaded okhttp
- Allow users to disable metrics via environment variable:
LS_METRICS_ENABLED=false
- Make
SpanContext
truly immutable. - Allow
SpanContext
to directly create a copy with updated values.
- Deployment is automated and happens through CircleCI.
- Use the same major/minor version as the jre/android tracers.
- Metrics has been moved to its own repo.
- Small improvement logging errors.
- Add hostname tag.
- (Optional) Metrics reporting in the Tracer.
- Bump okhttp from 3.10.0 to 4.3.1
- Handle foreign Spans handled to SpanBuilder.
- Added CONTRIBUTING guide.
- Minor improvement over the B3 format: use the new 0/1 values for the sampled flag.
- Improved the B3 format support, handling 128-bit trace ids.
- Updated grpc to 1.23.0.
- Updated netty to 2.0.25.
- Updated protobuf to 3.9.0.
- Updated google-apis to 1.17.0.
- Updated OpenTracing to 0.33.0.
- Use a better name for our reporting thread (helps debugging).
- Expose http and https ports as constants to ease tracer configuration.
- Allow the user to specify custom DNS for the OkHttp provider.
- Give a name to our reporting thread. This helps users at debug time.
- Handle null keys/values for Span.log()
- Add Access Token as header to GRPC and HTTP Tracing Requests.
- Update our OpenTracing dependency to 0.32.0
- Allow setting Component name per Span.
- Instruct gRPC to round-robin between all the available satellites.
- Minor fix: do not send a first-run meta Span if meta reporting is disabled.
- Add meta event support.
- Make Tracer extends the Closeable interface.
- Handle empty SpanContext headers upon extraction.
- Removes LEGACY_COMPONENT_NAME_KEY for default component name.
- Allow specifying the ScopeManager instance for our Tracer.
googleapis-common-protos:0.0.3
dependency was replaced withgrpc-google-common-protos:1.12.0
(drop-in replacement)
- Fixed a bug regarding children Span not inheriting their parent's SpanContext baggage.
- Exposed deadlineMillis in OptionsBuilder.
- Removed javax annotation dependency.
- Updated the compiled protos. Changed type of clock correction offset from int to long.
- Included new dependency required by proto upgrade com.google.api.grpc:googleapis-common-protos:0.0.3
- Fixed bug where large clock corrections caused crashes.
- Upgrade dependencies to latest
- com.google.protobuf:protobuf-java from 3.4.0 to 3.5.1
- org.mockito:mockito-core from 2.8.47 to 2.18.3
- io.grpc from 1.4.0 to 1.11.0
- io.netty from 2.0.5.Final to 2.0.8.Final
- okhttp3 from 3.9.0 to 3.10.0
- Ensure
parent_span_guid
tag is no longer set. - Ensure
CHILD_OF
reference is set onactiveSpan
.
- Upgraded to io.opentracing 0.31.0
- BaseSpan and ActiveSpan are simplified into a single Span class.
- Scope replaces ActiveSpan, removing the continuation concept.
- ScopeManager replaces ActiveSpanSource
- ThreadLocalScopeManager replaces ThreadLocalActiveSpanSource
- Publish parent pom
- Small fixes and cleanup. Java 9 compatibility.
- Add okhttp transport support.
- Split grpc transport support into a separate dependency.
We are splitting out our transport dependency from our main tracer to making binaries smaller.
For the tracer to work, you will now need to provide a transport dependency with your tracer.
<dependency>
<groupId>com.lightstep.tracer</groupId>
<artifactId>tracer-grpc</artifactId>
<version>${com.lightstep.version}</version>
</dependency>
dependencies {
...
compile 'com.lightstep.tracer:tracer-grpc:VERSION'
...
}
- Fixed bug in 0.13.1 use of deadline for GRPC calls. Was setting a single deadline so all calls after 30s would fail. Now sets the deadline per call.
- Send report once buffer reaches 50% capacity.
- Removed unnecessary locks in CollectorClient around droppedSpans count
- Added deadlineMillis option (default 30s) to control amount of time report request will wait for a collector response
- Fixed issues with Bintray Maven sync
- Minor Java IDE warning cleanup, it is not believed that these changes will impact users, but some access levels did change, and some variables were removed
- Upgrade from io.grpc 1.2.0 to 1.4.0
- Upgrade io.netty from 1.1.33.Fork26 to 2.0.5.Final
- Changed netty dependencies to scope provided
- Converted repository from Gradle to Maven
- Create new repository for just java-common code
- Added null checks to SpanBuilder
- Bugfix: upgrade to grpc:1.2.0 everywhere
- Initialize collector client once during AbstractTracer construction
- Upgrade to grpc-netty:1.2.0
- Bug fix for constructing new OptionBuilder from existing options
- Upgraded to io.opentracing 0.30.0
- Add option to turn off default clock correction
- Upgraded to io.opentracing 0.30.0.RC2
- Thrift protocol has been removed in favor of protobuf (GRPC)
- Many API changes in Span, SpanBuilder and SpanContext
- Changed spanId and traceId from String to Long
- Upgraded to io.opentracing 0.20.0
- Fixes issue where pom file for java-common and lightstep-com.lightstep.tracer-jre (generated during local Maven publish) incorrectly referenced dependencies with 'runtime' scope when it should be 'compile' scope.
- Handle potential for ClassCastException in SpanContext
Bugfix: Handle when SpanContext keys have mixed case like: Ot-com.lightstep.tracer-spanId
0.9.25 (2016-11-18)
- withDisableReportOnExit method has been removed from Options. The standard behavior now is NOT to disable report on exit. Clients should instead call AbstractTracer.flush() on exit.
- Options can no longer be constructed directly by clients. You must use the Options.OptionsBuilder which will ensure your settings are valid and will set defaults where needed.
Options options = new Options.OptionsBuilder()
.withAccessToken("{your_access_token}")
.build()