> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appsignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 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](/ruby/configuration) topic.

## Available options

* Required options
  * [`active`](#option-active)
  * [`APPSIGNAL_APP_ENV`](#option-appsignal_app_env)
  * [`name`](#option-name)
  * [`push_api_key`](#option-push_api_key)
* Options
  * [`activejob_report_errors`](#option-activejob_report_errors)
  * [`bind_address`](#option-bind_address)
  * [`ca_file_path`](#option-ca_file_path)
  * [`cpu_count`](#option-cpu_count)
  * [`debug`](#option-debug)
  * [`default_tags`](#option-default_tags)
  * [`dns_servers`](#option-dns_servers)
  * [`enable_active_support_event_log_reporter`](#option-enable_active_support_event_log_reporter)
  * [`enable_allocation_tracking`](#option-enable_allocation_tracking)
  * [`enable_at_exit_hook`](#option-enable_at_exit_hook)
  * [`enable_at_exit_reporter`](#option-enable_at_exit_reporter)
  * [`enable_frontend_error_catching`](#option-enable_frontend_error_catching)
  * [`enable_gvl_global_timer`](#option-enable_gvl_global_timer)
  * [`enable_gvl_waiting_threads`](#option-enable_gvl_waiting_threads)
  * [`enable_host_metrics`](#option-enable_host_metrics)
  * [`enable_minutely_probes`](#option-enable_minutely_probes)
  * [`enable_nginx_metrics`](#option-enable_nginx_metrics)
  * [`enable_rails_error_reporter`](#option-enable_rails_error_reporter)
  * [`enable_rake_performance_instrumentation`](#option-enable_rake_performance_instrumentation)
  * [`enable_statsd`](#option-enable_statsd)
  * [`endpoint`](#option-endpoint)
  * [`files_world_accessible`](#option-files_world_accessible)
  * [`filter_metadata`](#option-filter_metadata)
  * [`filter_parameters`](#option-filter_parameters)
  * [`filter_session_data`](#option-filter_session_data)
  * [`host_role`](#option-host_role)
  * [`hostname`](#option-hostname)
  * [`http_proxy`](#option-http_proxy)
  * [`ignore_actions`](#option-ignore_actions)
  * [`ignore_errors`](#option-ignore_errors)
  * [`ignore_logs`](#option-ignore_logs)
  * [`ignore_namespaces`](#option-ignore_namespaces)
  * [`instrument_code_ownership`](#option-instrument_code_ownership)
  * [`instrument_http_rb`](#option-instrument_http_rb)
  * [`instrument_net_http`](#option-instrument_net_http)
  * [`instrument_ownership`](#option-instrument_ownership)
  * [`instrument_redis`](#option-instrument_redis)
  * [`instrument_sequel`](#option-instrument_sequel)
  * [`log`](#option-log)
  * [`log_level`](#option-log_level)
  * [`log_path`](#option-log_path)
  * [`nginx_port`](#option-nginx_port)
  * [`ownership_set_namespace`](#option-ownership_set_namespace)
  * [`request_headers`](#option-request_headers)
  * [`revision`](#option-revision)
  * [`running_in_container`](#option-running_in_container)
  * [`send_environment_metadata`](#option-send_environment_metadata)
  * [`send_params`](#option-send_params)
  * [`send_session_data`](#option-send_session_data)
  * [`sidekiq_report_errors`](#option-sidekiq_report_errors)
  * [`skip_session_data`](#option-skip_session_data)
  * [`statsd_port`](#option-statsd_port)
  * [`transaction_debug_mode`](#option-transaction_debug_mode)
  * [`working_dir_path`](#option-working_dir_path)
  * [`working_directory_path`](#option-working_directory_path)

## active

<a id="option-active" />

| Field                   | Value                                                                          |
| ----------------------- | ------------------------------------------------------------------------------ |
| 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`                                                                        |
|                         | <ul><li>`0.11.6`: Support added for the environment variable option.</li></ul> |

### Description

<Note>
  **Note**: When the [`APPSIGNAL_PUSH_API_KEY`](#option-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`.
</Note>

Configure AppSignal to be active or not for a given environment. Most commonly used in the [file configuration](/ruby/configuration) per environment.

## APPSIGNAL\_APP\_ENV

<a id="option-appsignal_app_env" />

| Field                   | Value                                                                                                                                                               |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| System environment key  | `APPSIGNAL_APP_ENV`                                                                                                                                                 |
| Required                | yes                                                                                                                                                                 |
| Type                    | `String`                                                                                                                                                            |
| Default value           | `""` / detected by system                                                                                                                                           |
| Available since version | `0.11.8`                                                                                                                                                            |
|                         | <ul><li>`1.3.0`: Support added for Padrino.</li><li>`1.3.6`: Support added for Sinatra.</li><li>`2.0.4`: Standardizes the behavior for all configuration.</li></ul> |

### 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 this automatic detection, set the `APPSIGNAL_APP_ENV` environment variable.

```sh Shell theme={null}
export APPSIGNAL_APP_ENV=staging
rackup
```

This option will be used to load the configuration from the [config files](/ruby/configuration) 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.

```sh Shell theme={null}
heroku config:set APPSIGNAL_APP_ENV=staging
```

If the environment is set using the [`Appsignal.configure` helper](/ruby/configuration/load-order#configure-helper), it will override the `APPSIGNAL_APP_ENV` environment variable.

<Note>
  **Note**: Changing the [name](#option-name) or environment of an existing app
  will create a new app on AppSignal.com.
</Note>

<Note>
  **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](/ruby/instrumentation/integrating-appsignal#configuration-file).
</Note>

<h4 id="option-appsignal_app_env-custom-environments-in-config-file">
  Custom environments in config file
</h4>

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.

```yaml YAML theme={null}
# 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.configure`](/ruby/configuration#ruby-configuration-file).

<Note>
  **Note**: Changing the [name](#option-name) or environment of an existing app
  will create a new app on AppSignal.com.
</Note>

## name

<a id="option-name" />

| Field                   | Value                          |
| ----------------------- | ------------------------------ |
| 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>
  **Note**: Changing the name or [environment](#option-env) of an existing app
  will create a new app on AppSignal.com.
</Note>

## push\_api\_key

<a id="option-push_api_key" />

| Field                   | Value                          |
| ----------------------- | ------------------------------ |
| 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](/appsignal/terminology#push-api-key).

<Note>
  **Note**: When the [`APPSIGNAL_PUSH_API_KEY`](#option-push_api_key) system
  environment variable is set, the [`active`](#option-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-active) option.
</Note>

## activejob\_report\_errors

<a id="option-activejob_report_errors" />

| Field                   | Value                                                                                                                                                                |
| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Config file key         | `activejob_report_errors`                                                                                                                                            |
| System environment key  | `APPSIGNAL_ACTIVEJOB_REPORT_ERRORS`                                                                                                                                  |
| Required                | no                                                                                                                                                                   |
| Type                    | `String`                                                                                                                                                             |
| Default value           | `all`                                                                                                                                                                |
| Available since version | `3.6.1`                                                                                                                                                              |
|                         | <ul><li>The `discard` value was added in Ruby gem 3.7.3.</li><li>The `APPSIGNAL_ACTIVEJOB_REPORT_ERRORS` environment variable was added in Ruby gem 3.9.0.</li></ul> |

### Description

Configure the reporting of errors that occur in [Active Job](/ruby/integrations/active-job) jobs. This option allows the disabling of error reporting for Active Job jobs, to allow for custom error reporting to be added.

Accepted values:

* `all`: Report all errors for every execution of jobs, including retries.
* `discard`: Report errors when the job is discarded due to the error. Use this option to only report errors when all job retries have been exhausted.
* `none`: Report no errors for jobs, including retries.

<Note>
  **Note**: The `discard` option only works on Active Job 7.1 and newer. On
  lower versions `discard` is read as `all`.
</Note>

## bind\_address

<a id="option-bind_address" />

| Field                   | Value                    |
| ----------------------- | ------------------------ |
| Config file key         | `bind_address`           |
| System environment key  | `APPSIGNAL_BIND_ADDRESS` |
| Required                | no                       |
| Type                    | `String`                 |
| Default value           | `127.0.0.1`              |
| Available since version | `3.4.8`                  |

### Description

A valid IPv4 address the AppSignal agent uses as a binding for its TCP and UDP servers. Use a specific address if you only want the agent to listen to requests made to that address. Set this option to `0.0.0.0` to allow to receive requests from hosts using any IP address. By default it only listens to requests made on the same host. This option is applied to all the agent servers ([StatsD](#option-enable_statsd), [OpenTelemetry](#option-enable_opentelemetry_http) and [NGINX](#option-enable_nginx_metrics)).

## ca\_file\_path

<a id="option-ca_file_path" />

| Field                   | Value                            |
| ----------------------- | -------------------------------- |
| 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](https://github.com/appsignal/appsignal-ruby/blob/4eed259e122d10df66655098ad0aa8a362f3297d/resources/cacert.pem) in the gem itself.

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

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

## cpu\_count

<a id="option-cpu_count" />

| Field                   | Value                 |
| ----------------------- | --------------------- |
| Config file key         | `cpu_count`           |
| System environment key  | `APPSIGNAL_CPU_COUNT` |
| Required                | no                    |
| Type                    | `Float`               |
| Default value           | `undefined`           |
| Available since version | `3.6.3`               |

### Description

The available CPU capacity of the host, in number of CPUs. This is used to calculate the CPU usage percentage in the host metrics. If not set, the agent will attempt to automatically detect this from cgroups.

The number of CPUs can be a fraction, e.g. `0.5`.

## debug

<a id="option-debug" />

| Field                   | Value                                                                                                             |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------- |
| Config file key         | `debug`                                                                                                           |
| System environment key  | `APPSIGNAL_DEBUG`                                                                                                 |
| Required                | no                                                                                                                |
| Type                    | Boolean (`true` / `false`)                                                                                        |
| Default value           | `false`                                                                                                           |
| Available since version | `1.0.0`                                                                                                           |
|                         | <ul><li>Deprecated since version 3.0.16 in favor of the [`log_level` config option](#option-log_level).</li></ul> |

### Description

<Warning>
  **Warning**: This config option is deprecated in Ruby gem 3.0.16. Please use
  the [`log_level`](#option-log_level) option instead for Ruby gem 3.0.16 and
  newer.
</Warning>

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.

Enabling debug logging could have a slight impact on the disk usage and IO, especially on high-traffic sites. CPU overhead is minimal with the debug option enabled.

<Note>
  This option sets the severity level of AppSignal's internal logger. This
  configuration option does not affect the [logging feature](/logging).
</Note>

## default\_tags

<a id="option-default_tags" />

| Field                   | Value                                                    |
| ----------------------- | -------------------------------------------------------- |
| Config file key         | `default_tags`                                           |
| System environment key  | `APPSIGNAL_DEFAULT_TAGS`                                 |
| Required                | no                                                       |
| Type                    | `Hash[String, (String \| Symbol \| Integer \| Boolean)]` |
| Default value           | undefined                                                |
| Available since version | `4.8.3`                                                  |

### Description

Default tags that will be added to all transactions. Transaction-specific tags set with [`Appsignal.add_tags`](/guides/tagging#ruby) will override default tags with the same key.

<CodeGroup>
  ```ruby title="config/appsignal.rb" theme={null}
  Appsignal.configure do |config|
    config.default_tags = {
      "region" => "europe",
      "shard" => "shard-1"
    }
  end
  ```

  ```yaml title="config/appsignal.yml" theme={null}
  default: &defaults
    default_tags:
      region: europe
      shard: shard-1
  ```
</CodeGroup>

When using the environment variable, provide a comma-separated list of key-value pairs.

```bash Shell theme={null}
export APPSIGNAL_DEFAULT_TAGS="region=europe,shard=shard-1"
```

Tag values must be a String, Symbol, Integer, or Boolean. Tags with other value types will be ignored.

Read more about [tagging](/guides/tagging).

## dns\_servers

<a id="option-dns_servers" />

| Field                   | Value                                                                        |
| ----------------------- | ---------------------------------------------------------------------------- |
| 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`                                                               |
|                         | <ul><li>`2.11.0`: Support added for the system environment option.</li></ul> |

### Description

Configure DNS servers for the AppSignal agent to use.

<CodeGroup>
  ```ruby title="config/appsignal.rb" theme={null}
  Appsignal.configure do |config|
    config.dns_servers = ["8.8.8.8", "8.8.4.4"]
  end
  ```

  ```yaml title="config/appsignal.yml" theme={null}
  default: &defaults
    dns_servers:
      - 8.8.8.8
      - 8.8.4.4
  ```

  ```sh title="Environment variables" theme={null}
  # In the host environment
  export APPSIGNAL_DNS_SERVERS="8.8.8.8,8.8.4.4"
  ```
</CodeGroup>

If you're affected by our [DNS timeouts](/support/known-issues#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\_active\_support\_event\_log\_reporter

<a id="option-enable_active_support_event_log_reporter" />

| Field                   | Value                                                |
| ----------------------- | ---------------------------------------------------- |
| Config file key         | `enable_active_support_event_log_reporter`           |
| System environment key  | `APPSIGNAL_ENABLE_ACTIVE_SUPPORT_EVENT_LOG_REPORTER` |
| Required                | no                                                   |
| Type                    | `Boolean`                                            |
| Default value           | `true`                                               |
| Available since version | `4.8.0`                                              |

### Description

Enables the `ActiveSupport::EventReporter` [structured event reporting](https://edgeapi.rubyonrails.org/classes/ActiveSupport/EventReporter.html) integration.

When enabled, the AppSignal integration subscribes to events emitted by `ActiveSupport::EventReporter`, and report them as logs.

## enable\_allocation\_tracking

<a id="option-enable_allocation_tracking" />

| Field                   | Value                                  |
| ----------------------- | -------------------------------------- |
| 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\_at\_exit\_hook

<a id="option-enable_at_exit_hook" />

| Field                   | Value                                |
| ----------------------- | ------------------------------------ |
| Config file key         | `enable_at_exit_hook`                |
| System environment key  | `APPSIGNAL_ENABLE_AT_EXIT_HOOK`      |
| Required                | no                                   |
| Type                    | `String`                             |
| Default value           | 'on\_error' / 'always' on containers |
| Available since version | `4.5.8`                              |

### Description

Configure how AppSignal shuts down when the application shuts down. This will determine if it calls `Appsignal.stop` automatically, which will flush the data to the extension and the agent.

This option has three possible values:

* `always`: Always call `Appsignal.stop` when the program exits. On (Docker) containers it's automatically set to this value.
* `never`: Never call `Appsignal.stop` when the program exits. The default value when the program doesn't run on a (Docker) container.
* `on_error`: Call `Appsignal.stop` when the program exits with an error.

For more information, see our [instrumentation for scripts and background jobs page](/ruby/instrumentation/background-jobs).

## enable\_at\_exit\_reporter

<a id="option-enable_at_exit_reporter" />

| Field                   | Value                               |
| ----------------------- | ----------------------------------- |
| Config file key         | `enable_at_exit_reporter`           |
| System environment key  | `APPSIGNAL_ENABLE_AT_EXIT_REPORTER` |
| Required                | no                                  |
| Type                    | Boolean (`true` / `false`)          |
| Default value           | `true`                              |
| Available since version | `4.0.0`                             |

### Description

Set to `true` to report the last error that caused the process to quit. The reported error is usually the error that crashes the process. If the Ruby gem already reported the error, it will not report it again.

Errors reported via this mechanism are added to the "unhandled" namespace.

Add this code to the start of the application on short-lived containers and serverless functions to ensure the error gets flushed before the system shuts down.

```ruby Ruby theme={null}
at_exit { sleep 5 }
```

## enable\_frontend\_error\_catching

<a id="option-enable_frontend_error_catching" />

| Field                   | Value                                                                                                                                  |
| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| 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`                                                                                                                                |
|                         | <ul><li>`3.0.0`: Removed from the gem. See our [upgrade guide](/ruby/installation/upgrade-from-2-to-3) for more information.</li></ul> |

### 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`](#option-frontend_error_catching_path).

## enable\_gvl\_global\_timer

<a id="option-enable_gvl_global_timer" />

| Field                   | Value                               |
| ----------------------- | ----------------------------------- |
| Config file key         | `enable_gvl_global_timer`           |
| System environment key  | `APPSIGNAL_ENABLE_GVL_GLOBAL_TIMER` |
| Required                | no                                  |
| Type                    | Boolean (`true` / `false`)          |
| Default value           | `true`                              |
| Available since version | `3.3.9`                             |

### Description

Set this option to `false` to disable the [GVL global timer instrumentation](/ruby/integrations/global-vm-lock#waiting-threads). This configuration option has no effect if GVLTools is not installed.

## enable\_gvl\_waiting\_threads

<a id="option-enable_gvl_waiting_threads" />

| Field                   | Value                                  |
| ----------------------- | -------------------------------------- |
| Config file key         | `enable_gvl_waiting_threads`           |
| System environment key  | `APPSIGNAL_ENABLE_GVL_WAITING_THREADS` |
| Required                | no                                     |
| Type                    | Boolean (`true` / `false`)             |
| Default value           | `true`                                 |
| Available since version | `3.3.9`                                |

### Description

Set this option to `false` to disable the [GVL waiting threads instrumentation](/ruby/integrations/global-vm-lock#waiting-threads). This configuration option has no effect if GVLTools is not installed.

## enable\_host\_metrics

<a id="option-enable_host_metrics" />

| Field                   | Value                           |
| ----------------------- | ------------------------------- |
| Config file key         | `enable_host_metrics`           |
| System environment key  | `APPSIGNAL_ENABLE_HOST_METRICS` |
| Required                | no                              |
| Type                    | Boolean (`true` / `false`)      |
| Default value           | \`\`true` / detected by system` |
| Available since version | `1.2.0`                         |

### Description

Set this option to `false` to disable [host metrics](/metrics/host-metrics) collection.

On Heroku and Dokku host metrics are disabled by default. This is done because these systems will report inaccurate metrics from within the containers. Host metrics collection on these systems cannot be enabled. For Heroku, use the [Heroku log drain](/heroku/host-metrics) instead.

## enable\_minutely\_probes

<a id="option-enable_minutely_probes" />

| Field                   | Value                                                           |
| ----------------------- | --------------------------------------------------------------- |
| 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`                                                         |
|                         | <ul><li>`2.9.0`: Default value was changed to `true`.</li></ul> |

### Description

Enables the [minutely probes](/ruby/instrumentation/minutely-probes) system.

## enable\_nginx\_metrics

<a id="option-enable_nginx_metrics" />

| Field                   | Value                            |
| ----------------------- | -------------------------------- |
| Config file key         | `enable_nginx_metrics`           |
| System environment key  | `APPSIGNAL_ENABLE_NGINX_METRICS` |
| Required                | no                               |
| Type                    | Boolean (`true` / `false`)       |
| Default value           | `false`                          |
| Available since version | `3.3.4`                          |

### Description

Set to `true` to enable the NGINX metrics server. [See the NGINX metrics documentation for details.](/metrics/nginx)

When enabled, the AppSignal agent will listen to a `localhost`-bound server on port 27649. If you're running several AppSignal-instrumented applications in the same server, this configuration option can only be enabled in one of them.

## enable\_rails\_error\_reporter

<a id="option-enable_rails_error_reporter" />

| Field                   | Value                                   |
| ----------------------- | --------------------------------------- |
| Config file key         | `enable_rails_error_reporter`           |
| System environment key  | `APPSIGNAL_ENABLE_RAILS_ERROR_REPORTER` |
| Required                | no                                      |
| Type                    | Boolean (`true` / `false`)              |
| Default value           | `true`                                  |
| Available since version | `3.4.1`                                 |

### Description

Set to `false` to disable the Rails error reporter subscriber. [See the Rails documentation for details.](/ruby/integrations/rails)

## enable\_rake\_performance\_instrumentation

<a id="option-enable_rake_performance_instrumentation" />

| Field                   | Value                                               |
| ----------------------- | --------------------------------------------------- |
| Config file key         | `enable_rake_performance_instrumentation`           |
| System environment key  | `APPSIGNAL_ENABLE_RAKE_PERFORMANCE_INSTRUMENTATION` |
| Required                | no                                                  |
| Type                    | Boolean (`true` / `false`)                          |
| Default value           | `false`                                             |
| Available since version | `3.10.0`                                            |

### Description

Enable performance instrumentation for Rake tasks. By default, the [Rake instrumentation](/ruby/integrations/rake) only reports errors.

## enable\_statsd

<a id="option-enable_statsd" />

| Field                   | Value                      |
| ----------------------- | -------------------------- |
| Config file key         | `enable_statsd`            |
| System environment key  | `APPSIGNAL_ENABLE_STATSD`  |
| Required                | no                         |
| Type                    | Boolean (`true` / `false`) |
| Default value           | `true`                     |
| Available since version | `3.0.14`                   |

### Description

Enables the [StatsD server](/standalone-agent/statsd) in the AppSignal agent.

When enabled, the AppSignal agent will listen to a `localhost`-bound server on port 8125. If you're running several AppSignal-instrumented applications in the same server, this configuration option can only be enabled in one of them.

## endpoint

<a id="option-endpoint" />

| Field                   | Value                                                                     |
| ----------------------- | ------------------------------------------------------------------------- |
| 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`                                                                   |
|                         | <ul><li>`1.0.0`: Support for system environment variable added.</li></ul> |

### Description

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

## files\_world\_accessible

<a id="option-files_world_accessible" />

| Field                   | Value                              |
| ----------------------- | ---------------------------------- |
| 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](/appsignal/how-appsignal-operates#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\_metadata

<a id="option-filter_metadata" />

| Field                   | Value                       |
| ----------------------- | --------------------------- |
| Config file key         | `filter_metadata`           |
| System environment key  | `APPSIGNAL_FILTER_METADATA` |
| Required                | no                          |
| Type                    | `Array<String>`             |
| Default value           | `[]`                        |
| Available since version | `3.4.5`                     |

### Description

The AppSignal Ruby gem stores metadata about requests and background jobs on samples by default, like request path, request method, request id, background queue, job id and job retry count. These metadata values will be shown in the tags box. If any of these metadata values contain PII or other senstive data, use this config option to filter out metadata by key.

Set the `filter_metadata` option to a list of metadata keys that should be filtered out. You can configure this with a list of keys in the configuration file. When filtered the metadata will not be visible in the AppSignal UI.

<CodeGroup>
  ```ruby title="config/appsignal.rb" theme={null}
  Appsignal.configure do |config|
    config.filter_metadata += ["path", "request_id"]
  end
  ```

  ```yaml title="config/appsignal.yml" theme={null}
  default: &defaults
    filter_metadata:
      - path
      - request_id
  ```
</CodeGroup>

## filter\_parameters

<a id="option-filter_parameters" />

| Field                   | Value                                                                                                             |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------- |
| Config file key         | `filter_parameters`                                                                                               |
| System environment key  | `APPSIGNAL_FILTER_PARAMETERS`                                                                                     |
| Required                | no                                                                                                                |
| Type                    | `Array<String>`                                                                                                   |
| Default value           | `[]`                                                                                                              |
| Available since version | `1.3.0`                                                                                                           |
|                         | <ul><li>`2.3.0`: This config option is also used for argument filtering in background job integrations.</li></ul> |

### 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.

<CodeGroup>
  ```ruby title="config/appsignal.rb" theme={null}
  Appsignal.configure do |config|
    config.filter_parameters += ["password", "email", "api_token", "token"]
  end
  ```

  ```yaml YAML theme={null}
  # config/appsignal.yml
  default: &defaults
    filter_parameters:
      - password
      - email
      - api_token
      - token
  ```
</CodeGroup>

Read more about [parameter filtering](/application/parameter-filtering).

## filter\_session\_data

<a id="option-filter_session_data" />

| Field                   | Value                                                                     |
| ----------------------- | ------------------------------------------------------------------------- |
| 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`                                                                   |
|                         | <ul><li>An upgrade to version `2.6.1` or higher is recommended.</li></ul> |

### 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.

<CodeGroup>
  ```ruby title="config/appsignal.rb" theme={null}
  Appsignal.configure do |config|
    config.filter_session_data += ["name", "email", "api_token", "token"]
  end
  ```

  ```yaml YAML theme={null}
  # config/appsignal.yml
  default: &defaults
    filter_session_data:
      - name
      - email
      - api_token
      - token
  ```
</CodeGroup>

Read more about [session data filtering](/application/session-data-filtering).

## host\_role

<a id="option-host_role" />

| Field                   | Value                          |
| ----------------------- | ------------------------------ |
| Config file key         | `host_role`                    |
| System environment key  | `APPSIGNAL_HOST_ROLE`          |
| Required                | no                             |
| Type                    | `String`                       |
| Default value           | nil (This is unset by default) |
| Available since version | `3.4.11`                       |

### Description

Group hosts by role and generate metrics based on this role. One such metric is the `reporting_hosts` counter metric. A good role indicates what the main role of the server is, like "webserver", "processor", "api", "database", "loadbalancer", etc.

## hostname

<a id="option-hostname" />

| Field                   | Value                |
| ----------------------- | -------------------- |
| 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

<a id="option-http_proxy" />

| Field                   | Value                          |
| ----------------------- | ------------------------------ |
| 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

<a id="option-ignore_actions" />

| Field                   | Value                      |
| ----------------------- | -------------------------- |
| 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

With this config option you can specify a list of actions that will be ignored by AppSignal. Everything that happens including exceptions will not be transmitted to AppSignal. This can be useful to ignore health check endpoints or other actions that you don't want to monitor.

Read more about [ignoring actions](/guides/filter-data/ignore-actions).

## ignore\_errors

<a id="option-ignore_errors" />

| Field                   | Value                     |
| ----------------------- | ------------------------- |
| 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](/guides/filter-data/ignore-errors).

## ignore\_logs

<a id="option-ignore_logs" />

| Field                   | Value                   |
| ----------------------- | ----------------------- |
| Config file key         | `ignore_logs`           |
| System environment key  | `APPSIGNAL_IGNORE_LOGS` |
| Required                | no                      |
| Type                    | `Array<String>`         |
| Default value           | `[]`                    |
| Available since version | `3.7.0`                 |

### Description

List of log messages that will be ignored. Any log message containing any of the elements of the list will not be transmitted to AppSignal. A small subset of regex syntax is supported, read more about it in our [Ignore Logs](/guides/filter-data/ignore-logs) guide.

## ignore\_namespaces

<a id="option-ignore_namespaces" />

| Field                   | Value                         |
| ----------------------- | ----------------------------- |
| 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](/application/namespaces).

## instrument\_code\_ownership

<a id="option-instrument_code_ownership" />

| Field                   | Value                                 |
| ----------------------- | ------------------------------------- |
| Config file key         | `instrument_code_ownership`           |
| System environment key  | `APPSIGNAL_INSTRUMENT_CODE_OWNERSHIP` |
| Required                | no                                    |
| Type                    | Boolean (`true` / `false`)            |
| Default value           | `true`                                |
| Available since version | `4.7.1`                               |

### Description

Whether to automatically instrument the [CodeOwnership gem](/ruby/integrations/code-ownership), can be `true` or `false`.

## instrument\_http\_rb

<a id="option-instrument_http_rb" />

| Field                   | Value                          |
| ----------------------- | ------------------------------ |
| Config file key         | `instrument_http_rb`           |
| System environment key  | `APPSIGNAL_INSTRUMENT_HTTP_RB` |
| Required                | no                             |
| Type                    | Boolean (`true` / `false`)     |
| Default value           | `true`                         |
| Available since version | `3.2.0`                        |

### Description

Enable or disable the instrumentation for the [http.rb Ruby gem](https://github.com/httprb/http). Enabled by default.

## instrument\_net\_http

<a id="option-instrument_net_http" />

| Field                   | Value                           |
| ----------------------- | ------------------------------- |
| 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`.

## instrument\_ownership

<a id="option-instrument_ownership" />

| Field                   | Value                            |
| ----------------------- | -------------------------------- |
| Config file key         | `instrument_ownership`           |
| System environment key  | `APPSIGNAL_INSTRUMENT_OWNERSHIP` |
| Required                | no                               |
| Type                    | Boolean (`true` / `false`)       |
| Default value           | `true`                           |
| Available since version | `4.3.3`                          |

### Description

Whether to automatically instrument the [Ownership gem](/ruby/integrations/ownership), can be `true` or `false`.

## instrument\_redis

<a id="option-instrument_redis" />

| Field                   | Value                        |
| ----------------------- | ---------------------------- |
| 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 enable the instrumentation for Redis queries using the [Redis gem](https://rubygems.org/gems/redis), can be `true` or `false`.

## instrument\_sequel

<a id="option-instrument_sequel" />

| Field                   | Value                         |
| ----------------------- | ----------------------------- |
| 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 integration](/ruby/integrations/sequel), can be `true` or `false`.

## log

<a id="option-log" />

| Field                   | Value           |
| ----------------------- | --------------- |
| Config file key         | `log`           |
| System environment key  | `APPSIGNAL_LOG` |
| Required                | no              |
| Type                    | `String`        |
| Default value           | `file`          |
| Available since version | `2.0.0`         |

### Description

<Note>
  This option configures what logger that AppSignal's internal logging
  functionality will use and does not affect the [logging feature](/logging).

  **Note**: The [AppSignal agent](/appsignal/how-appsignal-operates),
  which is used by the integration, will always write to the "appsignal.log" file.
</Note>

Select which logger the AppSignal integration will 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](https://heroku.com))
  * Print AppSignal logs in the parent process' STDOUT instead of to a file.
    Useful with hosting solutions such as container systems and Heroku.

## log\_level

<a id="option-log_level" />

| Field                   | Value                 |
| ----------------------- | --------------------- |
| Config file key         | `log_level`           |
| System environment key  | `APPSIGNAL_LOG_LEVEL` |
| Required                | no                    |
| Type                    | `String`              |
| Default value           | `info`                |
| Available since version | `3.0.16`              |

### Description

<Note>
  This option sets the severity level of AppSignal's internal logger and does
  not affect the [logging feature](/logging).
</Note>

Set the severity level of AppSignal's internal logger. If it is configured to "info" it will log all error, warning and info messages, but not log the debug messages.

Setting it to the levels "debug" or "trace" is usually only needed on request from support. Setting the level to "debug"/"trace" could have a slight impact on the disk usage and IO, especially on high-traffic sites. CPU overhead is minimal with the debug option enabled.

Accepted values:

* error
* warning
* info
* debug
* trace

## log\_path

<a id="option-log_path" />

| Field                   | Value                |
| ----------------------- | -------------------- |
| 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

<Note>
  This option configures the location of AppSignal's internal logging file and
  does not affect the [logging feature](/logging).

  <br />

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

Override the location of the path (directory) where the `appsignal.log` file can
be written to.

## nginx\_port

<a id="option-nginx_port" />

| Field                   | Value                  |
| ----------------------- | ---------------------- |
| Config file key         | `nginx_port`           |
| System environment key  | `APPSIGNAL_NGINX_PORT` |
| Required                | no                     |
| Type                    | `Integer`              |
| Default value           | `27649`                |
| Available since version | `4.5.15`               |

### Description

Configure the port on which the NGINX metrics server is exposed.

When AppSignal receives NGINX metrics, it listens on a `localhost`-bound server, by default on port 27649. If you're running several AppSignal-instrumented applications in the same server with NGINX metrics enabled, use this option to configure each application to listen on a different port.

## ownership\_set\_namespace

<a id="option-ownership_set_namespace" />

| Field                   | Value                               |
| ----------------------- | ----------------------------------- |
| Config file key         | `ownership_set_namespace`           |
| System environment key  | `APPSIGNAL_OWNERSHIP_SET_NAMESPACE` |
| Required                | no                                  |
| Type                    | Boolean (`true` / `false`)          |
| Default value           | `false`                             |
| Available since version | `4.3.3`                             |

### Description

Whether the [Ownership gem instrumentation](/ruby/integrations/ownership) should set the namespace of a sample to its owner, can be `true` or `false`.

## request\_headers

<a id="option-request_headers" />

| Field                   | Value                                                                                                                                                                                                                                                             |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 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_PATH", "SERVER_NAME", "SERVER_PORT", "SERVER_PROTOCOL"]` |
| Available since version | `2.6.0`                                                                                                                                                                                                                                                           |
|                         | <ul><li>Upgrade to `2.6.1` or higher is recommend.</li><li>Since `3.5.6` `REQUEST_URI` is no longer included by default. Now `REQUEST_PATH` is included instead.</li></ul>                                                                                        |

### 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.

<CodeGroup>
  ```ruby title="config/appsignal.rb" theme={null}
  Appsignal.configure do |config|
    # Add a request header
    config.request_headers << "PATH_INFO"

    # Remove a request header
    config.request_headers.delete("PATH_INFO")
  end
  ```

  ```yaml title="config/appsignal.yml" theme={null}
  # To add an additional request header it's necessary to list all default headers too
  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_PATH
      - SERVER_NAME
      - SERVER_PORT
      - SERVER_PROTOCOL
  ```
</CodeGroup>

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](https://rack.github.io/) ([Rails](/ruby/integrations/rails), [Sinatra](/ruby/integrations/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.

<CodeGroup>
  ```ruby title="config/appsignal.rb" theme={null}
  Appsignal.configure do |config|
    config.request_headers = []
  end
  ```

  ```yaml title="config/appsignal.yml" theme={null}
  default: &defaults
    request_headers: []
  ```
</CodeGroup>

## revision

<a id="option-revision" />

| Field                   | Value                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 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`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|                         | <ul><li>An upgrade to `2.6.1` or higher is recommended when using this option.</li><li>`2.9.13`: Auto detection for Heroku deploys with the Dyno Metadata labs feature enabled.</li><li>`2.9.14`: Do not use this release if you depend on the Heroku dyno metadata detection.</li><li>`3.4.7`: Auto detection for Render deploys.</li><li>`3.7.5`: Auto detection for Kamal deploys.</li><li>`4.5.18`: Auto detection for Capistrano deploys.</li><li>`4.5.18`: Auto detection for Hatchbox.io deploys.</li></ul> |

### Description

Set the app revision to report the currently running version of your app. AppSignal will create a deploy marker when this value changes, and tag all incoming data with the current revision.

When your application is deployed using Kamal, or when it is deployed to Render, or when it is deployed to Heroku and the [Heroku Labs: Dyno Metadata](https://devcenter.heroku.com/articles/dyno-metadata) feature is enabled, the AppSignal integration will automatically detect the Git commit of the current deployment and use it as the revision.

You can overwrite the automatically detected revisions in Heroku, Render or Kamal by manually setting the `revision` config option to a custom value.

Read more about deploy markers in the [deploy markers topic](/application/markers/deploy-markers).

## running\_in\_container

<a id="option-running_in_container" />

| Field                   | Value                                                        |
| ----------------------- | ------------------------------------------------------------ |
| Config file key         | `running_in_container`                                       |
| System environment key  | `APPSIGNAL_RUNNING_IN_CONTAINER`                             |
| Required                | no                                                           |
| Type                    | Boolean (`true` / `false`)                                   |
| Default value           | detected by agent                                            |
| Available since version | `1.0.0`                                                      |
|                         | <ul><li>Automatically detected since version `2.0`</li></ul> |

### Description

AppSignal expects to be running on the same machine between different deploys. Set this key to `true` if the application is running in a container, such as with 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](mailto:support@appsignal.com).

This option is set to `true` automatically on [Heroku](http://heroku.com/).

## send\_environment\_metadata

<a id="option-send_environment_metadata" />

| Field                   | Value                                 |
| ----------------------- | ------------------------------------- |
| Config file key         | `send_environment_metadata`           |
| System environment key  | `APPSIGNAL_SEND_ENVIRONMENT_METADATA` |
| Required                | no                                    |
| Type                    | Boolean (`true` / `false`)            |
| Default value           | `true`                                |
| Available since version | `2.11.0`                              |

### Description

Send environment metadata about the app.

For more information please read about [environment metadata](/application/environment-metadata).

## send\_params

<a id="option-send_params" />

| Field                   | Value                                                                       |
| ----------------------- | --------------------------------------------------------------------------- |
| 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`                                                                     |
|                         | <ul><li>`1.3.0`: Support added for the system environment option.</li></ul> |

### Description

Whether to skip sending request parameters to AppSignal.

For more information please read about [send\_params](/application/parameter-filtering) in filtering request parameters.

## send\_session\_data

<a id="option-send_session_data" />

| Field                   | Value                         |
| ----------------------- | ----------------------------- |
| Config file key         | `send_session_data`           |
| System environment key  | `APPSIGNAL_SEND_SESSION_DATA` |
| Required                | no                            |
| Type                    | Boolean (`true` / `false`)    |
| Default value           | `true`                        |
| Available since version | `3.0.20`                      |

### Description

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

For more information please read about [request session data filtering](/application/session-data-filtering).

## sidekiq\_report\_errors

<a id="option-sidekiq_report_errors" />

| Field                   | Value                             |
| ----------------------- | --------------------------------- |
| Config file key         | `sidekiq_report_errors`           |
| System environment key  | `APPSIGNAL_SIDEKIQ_REPORT_ERRORS` |
| Required                | no                                |
| Type                    | `String`                          |
| Default value           | `all`                             |
| Available since version | `3.9.0`                           |

### Description

Configure the reporting of errors that occur in [Sidekiq](/ruby/integrations/sidekiq) jobs.

Accepted values:

* `all`: Report all errors for every execution of jobs, including retries.
* `discard`: Report errors when the job is discarded due to the error. Use this option to only report errors when all job retries have been exhausted.
* `none`: Report no errors for jobs, including retries. Useful for custom error reporting.

<Note>
  **Note**: The `discard` option only works on Sidekiq 5.1 and newer. On lower
  versions `discard` is read as `all`.
</Note>

## skip\_session\_data

<a id="option-skip_session_data" />

| Field                   | Value                                                                                                |
| ----------------------- | ---------------------------------------------------------------------------------------------------- |
| 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`                                                                                             |
|                         | <ul><li>`3.0.20`: Deprecated in favor of [`send_session_data`](#option-send_session_data).</li></ul> |

### Description

<Warning>
  **Warning**: This config option is deprecated in Ruby gem 3.0.20. Please use
  the [`send_session_data`](#option-send_session_data) option instead for newer
  versions of the Ruby gem.
</Warning>

## statsd\_port

<a id="option-statsd_port" />

| Field                   | Value                   |
| ----------------------- | ----------------------- |
| Config file key         | `statsd_port`           |
| System environment key  | `APPSIGNAL_STATSD_PORT` |
| Required                | no                      |
| Type                    | `Integer`               |
| Default value           | `8125`                  |
| Available since version | `3.4.3`                 |

### Description

Set this option to configure the StatsD HTTP server port of the AppSignal agent process. Configure this port if another process is already running on the machine that is also using this port to avoid conflicts.

## transaction\_debug\_mode

<a id="option-transaction_debug_mode" />

| Field                   | Value                                                                                                             |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------- |
| 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`                                                                                                          |
|                         | <ul><li>Deprecated since version 3.0.16 in favor of the [`log_level` config option](#option-log_level).</li></ul> |

### Description

<Warning>
  **Warning**: This config option is deprecated in Ruby gem 3.0.16. Please use
  the [`log_level`](#option-log_level) option instead for Ruby gem 3.0.16 and
  newer.
</Warning>

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.

<Note>
  This option sets the severity level of AppSignal's internal logger and does
  not affect the [logging feature](/logging).
</Note>

## working\_dir\_path

<a id="option-working_dir_path" />

| Field                  | Value                        |
| ---------------------- | ---------------------------- |
| Config file key        | `working_dir_path`           |
| System environment key | `APPSIGNAL_WORKING_DIR_PATH` |
| Required               | no                           |
| Type                   | `String`                     |
| Default value          | detected by agent            |

### Description

<Warning>
  **Warning**: This config option is deprecated in Ruby gem 2.7.0. Please use
  the [`working_directory_path`](#option-working_directory_path) option instead
  for Ruby gem 2.7.0 and newer.
</Warning>

<Note>
  Override the location where AppSignal for Ruby creates a working directory.
  See
  [`working_directory_path`](#appsignal_working_directory_path-working_directory_path)
  for the behavior it is applicable. This config option appends `/appsignal` to
  the specified path, where
  [`working_directory_path`](#appsignal_working_directory_path-working_directory_path)
  does not.
</Note>

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

## working\_directory\_path

<a id="option-working_directory_path" />

| Field                   | Value                                                                                                                                                                                    |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 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`                                                                                                                                                                                  |
|                         | <ul><li>`2.10.12`: Support added for the system environment option.</li><li>Please use the [`working_dir_path`](#option-working_dir_path) option on versions older than 2.7.0.</li></ul> |

### 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](/appsignal/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](/guides/application/multiple-applications-on-one-host) documentation.

<CodeGroup>
  ```ruby title="config/appsignal.rb" theme={null}
  Appsignal.configure do |config|
    config.working_directory_path = "/tmp/project_1/"
  end
  ```

  ```yaml title="config/appsignal.yml" theme={null}
  default: &defaults
    working_directory_path: "/tmp/project_1/"
  ```
</CodeGroup>

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