Language Runtime Metrics
Last updated 20 February 2019
Table of Contents
To provide additional insights into memory health we offer optional language-specific runtime metrics. JVM, Go (public beta), Node.js (public beta), and Ruby (public beta) are currently supported, with additional languages planned to roll out in the future.
For all metrics the resolution is dependent on the timeframe selected. More information on metrics retention and resolution is available in the Application Metrics docs.
Language runtime metrics are available for all paid dynos (Hobby and above) and Private Spaces using the supported languages.
First, enable the Language Metrics flag on your application. You can do this via the Dashboard or the CLI. To enable it through Dashboard, open the metrics preferences panel and turn on the Enhanced Language Metrics toggle:
Alternatively, to enable it through the Heroku CLI:
$ heroku labs:enable "runtime-heroku-metrics" -a "my-app-name"
This toggle will inform our metrics collection backend that it should collect and report any language specific metrics that are being exported by your application. Depending on the language, there may be some additional steps you must take to have these metrics exported to our data collection service.
Please see the language-specific documentation for detailed instructions on exporting your metrics and for more information regarding our available metrics:
- JVM runtime metrics
- Go language metrics (public beta)
- Ruby language metrics (public beta)
- Node.js language metrics (public beta)
Using with Pipelines
To use language runtime metrics with Heroku Pipelines, you must follow the setup instructions for the most downstream app in the pipeline (the one you deploy to before promoting). Then you must enable the feature in the metrics dashboard of any upstream apps in the pipeline before promoting.
If your downstream app is a Free tier app, you must follow all of the setup instructions except enabling the feature in the Metrics Dashboard (for example, you must still add a buildpack or a new dependency to the free app). The feature will not work on the Free app, but any paid dynos downstream will be ready to use the feature once you promote.
Disabling Metrics Collection
If for any reason you would like to stop data collection for additional languages, simply toggle off the Enhanced Language Metrics toggle via the Metrics Preferences panel, or using this CLI command:
$ heroku labs:disable "runtime-heroku-metrics" -a "my-app-name"
Keep in mind that there will be gaps in metrics data for any time period that this flag is disabled.