Skip Navigation
Show nav
Heroku Dev Center Dev Center
  • Get Started
  • Documentation
  • Changelog
  • Search
Heroku Dev Center Dev Center
  • Get Started
    • Node.js
    • Ruby on Rails
    • Ruby
    • Python
    • Java
    • PHP
    • Go
    • Scala
    • Clojure
    • .NET
  • Documentation
  • Changelog
  • More
    Additional Resources
    • Home
    • Elements
    • Products
    • Pricing
    • Careers
    • Help
    • Status
    • Events
    • Podcasts
    • Compliance Center
    Heroku Blog

    Heroku Blog

    Find out what's new with Heroku on our blog.

    Visit Blog
  • Log in or Sign up
View categories

Categories

  • Heroku Architecture
    • Compute (Dynos)
      • Dyno Management
      • Dyno Concepts
      • Dyno Behavior
      • Dyno Reference
      • Dyno Troubleshooting
    • Stacks (operating system images)
    • Networking & DNS
    • Platform Policies
    • Platform Principles
    • Buildpacks
  • Developer Tools
    • AI Tools
    • Command Line
    • Heroku VS Code Extension
  • Deployment
    • Deploying with Git
    • Deploying with Docker
    • Deployment Integrations
  • Continuous Delivery & Integration (Heroku Flow)
    • Continuous Integration
  • Language Support
    • Node.js
      • Node.js Behavior in Heroku
      • Working with Node.js
      • Troubleshooting Node.js Apps
    • Ruby
      • Rails Support
        • Working with Rails
      • Working with Bundler
      • Working with Ruby
      • Ruby Behavior in Heroku
      • Troubleshooting Ruby Apps
    • Python
      • Working with Python
      • Background Jobs in Python
      • Python Behavior in Heroku
      • Working with Django
    • Java
      • Java Behavior in Heroku
      • Working with Java
      • Working with Maven
      • Working with Spring Boot
      • Troubleshooting Java Apps
    • PHP
      • Working with PHP
      • PHP Behavior in Heroku
    • Go
      • Go Dependency Management
    • Scala
    • Clojure
    • .NET
      • Working with .NET
  • Databases & Data Management
    • Heroku Postgres
      • Postgres Basics
      • Postgres Getting Started
      • Postgres Performance
      • Postgres Data Transfer & Preservation
      • Postgres Availability
      • Postgres Special Topics
      • Migrating to Heroku Postgres
    • Heroku Key-Value Store
    • Apache Kafka on Heroku
    • Other Data Stores
  • AI
    • Inference Essentials
    • Inference API
    • Inference Quick Start Guides
    • AI Models
    • Tool Use
    • AI Integrations
    • Vector Database
  • Monitoring & Metrics
    • Logging
  • App Performance
  • Add-ons
    • All Add-ons
  • Collaboration
  • Security
    • App Security
    • Identities & Authentication
      • Single Sign-on (SSO)
    • Private Spaces
      • Infrastructure Networking
    • Compliance
  • Heroku Enterprise
    • Enterprise Accounts
    • Enterprise Teams
  • Patterns & Best Practices
  • Extending Heroku
    • Platform API
    • App Webhooks
    • Heroku Labs
    • Building Add-ons
      • Add-on Development Tasks
      • Add-on APIs
      • Add-on Guidelines & Requirements
    • Building CLI Plugins
    • Developing Buildpacks
    • Dev Center
  • Accounts & Billing
  • Troubleshooting & Support
  • Integrating with Salesforce
    • Heroku AppLink
      • Working with Heroku AppLink
      • Heroku AppLink Reference
      • Getting Started with Heroku AppLink
    • Heroku Connect (Salesforce sync)
      • Heroku Connect Administration
      • Heroku Connect Reference
      • Heroku Connect Troubleshooting
    • Other Salesforce Integrations
  • Add-ons
  • All Add-ons
  • AppSignal APM

AppSignal APM

Table of Contents [expand]

  • Supported Languages
  • Core Features
  • AI Insights with Real Impact
  • Really Simple Pricing
  • Installing the AppSignal Heroku add-on
  • Get started with AppSignal and Heroku
  • More insights with the Logplex Logdrain
  • Inviting others & receiving notifications
  • Heroku dashboards
  • Deploy markers
  • Migrating between plans
  • Removing the add-on
  • Support

Last updated November 21, 2025

AppSignal APM

This add-on is operated by AppSignal B.V.

Insights to help you fix bugs, improve performance, and build better apps.

AppSignal is an all-in-one monitoring tool that thousands of devs rely on daily to ship code fast, with confidence. With our Heroku add-on, you can start monitoring your app in minutes. You can read on to learn more about AppSignal or skip ahead to the installation instructions.


Supported Languages

AppSignal supports all of the languages you can deploy with Heroku, via our own packages or OpenTelemetry:

  • Python
  • .NET
  • Java
  • Node.js
  • Go
  • PHP
  • Ruby

You can see a complete list of our supported languages and frameworks by visiting our documentation.


Core Features

AppSignal’s powerful monitoring toolkit gives devs the tools they need to spend less time debugging and more time deploying.

  • Error Tracking: Stay updated with cross-deployment error tracking and instant alerting.
  • Performance Monitoring: Gain the performance insights you need to identify slow requests and functions quickly.
  • Host Monitoring: Fine-tune your hardware, with metrics for CPU, disk, network activity, and more.
  • Anomaly Detection: Set up alerts for unusual activity such as memory spikes, increased response times, and increased error rates.
  • Uptime Monitoring: Unlimited uptime monitors alert you the moment your app experiences downtime.
  • Metric Dashboards: Track all your core metrics on customizable dashboards.
  • Log Management: Keep compliant and streamline your debugging with deep insights from issue to log line.
  • Process Monitoring: Never miss a beat—track all of your app’s cron jobs and background processes in one place.

AppSignal dashboard screenshot


AI Insights with Real Impact

Connect AppSignal to the AI tools you use every day like Claude, GitHub Copilot, Cursor, or Zed for AI insights that help you build self-healing code and turn vibes into viable deployments.

AppSignal’s MCP server gives your AI assistant the superpowers it needs to help you stay focused on your next great feature instead of context-switching between tools.

Read more in our MCP Server docs.

AppSignal MCP Server example

Really Simple Pricing

AppSignal’s no-nonsense pricing scales with you, our paid plans are designed to be affordable, no matter the size of your app.

All of our features are available on all plans, and our flexible upgrade policy means you’ll never be charged an overage fee, ever.

If you choose a Heroku plan when you send more requests than your plan allows, we’ll temporarily hide insights until you upgrade or your next billing cycle starts.

You can take a look at our plans on our pricing page.

If you choose a plan via AppSignal, our Relaxed Upgrade Policy applies.


Installing the AppSignal Heroku add-on

AppSignal can be attached to a Heroku application via the command line:

$ heroku addons:create appsignal
-----> Adding appsignal to sharp-mountain-4005... done, v18 (free)

Once AppSignal has been added, an APPSIGNAL_PUSH_API_KEY setting will be available in the app configuration and contain the AppSignal API key. AppSignal uses this to push data to its servers. The key can also be used to generate a config file.

Retrieve the API key using the heroku config:get command.

$ heroku config:get APPSIGNAL_PUSH_API_KEY

Installation per language:

  • Ruby
  • Elixir
  • Node.js
  • Python
  • PHP
  • Java
  • Go

Ruby

Install the gem, run the AppSignal installer, and deploy.

Add AppSignal to your Gemfile:

$ gem 'appsignal'

Install dependencies:

$ bundle install

Run the installer:

$ appsignal install YOUR_PUSH_API_KEY

Deploy your application to Heroku.

For full installation and configuration options, see the Ruby documentation.


Elixir

Add AppSignal as a dependency, install it, and deploy.

If you’re using an umbrella app, see our umbrella installation guide.

Add AppSignal and a JSON encoder to mix.exs:

# mix.exs
def deps do
  [
    {:appsignal, "~> 2.0"},
    {:jason, "~> 1.1"}
  ]
end

Install dependencies:

$ mix deps.get

Run the installer:

$ mix appsignal.install YOUR_PUSH_API_KEY

If you’re using Phoenix, continue with the Phoenix integration guide.

Deploy your application to Heroku.

For full installation and configuration options, see the Elixir documentation.


Node.js

Run the installer, update your start command, and deploy.

Install and configure AppSignal:

$ npx @appsignal/cli@latest install

Update your start command to initialize AppSignal:

{
  "scripts": {
    "start": "node --require appsignal.cjs app.js"
  }
}

Be sure to use --require appsignal.cjs so AppSignal loads before any other package.

Deploy your application to Heroku.

For full installation and configuration options, see the Node.js documentation.


Python

Add AppSignal, run the installer, and deploy.

Add it to requirements.txt:

# requirements.txt
appsignal

Install and run the installer:

$ pip install -r requirements.txt
$ python -m appsignal install

Install any additional packages needed for your framework. See the list in our documentation.

For full installation and configuration options, see the Python documentation.


PHP

AppSignal for PHP uses OpenTelemetry, and installation is straightforward. You can follow the full setup process in our PHP installation documentation.


Java

AppSignal for Java is built on top of OpenTelemetry, and getting started takes only a few steps. You can walk through the complete setup in our Java installation documentation.


Go

AppSignal for Go integrates with OpenTelemetry to provide full observability for your application. Setting it up is simple—just follow the instructions in our Go installation documentation.


Get started with AppSignal and Heroku

AppSignal gives you clear insights into your application’s performance. You can open the AppSignal interface directly from the Heroku CLI:

$ heroku addons:open appsignal
Opening appsignal for sharp-mountain-4005...

You can also access AppSignal from the Heroku Dashboard by selecting it from the Add-ons menu.


More insights with the Logplex Logdrain

Many Heroku-specific AppSignal features — including capturing Heroku errors — require a Logplex Logdrain. Set it up once per application to send data for errors, dashboards, and host metrics.

This forwards all of your app’s logs to our endpoint. We only parse Logplex errors and Postgres/Redis/Host metrics and ignore everything else.

Add the logdrain:

$ heroku drains:add "https://appsignal-endpoint.net/logplex?api_key=<push_api_key>&name=<app_name>&environment=<app_environment>"

To forward all logs for Log Management, follow these instructions.

Replace <push_api_key>, <app_name>, and <app_environment> with your AppSignal configuration values (case-sensitive). You can find them under App settings → Push & Deploy on AppSignal.com.

Once configured, errors and dashboards will begin appearing automatically. Host Metrics require one extra step.


Inviting others & receiving notifications

AppSignal sends an initial email to the Heroku app owner. From there you can invite additional owners or users, who can log in at AppSignal.com. All plans include unlimited users and teams.

Only users signed in via AppSignal.com can receive notifications.


Heroku dashboards

AppSignal can automatically create dashboards for Redis and PostgreSQL metrics when you use a paid add-on plan for those services.

See the Heroku Dashboards documentation for more details.


Deploy markers

Deploy markers highlight when a new version of your application was deployed, helping connect changes to new errors or performance patterns.

If you enable Heroku Labs: Dyno Metadata, Heroku automatically sets the revision config option using the HEROKU_SLUG_COMMIT environment variable. This allows AppSignal to detect new deploys automatically.


Migrating between plans

Upgrade your AppSignal plan using the Heroku CLI:

$ heroku addons:upgrade appsignal:medium
-----> Upgrading appsignal:medium to sharp-mountain-4005... done, v18 ($79/mo)
       Your plan has been updated to: appsignal:medium

Removing the add-on

Remove the AppSignal add-on via the CLI:

This permanently deletes all associated data and cannot be undone.

$ heroku addons:destroy appsignal
-----> Removing appsignal from sharp-mountain-4005... done, v20 (free)

Support

For more information about getting the most out of AppSignal, please refer to our extensive documentation.

We’re just an email away if you have any issues or questions. We’re happy to help!

Feedback

Log in to submit feedback.

Information & Support

  • Getting Started
  • Documentation
  • Changelog
  • Compliance Center
  • Training & Education
  • Blog
  • Support Channels
  • Status

Language Reference

  • Node.js
  • Ruby
  • Java
  • PHP
  • Python
  • Go
  • Scala
  • Clojure
  • .NET

Other Resources

  • Careers
  • Elements
  • Products
  • Pricing
  • RSS
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku Blog
    • Heroku News Blog
    • Heroku Engineering Blog
  • Twitter
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku
    • Heroku Status
  • Github
  • LinkedIn
  • © 2025 Salesforce, Inc. All rights reserved. Various trademarks held by their respective owners. Salesforce Tower, 415 Mission Street, 3rd Floor, San Francisco, CA 94105, United States
  • heroku.com
  • Legal
  • Terms of Service
  • Privacy Information
  • Responsible Disclosure
  • Trust
  • Contact
  • Cookie Preferences
  • Your Privacy Choices