All clj-otel-*
module versions are released in lockstep to Clojars.
x.y.z
versions listed below do not follow semantic versioning.
Instead, development proceeds on a linear path where z
increases for batches of incremental changes and y
increases (with z
reset to 0
) when milestones are reached.
The changes are marked as follows:
[BREAK] is a breaking change in behaviour that requires user action to accommodate for when upgrading from a previous version
[ADD] is an addition of a new feature
[FIX] is a bug fix
[MAINT] is a maintenance change for general improvement and proactive avoidance of potential issues
Until version 1.0.0 there is a greater possibility of breaking changes.
|
0.x
changes0.2.4
(2023-10-01)[ADD] Module clj-otel-sdk-extension-autoconfigure
which wraps the autoconfigure OpenTelemetry SDK extension.
Updated guide on using the autoconfigure module and adding initialisation code to application.
[ADD] Updated functions to use a default OpenTelemetry
instance declared by clj-otel
, falling back to the global OpenTelemetry
instance declared by Java OpenTelemetry if no default instance was previously configured.
Added recommendation to prefer use of default OpenTelemetry
instance over the global OpenTelemetry
instance, when using autoconfigure module or programmatic configuration of SDK.
Use of system property otel.java.global-autoconfigure.enabled
or environment variable OTEL_JAVA_GLOBAL_AUTOCONFIGURE_ENABLED
is discouraged.
[BREAK] steffan-westcott.clj-otel.sdk.otel-sdk/init-otel-sdk!
has a new option register-shutdown-hook
enabled by default.
[ADD] New middleware (formerly part of the microservices examples)
wrap-exception-event
adds an exception event to the server span.
This is intended for use by applications which transform the exception to an HTTP response in a subsequent middleware.
wrap-reitit-route
adds the matched Reitit route to the server span and request map.
[ADD] New interceptor exception-event-interceptor
adds an exception event to the server span.
This is intended for use by applications which transform the exception to an HTTP response in a subsequent interceptor.
[ADD] Function steffan-westcott.clj-otel.instrumentation.runtime-telemetry-java8/close!
to stop JVM telemetry.
steffan-westcott.clj-otel.instrumentation.runtime-telemetry-java8/register!
now returns a collection of AutoCloseable
.
[MAINT] Removed :dev
alias for development.
[MAINT] Reworked examples to be easier to run. Added load generator applications to microservices examples.
Bump deps:
[MAINT] OpenTelemetry 1.30.1
[BREAK] clj-otel-exporter-jaeger-*
are now deprecated, use clj-otel-exporter-otlp
instead
[BREAK] Now using io.opentelemetry.semconv/opentelemetry-semconv
semantic conventions.
This impacts manually instrumented HTTP server applications using clj-otel
middleware or interceptors, as several semantic attributes have changed.
[MAINT] gRPC 1.58.0
[MAINT] Various build deps
0.2.3
(2023-06-18)[ADD] Support for programmatic configuration of MeterProvider
for metrics export.
[ADD] Module clj-otel-exporter-prometheus
for programmatic configuration of metrics export to Prometheus
[FIX] steffan-westcott.clj-otel.util/duration
should convert [amount ^TimeUnit unit]
to Duration
Bump deps:
[MAINT] OpenTelemetry 1.27.0
[BREAK] The default value for autoconfiguration property otel.logs.exporter
has changed from none
to otlp
[BREAK] Module clj-otel-instrumentation-runtime-metrics
has been renamed and split into modules clj-otel-instrumentation-runtime-telemetry-java8
and clj-otel-instrumentation-runtime-telemetry-java17
[MAINT] gRPC 1.56.0
[MAINT] Pedestal 0.6.0
0.2.2
(2023-06-05)[ADD] Opt-in feature bound context, a Clojure dynamic var that overrides the default context
or parent
parameter value for clj-otel
functions.
This feature is intended to simplify asynchronous code by eliminating explicit context passing.
Existing code that uses the current context or explicit context parameter values is unaffected.
[FIX] Convert key names of entries added to OpenTelemetry attributes to snake_case. This applies to resources, spans and metrics.
[FIX] Do not transform key names of entries added to OpenTelemetry context or baggage.
[ADD] Function set-attribute-name-fn!
to override setting of OpenTelemetry attribute key names.
[MAINT] Remove Jaeger exporters from examples, since they will be deprecated soon. The Jaeger Collector now accepts OTLP directly. See the Jaeger clients deprecation notice.
Bump deps:
[MAINT] OpenTelemetry contrib 1.26.0-alpha
[MAINT] gRPC 1.55.1
[MAINT] Various build deps
0.2.1
(2023-05-08)[FIX] Use .
instead of /
in namespace qualified attribute names
[MAINT] Removed deprecated build dep build-clj
Bump deps:
[MAINT] OpenTelemetry 1.26.0
[MAINT] gRPC 1.54.1
[MAINT] Various build deps
0.2.0
(2023-04-10)[ADD] Support for Metrics API
[ADD] Implementations of the following HTTP server metrics for use by applications not run with the OpenTelemetry instrumentation agent:
http.server.active_requests
http.server.duration
http.server.request.size
[BREAK] The parameters for function add-route-data!
have changed, there is a new parameter to specify the HTTP request method.
[BREAK] The pattern for using clj-otel
middleware and interceptors in applications has been revised.
The revised pattern adds new middleware wrap-route
, wrap-active-requests
and
wrap-metrics-by-route
and interceptors route-interceptor
, active-requests-interceptor
and metrics-by-route-interceptors
to capture matched routes in HTTP server spans and HTTP server metrics.
The pattern also ensures all requests are recorded, including those which do not match any route.
[ADD] Module clj-otel-instrumentation-runtime-metrics
to provide access to JVM runtime metrics instrumentation for applications not using the OpenTelemetry instrumentation agent.
[ADD] Aliases in examples
:metrics-*
to control export of metrics
:logging-*
to control application logging
Bump deps:
[MAINT] OpenTelemetry 1.25.0
[BREAK] When using autoconfiguration for a manually instrumented application, include the new JVM option "-Dotel.java.global-autoconfigure.enabled=true"
or environment variable setting OTEL_JAVA_GLOBAL_AUTOCONFIGURE_ENABLED=true
Methods to statically set the server host name attribute on server spans have been removed, as static data is better represented as an OpenTelemetry resource.
[BREAK] The function add-server-name!
has been removed.
[BREAK] The option :server-name
has been removed from the middleware and interceptors for server span support.
[BREAK] Module clj-otel-extension-aws
renamed to clj-otel-contrib-aws-xray-propagator
[BREAK] Module clj-otel-sdk-extension-aws
renamed to clj-otel-contrib-aws-resources
[BREAK] Module clj-otel-sdk-extension-resources
renamed to clj-otel-instrumentation-resources
[MAINT] gRPC 1.54.0
[MAINT] Various build deps
0.1.5
(2022-09-03)Bump deps:
[MAINT] OpenTelemetry 1.17.0
[MAINT] gRPC 1.49.0
[MAINT] Various build deps
0.1.4
(2022-07-05)[ADD] Support for including source code semantic attributes when creating spans.
By default, attributes identifying the namespace, line number and source file path are included in spans created by with-span!
, with-span-binding
, and async-span
.
[ADD] Update Pedestal HTTP server span support to always add route data to server spans
Bump deps:
[MAINT] OpenTelemetry 1.15.0
[BREAK] Modules clj-otel-exporter-otlp-*
are merged to new module clj-otel-exporter-otlp
[MAINT] gRPC 1.47.0
[MAINT] Various build deps
0.1.3
(2022-05-22)Bump deps:
[MAINT] OpenTelemetry 1.14.0
[MAINT] gRPC 1.46.0
[MAINT] Various build deps
0.1.2
(2022-04-13)[ADD] Include ExceptionInfo
data as attributes in exception span events, by default
[FIX] Update examples to use namespaced attributes for spans and events
Bump deps:
[MAINT] OpenTelemetry 1.13.0
[BREAK] The default value for autoconfiguration property otel.metrics.exporter
has changed from none
to otlp
[MAINT] Clojure 1.11.1
[MAINT] gRPC 1.45.1
[MAINT] Various build deps
0.1.1
(2022-03-13)Bump deps:
[MAINT] OpenTelemetry 1.12.0
[MAINT] gRPC 1.45.0
[MAINT] Various build deps
0.1.0
(2022-02-27)Initial release
Can you improve this documentation?Edit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close