言語ランタイムメトリクス
この記事の英語版に更新があります。ご覧の翻訳には含まれていない変更点があるかもしれません。
最終更新日 2022年11月28日(月)
Table of Contents
メモリのヘルスに関する追加の洞察を提供するために、オプションで言語固有のランタイムメトリクスを提供しています。JVM、Go (パブリックベータ)、Node.js (パブリックベータ)、および Ruby (パブリックベータ) が現時点でサポートされています。
一般的な情報
すべてのメトリクスの単位は選択したタイムフレームに依存します。メトリクスの保持および単位についての詳細は、アプリケーション関連のメトリクスのドキュメントを参照してください。
言語ランタイムメトリクスは、eco
dyno を除いた、サポートされている言語を使用するすべての dyno で利用できます。
設定手順
まず、アプリケーションで 「Language Metrics」 (言語メトリクス) フラグを有効にします。これは、ダッシュボードまたは CLI を使用して実行できます。これをダッシュボードから有効にするには、メトリクスの環境設定パネルを開き、「Enhanced Language Metrics」 (拡張言語メトリクス) トグルを有効にします。
Heroku CLI から有効にするには、次のようにします。
$ heroku labs:enable "runtime-heroku-metrics" -a "my-app-name"
このトグルは、アプリケーションによってエクスポートされている言語固有のメトリクスをすべて収集して報告するよう、メトリクス収集バックエンドに通知します。言語によっては、これらのメトリクスをデータ収集サービスにエクスポートするために、いくつか追加の手順を実行することが必要な場合があります。
メトリクスのエクスポートの詳しい手順と、利用可能なメトリクスについての詳細は、言語固有のドキュメントを参照してください。
- JVM ランタイムメトリクス
- Go 言語メトリクス (パブリックベータ)
- Ruby 言語メトリクス (パブリックベータ)
- Node.js 言語メトリクス (パブリックベータ)
パイプラインでの使用
Heroku パイプラインで言語ランタイムメトリクスを使用するには、パイプラインの最も下流に位置するアプリ (プロモートする前にデプロイするアプリ) で設定手順に従う必要があります。その後、プロモートする前に、パイプラインの上流に位置するすべてのアプリのメトリクスダッシュボードで機能を有効にする必要があります。
ダウンストリームアプリが Eco 層のアプリである場合は、メトリクスダッシュボードでの機能の有効化を除くすべての設定手順に従う必要があります (たとえば、buildpack または新しい依存関係をアプリに引き続き追加する必要があります)。この機能は Eco アプリでは動作しませんが、プロモートすれば、下流の他のすべての dyno タイプで機能を使用できるようになります。
サンプルメトリクス
メトリクス収集の無効化
何らかの理由で追加言語のデータ収集を中止する場合は、「Metrics Preferences」 (メトリクスの環境設定) パネルから、または次の CLI コマンドを使用して 「Enhanced Language Metrics」 (詳細な言語関連のメトリクス) トグルをオフにします。
$ heroku labs:disable "runtime-heroku-metrics" -a "my-app-name"
このフラグを無効にしている期間中はメトリクスデータの欠落が生じることに注意してください。