CHANGELOG

v1.18.0

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

Tweaks

  • Make plug_cowboy an optional dep. #201
  • Use Erlang/OTP 21+ built-in SSL hostname verification. #197

v1.17.1

Fixes

  • Handle cases where another New Relic agent sends a bad tracestate header. #206

v1.17.0

Features

  • Report "Scoped" Transaction metrics:

  • Enable disabling function argument tracing globally & per-trace. #186

  • Provide an API for manually stopping an Other transaction. #198


v1.16.7

Fixes

  • Handle Ecto stream telemetry results. #192

v1.16.6

Fixes

  • Prevent boot process from getting blocked if New Relic is slow. #187

v1.16.5

Fixes

  • Fix macro compilation with Elixir 1.10. Thanks @ethangunderson! #185

v1.16.4

Tweaks

  • Remove ecto metadata catchall for better debugging.

v1.16.3

Fixes

  • Fix sampling decision default value. #177

v1.16.2

Fixes

  • Handle error queries properly. #173

v1.16.1

Fixes

  • Safely access optional Ecto config attributes. #172

v1.16.0

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

v1.15.0

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

v1.14.0

Features

  • Minor internal refactor to enable reporting spans after they complete. #160

v1.13.1

Fixes

  • Handle rare edge cases connecting to New Relic. #156

v1.13.0

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

v1.12.0

Features


v1.11.0

Features

  • Add support for detecting if the app is running inside Kubernetes. #140

v1.10.2

Fixes

  • Protect against huge arguments blowing out memory #136

v1.10.1

Tweaks

  • Handle lists inside objects passed to add_attributes#135 Thanks @emeryotopalik!

v1.10.0

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

v1.9.12

Fixes

  • Prevent a rare harvester leak. #124

v1.9.11

Fixes

  • Protect against missing attribute under race condition. #120

v1.9.10

Fixes

  • Revert async_nolink change. #119

v1.9.9

Fixes

  • Fix a race condition around error reporting and async_nolink#118. Thanks @zoevkay!

v1.9.8

Fixes

  • Fix a bug causing extra spans to be reported #116

v1.9.7

Tweaks

  • Improve formatting for EXIT errors

v1.9.5

Tweaks

  • Track CPU count. #110

v1.9.4

Fixes

  • Fix a bug in PriorityQueue. #109 Thanks @jasondew!

v1.9.3

Tweaks

  • Lowers the log level for harvester output. #105

v1.9.2

Fixes

  • Fix a error that can happen if required attributes aren't captured. #103

v1.9.1

Fixes

  • Fix the transaction event name attribute. #100

v1.9.0

Features

  • Use erlang's httpc client. #70
  • Calculate and report the Total Time in a Transaction. #98

Fixes

  • Attempt to flush each harvester upon graceful shutdown. #94
  • Report External metrics based on transaction type. #99

v1.8.0

Features

  • Enable ignoring a Transaction. #93
  • Track the number of processes spawned during a Transaction. #88

Fixes

  • Handle error fetching AWS fargate metadata. #89
  • Avoid a compiler warning for some traced functions. #92
  • Prevent nested spans from duplicating attributes. #97

v1.7.0

  • Support for "Other" (non-web) Transactions. #84
  • Calculate and report Apdex metric. #87

v1.6.2

  • Improve error logging when encountering a bad DT payload

v1.6.1

  • Clear up some deprecation warnings in Elixir 1.8.0

v1.6.0

  • Add support for applying labels. #79
  • Detect Heroku dyno hostnames. #80
  • Provide better error structure for wrapped exceptions. #78

v1.5.0

  • More flexible datastore metric reporting in prep for Ecto instrumentation. #76

v1.4.0

  • Support nested Function Tracers in Transaction Traces and Distributed Tracing. #58

v1.3.2

  • Specify Plug and Cowboy versions via plug_cowboy package.

v1.3.1

  • Properly handle when no app name has been supplied.

v1.3.0

  • 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.

v1.2.1

  • Fix a bug that caused a subset of Span Events to be sent even though the Transaction wasn't sampled #63

v1.2.0

  • 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

v1.1.0

  • 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.

v1.0.5

  • 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.

v1.0.4

  • Enable configuring Error collection via :error_collector_enabled#36 (Thanks @sb8244)

v1.0.3

  • 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)