サンプリング

生成されるテレメトリの量を削減する

このページの内容は古くなっている可能性があり、一部のリンクが無効になっている場合があります。 このページのより新しいバージョンが 英語版にあります。

詳細情報 ...

このページが最後に更新されてからの英語ページの変更を確認するには、 GitHub compare 6f3712c5..c0af68cd にアクセスし、content/en/docs/languages/js/sampling.md を検索してください。

サンプリングは、システムによって生成されるトレースの量を制限するプロセスです。 JavaScript SDKでは、いくつかのヘッドサンプラーが提供されています。

デフォルトの動作

デフォルトでは、すべてのスパンがサンプリングされ、つまり100%のトレースがサンプリングされます。 データ量を管理する必要がない場合は、サンプラーの設定は不要です。

TraceIDRatioBasedSampler

サンプリングを行う際に最も一般的に使用されるヘッドサンプラーは、TraceIdRatioBasedSamplerです。 このサンプラーは、パラメーターとして渡される割合のトレースを決定論的にサンプリングします。

環境変数

TraceIdRatioBasedSamplerは環境変数で設定できます。

export OTEL_TRACES_SAMPLER="traceidratio"
export OTEL_TRACES_SAMPLER_ARG="0.1"

これにより、SDKはスパンをサンプリングし、トレースの10%のみが作成されるよう指定します。

Node.js

TraceIdRatioBasedSamplerはコードでも設定できます。Node.jsの例は以下の通りです。

import { TraceIdRatioBasedSampler } from '@opentelemetry/sdk-trace-node';

const samplePercentage = 0.1;

const sdk = new NodeSDK({
  // その他のSDK設定パラメータをここに記述
  sampler: new TraceIdRatioBasedSampler(samplePercentage),
});
const { TraceIdRatioBasedSampler } = require('@opentelemetry/sdk-trace-node');

const samplePercentage = 0.1;

const sdk = new NodeSDK({
  // その他のSDK設定パラメータをここに記述
  sampler: new TraceIdRatioBasedSampler(samplePercentage),
});

ブラウザ

TraceIdRatioBasedSamplerはコードでも設定できます。 ブラウザアプリケーションの例は以下の通りです。

import {
  WebTracerProvider,
  TraceIdRatioBasedSampler,
} from '@opentelemetry/sdk-trace-web';

const samplePercentage = 0.1;

const provider = new WebTracerProvider({
  sampler: new TraceIdRatioBasedSampler(samplePercentage),
});
const {
  WebTracerProvider,
  TraceIdRatioBasedSampler,
} = require('@opentelemetry/sdk-trace-web');

const samplePercentage = 0.1;

const provider = new WebTracerProvider({
  sampler: new TraceIdRatioBasedSampler(samplePercentage),
});