Elixir integration 1.5 released

Jeff Jeff Kreeftmeijer on

We’ve released version 1.5.0 of the Elixir integration today, which includes fixes for Plug action names, restores the revision configuration, fixes a compilation issue and fixes an issue with unsetting configuration values when hot reloading.

Plug action names

Before version 1.5.0, we used the full path as the action name for Plug-only apps. This caused problems grouping requests together, which resulted in each unique path to become it’s own group, and each performance or error incident based on that group prompting a notification.

AppSignal will now use “unknown” as the Plug action name by default, and we’re allowing users to set the action names explicitly using the Appsignal.Transaction.set_action/1 helper function.

get "/users/:id" do
  Appsignal.Transaction.set_action("GET /users/:id")
  send_resp(conn, 200, "Welcome")

We’re researching ways to make this default behavior better. In the meantime, you can read more about this on this issue’s known issue page.

Revision configuration

We recommend setting the revision in your app configuration to let us know which sample belongs to which revision of your app. In previous versions, you had to set the revision using the APP_REVISION configuration value.

From version 1.5.0 on, we’re introducing the :revision configuration option to set the revision from your app directly, which allows you to use the Elixir app’s revision instead of just a git revision:

config :appsignal, :config, revision: Mix.Project.config[:version]

To make GitHub and GitLab links work from your exception backtraces in AppSignal when using non-git revisions, please be sure to tag your commits with the same revision so they correspond to the revision set in AppSignal.

Compilation issues while upgrading

When upgrading AppSignal to a new version, some users ran into compilation issues caused by old versions of precompiled helpers to be used. This caused some upgrades to fail unless the dependency was compiled from scratch.

In version 1.5.0, the helpers are not precompiled, making sure the correct ones are used for each build, and clean compilations aren’t needed anymore, even if we change the helpers in the future.

Reloading configurations

We fixed a bug that could cause problems with reloading configurations when hot reloading. In previous versions, some configuration values weren’t properly unset when cleared, causing the old values for these configuration options to remain active. In version 1.5.0, your configuration is always reloaded to make sure that doesn’t happen anymore.

Please see the changelog for more details about these improvements, and bug fixes. And as always: get in touch if you encounter problems after upgrading. We’re happy to help!

10 latest articles

Go back
Ruby magic icon

Subscribe to

Ruby Magic

Magicians never share their secrets. But we do. Sign up for our Ruby Magic email series and receive deep insights about garbage collection, memory allocation, concurrency and much more.

We'd like to set cookies, read why.