概要
Go サービスのメモリ使用量を追跡し、Go の expvar パッケージから計測されたメトリクスを収集します。
dogstats-go のみを使用して Go コードを計測する場合でも、このインテグレーションを使用して、メモリ関連のメトリクスを収集できます。
セットアップ
インストール
Go Expvar チェックは Agent にパッケージ化されているため、メトリクスを収集するには、Go サービスを実行している場所に Agent をインストールします。
構成
サービスの準備
Go サービスで expvar パッケージをまだ使用していない場合は、これをインポートします (import "expvar"
)。expvar を使用して独自のメトリクスを計測しない場合 (サービスのメモリメトリクスのみを収集する場合) は、空の識別子を使用してパッケージをインポートします (import _ "expvar"
)。サービスがまだ (http パッケージを使用して) HTTP リクエストをリスニングしていない場合は、ローカルで Datadog Agent のみをリスニングするように設定します。
コンテナ化
コンテナ環境の場合は、オートディスカバリーのインテグレーションテンプレートのガイドを参照して、次のパラメーターを適用してください。
パラメーター | 値 |
---|
<INTEGRATION_NAME> | go_expvar |
<INIT_CONFIG> | 空白または {} |
<INSTANCE_CONFIG> | {"expvar_url": "http://%%host%%:8080"} |
検証
Agent の status サブコマンドを実行し、Checks セクションの go_expvar
を探します。
収集データ
メトリクス
go_expvar.memstats.alloc (gauge) | Bytes allocated and not yet freed Shown as byte |
go_expvar.memstats.frees (gauge) | Number of frees Shown as operation |
go_expvar.memstats.heap_alloc (gauge) | Bytes allocated and not yet freed Shown as byte |
go_expvar.memstats.heap_idle (gauge) | Bytes in idle spans Shown as byte |
go_expvar.memstats.heap_inuse (gauge) | Bytes in non-idle spans Shown as byte |
go_expvar.memstats.heap_objects (gauge) | Total number of allocated objects Shown as item |
go_expvar.memstats.heap_released (gauge) | Bytes released to the OS Shown as byte |
go_expvar.memstats.heap_sys (gauge) | Bytes obtained from system Shown as byte |
go_expvar.memstats.lookups (gauge) | Number of pointer lookups Shown as operation |
go_expvar.memstats.mallocs (gauge) | Number of mallocs Shown as operation |
go_expvar.memstats.num_gc (gauge) | Number of garbage collections Shown as garbage collection |
go_expvar.memstats.pause_ns.95percentile (gauge) | 95th percentile of recent GC pause durations Shown as nanosecond |
go_expvar.memstats.pause_ns.avg (gauge) | Average of recent GC pause durations Shown as nanosecond |
go_expvar.memstats.pause_ns.count (rate) | Number of submitted GC pause durations Shown as sample |
go_expvar.memstats.pause_ns.max (gauge) | Max GC pause duration Shown as nanosecond |
go_expvar.memstats.pause_ns.median (gauge) | Median GC pause duration Shown as nanosecond |
go_expvar.memstats.pause_total_ns (gauge) | Total GC pause duration over lifetime of process Shown as nanosecond |
go_expvar.memstats.total_alloc (gauge) | Bytes allocated (even if freed) Shown as byte |
go_expvar.memstats.total_alloc.count (count) | Bytes allocated (even if freed) as monotonic count Shown as byte |
イベント
Go-Expvar チェックには、イベントは含まれません。
サービスチェック
Go-Expvar チェックには、サービスのチェック機能は含まれません。
トラブルシューティング
ご不明な点は、Datadog のサポートチームまでお問い合わせください。
その他の参考資料