Skip to content

Releases: ccadllc/cedi-dtrace

v3.0.1

15 Nov 23:08
Compare
Choose a tag to compare

Fixed issue where the unit of time for the Span was always being rendered in nanoseconds for the logstash emitter, ignoring the time unit configuration of the TraceSystem, which defaults to microseconds but can be set to any valid java.util.concurrent.TimeUnit. #192

Updated miscellaneous dependent library dependencies (binary compatible point releases).

v3.0.0

09 Nov 21:40
Compare
Choose a tag to compare

Update dependent libraries: cats and cats-effect to 2.x, circe to 0.12.x, and appropriate support libraries. Also updated to support scala 2.13. Support for scala 2.11 is dropped due to it being dropped by dependent libraries.

v3.0.0-M1

03 Nov 17:27
Compare
Choose a tag to compare
v3.0.0-M1 Pre-release
Pre-release

Update dependent libraries: cats and cats-effect to 2.x, circe to 0.12.x, and appropriate support libraries. Also updated to support scala 2.13. Support for scala 2.11 is dropped due to it being dropped by dependent libraries.

v2.0.2

16 May 23:12
Compare
Choose a tag to compare

Fixed stack safety issue with parallel / non empty parallel typeclasses when deeply nested applicative operations are performed. Issue #77.

v2.0.1

04 May 17:57
Compare
Choose a tag to compare

Inadvertently changing the clock type of the timer from realtime to monotonic in the trace system instance when translating TraceT[F, ?] ~> TraceT[G, ?], triggered by Parallel typelass operations, resulting in bogus timestamps for Spans after this action. #75 / #76 .

v2.0.0

28 Apr 20:24
Compare
Choose a tag to compare
  • Added the ability to set a sampled indicator in the TraceContext[F] and to encode/decode the sampled indicator to/from XB3 headers. If sampled is set to false in the TraceContext, the actual emission of Spans for that trace are skipped. #73.

  • Added an Elastic Common Search (ECS) compliant emitter within the logstash module which encodes the spans in a manner consistent with the ECS specification (1.0.0-beta2 revision). The top-level metadata map in the TraceSystem has been replaced with a data structure, which separates out identity and metadata components of system-wide common data so that the logstash module's EcsLogstashLogbackEmitter can encode identity fields directly rather than combining them all into a metadata group. This isn't specific to ECS but allows for more re-use of common ECS fields at the top-level. #47 and #52.

  • The core, logging, xb3, and money modules are now built for both the JVM and JavaScript environments. The logging module uses io.chrisdavenport.log4cats to abstract over JVM and JavaScript-specific logging frameworks, with the JVM environment continuing to use org.slf4j over ch.qos.logback while the JavaScript environment uses org.log4s.log4s. #18.

  • Updated typeclasses to use cats-effect 1.x, which includes a number of changes, including the Bracket typeclass for handling finalization and resource cleanup. This typeclass and the TraceT.bracket and TraceT.bracketCase convenience methods take the place of the cedi-dtrace 1.x bestEffortOnFinish function. Also added ContextShift typeclass to handle shifting to a new thread pool with shift and to temporarily evaluate an effect on a thread pool and then shift back to the current one via evalOn (the use case for the latter is primarily to evaluate a blocking effect on a dedicated thread pool to avoid possible deadlocks). #44.

  • Removed requirement for a TraceContext[F] in implicit scope forConcurrent typeclass.

  • Fixed stack safety issues with TraceT instances. Previously, it was possible to get stack overflow exceptions with deeply nested flatMap, map and attempt invocations. #29.

  • Added law testing of typeclass instances. #17.

v2.0.0-RC3

16 Mar 18:20
Compare
Choose a tag to compare
v2.0.0-RC3 Pre-release
Pre-release
  1. Implemented XB3/Zipkin compressed header capability and cleaned up/improved documentation #61

  2. Fixed issue where any functionality that used the translate function would thereafter always only emit the span that was active when the translate occured (it was exposed with the use of the Parallel/NonEmptyParallel typeclasses) #57

v2.0.0-RC2

10 Mar 22:59
Compare
Choose a tag to compare
v2.0.0-RC2 Pre-release
Pre-release

This is the second release candidate of CEDI Distributed Trace 2.0.0 but is identical in functionality to RC1, the former DOA due to build/release issues in the publication process. The major version has been revved as it is neither source nor binary backward compatible with the 1.4.x series. Note that there was a 1.5.0-RC1 released last September that really should have been 2.0.0-RC1.

1. Added an [Elastic Common Search (ECS)](https://github.com/elastic/ecs) compliant emitter within the 
   logstash module which encodes the spans in a manner consistent with the ECS specification (1.0.0-
   beta2  revision).  The top-level metadata map in the `TraceSystem` has been replaced with a data 
   structure, which separates out identity and metadata components of system-wide common data so that
   the logstash module's EcsLogstashLogbackEmitter can encode identity fields directly rather than
   combining them all into a metadata group.  This isn't specific to ECS but allows for more re-use of 
   common ECS fields at the top-level.

2. The core, logging, xb3, and money modules are now built for both the JVM and JavaScript 
   environments. The logging module uses biz.enef.slogging to abstract over JVM and JavaScript-
   specific logging frameworks, with the JVM environment continuing to use org.slf4j over 
   ch.qos.logback while the JavaScript environment uses biz.enef.slogging-winston.

3. Updated typeclasses to use cats-effect 1.0.x, which involves a number of changes, including the
   Bracket typeclass for handling finalization and resource cleanup. This typeclass and the 
   TraceT.bracket and TraceT.bracketCase convenience methods take the place of the `cedi-dtrace`
   1.x bestEffortOnFinish function. Also added ContextShift typeclass to handle shifting to a new
   thread pool  with shift and to temporarily evaluate an effect on a thread pool and then shift back to
   the current one via evalOn (the use case for the latter is primarily to evaluate a blocking effect on a 
   dedicated thread pool to avoid possible deadlocks).  Note that this was included in the aforementioned
   1.5.0-RC1 release.

4. Removed requirement for a TraceContext[F] in implicit scope for Concurrent typeclass.

5. Fixed stack safety issues with TraceT instances. Previously, it was possible to get stack overflow
   exceptions with deeply nested flatMap, map and attempt invocations.

6. Added law testing of typeclass instances.

v2.0.0-RC1

10 Mar 23:01
Compare
Choose a tag to compare
v2.0.0-RC1 Pre-release
Pre-release

This is the first release candidate of CEDI Distributed Trace 2.0.0 but was never properly published due to an issue with the release process and was immediately superseded by the functionally identical RC2.