Contents
- Getting Started
- AppSignal Libraries
- What Programming Languages Does AppSignal Support?
- Filtering Data
- How Do I Add Additional Instrumentation to My Application?
- What Is the Difference Between setRootName and setName?
- How Do I Run Multiple Applications on One Host?
- What Operating Systems Does AppSignal Support?
- How Do I Debug an Issue with the AppSignal Integration?
- Does AppSignal Support Windows?
- Why Does Installing the AppSignal Ruby Gem Fail With a JSON::Fragment Error?
- How Do I Configure AppSignal in a Hanami Application?
- Why Are Errors in Phoenix LiveComponent Not Captured by AppSignal?
- User Account
- Errors & Performance
Getting Started
I Need Help Getting Started. Where Do I Begin?
If you’re new to AppSignal or want to know more about configuring AppSignal features, please read our guidesAppSignal Libraries
What Programming Languages Does AppSignal Support?
AppSignal supports the Node.js, Ruby and Elixir programming languages. We also have JavaScript packages for catching client-side errors in supported browsers.Filtering Data
How Do I Ignore Actions in My Application?
You can Ignore Actions to stop recording data for specific actions, requests, background jobs, etc.How Do I Ignore Errors in My Application?
You can Ignore Errors (based on their name) to prevent AppSignal from reporting and alerting you to them.How do I Filter Data That’s Sent to AppSignal?
To learn how to filter the data that is sent to AppSignal, read one of the following guides:- Filter Request Parameters and Background Job Arguments
- Filter Session Data for HTTP Requests
- Filter HTTP Request Headers
What Regex Syntax Does ignore_logs Support?
ignore_logs supports a limited subset of regular expression syntax: ^ (start of string), $ (end of string), and .* (wildcard). Full regex constructs such as character classes ([.]) are not valid and are silently ignored.
To match an exact log line, anchor it with both ^ and $. To match a prefix, use ^ followed by the literal text. To match anywhere in the message, use .* around it.
See the ignore logs guide for the full syntax reference.
How Do I Suppress Logs Sent by appsignal-wrap?
appsignal-wrap forwards stdout and stderr to AppSignal by default. The ignore_logs configuration option does not apply to appsignal-wrap.
To suppress output, pass --no-stdout and/or --no-stderr to the appsignal-wrap command:
appsignal-wrap docs for the full list of options.
How do I Add Additional Instrumentation to My Application?
Additional instrumentation can be added to your application to give you more insights into how your application is performing by measuring the duration of separate events. Lean how in the documentation for our Ruby Gem and Elixir Package.What Is the Difference Between setRootName and setName?
setName and setRootName both rename spans, but at different levels. setName sets the name of an individual span as it appears in the performance sample timeline, while setRootName sets the name of the root transaction — what you see in the performance overview and transaction list.
A good pattern is to call setRootName once on your outermost handler (for example, `${request.method} ${pattern}` to produce a title like GET /users/:id), and use setName together with setCategory on inner spans such as middleware, loaders, and actions, so they appear as clearly labeled events in the timeline breakdown.
For more on naming and adding spans, see the Node.js instrumentation guide.
How Do I Run Multiple Applications on One Host?
By default AppSignal is configured to assume one application runs on one host. If you run more than one application on a host, some unexpected behavior may occur, such as data being reported for a different application. To configure AppSignal for multiple applications on one host the AppSignal Working Directory needs to be configured. Read more about how to configure the working directory in our Guide to Running Multiple Application on One HostWhat Operating Systems Does AppSignal Support?
Please read our Operating Systems page for the full list of supported Operating Systems and any required packages.How Do I Debug an Issue with the AppSignal Integration?
Please read our Debugging Guide for a complete guide to AppSignal Integration debugging issues. You can also check our Known Issues page for issues that may be present in your version of the AppSignal Integration.Does AppSignal Support Windows?
AppSignal does not support Windows, and there are no plans to add Windows support. However, we do try to make the AppSignal libraries installable on Microsoft Windows without any errors or build issues.Why Does Installing the AppSignal Ruby Gem Fail With a JSON::Fragment Error?
This error occurs when installingappsignal 4.x with Ruby 3.0 and earlier. The json gem bundled as a dependency in AppSignal 4.x introduced JSON::Fragment, a constant only available on Ruby 3.1 and later. On older Ruby versions the native extension build fails with:
gem "appsignal", "~> 3.0" to your Gemfile and run bundle update appsignal. AppSignal 3.x works with Ruby 2.7 and Ruby 3.0, but does not receive new features from the 4.x line, so plan to upgrade Ruby when you can.
How Do I Configure AppSignal in a Hanami Application?
AppSignal does not auto-configure in Hanami the way it does in Rails. Use a Ruby configuration file (config/appsignal.rb) rather than the legacy YAML file (config/appsignal.yml) — the YAML format is deprecated and will be removed in the next major version of the gem.
Create config/appsignal.rb with:
config.ru loads the integration after Hanami:
config/appsignal.yml, remove it or add a development section with active: true — having both files causes conflicts. AppSignal does not start in the development environment by default; activate_if_environment opts it in explicitly.
See the Hanami integration docs for the full setup.
Why Are Errors in Phoenix LiveComponent Not Captured by AppSignal?
AppSignal captures Phoenix errors by listening to Phoenix telemetry events. When a LiveComponent handles form events directly, Phoenix uses an internal path that does not emit those telemetry events, so the error is never reported. To report errors from LiveComponent, useAppsignal.send_error/2 to send them manually:
handle_event/3 or update/2 callbacks, where Phoenix telemetry does fire.
This gap was fixed upstream in phoenix_live_view. Updating to the latest release allows AppSignal to capture these errors automatically.
User Account
How Do I Enable Two-Factor Authentication (2FA) For the AppSignal App?
Please refer to our Two-Factor Authentication page for more information on enabling 2FA.Why Aren’t My Two-Factor Authentication (2FA) Codes Working?
If your authenticator app’s codes are rejected when you log in, the most common cause is clock drift on the device generating them. Two-factor authentication codes are time-based (TOTP), so that device’s clock must be accurate — this often breaks after changing time zones. Enable automatic (network) date and time on the device, then try the newly generated code. If you still can’t log in, use one of the five recovery codes you saved when you enabled 2FA to bypass two-factor authentication. See Two-Factor Authentication for more on recovery codes.How Do I Re-Enroll My Two-Factor Authentication Device?
To set up 2FA on a new authenticator app or device, go to Account Settings → Security → Two-factor authentication, disable 2FA, then re-enable it. A new QR code appears for you to scan with your authenticator app. To reach the disable option, you first need to authenticate with a current code or a recovery code. See Two-Factor Authentication for full setup instructions.What IP Addresses does AppSignal Use?
Currently the AppSignal Push API uses the following IP addresses:Errors & Performance
Why Is My Performance Issue Always Marked as Closed?
An issue’s Open or Closed status is determined by its notification settings, not by whether the underlying problem is still happening. AppSignal marks an issue as Open when it sends a notification for it. Performance issues use the “Never Notify” setting by default, so no notification is sent — which is why they stay Closed. To have a performance issue open on new occurrences, change its notification setting, either per issue or by updating your organization-level default. See Notification settings for how to configure this.How Do I See Error Counts Per Namespace?
To see error counts per namespace, create a Number chart that uses thetransaction_exception_count metric (AppSignal’s count of errors recorded in an application), filtered by the namespace tag:
- Open the application you want to measure, go to Dashboards, and add a new chart.
- Select the Number tab.
- Set the metric to
transaction_exception_count. - Add the namespace tag and enter the namespace name (for example,
weborbackground). - Set the aggregation type to Total value.
- Create the chart.
How Long Is Uptime Monitoring Data Retained?
Uptime monitoring stores minutely metrics for 30 days and hourly metrics for 5 years. To view daily uptime trends over a longer period — for example, a full year — use the date picker in the uptime monitoring view to select a custom date range.How Do I Find the Cause of Slow API Requests?
Start in Performance → Slow API requests. Requests are sorted by impact — the combination of duration and frequency — so the top entries are the most likely culprits. Selecting a request shows its mean duration, response time graph, throughput, and the list of actions that contain it. For database queries, check Performance → Slow queries. Each query is sorted by impact, and selecting one shows which actions trigger it. To find N+1 queries, open Performance → Issue list. Actions flagged with theN+1 tag contain repeated database calls. Open a sample and view the performance timeline — events marked x2, x5, and so on indicate the same query repeated within a single request.
For a guided walkthrough, see Find slow database queries and Find slow HTTP requests.