---
title: "In the Cloud, No One Can Hear Your OutOfMemoryError"
description: "Heroku introduces Heroku Exec and Language Runtime Metrics to improve production monitoring, inspection, and debugging for applications running on dynos. Heroku Exec creates secure TCP and SSH tunnels for SSH sessions, port forwarding, remote debugging, and diagnostic tools, while the Heroku Java CLI integrates jmap and VisualVM. A synthetic Java memory-leak example shows VisualVM tracking heap growth and jmap producing a downloadable HPROF heap dump that Eclipse Memory Analyzer identifies as Servlet-held FakeLeak objects. The metrics feature, enabled through the Heroku Metrics buildpack on paid Standard-or-above dynos, displays heap, non-heap, and garbage-collection activity in the dashboard through a Java agent using Prometheus; JVM-language support is generally available, while Go support is in beta."
---

# In the Cloud, No One Can Hear Your OutOfMemoryError

[Heroku](https://yomu.fyi/company/heroku) · Joe Kutner · Oct 2, 2017

**Type:** Announcement

## Summary

Heroku introduces Heroku Exec and Language Runtime Metrics to improve production monitoring, inspection, and debugging for applications running on dynos. Heroku Exec creates secure TCP and SSH tunnels for SSH sessions, port forwarding, remote debugging, and diagnostic tools, while the Heroku Java CLI integrates jmap and VisualVM. A synthetic Java memory-leak example shows VisualVM tracking heap growth and jmap producing a downloadable HPROF heap dump that Eclipse Memory Analyzer identifies as Servlet-held FakeLeak objects. The metrics feature, enabled through the Heroku Metrics buildpack on paid Standard-or-above dynos, displays heap, non-heap, and garbage-collection activity in the dashboard through a Java agent using Prometheus; JVM-language support is generally available, while Go support is in beta.

## Context

Applications deployed in the cloud cannot be inspected or repaired directly, so debugging depends on instrumentation, telemetry, and remote controls included before deployment. The post addresses the need for production monitoring and tools for diagnosing issues such as a Java memory leak.

## Approach / What changed

Heroku adds Heroku Exec for secure TCP and SSH tunnels into dynos, integrates Java diagnostic tools into the Heroku CLI, and provides Language Runtime Metrics through the Heroku Metrics buildpack. The metrics use a Java agent with Prometheus and expose runtime data in the Heroku Dashboard.

## Takeaways

- Heroku Exec enables SSH sessions, port forwarding, remote debugging, and diagnostic tools through secure TCP and SSH tunnels into a running dyno.
- VisualVM can show that memory-leak growth is confined to heap memory, while jmap downloads an HPROF heap dump for analysis in Eclipse Memory Analyzer.
- Language Runtime Metrics report heap, non-heap, and garbage-collection activity; JVM-language support is generally available and Go support is in beta.

**Tags:** [Heroku](https://yomu.fyi/topic/heroku), [Java](https://yomu.fyi/topic/java), [Prometheus](https://yomu.fyi/topic/prometheus)

- Source: [Heroku](https://www.heroku.com/blog/in-the-cloud-no-one-can-hear-your-outofmemoryerror)
- Source URL: https://www.heroku.com/blog/in-the-cloud-no-one-can-hear-your-outofmemoryerror
- Ingested by Yomu: 2026-09-09T14:25:38.027Z

[Read original post](https://www.heroku.com/blog/in-the-cloud-no-one-can-hear-your-outofmemoryerror)
