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’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.
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.
1 2 3 4
get "/users/:id" do Appsignal.Transaction.set_action("GET /users/:id") send_resp(conn, 200, "Welcome") end
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.
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.
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.
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.