Supported adapters
The Active Job integration supports all Active Job adapters. It may also offer support for adapters not listed on that page, which are accessible through a separate gem. However, please note that these adapters have not been tested.Integration with AppSignal-supported libraries
The following background job libraries that AppSignal supports are automatically integrated with Active Job, allowing AppSignal to give you more in-depth performance insights:Report errors on job discard
Set theactivejob_report_errors config option to discard to only report errors when a job is discarded. When a job is discarded, all job retries have been exhausted, and the job is no longer retried. Read the Active Job documentation to learn more about Active Job exception handling and failed job retries.
Metadata
AppSignal collects the following metadata for Active Job jobs:| Metadata | Description |
|---|---|
| Active Job ID | The Active Job ID is reported by the Active Job adapter. |
| Arguments | Arguments passed to the job when calling perform_later. |
| Events | All *.active_job events. |
| Job name | e.g. MyBackgroundJob#perform as used to group the job for AppSignal incidents. |
| Priority | The sample’s priority, if using an adapter that supports job priority. |
| Provider job ID | The job ID reported by the Active Job adapter. |
| Queue | The sample’s queue name, if using an adapter that supports multiple queues. |
| Queue time* | Time elapsed from a job being queued and performed. |
- The Job name will be used to group the job for AppSignal incidents:

- Metadata (excluding job name and events) will be available as filterable tags on incident samples:

*.active_jobevents will shown in the event timeline for performance samples:

Magic dashboard
When AppSignal receives Active Job metrics, it will create an Active Job magic dashboard, available from the dashboard section of the AppSignal app. The Active Job magic dashboard will have the following graphs:| Graph | Metrics | Tags |
|---|---|---|
| Duration per job class | transaction_duration | namespaceaction |
| Job status per queue | active_job_queue_job_count | statusqueue |
| Job status per queue with priority | active_job_queue_job_count | statusqueuepriority |
| Throughput per job class | transaction_duration | namespaceaction |
| Name | Description |
|---|---|
action | The name of the action the metric was reported from (eg: YourWorker#perform). |
queue | Named queue in which jobs are processed, e.g. default or mailer. |
status | Status of each job, either processed or failed. Jobs that are failed are also counted as processed. |
priority | The priority given to each job, e.g. 0 or 1. |
