All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Update
BatchDataSender
to log the cause ofIOException
. - Update to okhttp 4.10.0 to address CVE-2020-29582.
- Replace
UUID.randomUUID()
with a faster implementation.
- Update GSON library to address CVE-2022-25647
- Fix bug introduced in
0.13.0
that broke the use of generics in theMetricBuffer
.
- EU Endpoint Support added by updating the SenderConfigurationBuilder API.
- Includes endpoints that send Metric, Event, Log, and Span data to New Relic One.
- Added warnings to let users know if data exceeds some Ingest API limits.
- Accepts a New Relic APM license key as an alternative to an Insights Insert API key.
- Merge
telemetry
module intotelemetry-core
- Remove erroneous
module-info.class
fromtelemetry-core
jar
- Deprecated endpoint and endpointWithPath APIs have been removed
- Add the notion of a notification handler to capture feedback from the TelemetryClient
- Adds a rate limiter on a how much telemetry can be scheduled to be sent
- Batch types are specified in relevant log messages
- Fixed telemetry-all to be a modular java build.
- Improve javadocs.
- CRITICAL: Fix default ingest URI for event data. Upgrade strongly recommended.
- Size of
MetricBuffer
is now exposed viasize()
method. - x-request-id header is now included on data ingest http requests, and
TelemetryBatch
instances each have a UUID. - Cleaner, less verbose shutdown.
- Events now disallow null and empty event types.
- When audit logging is enabled, dropped metrics will now be logged for troubleshooting.
- We now have an example of how to send spans to an Infinite Tracing trace observer.
- Quieter logging when IOExceptions occur during data transmission.
- Improve accuracy of version handling when bundled with other software (onejar/shadowjar)
- Add
.endpoint(url)
to theSenderConfiguration
and deprecate the others that don't take a fully qualified URL. - Better support for SLF4J with Java 11 modules system
- Add simple one-shot factory methods
OkHttp.newTelemetryClient()
andJava11Http.newTelemetryClient()
- Upgrade to OkHttp 4.8.0 (latest)
- Fix the default metric API URL to point at the metric API
- Add initial preliminary support for Logs data type
- Simplified creation TelemetryClient and friends
- Remove hard gson dependency in a way that is compatible with other versions of gson
- Restore methods that were deleted from deprecated classes.
- Add support for Events data type
- Add Java 11 HTTP provider
- Add javadoc.io
- Use Gradle shadowing to remove C&P GSON code (Thanks wpoch)
- Remove Lombok dependency
- Miscellaneous cleanups/enhancements
- Additional documentation for logging
- Improved details in log messages, including number of metrics dropped
- Add first-class support for
service.name
andinstrumentation.provider
viaMetricBatch.Builder
- Add incremental retry with backoff strategy that will eventually time out and give up
- Miscellaneous cleanups/enhancements
- Allow adding user-supplied suffix to HTTP
User-Agent
- Allow summary min/max to be null
- Update license format in source files
- At startup, log something when audit logging is enabled
- At startup, log endpoint url
- Fix for bug #102 - nulls sent in spans json payload
- Adds
Implementation-Version
andImplementation-Vendor
to jar manifests - Properly escapes string in the span json
- Set the proper version in the
User-Agent
string sent to the backend APIs - Fixes a stack overflow bug in the SimpleSpanBatchSender
- Adds
error
as a top-level attribute in the Span
- Remove Gson as a dependency
- Support for sending spans to the New Relic trace API.
- Renamed telemetry-components module to telemetry-http-okhttp
- Renamed metrics module to telemetry-core
- This release contains API changes that are not backwards compatible.
- Support for sending dimensional metrics to New Relic.
- Reference implementations of the
HttpPoster
andMetricToJson
usingokhttp
andgson
respectively.