Releases: tomtom-international/kotlin-tools
Releases · tomtom-international/kotlin-tools
1.8.6
Updated dependencies
1.8.3
Processing speed improvements:
- Introduce caching of trace event method annotations in the
Tracer.invoke()
function. - Skip creation of a
TraceEvent
object if there are no event consumers. This saves us from performing an expensive
LocalDateTime.now()
call. - Skip retrieval of trace event method annotations for simple log function invocations, if there are no event consumers.
- Remove string concatenations in
createLogMessage()
functions. Only useStringBuilder
functions. - Change
toStringRegistry
to useitem::javaClass.name
as key, and useitem::class.toString()
only as fallback. - Skip reading
item.javaClass.getMethod("toString").declaringClass
inconvertToStringUsingRegistry()
: the
item.toString()
function ofAny
will anyway print the name of the class. - Fix execution of unit tests requiring mockk-jvm (
extensions
andtraceevents
modules): no unit test for these
modules was being run anymore, after the 1.8.2 update. - Fix the
IfExtensionsTest
unit tests: these tests were broken by mockk 1.13.4 (due to
mockk/mockk#1033).
1.8.2
1.8.0
- Added
Tracer.hasQueuedTraceEvents: Boolean
to support testing that certain trace events were not sent.
1.7.1
- Remove use of reflection on the critical path of creating a Tracer object by removing the use of KClass<*>.isCompanion. Remove the $Companion suffix from the tagging class instead.
- Initialize Tracer library faster by removing the use of reflection to obtain Tracer library class names.
- Replace the use of LocalDateTime with Instant to measure elapsed time. This omits loading timezone data during initialization of the Tracer library.
- Improve documentation of TracerEvent.parameterNamesProvider.
- Reduce use of reflection on the critical path of trace events by not obtaining the trace event parameter names on the thread that traces the event. Only obtain the trace event parameter names when requested by a trace event consumer.
- Updated dependencies.
1.6.3
Added Kotlin Contracts to ifTrue and ifNull.
1.6.2
1.6.1
1.5.1
Added getNamedParametersMap to TraceEvent, which allows generic trace event consumers to access parameters and their values through a map that maps parameters names to their values. The other way to access parameter values is by using args, which is an array with parameter values, in the order of the method declaration.
1.4.1
-
Updated POM dependencies.
-
Replaced deprecated
Channel
methodsoffer
andpoll
with current method variantstrySend
andtryReceive
. -
Replaced some
internal
properties withprivate
to be stricter on visibility. -
Removed redundant
suspend
modifiers from methods.