AppSignal Elixir configuration

Configuration. Important, because without it the AppSignal Elixir package won't know which application it's instrumenting or in which environment.

On this topic we'll explain how to configure AppSignal, what can be configured in the Elixir package and what the minimal configuration needed is.

Minimal required configuration

The minimal required configuration needed by AppSignal for Elixir are the following items. If they are not present, AppSignal will not send any data to AppSignal.com.

  • A valid Push API Key
  • The application's OTP app name
  • An application name
  • An application environment (dev / prod / test)
  • The application environment to be set to active: true
# Example minimal config file
# config/config.exs
config :appsignal, :config,
  otp_app: :appsignal_phoenix_example,
  name: "AppsignalPhoenixExample",
  push_api_key: "your-push-api-key",
  env: Mix.env,
  active: true

Alternatively, you can configure the agent using system environment variables. AppSignal will automatically become active if the APPSIGNAL_PUSH_API_KEY environment variable is set.

export APPSIGNAL_OTP_APP="appsignal_phoenix_example"
export APPSIGNAL_PUSH_API_KEY="your-push-api-key"
export APPSIGNAL_APP_NAME="AppsignalPhoenixExample"
export APPSIGNAL_APP_ENV="prod"

Configuration options

Read about all the configuration options on the options page.

Application environments

An application can have multiple environments such as "development"/"dev", "test", "staging" and "production".

To separate the errors and performance issues that occur in the "development" environment and those in "production", it's possible to set the environment in which the application is running with the env configuration option.

A typical environment configuration file would contain the following.

# config/prod.exs
config :appsignal, :config,
  active: true,
  env: :prod

The above configuration file example is also what is generated by the AppSignal installer per environment.

If you activate AppSignal per environment, using active: true in the config/{env}.exs file, the active option is not required in the main config/config.exs file.

Disable AppSignal for tests

If you put your entire AppSignal configuration in the config/config.exs instead of config/prod.exs (e.g. for having AppSignal enabled during development), make sure to put active: false in your test configuration unless you want to submit all your test results.

# config/test.exs
config :appsignal, :config,
  active: false

Example configuration

# config/config.exs
config :appsignal, :config,
  otp_app: :appsignal_phoenix_example,
  name: "AppsignalPhoenixExample",
  push_api_key: "your-push-api-key",
  env: Mix.env,
# config/test.exs
config :appsignal, :config,
  active: false

Want to help us improve this documentation page?

Create a pull request

Need more help?

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.

Contact us

Start a trial - 30 days free

AppSignal is a great way to monitor your Ruby, Elixir & Node.js applications. Works great with Rails, Phoenix, Express and other frameworks, with support for background jobs too. Let's improve your apps together.

Start a trial