So I'm trying send OpenTelemetry trace back to Jaeger. I've tried sending the traces to console and it works. But I'm not getting anything when sending it to Jaeger.
builder.Services.AddOpenTelemetryTracing(b =>
{
b.SetResourceBuilder(ResourceBuilder.CreateDefault().AddService("ServiceA"))
.AddSource("TelemetryDemo")
.AddHttpClientInstrumentation()
.AddAspNetCoreInstrumentation()
.AddOtlpExporter(o =>
{
o.Endpoint = new Uri("http://localhost:4317");
o.ExportProcessorType = ExportProcessorType.Simple;
})
.AddConsoleExporter();
});
I'm running Jaeger's All-in-One from Docker hub: https://hub.docker.com/r/jaegertracing/all-in-one
This is the command that I'm running:
docker run -d --name jaeger -p 16686:16686 -p 6831:6831/udp -p 4317:4317 -p 55680:55680 jaegertracing/all-in-one
The traces is showing on the console, but when I open Jaeger's dashboard, I got nothing. What is wrong here?
Edit: Figured it out. Jaeger has 2 Docker images: one that is Otel-compliant, and one that is not. In this question I was using the one that is not, so that is why the Otlp Exporter did not work.
I have since changed to use the OTel-compliant image in https://hub.docker.com/r/jaegertracing/opentelemetry-all-in-one/ (notice this one has "OTEL" name in it)