Collects error and performance data from your Elixir applications and sends it to AppSignal

appsignal, custom-instrumentation, custom-metrics, elixir, error-monitoring, host-metrics, performance-monitoring, phoenix


AppSignal for Elixir

Build Status Hex pm

AppSignal solves all your Elixir monitoring needs in a single tool. You and your team can focus on writing code and we'll provide the alerts if your app has any issues.


The AppSignal for Elixir package collects exceptions and performance data from your Elixir applications and sends it to AppSignal for analysis. Get alerted when an error occurs or an endpoint is responding very slowly.


Please follow the installation guide on how to install and use this library.

If you're using the Phoenix framework, please also follow the integration guide for Phoenix.


AppSignal will automatically monitor requests, report any exceptions that are thrown and any performance issues that might have occurred.

You can also add extra information to requests by adding custom instrumentation. Read more in our instrumentation guide.


A complete list of all configurable options for AppSignal for Elixir is available in our documentation.



Before you can start developing on the AppSignal for Elixir project make sure you have Elixir installed.

Then make sure you have all the project's dependencies installed by running the following command:

mix deps.get


Testing is done with ExUnit and can be run with the mix test command. You can also supply a path to a specific file path you want to test and even a specific line on which the test you want to run is defined.

mix test
mix test test/appsignal/some_test.ex:123

This project has several different test suites defined with different mix environments. You can run them by specifying the specific type of test suite in the MIX_ENV environment variable.

# Default
MIX_ENV=test mix test

# Test Phoenix framework integration
MIX_ENV=test_phoenix mix test

# Run the test suite with the NIF inoperational
# This will generate errors that the NIF is not active, but should run
# without failures.
MIX_ENV=test_no_nif mix test

Branches and versions

The master branch corresponds to the current release of the library. The develop branch is used for development of features that will end up in the next minor release. If you fix a bug open a pull request on master, if it's a new feature on develop.

Publishing new versions

  1. Merge the develop branch to master if necessary.
  • Update the version number in mix.exs, e.g. 1.2.3
  • Commit the change.
  • Tag the commit with the version number: git tag 1.2.3
  • Push the changes: git push origin master 1.2.3
  • Publish the package: mix hex.publish


Thinking of contributing to our Elixir package? Awesome! 🚀

Please follow our Contributing guide in our documentation and follow our Code of Conduct.

Also, we would be very happy to send you Stroopwafles. Have look at everyone we send a package to so far on our Stroopwafles page.


Contact us and speak directly with the engineers working on AppSignal. They will help you get set up, tweak your code and make sure you get the most out of using AppSignal.

Also see our file.


The AppSignal for Elixir package source code is released under the MIT License. Check the LICENSE file for more information.