Releases: ccadllc/cedi-dtrace
v3.0.1
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
v3.0.0-M1
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
v2.0.1
v2.0.0
-
Added the ability to set a
sampled
indicator in theTraceContext[F]
and to encode/decode the sampled indicator to/from XB3 headers. Ifsampled
is set tofalse
in theTraceContext
, the actual emission ofSpan
s 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 theTraceSystem
has been replaced with adata
structure, which separates out identity and metadata components of system-wide common data so that thelogstash
module'sEcsLogstashLogbackEmitter
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
, andmoney
modules are now built for both the JVM and JavaScript environments. Thelogging
module usesio.chrisdavenport.log4cats
to abstract over JVM and JavaScript-specific logging frameworks, with the JVM environment continuing to useorg.slf4j
overch.qos.logback
while the JavaScript environment usesorg.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 theTraceT.bracket
andTraceT.bracketCase
convenience methods take the place of thecedi-dtrace
1.xbestEffortOnFinish
function. Also addedContextShift
typeclass to handle shifting to a new thread pool withshift
and to temporarily evaluate an effect on a thread pool and then shift back to the current one viaevalOn
(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
andattempt
invocations. #29. -
Added law testing of typeclass instances. #17.
v2.0.0-RC3
-
Implemented XB3/Zipkin compressed header capability and cleaned up/improved documentation #61
-
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
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
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.