Aka*_*rma 1 typescript zipkin nestjs distributed-tracing open-telemetry
我正在使用 opentelemetry 来检测 Nest js 应用程序。假设要发出的请求数量很大。那么我们如何指定要收集的痕迹数量呢?
小智 5
采样是一种通过减少收集并发送到后端的跟踪样本数量来控制 OpenTelemetry 引入的噪声和开销的机制。
你需要TraceIdRatioBasedSampler这个。创建时TracerProvider您可以为其指定采样器。可用采样器的列表是:
AlwaysOnSamplerAlwaysOffSamplerTraceIdRatioBasedSamplerParentBasedAlwaysOnSamplerParentBasedAlwatsOffSamplerParentBasedTraceIdRatioBasedSampler您可以在这里阅读有关它们的更多信息。例如,如果您想收集 100 个跟踪中的 1 个,那么您将必须执行类似的操作。
const samplingRate = 1/100;
const { NodeTracerProvider } = require("@opentelemetry/node");
const { TraceIdRatioBasedSampler } = require("@opentelemetry/core");
const tracerProvider = new NodeTracerProvider({
sampler: new TraceIdRatioBasedSampler(samplingRate)
});
Run Code Online (Sandbox Code Playgroud)
PS:您还可以通过扩展Sampler和实现您自己的shouldSample.
| 归档时间: |
|
| 查看次数: |
885 次 |
| 最近记录: |