Skip to content

Releases: signalfx/splunk-otel-java

Release v1.5.0

20 Oct 17:07
5a171bb
Compare
Choose a tag to compare

This release uses OpenTelemetry Instrumentation for Java version 1.7.0. If you want to extend the instrumentation manually, we suggest using the OpenTelemetry Java API version 1.7.0. For manually adding custom metrics we suggest using Micrometer version 1.7.5. Please consult the release notes linked above for upstream changes.

🗒 General notes

  • OpenTelemetry Java SDK and OpenTelemetry Instrumentation for Java dependencies have been updated to version 1.7.0.
  • Micrometer dependency has been updated to version 1.7.5.

🛠️ Bug fixes

  • The Java agent no longer adds a security header to exported metrics when the SPLUNK_ACCESS_TOKEN is not configured.
    This means the agent should now work correctly with a collector that has token passthrough enabled.

🌟 Enhancements

  • We have added instrumentation for WebLogic
    thread pools. The agent now collects and exports metrics for the WebLogic application server thread pools.
  • We have also added instrumentation for Netty 4.1 that will add the server trace headers
    to the HTTP response.
  • This release introduces the Java profiler. Keep in mind this feature is still experimental, and thus turned off by
    default; you can enable it by setting the splunk.profiler.enabled property to true. Find out more about Splunk
    profiler in its docs.

Release v1.4.0

20 Sep 10:32
ef85190
Compare
Choose a tag to compare

This release uses OpenTelemetry Instrumentation for Java version 1.6.0. If you want to extend the instrumentation manually, we suggest using the OpenTelemetry Java API version 1.6.0. For manually adding custom metrics we suggest using Micrometer version 1.7.4. Please consult the release notes linked above for upstream changes.

🗒 General notes

  • OpenTelemetry Java SDK and OpenTelemetry Instrumentation for Java dependencies have been updated to version 1.6.0.
  • Micrometer dependency was updated to version 1.7.4.

🌟 Enhancements

  • Added Restlet 1.0 instrumentation.

Release v1.3.1

27 Aug 13:08
61918a0
Compare
Choose a tag to compare

This is a patch release on the previous 1.3.0 release. It bumps the OpenTelemetry Instrumentation for Java version to 1.5.2 and fixes the memory leak bug that manifested on 1.5.0 and 1.5.1 upstream versions when OpenTelemetry metrics exporter wasn't used.

Release v1.3.0

23 Aug 17:56
7e3a6c3
Compare
Choose a tag to compare

⚠️ There is a memory leak in the 1.3.0 Splunk Distribution of OpenTelemetry Java release. Please use the 1.3.1 release instead. ⚠️


This release uses OpenTelemetry Instrumentation for Java version 1.5.0. If you want to extend the instrumentation manually, we suggest using the OpenTelemetry Java API version 1.5.0. For manually adding custom metrics we suggest using Micrometer version 1.7.3. Please consult the release notes linked above for upstream changes.

🗒 General notes

  • OpenTelemetry Java SDK and OpenTelemetry Instrumentation for Java dependencies have been updated to version 1.5.0.

🌟 Enhancements

  • Middleware attributes (middleware.name and middleware.version) have been renamed to webengine attributes (webengine.name and webengine.version) to follow the OpenTelemetry specification.
  • We have added instrumentations for c3p0 and Vibur DBCP connection pools. The agent now collects and exports metrics for both JDBC connection pools.
  • We have also introduced instrumentations for Tomcat connector and WebSphere Liberty web request thread pools. The agent now collects and exports metrics for these application server thread pools.
  • This release introduces the Micrometer bridge instrumentation. You can now use the Micrometer API inside your application to manually define custom metrics and the javaagent will export them. See the documentation for more details.
  • The splunk.metrics.export.interval configuration property will now allow specifying time units; and if no units are specified then the value is treated as number of milliseconds. For example 30s means "30 seconds" and is equivalent to 30000.
  • This release also introduces the muzzle safety checks to all Splunk instrumentations. Our instrumentations now offer exactly the same level of safety as the upstream OpenTelemetry instrumentations.

Release v1.2.0

27 Jul 08:30
c575d1e
Compare
Choose a tag to compare

This release uses OpenTelemetry Instrumentation for Java version 1.4.0. If you want to extend the instrumentation manually, we suggest using the OpenTelemetry Java API version 1.4.1. Please consult the release notes linked above for upstream changes.

🗒 General notes

  • OpenTelemetry Java SDK has been updated to version 1.4.1.
  • OpenTelemetry Instrumentation for Java has been updated to version 1.4.0.

🌟 Enhancements

  • We have added instrumentation for HikariCP and Tomcat JDBC connection pools. The agent now collects and exports metrics for both JDBC connection pools.
  • You can now set the service name using the OTEL_SERVICE_NAME environment variable and the otel.service.name system property. This removes the need of using OTEL_RESOURCE_ATTRIBUTES to set the service name.

Release v1.1.0

18 Jun 16:14
30bd02b
Compare
Choose a tag to compare

This release uses OpenTelemetry Instrumentation for Java version 1.3.0. If you want to extend the instrumentation manually, we suggest using the OpenTelemetry Java API version 1.3.0. Please consult the release notes linked above for upstream changes.

🗒 General notes

  • OpenTelemetry Java SDK and OpenTelemetry Instrumentation for Java dependencies were updated to version 1.3.0.
  • khttp instrumentation was moved from the upstream OpenTelemetry Instrumentation for
    Java repo to this one. We are now responsible for maintaining this instrumentation.

🛠️ Bug fixes

  • The agent will always set exactly one Server-Timing header value; the bug where multiple copies of the same header
    value were set was fixed.
  • Memory usage of the OpenTelemetry SDK has been significantly reduced; the agent will now use much less memory for tracing.

🌟 Enhancements

  • Added internal_root_off sampler that will drop all traces that start with INTERNAL, CLIENT or PRODUCER span -
    the only top-level span kinds allowed are SERVER and CONSUMER. You can use this sampler by setting
    the otel.traces.sampler configuration property.
  • Added a new spring-integration/spring-cloud-stream instrumentation: the agent will now correctly propagate context between Spring Cloud applications.

Release v1.0.0

02 Jun 16:08
f9e6d61
Compare
Choose a tag to compare

This is the first stable release of the Splunk Distribution of OpenTelemetry Java.

Please note that although the Java agent itself is marked as stable, some of its components (e.g. metrics) are still experimental. Please consult the VERSIONING.md file for more details about our versioning strategy.

This release uses OpenTelemetry Instrumentation for Java version 1.2.0. If you want to extend the instrumentation manually, we suggest using the OpenTelemetry Java API version 1.2.0. Please consult the release notes linked above for upstream changes.

Release v0.12.0 (Release Candidate)

25 May 10:36
4691f9d
Compare
Choose a tag to compare

This release is intended to be the final release before 1.0.0.

This release uses OpenTelemetry Instrumentation for Java version 1.2.0. If you want to extend the instrumentation manually, we suggest using the OpenTelemetry Java API version 1.2.0. Please consult the release notes linked above for upstream changes.

☢️ Breaking Changes

  • The metrics component will now be turned off by default. You can re-enable it by setting
    SPLUNK_METRICS_ENABLED to true.

🌟 Enhancements

  • The agent will now set a resource attribute splunk.distro.version with its own version.
  • The CloudFoundry buildpack file for Splunk Distribution of OpenTelemetry Java will now be built as a part of the
    release process and will be attached to the GitHub release.

Release v0.11.0

17 May 17:56
5e11ca0
Compare
Choose a tag to compare

This release uses OpenTelemetry Instrumentation for Java version 1.2.0. If you want to extend the instrumentation manually, we suggest using the OpenTelemetry Java API version 1.2.0. Please consult the release notes linked above for upstream changes.

🗒 General notes

  • Micrometer dependency was updated to version 1.7.0.

☢️ Breaking changes

  • The Splunk Distribution of OpenTelemetry Java Instrumentation now uses the OTLP span exporter as the default. The OTLP
    exporter supports the splunk.access.token configuration option and can be used to send spans directly to Splunk
    cloud. The default OTLP exporter endpoint is http://localhost:4317. You can still use the Jaeger exporter by
    setting OTEL_TRACES_EXPORTER=jaeger-thrift-splunk.
  • We have also changed the default endpoint of the SignalFx metrics exporter: it now points to http://localhost:9943,
    which is the default endpoint of Splunk OpenTelemetry Connector
    deployed on localhost.
  • The agent now uses W3C tracecontext as the default trace propagation
    mechanism; W3C Baggage is also enabled by default. You can switch to the previous B3
    propagator by setting OTEL_PROPAGATORS=b3multi.
  • Deprecated configuration property splunk.context.server-timing.enabled has been removed. You can use
    splunk.trace-response-header.enabled instead.
  • A lot of breaking changes were introduced to the javaagent tooling/instrumentation APIs - if you customize this project in any way please consult the upstream release notes for more details.

🌟 Enhancements

  • The agent will now log a warning when the service.name resource attribute is not provided.
  • Context is now correctly propagated to reactor-netty callbacks (e.g. HttpClient#doOnRequest()) - introduced in this upstream repo PR.

Release v0.10.0

14 Apr 16:02
71bf101
Compare
Choose a tag to compare

This release uses OpenTelemetry Instrumentation for Java version 1.1.0. If you want to extend the instrumentation manually, we suggest using the OpenTelemetry Java API version 1.1.0. Please consult the release notes linked above for upstream changes.

☢️ Breaking changes

  • Removed the deprecated signalfx.auth.token configuration property: it was replaced by splunk.access.token in the previous release.
    #171

❗ Deprecated

  • Configuration property splunk.context.server-timing.enabled was renamed to splunk.trace-response-header.enabled. The old property name still works, but it will be removed in the next release.
    #185

🌟 Added

  • The Splunk Distribution of OpenTelemetry Java Instrumentation now gathers basic application and JVM metrics. By default, this feature is enabled and is sending metrics to a localhost SmartAgent instance: you can change the endpointby setting an appropriate configuration option. You can find a more detailed explanation about the feature here.
    #135, #136
  • Add metrics for JDBC connection pool: Apache Commons DBCP2. Aside from JVM metrics mentioned above, the javaagent also collects Apache Commons DBCP2 connection pool metrics now.
    #144, #146, #148

📈 Changed

  • Recommend using deployment.environment resource attribute instead of environment.
    #139
  • The SignalFx Java Agent migration guide has been brought up-to-date.
    #141, #183
  • The repo README and documentation was significantly revamped. You'll now find much more information about the features and configuration of this project. We've also added a FAQ and troubleshooting sections that aim to answer the most common problems that may arise while using the Splunk Distribution of OpenTelemetry Java Instrumentation.
    #152, #155, #169, #187, #188, #191, #201
  • Updated OpenTelemetry and OpenTelemetry Java Instrumentation versions to 1.1.0.
    #199