NodeJS ランタイムメトリクス

NodeJS ランタイムメトリクス

この機能はクローズドベータ版です。ご使用のアカウントでこの機能を有効にするには、サポートチームまでお問い合わせください。

自動コンフィギュレーション

ランタイムメトリクスの収集は、トレースクライアントの設定パラメーターで、トレーサーオプション tracer.init({ runtimeMetrics: true }) または環境変数 DD_RUNTIME_METRICS_ENABLED=true を使用して有効にすることができます。

ランタイムメトリクスは、Node サービスと相関して表示できます。Datadog のサービス詳細画面を参照してください。

初期設定では、アプリケーションからのランタイムメトリクスは DogStatsD のポート 8125 から Datadog Agent に送信されます。DogStatsD が Agent に対して有効になっていることを確認してください。 Agent をコンテナとして実行している場合は、DD_DOGSTATSD_NON_LOCAL_TRAFFICtrue に設定されていること、また Agent 上でポート 8125 が開いていることを確認してください。 Kubernetes では、DogstatsD ポートをホストポートにバインドし、ECS ではタスク定義で適切なフラグを設定します。

収集データ

以下のメトリクスはランタイムメトリクスを有効にした後、デフォルトで収集されます。

runtime.node.cpu.user
(gauge)
CPU usage in user code
Shown as percent
runtime.node.cpu.system
(gauge)
CPU usage in system code
Shown as percent
runtime.node.cpu.total
(gauge)
Total CPU usage
Shown as percent
runtime.node.mem.rss
(gauge)
Resident set size
Shown as byte
runtime.node.mem.heap_total
(gauge)
Total heap memory
Shown as byte
runtime.node.mem.heap_used
(gauge)
Heap memory usage
Shown as byte
runtime.node.mem.external
(gauge)
External memory
Shown as byte
runtime.node.heap.total_heap_size
(gauge)
Total heap size
Shown as byte
runtime.node.heap.total_heap_size_executable
(gauge)
Total executable heap size
Shown as byte
runtime.node.heap.total_physical_size
(gauge)
Total physical heap size
Shown as byte
runtime.node.heap.used_heap_size
(gauge)
Used heap size
Shown as byte
runtime.node.heap.heap_size_limit
(gauge)
Heap size limit
Shown as byte
runtime.node.heap.malloced_memory
(gauge)
Malloced memory
Shown as byte
runtime.node.heap.peak_malloced_memory
(gauge)
Peak allocated memory
Shown as byte
runtime.node.heap.size.by.space
(gauge)
Heap space size
Shown as byte
runtime.node.heap.used_size.by.space
(gauge)
Heap space used size
Shown as byte
runtime.node.heap.available_size.by.space
(gauge)
Heap space available size
Shown as byte
runtime.node.heap.physical_size.by.space
(gauge)
Heap space physical size
Shown as byte
runtime.node.process.uptime
(gauge)
Process uptime
Shown as second
runtime.node.event_loop.delay.max
(gauge)
Maximum event loop delay
Shown as nanosecond
runtime.node.event_loop.delay.min
(gauge)
Minimum event loop delay
Shown as nanosecond
runtime.node.event_loop.delay.avg
(gauge)
Average event loop delay
Shown as nanosecond
runtime.node.event_loop.delay.sum
(rate)
Total event loop delay
Shown as nanosecond
runtime.node.event_loop.delay.median
(gauge)
Median event loop delay
Shown as nanosecond
runtime.node.event_loop.delay.95percentile
(gauge)
95th percentile event loop delay
Shown as nanosecond
runtime.node.event_loop.delay.count
(rate)
Event loop iterations count
Shown as execution
runtime.node.gc.pause.max
(gauge)
Maximum garbage collection pause
Shown as nanosecond
runtime.node.gc.pause.min
(gauge)
Minimum garbage collection pause
Shown as nanosecond
runtime.node.gc.pause.avg
(gauge)
Average garbage collection pause
Shown as nanosecond
runtime.node.gc.pause.sum
(rate)
Total garbage collection pause
Shown as nanosecond
runtime.node.gc.pause.median
(gauge)
Median garbage collection pause
Shown as nanosecond
runtime.node.gc.pause.95percentile
(gauge)
95th percentile garbage collection pause
Shown as nanosecond
runtime.node.gc.pause.count
(rate)
Number of garbage collections
Shown as garbage collection
runtime.node.gc.pause.by.type.max
(gauge)
Maximum garbage collection pause by type
Shown as nanosecond
runtime.node.gc.pause.by.type.min
(gauge)
Minimum garbage collection pause by type
Shown as nanosecond
runtime.node.gc.pause.by.type.avg
(gauge)
Average garbage collection pause by type
Shown as nanosecond
runtime.node.gc.pause.by.type.sum
(rate)
Total garbage collection pause by type
Shown as nanosecond
runtime.node.gc.pause.by.type.median
(gauge)
Median garbage collection pause by type
Shown as nanosecond
runtime.node.gc.pause.by.type.95percentile
(gauge)
95th percentile garbage collection pause by type
Shown as nanosecond
runtime.node.gc.pause.by.type.count
(rate)
Number of garbage collections by type
Shown as garbage collection
runtime.node.spans.finished
(gauge)
Number of finished spans held in memory
Shown as instance
runtime.node.spans.finished.by.name
(gauge)
Number of finished spans held in memory by span name
Shown as instance
runtime.node.spans.unfinished
(gauge)
Number of unfinished spans held in memory
Shown as instance
runtime.node.spans.unfinished.by.name
(gauge)
Number of unfinished spans held in memory by span name
Shown as instance
runtime.node.async.resources
(gauge)
Number of asynchronous resources held in memory
Shown as resource
runtime.node.async.resources.by.type
(gauge)
Number of asynchronous resources held in memory
Shown as resource

Datadog では、APM サービス詳細画面にこれらのメトリクスを表示し、これらのメトリクスに適用された service および runtime-id タグ付きのデフォルトの Node ランタイムダッシュボードを提供します。

その他の参考資料