Docs » Splunk Observability Cloud でサポートされているインテグレーション » バックエンドアプリケーションをインストルメンテーションして、スパンを Splunk APM に送信する » Splunk Observability Cloud に Node.js アプリケーションをインストルメンテーションする » Splunk Distribution of OTel JS によって収集されたメトリクスと属性

Splunk Distribution of OTel JS によって収集されたメトリクスと属性 🔗

Splunk Distribution of OpenTelemetry JS は、ランタイム・メトリクスとカスタムメトリクスを収集します。ランタイム・メトリクスの収集を有効にするには、メトリクスの設定 を参照してください。

メトリクスの種類については、メトリクスタイプ を参照してください。

メトリクス・コレクションを有効にする 🔗

Node.jsのメトリクスを収集するには、メトリクスの設定 を参照してください。

ランタイム・メトリクス 🔗

ランタイム・メトリクスを有効にするには、メトリクスの設定 を参照してください。次の例では、start メソッドに runtimeMetricsEnabled 引数を渡して、ランタイム・メトリクスを有効にする方法を示します:

const { start } = require('@splunk/otel');

start({
   serviceName: 'my-service',
   metrics: {
     runtimeMetricsEnabled: true,
   }
});

以下のランタイム・メトリクスが自動的に収集され、エクスポートされます:

メトリクス

タイプ

説明

process.runtime.nodejs.memory.heap.total

ゲージ

ヒープ合計(バイト単位)。process.memoryUsage().heapTotal から抽出。

process.runtime.nodejs.memory.heap.used

ゲージ

使用ヒープ(バイト単位)。process.memoryUsage().heapUsed から抽出。

process.runtime.nodejs.memory.rss

ゲージ

常駐設定のサイズ(バイト単位)。process.memoryUsage().rss から抽出。

process.runtime.nodejs.memory.gc.size

累積カウンター

ガベージコレクタが収集した合計(バイト単位)。

process.runtime.nodejs.memory.gc.pause

累積カウンター

ガベージコレクタが費やした時間(ナノ秒単位)。

process.runtime.nodejs.memory.gc.count

累積カウンター

ガベージコレクタの実行回数。

process.runtime.nodejs.event_loop.lag.max

ゲージ

収集間隔内の最大イベントループラグ(ナノ秒単位)。

process.runtime.nodejs.event_loop.lag.min

ゲージ

収集間隔内の最小イベントループラグ(ナノ秒単位)。

Node.js用SignalFxメトリクスからの移行 🔗

SignalFxクライアントライブラリからカスタムメトリクス・インストルメンテーションを移行するには、以下の手順に従ってください:

  1. getSignalFxClient の依存関係を opentelemetry/api-metrics に置き換え、start() を使用してメトリクス・コレクションを初期化します。例:

    // SignalFx
    const { start } = require('@splunk/otel');
    const { getSignalFxClient } = start({ serviceName: 'my-service' });
    

    以下のようになります:

    // OpenTelemetry
    const { start } = require('@splunk/otel');
    const { metrics } = require('@opentelemetry/api-metrics');
    
    start({
       serviceName: 'my-service',
       metrics: true, // activate metrics with default configuration
    });
    
  2. getSignalFxClient() への呼び出しをメトリクス・インスタンスに置き換えます。例:

    // SignalFx
    getSignalFxClient().send({
       gauges: [{ metric: 'cpu', value: 42, timestamp: 1442960607000}],
       cumulative_counters: [{ metric: 'clicks', value: 99, timestamp: 1442960607000}],
    })
    

    以下のようになります:

    // OpenTelemetry
    const meter = metrics.getMeter('my-meter');
    meter.createObservableGauge('cpu', result => {
       result.observe(42);
    });
    const counter = meter.createCounter('clicks');
    counter.add(99);
    

以前のメトリクス名 🔗

Splunk Distribution of OpenTelemetry JS のバージョン 2.0 のリリースに伴い、メトリクス名が OpenTelemetry の規約に合わせて変更されました。以下の表は、現在のメトリクス名と以前のメトリクス名の等価性を示しています。

現在のメトリクス名

旧メトリクス名

process.runtime.nodejs.memory.heap.total

nodejs.memory.heap.total

process.runtime.nodejs.memory.heap.used

nodejs.memory.heap.used

process.runtime.nodejs.memory.rss

nodejs.memory.rss

process.runtime.nodejs.memory.gc.size

nodejs.memory.gc.size

process.runtime.nodejs.memory.gc.pause

nodejs.memory.gc.pause

process.runtime.nodejs.memory.gc.count

nodejs.memory.gc.count

process.runtime.nodejs.event_loop.lag.max

nodejs.event_loop.lag.max

process.runtime.nodejs.event_loop.lag.min

nodejs.event_loop.lag.min

デバッグ・メトリクス 🔗

デバッグメトリクスを有効にするには、メトリクスの設定 を参照してください。デバッグメトリクスは、内部のデバッグ目的および Splunk カスタマーサポートへのデータ提供に使用されます。

次の例では、start メソッドに debugMetricsEnabled 引数を渡して、ランタイム・メトリクスを有効にする方法を示します:

const { start } = require('@splunk/otel');

start({
   serviceName: 'my-service',
   metrics: {
     debugMetricsEnabled: true,
   }
});

以下のランタイム・メトリクスが自動的に収集され、エクスポートされます:

メトリクス

タイプ

説明

splunk.profiler.cpu.start.duration

ヒストグラム

新しいV8プロファイリングを始める時間。

splunk.profiler.cpu.stop.duration

ヒストグラム

新しいV8プロファイリングの実行を止める時間。

splunk.profiler.cpu.process.duration

ヒストグラム

スパンアクティベーションをスタックトレースと照合し、最終出力を構築するのにかかった時間。

splunk.profiler.heap.collect.duration

ヒストグラム

V8プロファイラでアロックスプロファイルを提供する時間。

splunk.profiler.heap.process.duration

ヒストグラム

コールグラフを走査し、アロケーションサンプルからスタックトレースを構築する時間。

This page was last updated on 2023年11月10日.