We've just released version 1.7 of the AppSignal Elixir integration, which adds support for setting a transaction's namespace after starting it, drops the cURL dependency for downloading the agent, and bundles its own CA certificate.
Custom namespaces
AppSignal uses namespaces to differentiate between performance and error samples in different parts of your app. The default namespaces are "web" and "background", but you can use custom ones when starting a transaction.
Most of our Elixir customers use the Phoenix framework, which automatically starts a transaction per request through our Plug integration. Since 1.7.0, the Elixir integration allows setting the namespace after a transaction is started by using Transaction.set_namespace/1-2
:
1defmodule AppsignalPhoenixExampleWeb.AdminController do
2 use AppsignalPhoenixExampleWeb, :controller
3
4 def index(conn, _params) do
5 Appsignal.Transaction.set_namespace(:admin)
6 render(conn, "index.html")
7 end
8end
Drop HTTPoison and cURL
Instead of using HTTPoison for communication with the AppSignal API, and cURL for downloading the agent, we've removed both dependencies and are using hackney directly from 1.7.0 onward to fix dependency issues.
Bundled CA certificate
Version 1.7.0 of the Elixir integration comes bundled with its own CA certificate to remove the dependency on the ca-certificates package on some machines.
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!