サンプリング
生成されるテレメトリの量を削減する
サンプリングは、システムによって生成されるトレースの量を制限するプロセスです。 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),
});
フィードバック
このページは役に立ちましたか?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!