es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

C# OpenTelemetry con Jaeger funciona en Simple pero no en Batch.

Tenemos un entorno de trabajo bastante funcional para realizar seguimiento mediante OpenTelemetry en Jaeger Tracing. Al parecer, leí que el método preferido para el proceso es “Batch” en lugar de “Simple”. Sin embargo, en el Framework .Net 4.8, parece que “Batch” no registra ningún resultado. Realicé una captura de datos de paquetes con Wireshark, pero no ocurre nada cuando se ejecuta en “Batch”.

¿Habría alguna configuración que falte para usar “ExportProcessorType.Batch” en lugar de “ExportProcessorType.Simple”?

“`csharp
public TracerProvider GetTracerProvider(string host, int port)
{<br />
BackendServiceResource = ResourceBuilder.CreateDefault()
.AddService(Process.GetCurrentProcess().ProcessName)<br />
.AddAttributes(new[]
{
new KeyValuePair<string, object="">("MachineName", Environment.MachineName),
new KeyValuePair<string, object="">("UserName", Environment.UserName),
});

<pre><code>return Sdk.CreateTracerProviderBuilder()
.SetResourceBuilder(BackendServiceResource)
.SetSampler(new AlwaysOnSampler())
.SetErrorStatusOnException(true)
.AddSource(ActivitySource.Name)
.AddConsoleExporter()
.AddJaegerExporter(jaeger =>
{
jaeger.AgentHost = host;
jaeger.AgentPort = port;

jaeger.MaxPayloadSizeInBytes = 4096;

jaeger.ExportProcessorType = ExportProcessorType.Simple;
jaeger.BatchExportProcessorOptions = new BatchExportProcessorOptions<activity>()
{
MaxQueueSize = 2048,
ScheduledDelayMilliseconds = 5000,
ExporterTimeoutMilliseconds = 30000,
MaxExportBatchSize = 512,
};
})
.Build();
</code></pre>

}
“`</string,></string,>

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que la configuración en el código proporcionado está configurada para exportar trazas utilizando ExportProcessorType.Simple en lugar de ExportProcessorType.Batch, lo cual podría ser la razón por la que el trazador no está funcionando como se esperaba. Para cambiar esto, la propiedad jeager.ExportProcessorType debe configurarse en ExportProcessorType.Batch en lugar de ExportProcessorType.Simple.

    Además, cabe señalar que las opciones proporcionadas en BatchExportProcessorOptions no se están utilizando porque solo son aplicables cuando se utiliza ExportProcessorType.Batch. Por lo tanto, si se realiza el cambio a ExportProcessorType.Batch, se utilizarán estas opciones y se pueden ajustar según sea necesario.

Comments are closed.