Logo of AppSignal

Menu
Documentation navigation

Ruby gem configuration options

The following list includes all configuration options with the name of the environment variable and the name of the key in the configuration file.

For more information on how to configure AppSignal with a configuration file or system environment variables, see our Configuration topic.

Available options

active

Config file key active
System environment key APPSIGNAL_ACTIVE
Required yes
Type Boolean (true / false)
Default value false / detected by system
Available since version 0.3.0
0.11.6: Support added for the system environment option.

Description

Configure AppSignal to be active or not for a given environment. Most commonly used in the file configuration per environment.

Note: When the APPSIGNAL_PUSH_API_KEY environment variable is set, this defaults to true. This can be overridden by setting the APPSIGNAL_ACTIVE system environment variable to false: APPSIGNAL_ACTIVE=false.

APPSIGNAL_APP_ENV

System environment key APPSIGNAL_APP_ENV
Required yes
Type String
Default value "" / detected by system
Available since version 0.11.8
1.3.0: Support added for Padrino.
1.3.6: Support added for Sinatra.
2.0.4: Standardizes the behavior for all configuration.

Description

The environment of the app to be reported to AppSignal. This config option will be automatically detected in Rails apps. For Rails apps the RAILS_ENV variable is used to detect the environment. For apps using other frameworks or none at all, the RACK_ENV environment variable is used.

To override the automatic detecting, use the APPSIGNAL_APP_ENV environment variable.

1
2
export APPSIGNAL_APP_ENV=staging
rackup

This option will be used to load the configuration from the config files in which the AppSignal configuration is stored.

The environment variable option is commonly used on platforms where apps run in the production environment by default, such as Heroku. This setting allows an override to set the environment to staging, for example.

1
heroku config:set APPSIGNAL_APP_ENV=staging

Note: Changing the name or environment of an existing app will create a new app on AppSignal.com.

Note: This config option has no config file key equivalent. To set the environment on AppSignal initialization, you'll need to initialize the configuration manually.

Custom environments in config file

There is no env key available in the config/appsignal.yml file. If you wish to dynamically set the environment name for an app in the config file it's possible to customize your config file to use the environment to create an environment.

1
2
3
# config/appsignal.yml
<%= ENV["APPSIGNAL_APP_ENV"] %>:
  active: true

If you use another environment variable than APPSIGNAL_APP_ENV make sure that matches the value is any of the auto detected environment variable names (RAILS_ENV and RACK_ENV) or the value given to Appsignal::Config.new.

name

Config file key name
System environment key APPSIGNAL_APP_NAME
Required yes
Type String
Default value nil (This is unset by default)
Available since version 1.0.0

Description

Name of your application as it should be displayed on AppSignal.com. If you use Ruby on Rails the gem will auto-detect the name and you can leave this empty. For other frameworks setting this is mandatory.

Note: Changing the name or environment of an existing app will create a new app on AppSignal.com.

push_api_key

Config file key push_api_key
System environment key APPSIGNAL_PUSH_API_KEY
Required yes
Type String
Default value nil (This is unset by default)
Available since version 0.1.0

Description

The organization-level authentication key to authenticate with our Push API.

Read more about the AppSignal Push API key.

Note: When the APPSIGNAL_PUSH_API_KEY system environment variable is set, the active option will default to true instead of false. This means AppSignal will be consider active for the loaded environment even if active is set to false in the config file. For more information see the active option.

ca_file_path

Config file key ca_file_path
System environment key APPSIGNAL_CA_FILE_PATH
Required no
Type String
Default value Packaged cacert.pem file path.
Available since version 1.3.5

Description

Configure the path of the SSL certificate file. By default this points to the AppSignal vendored cacert.pem file in the gem itself.

Use this option to point to another certificate file if there's a problem connecting to our API.

Note: The specified path cannot contain Operating Specific file system abstractions, such as the homedir symbol ~ for *NIX systems. This will be seen an malformed path.

debug

Config file key debug
System environment key APPSIGNAL_DEBUG
Required no
Type Boolean (true / false)
Default value false
Available since version 1.0.0

Description

Enable debug logging, this is usually only needed on request from support. With this option enabled AppSignal will log a lot more information about decisions that are made during metrics collection and when data is sent to AppSignal.com servers.

dns_servers

Config file key dns_servers
System environment key APPSIGNAL_DNS_SERVERS
Required no
Type Array<String>
Default value []
Available since version 2.2.0.beta.1

Description

Configure DNS servers for the AppSignal agent to use.

1
2
3
4
5
# config/appsignal.yml
default: &defaults
  dns_servers:
  - 8.8.8.8
  - 8.8.4.4
1
2
# In the host environment
export APPSIGNAL_DNS_SERVERS="8.8.8.8,8.8.4.4"

If you're affected by our DNS timeouts, try setting a DNS server manually using this option that doesn't use more than 4 dots in the server name.

  • Acceptable values: 8.8.8.8, my.custom.local.server.
  • Not acceptable values: foo, my.awesome.custom.local.dns.server.

If the DNS server cannot be reached the agent will fall back on the host's DNS configuration and output a message in the appsignal.log file: A problem occurred while setting DNS servers.

enable_allocation_tracking

Config file key enable_allocation_tracking
System environment key APPSIGNAL_ENABLE_ALLOCATION_TRACKING
Required no
Type Boolean (true / false)
Default value true
Available since version 1.0.0

Description

Set this option to false to disable tracking of the number of allocated objects in Ruby.

enable_frontend_error_catching

Config file key enable_frontend_error_catching
System environment key APPSIGNAL_ENABLE_FRONTEND_ERROR_CATCHING
Required no
Type Boolean (true / false)
Default value false
Available since version 1.0.0

Description

Enable the experimental front-end error catching system. This will add a route to your app on /appsignal_error_catcher that can be used to catch JavaScript error and send them to AppSignal. You can configure this route with frontend_error_catching_path.

enable_gc_instrumentation

Config file key enable_gc_instrumentation
System environment key APPSIGNAL_ENABLE_GC_INSTRUMENTATION
Required no
Type Boolean (true / false)
Default value false
Available since version 1.0.0

Description

Set this option to true to enable AppSignal instrumentation of Ruby's Garbage Collection.

enable_host_metrics

Config file key enable_host_metrics
System environment key APPSIGNAL_ENABLE_HOST_METRICS
Required no
Type Boolean (true / false)
Default value true
Available since version 1.2.0

Description

Set this option to false to disable host metrics collection.

enable_minutely_probes

Config file key enable_minutely_probes
System environment key APPSIGNAL_ENABLE_MINUTELY_PROBES
Required no
Type Boolean (true / false)
Default value true
Available since version 1.3.0
2.9.0: Default value was changed to true.

Description

Enables the minutely probes system.

endpoint

Config file key endpoint
System environment key APPSIGNAL_PUSH_API_ENDPOINT
Required no
Type String
Default value https://push.appsignal.com
Available since version 0.1.0
1.0.0: Support for system environment variable added.

Description

Configure the endpoint to send data to AppSignal. This setting will not have to be changed.

files_world_accessible

Config file key files_world_accessible
System environment key APPSIGNAL_FILES_WORLD_ACCESSIBLE
Required no
Type Boolean (true / false)
Default value true
Available since version 2.3.6

Description

If this is set to true the AppSignal working directory that is created is accessible for all users (Unix permissions 0666). This is often necessary because processes for the same app run under a different user. Set to false to disable this behaviour (Unix permissions 0644).

filter_parameters

Config file key filter_parameters
System environment key APPSIGNAL_FILTER_PARAMETERS
Required no
Type Array<String>
Default value []
Available since version 1.3.0

Description

List of parameter keys that should be ignored using AppSignal filtering. Their values will be replaced with [FILTERED] when transmitted to AppSignal. You can configure this with a list of keys in the configuration file.

1
2
3
4
5
6
7
# config/appsignal.yml
default: &defaults
  filter_parameters:
    - password
    - email
    - api_token
    - token

Read more about parameter filtering.

filter_session_data

Config file key filter_session_data
System environment key APPSIGNAL_FILTER_SESSION_DATA
Required no
Type Array<String>
Default value []
Available since version 2.6.0
An upgrade to version 2.6.1 or higher is recommended.

Description

List of session data keys that should be ignored using AppSignal filtering. Their values will be replaced with [FILTERED] when transmitted to AppSignal. You can configure this with a list of keys in the configuration file.

1
2
3
4
5
6
7
# config/appsignal.yml
default: &defaults
  filter_session_data:
    - name
    - email
    - api_token
    - token

Read more about session data filtering.

hostname

Config file key hostname
System environment key APPSIGNAL_HOSTNAME
Required no
Type String
Default value detected from system
Available since version 1.3.6

Description

This overrides the server's hostname. Useful for when you're unable to set a custom hostname or when a nondescript id is generated for you on hosting services.

http_proxy

Config file key http_proxy
System environment key APPSIGNAL_HTTP_PROXY
Required no
Type String
Default value nil (This is unset by default)
Available since version 0.11.13

Description

If you require the agent to connect to the Internet via a proxy set the complete proxy URL in this configuration key.

ignore_actions

Config file key ignore_actions
System environment key APPSIGNAL_IGNORE_ACTIONS
Required no
Type Array<String>
Default value []
Available since version 0.10.0

Description

List of actions that will be ignored, everything that happens including exceptions will not be transmitted to AppSignal.

Read more about ignoring actions.

ignore_errors

Config file key ignore_errors
System environment key APPSIGNAL_IGNORE_ERRORS
Required no
Type Array<String>
Default value []
Available since version 0.1.0

Description

List of error classes that will be ignored. Any exception raised with this error class will not be transmitted to AppSignal. Read more about ignoring errors.

ignore_namespaces

Config file key ignore_namespaces
System environment key APPSIGNAL_IGNORE_NAMESPACES
Required no
Type Array<String>
Default value []
Available since version 2.3.0

Description

List of namespaces that will be ignored. Any error raised or slow request that occurs in this namespace will not be send to AppSignal. Read more about namespaces.

instrument_net_http

Config file key instrument_net_http
System environment key APPSIGNAL_INSTRUMENT_NET_HTTP
Required no
Type Boolean (true / false)
Default value true
Available since version 0.9.0

Description

Whether to add instrumentation for net/http calls, can be true or false. default is true.

instrument_redis

Config file key instrument_redis
System environment key APPSIGNAL_INSTRUMENT_REDIS
Required no
Type Boolean (true / false)
Default value true
Available since version 1.0.0

Description

Whether to add instrumentation for redis queries using the Redis gem, can be true or false. Default is true.

instrument_sequel

Config file key instrument_sequel
System environment key APPSIGNAL_INSTRUMENT_SEQUEL
Required no
Type Boolean (true / false)
Default value true
Available since version 1.0.0

Description

Whether to add instrumentation for sequel queries using the Sequel gem, can be true or false. Default is true.

log

Config file key log
System environment key APPSIGNAL_LOG
Required no
Type String
Default value file
Available since version 2.0.0

Description

Select which logger to the AppSignal agent should use. Accepted values are file and stdout. See also the log_path configuration.

  • file (default)
    • Write all AppSignal logs to the file system.
  • stdout (default on Heroku)
    • Print AppSignal logs in the parent process' STDOUT instead of to a file. Useful with hosting solutions such as container systems and Heroku.

Note: At this time only the AppSignal integration supports this feature and the AppSignal agent, which is used by the integration, does not yet support this.

log_path

Config file key log_path
System environment key APPSIGNAL_LOG_PATH
Required no
Type String
Default value ./log
Available since version 1.0.0

Description

Override the location of the path where the appsignal.log file can be written to.

Note: The specified path cannot contain Operating Specific file system abstractions, such as the homedir symbol ~ for *NIX systems. This will be seen an malformed path.

request_headers

Config file key request_headers
System environment key APPSIGNAL_REQUEST_HEADERS
Required no
Type Array<String>
Default value ["HTTP_ACCEPT", "HTTP_ACCEPT_CHARSET", "HTTP_ACCEPT_ENCODING", "HTTP_ACCEPT_LANGUAGE", "HTTP_CACHE_CONTROL", "HTTP_CONNECTION", "CONTENT_LENGTH", "PATH_INFO", "HTTP_RANGE", "REQUEST_METHOD", "REQUEST_URI", "SERVER_NAME", "SERVER_PORT", "SERVER_PROTOCOL"]
Available since version 2.6.0
Upgrade to 2.6.1 or higher is recommend.

Description

The request_headers config option contains a list of HTTP request headers which are read and stored by the AppSignal Ruby gem.

This request_headers config option is an allowlist, which means that it will only take headers as specified by this config option. If this config option is unset it will use the AppSignal default.

Following list is the AppSignal gem default.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# config/appsignal.yml
default: &defaults
  request_headers:
    - HTTP_ACCEPT
    - HTTP_ACCEPT_CHARSET
    - HTTP_ACCEPT_ENCODING
    - HTTP_ACCEPT_LANGUAGE
    - HTTP_CACHE_CONTROL
    - HTTP_CONNECTION
    - CONTENT_LENGTH
    - PATH_INFO
    - HTTP_RANGE
    - REQUEST_METHOD
    - REQUEST_URI
    - SERVER_NAME
    - SERVER_PORT
    - SERVER_PROTOCOL

Note that AppSignal reads the headers from your app and they may not match 1 to 1 with what is being sent in the browser/client. In Rack apps (Rails, Sinatra, etc) all custom headers are prefixed with the HTTP_ string, all header names are uppercased and dashes (-) are replaced with underscores (_).

For example, the X-Hub-Signature header can be access by your app and AppSignal with the HTTP_X_HUB_SIGNATURE name.

To configure AppSignal to not store any HTTP request headers on AppSignal transactions, configure the option with an empty array.

1
2
3
# config/appsignal.yml
default: &defaults
  request_headers: []

revision

Config file key revision
System environment key APP_REVISION
Required no
Type String
Default value nil (This is unset by default)
Available since version 2.6.0
An upgrade to 2.6.1 or higher is recommended when using this option.
2.9.13: Auto detection for Heroku deploys with the Dyno Metadata labs feature enabled.
2.9.14: Do not use this release if you depend on the Heroku dyno metadata detection.

Description

Set the app revision for the currently running version of your app. Used to create deploy markers and tag all incoming data to a certain deploy for the host.

When using Heroku with the Heroku Labs: Dyno Metadata enabled it will automatically set the revision config option to to the HEROKU_SLUG_COMMIT system environment variable. This will automatically report new deploys when the Heroku app gets deployed. The revision can still be overwritten by setting the revision config option yourself.

Read more about deploy markers on the deploy markers.

running_in_container

Config file key running_in_container
System environment key APPSIGNAL_RUNNING_IN_CONTAINER
Required no
Type Boolean (true / false)
Default value detected by Ruby gem
Available since version 1.0.0
Automatically detected since version 2.0

Description

AppSignal expects to be running on the same machine between different deploys. Set this key to true if you use a container based deployment system such as Docker.

Newer versions of the AppSignal integration automatically detect its container environment, so no manual configuration is necessary. If you're having trouble with the automatic detection, please contact support.

This option is set to true automatically on Heroku.

send_params

Config file key send_params
System environment key APPSIGNAL_SEND_PARAMS
Required no
Type Boolean (true / false)
Default value true
Available since version 0.9.0
1.3.0: Support added for the system environment option.

Description

Whether to skip sending request parameters to AppSignal.

For more information please read about send_params in filtering request parameters.

skip_session_data

Config file key skip_session_data
System environment key APPSIGNAL_SKIP_SESSION_DATA
Required no
Type Boolean (true / false)
Default value false
Available since version 0.11.0

Description

Set this option to true to not send any session data with exception traces and performance issue samples.

transaction_debug_mode

Config file key transaction_debug_mode
System environment key APPSIGNAL_TRANSACTION_DEBUG_MODE
Required no
Type Boolean (true / false)
Default value false
Available since version 2.9.18

Description

Enable transaction debug mode. This enables very detailed logging of transactions and events which is useful when developing integrations or when events aren not tracked as expected. The log is only written if the general debug option is on as well.

working_dir_path

Config file key working_dir_path
System environment key APPSIGNAL_WORKING_DIR_PATH
Required no
Type String
Default value detected by agent

Description

Warning: This config option is deprecated in Ruby gem 2.7.0. Please use the working_directory_path option instead for Ruby gem 2.7.0 and newer.

Override the location where AppSignal for Ruby creates a working directory. See working_directory_path for the behavior it is applicable. This config option appends /appsignal to the specified path, where working_directory_path does not.

Note: The specified path cannot contain Operating Specific file system abstractions, such as the homedir symbol ~ for *NIX systems. This will be seen an malformed path.

working_directory_path

Config file key working_directory_path
System environment key APPSIGNAL_WORKING_DIRECTORY_PATH
Required no
Type String
Default value detected by agent
Available since version 2.7.0
Please use the working_dir_path option on versions earlier.

Description

Override the location where AppSignal for Ruby can store temporary files. Use this option if the default location is not suitable. See our how AppSignal operates page for more information about the purpose of this working directory.

If you are running multiple applications using AppSignal on the same server, use this configuration option to select different working directories for every AppSignal instance, otherwise the two instances could conflict with one another. For more information on this scenario see our running multiple applications on one host documentation.

1
2
3
# config/appsignal.yml
default: &defaults
  working_directory_path: "/tmp/project_1/"

Note: The specified path cannot contain Operating Specific file system abstractions, such as the homedir symbol ~ for *NIX systems. This will be seen an malformed path.

We'd like to set cookies, read why.