Heroku Dyno Monitoring
Heroku makes it easy to deploy and scale an application without spending much time managing the infrastructure underneath it. But once your app is running in production, you still need to know what your dynos are actually doing.
CPU load, memory consumption, swap usage, and process-level metrics can help you catch resource problems before they start affecting your users. And while Heroku gives you some visibility into application health, sending those metrics to a dedicated monitoring platform makes it much easier to track them over time, build dashboards, and alert on problems.
The Hosted Graphite Heroku add-on automatically collects supported metrics from your Heroku application and makes them available in Hosted Graphite and Grafana.
This gives you one place to monitor your Heroku infrastructure alongside custom application metrics as well as metrics from other parts of your stack, all under a single pane of glass:

Default Heroku Dyno Metrics
Heroku provides some information about application health out of the box. You can inspect your dyno formation, deployments, application events, and basic performance information directly from the Heroku UI:
That's a fine place to start, but it doesn't always give you the historical visibility you need when you're troubleshooting a production issue. For example, knowing that a worker is consuming too much memory right now is useful. Being able to graph its memory usage over the last week, compare it with other processes, and see exactly when the behavior changed is much more useful.
This is where MetricFire's Hosted Graphite comes in. The HG Heroku integration collects supported metrics from your Heroku logs and stores them as time-series data. You can then visualize those metrics in Grafana, create your own dashboards, and configure alerts around the behavior that's important to your application.
Dyno Monitoring with the Heroku HG Add-on
Getting started with Hosted Graphite is straightforward. provision and open the add-on by running these 2 commands from within your Heroku CLI:
- heroku addons:create hostedgraphite -a <app-name>
- heroku addons:open hostedgraphite -a <app-name>
The integration configures your application to send supported Heroku metrics to your Hosted Graphite account. Once those metrics start arriving, they are stored in Hosted Graphite and you can visualize them using Hosted Grafana - which comes standard for every account. This is also where monitoring Heroku becomes more interesting than simply watching dyno resource usage.
Your Heroku metrics can live alongside custom application metrics and metrics from other services you depend on (AWS, Azure, GCP, DigitalOcean). Instead of treating a high-memory worker, slow application, or busy database as separate problems, you can put those signals on the same dashboards and see how they relate. The goal isn't to collect every metric Heroku can produce. It's to have enough visibility to understand what changed when your application stops behaving normally.
The Hosted Graphite Heroku add-on gives you that visibility with very little setup, while still giving you Graphite and Grafana when you need to dig deeper.
Dyno Metrics
One of the most useful parts of Heroku monitoring is understanding how individual dynos are consuming resources. When Heroku runtime metrics are enabled, resource statistics are included in the application's log stream. Hosted Graphite parses these metrics and makes them available for supported Heroku process types. Some of the most useful dyno (web) metrics include:
- Memory quota: The amount of memory available to the dyno.
- Total memory: The total memory being consumed by the dyno. Tracking this over time can make gradual memory growth much easier to spot.
- RSS: Resident Set Size represents the portion of a process's memory currently held in RAM. This is a useful metric for understanding the actual memory footprint of your application processes.
- Swap: Memory that has been moved from RAM to disk. A small amount of swap isn't necessarily a problem, but sustained or increasing swap usage can be a sign that a dyno is under memory pressure.
Looking at these metrics together is much more useful than looking at any one of them in isolation. For example, if memory_rss steadily increases toward memory_quota while swap usage also starts climbing, that's a pretty good signal that the process deserves a closer look. You can also compare these metrics across different process types. Your web dynos may have perfectly normal memory usage while a background worker is slowly approaching its quota.

Handling Dyno Loads
Memory is only part of the picture. Heroku runtime metrics also provide load averages that help show how much work your dynos are trying to process. The common load metrics are:
- load_avg_1m
- load_avg_5m
- load_avg_15m
Looking at all three helps separate a quick spike from a sustained increase in load. If the 1-minute average jumps and quickly returns to normal, it may just be a temporary burst of work. If the 5 and 15-minute averages start climbing too, the dyno has been under load for a longer period.
What's considered "high" will depend on the process. A worker chewing through a large queue can look very different from a web dyno serving requests, so it's more useful to compare each process against its normal baseline. In Grafana, you can graph them separately or side-by-side to quickly see which processes are running hotter than usual.
More importantly, you can use Graphite metrics configure custom alerts for your Heroku dynos. With Hosted Graphite's Composite Alerting, you can combine multiple conditions into a single alert using AND / OR logic, and up to four conditions can be configured. This helps reduce alert fatigue by correlating multiple metric evaluations before triggering a notification. So instead of alerting on one noisy metric in isolation, composite alerts allow you to build higher-confidence alerts around overall service health.

Conclusion
With a Hosted Graphite solution, you can maximize your Heroku app monitoring and minimize maintenance burdens. You can use the product with simple configuration to gain in-depth insight into your infrastructure. If you would like to learn more about it, get on to our listing and install the addon today!


.png)
