Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No longer able to view our Jaeger traces in Helidon v3 as we did in Helidon v2 #7009

Closed
RickyFrost opened this issue Jun 15, 2023 · 4 comments
Assignees
Labels
3.x Issues for 3.x version branch P2 tracing
Milestone

Comments

@RickyFrost
Copy link

RickyFrost commented Jun 15, 2023

We added helidon-tracing-jaeger dependency to Helidon v3, and we're not able to see our traces in Jaeger viewer. Either they aren't getting there, or not being understood when they get there, but no way to tell.

Environment Details

  • Helidon Version: 3.2.1 SE
  • JDK version: 17.0.5
  • OS: OL7
  • Docker version (if applicable): n/a

Problem Description

Our project on helidon v2 uses application.yaml to provide tracing configuration that works with our Jaeger viewer. On helidon v3, we no longer see our traces in the viewer. Either the traces aren't being sent, or not being understood by the viewer, or the configuration needs to be changed in some way...

Steps to reproduce

See instructions in the "All in one" section about setting up your own local Jaeger viewer:
https://www.jaegertracing.io/docs/1.22/getting-started/
We use port 14268 to accept jaeger-thrift directly.

Our application yaml looks like this:

tracing:
  service: "example"
  enabled: true
  log-spans: false
  global: true
  protocol: "http"
  host: "localhost"
  port: 14268
  path: "/api/traces"
  propagation: "b3"
  sampler-type: "const"
  sampler-param: 1

And creating a trivial trace looks like this:

    @Test void traceCanary() {
        final var tracer = io.helidon.tracing.Tracer.global();
        final var span = tracer.spanBuilder("SpanCurrentTest::traceCanary").start();
        System.out.println(">>> The viewer should be able to locate this trace: "+span.context().traceId());
        span.end();
    }
@RickyFrost
Copy link
Author

RickyFrost commented Jun 15, 2023

p.s. the test above has a beforeAll that does the following:
io.helidon.tracing.TracerBuilder.create(Config.create().get("tracing")).build();

@dalexandrov
Copy link
Contributor

There some incompatible changes in Jaeger, which are also addressed in Helidon 3.
The the main difference for Jaeger support between Helidon 3 and Helidon 2 is that in 2.x we were using jaeger.thrift format on port 14268 and in 3.x we work with model.proto on port 14250 .

Please try to apply the following configuration:

tracing:
  service: "example"
  enabled: true
  log-spans: false
  global: true
  protocol: "http"
  host: "localhost"
  port: 14250
  path: "/api/traces"
  propagation: "b3"
  sampler-type: "const"
  sampler-param: 1

You may test it with Jaeger all-in-one docker image.

A sample project is attached:
opentracing.zip

@dalexandrov dalexandrov self-assigned this Jun 16, 2023
@dalexandrov dalexandrov added tracing 3.x Issues for 3.x version branch labels Jun 16, 2023
@dalexandrov dalexandrov added the P2 label Jun 16, 2023
@RickyFrost
Copy link
Author

RickyFrost commented Jun 16, 2023

Changing the port to 14250 (from 14268) allows me to see the spans I create in the Jaeger viewer. Thanks, and looking forward to seeing this simple change documented in future versions of the helidon docs.

@RickyFrost
Copy link
Author

Thanks again

@dalexandrov dalexandrov added this to the 3.2.2 milestone Jun 27, 2023
@m0mus m0mus added this to Backlog Aug 12, 2024
@m0mus m0mus moved this to Closed in Backlog Aug 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3.x Issues for 3.x version branch P2 tracing
Projects
Archived in project
Development

No branches or pull requests

2 participants