- Add SourceFormat string to enum conversion (#2737)
- Add policy config model classes (record-style structure) (#2736)
- Add config parsing for both JSON and YAML (#2738)
- Add OpampPolicyProvider for the policy pipeline (#2748)
- Create providers from SourceKind (#2749)
- Use composable samplers and add sampler initialization (#2752)
- Add PolicyTypeInitializer interface for better readability (#2754)
- Unify gcp resource detector (#2747)
- Pin bouncycastle to 1.84 to fix CVE-2026-0636, CVE-2026-5588, CVE-2026-5598 (#2783)
- Improve error handling (#2778)
- Add FilteringSpanExporter with composable SpanFilter and TraceFilter interfaces (#2745)
- Add configuration option for explicit removal in the disk buffering iterator (#2560)
- Replace CompletableFuture with CompletableResultCode (#2670)
- Replace IllegalStateException with EOFException in readRawVarint32 (#2687)
- Apply upstream fixes to the disk buffering implementation (#2694)
- Add trace sampling-rate implementer (#2634)
- Add json and keyvalue parsing and mapping (#2655)
- Move away from JSON requirement (#2652)
- Refactor trace sampling into specific subpackage (#2698)
- Add jsonkeyvalue source (#2702)
- Step 1 in transition to simpler validation (#2703)
- Move to using SourceWrapper, simplifying parsing (#2708)
- Complete the jsonkeyvalue and simpler validation migration (#2715)
- Refactor TYPE to POLICY_TYPE for clarity (#2720)
- Add SourceKind as sources are a known list (#2722)
- Add policy store (#2721)
- Replace NVD with Sonatype OSS Index (#2689)
- Fix OSS Index Audit again (#2706)
- Fix release workflow (#2639)
- Update zstd compressor to use new Compressor SPI from SDK (#2625)
- Add support for complex attributes (arrays, nested structures) (#2625)
- Fix IllegalArgumentException: Unrecognized AnyValue type on empty LogRecord.body (#2529)
- Revert xray lambda propagator component name change (#2517)
- Improve disk buffering example to retry exporting failed batches (#2539)
- Resolve
GCP_PROJECTfrom Google credentials if not provided (#2109)
- Gradle plugin for generating weaver files (#2413)
- Remove JMXMP protocol support (#2502)
- Remove JMXMP protocol support (#2502)
- Update xray lambda component provider name (#2423)
- Fix stacktrace processor name for declarative config. (#2415)
- Add AWS X-Ray adaptive sampling support (#2147).
A rule-based sampler backed by Common Expression Language (CEL) expressions for declarative sampling rules
- Implement the disk buffering API (#2183).
- Return the previous profiler interval from
setInterval(#2354).
- Restore the client parameter to OpAMP callbacks (#2336).
Note: This release broadly applies some style guidelines across the repository. As a result, some classes that were visible might be package/private. Other non-final classes may now be final. See #2182 and #2210 and #2212 and #2213 for examples and details. These changes are not expected to break anyone, so please open an issue if this causes problems.
- Move baggage processor to the front of the processor list (#2152)
- Add declarative configuration support (#2031)
- Catching IllegalStateException in case of failed deserialization (#2157)
- Apply final to public API classes where possible (#2216)
- Handle empty attribute values (#2268)
- Support dynamically changing the inferred span interval (#2153)
- Implement stable
service.instance.id(#2270)
- Add Kafka connectivity error handling (#2202)
- Move important user-facing classes out of 'internal' package (#2249)
- Exponential backoff retries on http connection failures (#2274)
- Add declarative configuration support (#2262)
- Add updateable threshold sampler for dynamic sampling configuration (#2137)
- Introduce API changes for improved disk buffering functionality (#2084)
- Implement more efficient serializer with direct disk write capabilities (#2138)
IBM MQ metrics collection utility.
- Update async profiler to version 4.1 for improved performance (#2096)
OpenTelemetry Agent Management Protocol (OpAMP) client implementation.
- Support for declarative configuration (#2014)
- Update SamplerRulesApplier to recognize new HTTP/URL semconv (#1959)
- Support for declarative configuration (#2014)
- Support for declarative configuration (#2014)
- Refactor ConsistentFixedThresholdSampler to prepare for dynamic threshold support (#2018)
- ConsistentRateLimitingSampler can fail if used in combination with legacy samplers (#2022)
- Support for declarative configuration (#2014)
- Deprecate JMX Gatherer and provide migration guide to JMX Scraper (#2034)
- Update Jetty metrics configuration corresponding to Java Instrumentation 2.18.0 (#2033)
- Mark as production-ready and remove experimental status (#2034)
- Support for declarative configuration (#2014)
- Support for declarative configuration (#2014)
- Shared storage (#1912)
- Implementing ExtendedLogRecordData (#1918)
- Add missing EventName to disk-buffering LogRecordDataMapper (#1950)
- Update the internal implementation such that the required headers are retrieved from the Google Auth Library instead of manually constructing and passing them. (#1860)
- Add metrics support to auth extension (#1891)
- Update ConfigurableOptions to read from ConfigProperties (#1904)
- Upgrade async-profiler to 4.0 (#1872)
- Upgrade kafka-clients to 4.0 (and so now requires Java 11+) (#1802)
- Add option to record transferred artifacts (#1875)
- Remove the deprecated and unused bare Predicate (#1828)
- Add logs filtering (#1823)
- Make configuration package public (#1781)
- Reuse instrumentation metrics by default (#1782)
- Changed resource attribute
container.image.tagtocontainer.image.tags(#1736)
- Make
xray-lambdapropagator available via SPI (#1669) - Support Lineage in XRay trace header and remove additional baggage from being added (#1671)
CloudFoundry resource detector.
- Use delegate's temporality (#1672)
- Publish both shaded and unshaded variants (#1688)
- Updated Hadoop metric unit definitions to align with semantic conventions (#1675)
- Updated Kafka metric unit definitions to align with semantic conventions (#1670)
- Use SDK autoconfigure module (#1651)
- Rename
otel.jmx.custom.scraping.configtootel.jmx.configin order to align withio.opentelemetry.instrumentation:opentelemetry-jmx-metrics(#1678) - Hadoop metrics added (#1675)
- Add a CLI option to test the connection (#1684)
- Kafka server, producer, and consumer metrics added (#1670)
- Add custom YAML support (#1741)
- Add SSL support (#1710)
- Replicate JMXMP/SASL config from the JMX metrics module (#1749)
- Support Maven 4.0 (#1679)
- Changed
EventToSpanEventBridgefrom readingevent.nameto reading the new LogRecord EventName field. (#1736)
- Module has been removed (#1755)
Azure resource detectors.
- Improve interop with legacy samplers (#1629)
Allows users to export telemetry from their applications to Google Cloud using the built-in OTLP exporters. The extension takes care of the necessary configuration required to authenticate to GCP to successfully export telemetry.
- Add support for Solr (#1595)
- Update semconv dependency version (#1585)
- [baggage-processor] Add BaggageLogRecordProcessor (#1576)
- Deserialization validation (#1571)
- Align HBase metric units to semconv (#1538)
- Align Cassandra metric units to semconv (#1591)
- Align Tomcat metric units to semconv (#1589)
- Align JVM units to semconv (#1593)
The future of the JMX metrics component, built on top of the JMX metrics component from the opentelemetry-java-instrumentation repository.
- Load OTel SDK config from environment variables and system properties (#1434)
- Workaround
NoClassDefFoundErrorin@PreDestroywaiting for MNG-7056 (#1431)
- Allow customization of parent-override behavior (#1533)
- Add LogRecordProcessor to record event log records as span events (#1551)
- Ensure all XRay Sampler functionality is under ParentBased logic (#1488)
- Add gcr job support (#1462)
- Rename param and description to proper value (#1486)
- Fix wrong parameter sent to JFR DiagnosticCommand (#1492)
- Support autoconfigure (#1499)
- Handle too short
X-Amzn-Trace-Idheader (#1036) - Add declarative config support for aws xray propagators (#1442)
- Fix native mode error cause by static init of random (#862)
- Composite Samplers prototype (#1443)
- Add debug mode for verbose logging (#1455)
- Fix incorrect
cloud.platformvalue for GCF (#1454)
- Add option to aggregate across multiple MBeans (#1366)
- Add declarative config support for
RuleBasedRoutingSampler(#1440)
- Add config option
otel.java.experimental.span-stacktrace.min.duration(#1414)
- Recording close should not throw exception (#1412)
- Add ECS cluster detection (#1354)
- Add config support (#1330)
An OpenTelemetry extension for generating spans via profiling instead of instrumentation. This extension enhances traces by running async-profiler in wall-clock profiling mode whenever there is an active sampled OpenTelemetry span.
The resulting profiling data is analyzed afterward and spans are "inferred". This means there is a delay between the regular and the inferred spans being visible in your OpenTelemetry backend/UI.
- Fix for using diagnostic command to start a recording (#1352)
- Support both a script and target systems (#1339)
- Optimization: don't attempt detection if a cloud provider has already been detected (#1225)
This module provides a SpanProcessor that stamps baggage onto spans as attributes on start.
- Assume random trace ID and set th-field only for sampled spans (#1278)
- Optimization: don't attempt detection if a cloud provider has already been detected (#1225)
- Update guidance for manual instrumentation usage (#1250)
- Remove
slf4j-simpledependency (#1283)
- Disable metrics and logs by default (#1276)
- Migrate to current semconv (#1299)
- Migrate from Plexus to JSR 330 dependency injection APIs (#1320)
- Enable publishing to maven central (#1297)
- Add support for newly named Tomcat MBean with Spring (#1269)
This module provides a SpanProcessor that captures stack traces on spans that meet a certain criteria such as exceeding a certain duration threshold.
- Add support for
cloud.account.id,cloud.availability_zone,cloud.region, andcloud.resource_id(#1171)
- Add xray propagators that prioritizes xray environment variable (#1032)
- Update docs on how to use with Java agent v2.2.0 and later (#1237)
- Implement Metrics incubator APIs to accept advice (#1190)
- Add zstd compressor implementation for OTLP exporters (#1108)
- Switch from acceptance to rejection threshold (#1130)
- Shadowing generated proto java sources (#1146)
- Single responsibility for disk exporters (#1161)
- Split serializer (#1167)
- Disk buffering config and README updates (#1169)
- Ensure no sign propagation for flags byte (#1166)
This module provides GCP resource detectors for OpenTelemetry.
This module contains KafkaSpanExporter, which is an implementation of the
io.opentelemetry.sdk.trace.export.SpanExporter interface.
KafkaSpanExporter can be used for sending SpanData to a Kafka topic.
- Using Android 21 as minimum supported for disk-buffering (#1096)
- Explicitly pass invalid p-value to root sampler (#1053)
- Consistent sampler prototypes using 56 bits of randomness (#1063)
- Rename runtime attach method from
attachJavaagentToCurrentJVMtoattachJavaagentToCurrentJvm(#1077)
- Support
thread.nameattributes in RuleBasedRoutingSampler (#1030)
- Remove protobuf dependency (#1008)
- Disable OTel SDK shutdown hook registration (#1022)
This module contains tools for globally processing telemetry, including modifying and filtering telemetry.
- Add a provider for consistent parent based probability sampler (#1005)
- Migrate StorageFile to FileOperations (#986)
- generate error/fault metrics by aws sdk status code (#924)
This module provides signal exporter wrappers that intercept and store telemetry signals in files which can be sent later on demand.
- Enhance AWS APM metrics mapping implementation (#906)
- Add AttributePropagatingSpanProcessor component to AWS X-Ray (#856)
- Add new components to allow for generating metrics from 100% of spans without impacting sampling (#802)
- Adding support for scenarios where the RMI registry has SSL enabled (#835)
- Previously targeted OpenTelemetry SDK and Instrumentation versions had never been updated to target OpenTelemetry SDK 1.25
- Breakout ResourceHolder from AwsXrayRemoteSamplerProvider (#801)
- JFR connection is a library to allow configuration and control of JFR without depending on jdk.jfr. This is a contribution of https://github.com/microsoft/jfr-streaming.
- [maven-extension] Emit a warning rather than failing the build with an exception on illegal state (#776)
- [maven-extension] Remove dependency to grpc-netty-shaded as opentelemetry-exporter-otlp pulls okhttp3 (#785)
- [maven-extension] Propagate OTel context to plugin mojos (#786)
- Fix and enhance resource detection logging. (#711)
- Allow providing a custom sampler as an option for the RuleBasedRoutingSampler (#710)
- Add buffer handlers and implement buffer metrics (#650)
- Implement GC duration metric (#653)
- Implement memory metrics (#652)
This module can be used to bridge OpenTelemetry metrics into the prometheus-simpleclient library.
- Update handlers in jfr-streaming to match spec (#616)
- Previously targeted OpenTelemetry Instrumentation version had never been updated to target OpenTelemetry SDK 1.20
- Move io.opentelemetry:opentelemetry-extension-aws to contrib (#547)
- Thread count and classes loaded handlers (#571)
- Webapp service name detector (#562)
- Glassfish service name detector (#579)
- Add remaining app server service name detectors (#583)
- Fixed artifact
io.opentelemetry.contrib:opentelemetry-aws-resourcesnot being published to maven central (#535)
- Fix missing class in opentelemetry-runtime-attach jar (#509)
Relocated from the opentelemetry-java repository, and now published under the coordinates
io.opentelemetry.contrib:opentelemetry-aws-resources
Relocated from the opentelemetry-java repository, and now published under the coordinates
io.opentelemetry.contrib:opentelemetry-jfr-events
Relocated from the opentelemetry-java repository, and now published under the coordinates
io.opentelemetry.contrib:opentelemetry-noop-api
- Support traceId-based r-values (#417)
- Prevent the runtime attachment from launching multiple times (#409)
- Fix #376:
AwsXrayRemoteSamplerdoesn’t poll for update (#377)
- Fix "Class path contains multiple SLF4J bindings" (#380)
- Improve exception handling and documentation (#388)
- ConsistentSampler does not unset p from tracestate when deciding not to sample (#350)
- Add consistent reservoir sampling span processor (#352)
This utility provides an implementation of MeterProvider which wraps a Micrometer MeterRegistry
and delegates the reporting of all metrics through Micrometer. This enables projects which already
rely on Micrometer and cannot currently migrate to OpenTelemetry Metrics to be able to report on
metrics that are reported through the OpenTelemetry Metrics API.
- Do not attach if not requested from the main method on the main thread (#354)
- Fix "URI is not hierarchical" during runtime attachment (#359)
All components updated to target OpenTelemetry SDK 1.14.0.
- Support setting more properties in the JMX Metrics properties file (#323)
- Add Jetty Integration (#320)
All components updated to target OpenTelemetry SDK 1.13.0.
This component adds various Sampler implementations for consistent sampling as defined by https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/tracestate-probability-sampling.md and open-telemetry/opentelemetry-specification#2047.
All components updated to target OpenTelemetry SDK 1.12.0.
All components updated to target OpenTelemetry SDK 1.11.0.
- Split up GC Handlers, add support for Parallel (#201)
- jmx-metrics: Activemq (#188)
- Adds Solr metrics gathering to jmx-metrics (#204)
- Add Hadoop Monitoring (#210)
- Add Hbase Support (#211)
- Update Kafka JMX Script (#216)
- Fixes solr JMX metrics to use all possible MBeans instead of only first (#223)
- WildFly Monitoring (#224)
- Updates Solr cache size metric to point to new attribute to measure byte size (#225)
- Updates jmx-metrics WildFly integration to point to integer attributes for some metrics (#232)
- Update file total metric (#234)
All components updated to target OpenTelemetry SDK 1.10.0.
- Add multi attribute support (#137)
- Add support for Tomcat (#155)
- Change metric to Gauge (#194)
- Remove manual exporter flush (#190)
- Support Maven parallel builds (#161)
- Capture details on mojo goal executions:
deploy:deploy,spring-boot:build-image,jib:build,snyk:test,snyk:monitor(#146) - Fix lifecycle to support the Maven daemon (#169)
- Fix
service.nameattribute overwrite (#184) - Fix default
service.name+ simplify configuration using Otel AutoConfig SDK 1.10 ResourceProvider SPI improvements (enable specifying the classloader making it compatible with Maven Plexus) (#187) - Add Tracer instrumentationVersion (ie
otel.library.version) (#191) - Reduce the cardinality of mojo span names (#192)
- Rename contrib-samplers to samplers (#185)
All components updated to target OpenTelemetry SDK 1.9.1.
- Use Auto Configure Otel SDK Builder (#132)
- Use OkHttp for xray sampling requests (#135)
- Use service.name resource attribute instead of span name for service (#138)
- X-Ray Sampler: Match rule's HTTP path against http.url attribute if t (#141)
Skipped to stay in sync with other OpenTelemetry Java repositories.
All components updated to target OpenTelemetry SDK 1.7.0.
Moved from SDK repo.
Listens for JFR events (using the Streaming API) and converts them to OpenTelemetry metrics.
Allows programmatic attach of Javaagent.
- Update Cassandra units for latency counters (#111)
- Update cassandra counters to be non-monotonic where appropriate (#113)
- Update cassandra jmx metrics script to combine similar metrics into labelled metric (#118)
- Fix failure to load the extension declaring it in pom.xml (#86)
- Fix exception if OTLP exporter is not configured properly (#93).
- Support disabling the creation of mojo execution spans (#108)
- Use the OpenTelemetry SDK Autoconfigure extension to support more configuration setting. All the settings of the OTLP exporter are supported. (#112)
All components updated to target OpenTelemetry SDK 1.6.0.
This extension can be registered in a Maven build to trace different build steps, for example project build and Maven plugin executions.
All components updated to target OpenTelemetry SDK 1.5.0.
- Due to updating to OpenTelemetry SDK 1.5.0, many of the APIs presented for configuration have been
changed so you will need to update any Groovy config scripts to match.
*ValueRecorderhas been replaced with*Histogram*Sumhave been replaced with*Counter*Observerhave been replaced with*Callbackand do not return any object anymore
All components updated to target OpenTelemetry SDK 1.4.0.
This library contains OTel extensions for use with AWS X-Ray.
- Because of numerous backwards incompatible changes in the OpenTelemetry Metrics data model, you will want to make sure you are running the latest version of the OpenTelemetry collector. Older versions will likely not process metrics correctly.
- Adopt OpenTelemetry 1.0.0(-alpha) dependencies (#32)
- Update JMX Metric Gatherer to use 1.0.0(-alpha) proto, API, SDK, and exporters.
- Update JMX Metric Gatherer to use Autoconfigure SDK extension properties*
- JMX Metric Gatherer - Handle missing MBean attributes without failing (#39) - Thanks to @dehaansa.