- adjust metadata_reporter :transaction report_error #443
- Identify Phoenix LiveView metrics #424
- Add Bandit HTTP server support #445
Features
- Ensure working support for newer versions, up to Erlang 26 and Elixir 15 #420, #421, #426, #427. Thank you so much @tmaszk and @XiXiaPdx!
Features
- Add feature to remove function argument data from stacktraces reported to New Relic. #417 Thanks @griffitr!
- Add support for Dimensional Metrics. #408 Thanks @XiXiaPdx!
Features
- Allow user to provide global override of some HTTP client settings. #391 Thanks @edds!
Fixes
- Handle DT payload with unknown version. #374 Thanks @renanlage!
Tweaks
- Update Telemetry dependency to allow Telemetry 1.0. #363 Thanks @jimsynz!
Fixes
- Avoid a race condition during Task instrumentation compilation. #359 Thanks @mhanberg!
Fixes
- Don't fail an Other Transaction upon expected error. #357
Fixes
- Fix categorization of simple SQL queries in Ecto. #354 Thanks @mrz!
Fixes
- Fix a leak in other transactions when not manually closed. #352
Features
- Auto-require
NewRelic
inuse NewRelic.Tracer
for convenience. #350
Features
- Include start_link in transaction tracing. #344
Features
- Increase timestamp resolution. #343
Fixes
- Handle exception asking for remote process name. #342 Thanks @benhaney!
Fixes
- Fix edge case in new
Ecto
table name parsing. #340
Fixes
- Fix edge case in new
Ecto
table name parsing. #338
Features
- Support for any
Ecto
adapter, including Sqlite and MSSQL. #337 Thanks @marocchino!
Fixes
- Ensure instrumentation calls don't fail if app not started. #332
Tweaks
- Support per-log message metadata. #330 Thanks @mattgibson!
- Properly render IO list log message. #329 Thanks @mattgibson!
Fixes
- Fix Telemetry API URLs for EU customers. #326 Thanks @mattgibson!
Tweaks
- Use
castore
for certificates. #320 Thanks @chulkilee!
Tweaks
- Add a helper module for auto-instrumenting a
Task
. #318
Features
Plug
instrumentation is now fully automatic based ontelemetry
events!- Please remove deprecated calls:
use NewRelic.Transaction
NewRelic.Transaction.handle_errors/2
- Please remove deprecated calls:
Phoenix
instrumentation is now fullly automatic based ontelemetry
events!- Please remove deprecated instrumentation library:
- Transaction tracking is now faster and better in the face of overload
- Note: Transactions no longer follow processes that aren't linked (ex:
Task.Supervisor.async_nolink
). They can be connected manually if desired usingNewRelic.connect_to_transaction
.
- Note: Transactions no longer follow processes that aren't linked (ex:
Fixes
- Coerce Transaction Trace segment attribute values. #316
Fixes
- Inspect failed output going to log. #315
Tweaks
- Add ability to increment custom metric. #314 Thanks @edds!
Tweaks
Tweaks
- Minor change to External span tracer attributes. #311
Tweaks
- Improve External span names. #309
Features
- Adds support for Infinite Tracing. #307
Tweaks
- Add
ERTS Version
to environment values. #302
Fixes
Features
- Adds a macro for defining an Other Transaction. #264
Fixes
- Handle when a string winds up in a stacktrace list. #294
- Properly handle boolean config option. #295
- Prevent error when bad attribute values get in. #296
Tweaks
- Make request queuing collection configurable #292
Tweaks
- Optimize metric aggregation with
:counter
Fixes
Features
- Report a custom metric. #283
Fixes
- Handle encoding an unexpected nil sampled flag. #282
Fixes
- Properly handle a bad tracestate sampled / priority value. #273
Features
- Logs in context - connect
Logger
messages to the current Distributed Trace / Error Trace. #272
Logs in context requires Elixir 1.10 or greater.
Removals:
- Stop reporting redundant
ElixirAggregate
custom events forTransaction
. #276 - Stop reporting redundant
ElixirAggregate
custom events forFunctionTrace
. #277
Alternatives for querying this data are available and noted in the PRs.
Fixes
- Don't warn for untraced functions. #269 Thanks @barthez!
- Spread the Samplers across the full sample cycle. #278
Tweaks
- Log the number of events seen by harvesters. #274
Fixes
Fixes
- Fix memory leak in long running transactions. #263 Thanks @mopp!
Fixes
- Fix tracer compilation bug. #255
Features
- Report more Error metrics based on transaction type. #251
Tweaks
Fixes
- Fix a regression from 1.18 with Transaction error attribute. #240
Features
- Automatic
Redix
instrumentation based ontelemetry
events! #210
Fixes
- Fix one more tracer compilation bug. #239
Fixes
- Fix another interesting tracer compilation bug. #235
Fixes
- Fix another tracer compilation bug. #230
Fixes
- Fix a tracer compilation bug. #228
Tweaks
- Report additional Datastore metrics. #224
Features
- Read the Docker container ID for accurate container detection. #207 Thanks @alejandrodnm!
- Report Ecto queries that result in an error. #202
- Coerce and handle all custom attribute values. #205
Mix.Task
instrumentation. #221
Tweaks
- Make
plug_cowboy
an optional dep. #201 - Use Erlang/OTP 21+ built-in SSL hostname verification. #197
- Reduce contention on transaction storage. #209
- Detect Ecto repo via telemetry event instead of an Erlang tracer. #214
- Fix for Distributed Traces that start from a Browser Agent. #215
- Fix for error reporting during Other Transactions. #220 Thanks @prabello.
Fixes
- Handle cases where another New Relic agent sends a bad
tracestate
header. #206
Features
-
Report "Scoped" Transaction metrics:
-
Enable disabling function argument tracing globally & per-trace. #186
-
Provide an API for manually stopping an Other transaction. #198
Fixes
- Handle Ecto stream telemetry results. #192
Fixes
- Prevent boot process from getting blocked if New Relic is slow. #187
Fixes
- Fix macro compilation with Elixir
1.10
. Thanks @ethangunderson! #185
Tweaks
- Remove ecto metadata catchall for better debugging.
Fixes
- Fix sampling decision default value. #177
Fixes
- Handle error queries properly. #173
Fixes
- Safely access optional Ecto config attributes. #172
Features
- Support the W3C Trace Context spec for Distributed Tracing. #169
- Upgrade to New Relic "Protocol 17" which includes support for faster event harvest (sent every 5 seconds!). #168
Features
- Adds automatic Ecto instrumentation via
telemetry
. #161 - Deprecates
@trace {_, category: :datastore}
. These trace annotations will now be ignored, and a warning logged during compilation.- Metric name change: Datastore Metrics reported now follow New Relic naming conventions, based on the table name
Features
- Minor internal refactor to enable reporting spans after they complete. #160
Fixes
- Handle rare edge cases connecting to New Relic. #156
Features
OTP 21+
has been required for a while, and now the agent will enforce this version requirement #151- Truncate super large nested attribute structure #153
Features
- Add support for detecting request queuing via
x-request-start
. #143 Thanks @sb8244!
Features
- Add support for detecting if the app is running inside Kubernetes. #140
Fixes
- Protect against huge arguments blowing out memory #136
Tweaks
- Handle lists inside objects passed to
add_attributes
#135 Thanks @emeryotopalik!
Features
- Add an option to not track
async_nolink
task as part of the Transaction. #123 - Ignore extraneous Plug errors (ie: 400s). #125
Tweaks
- Improve formatting of ErlangError. #126
Fixes
- Prevent a rare harvester leak. #124
Fixes
- Protect against missing attribute under race condition. #120
Fixes
- Revert
async_nolink
change. #119
Fixes
- Fix a race condition around error reporting and
async_nolink
#118. Thanks @zoevkay!
Fixes
- Fix a bug causing extra spans to be reported #116
Tweaks
Tweaks
- Track CPU count. #110
Fixes
- Fix a bug in
PriorityQueue
. #109 Thanks @jasondew!
Tweaks
- Lowers the log level for harvester output. #105
Fixes
- Fix a error that can happen if required attributes aren't captured. #103
Fixes
- Fix the transaction event name attribute. #100
Features
Fixes
- Attempt to flush each harvester upon graceful shutdown. #94
- Report External metrics based on transaction type. #99
Features
Fixes
- Handle error fetching AWS fargate metadata. #89
- Avoid a compiler warning for some traced functions. #92
- Prevent nested spans from duplicating attributes. #97
- Improve error logging when encountering a bad DT payload
- Clear up some deprecation warnings in Elixir
1.8.0
- Add support for applying labels. #79
- Detect Heroku dyno hostnames. #80
- Provide better error structure for wrapped exceptions. #78
- More flexible datastore metric reporting in prep for
Ecto
instrumentation. #76
- Support nested Function Tracers in Transaction Traces and Distributed Tracing. #58
- Specify
Plug
andCowboy
versions viaplug_cowboy
package.
- Properly handle when no app name has been supplied.
- Enable the NewRelic logger to use the Elixir Logger #67
- Properly assign multiple app names #66.
- Log the collector method along with failed requests #65.
- Fix a bug that caused a subset of Span Events to be sent even though the Transaction wasn't sampled #63
- Leverage the new Erlang
:logger
when running OTP 21 for improved Transaction / Error connecting #55 - Record process memory & reductions at the end of a Transaction #56
- Report as
elixir
. #19
APM now has first-class support for Elixir! Along with this agent upgrade, you will find the BEAM stats page availble with easy access to information about the VM, including Processes, Memory and Network. See https://github.com/newrelic/elixir_agent/wiki/BEAM-stats-page for more info.
- Note: I haven't followed semver very well, from now on I'll be bumping the minor version for each release of new features, and reserve the patch for bugfixes.
- Report more Beam VM stats. #38, #46
- Report process stats for top consuming processes. #41
- Re-factor a few agent innards to enable transaction name and errors.
- Enable configuring Error collection via
:error_collector_enabled
#36 (Thanks @sb8244)
- Report basic CPU and Memory metrics #34
- Report caller metrics to enable relationship generation
- Extend the timeout waiting for data to post to New Relic
- Add
HTTPoison.request/5
instrumented function (Thanks @rhruiz)