-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Upgrade HotROD example to use OpenTelemetry SDK #3380
Comments
Will try to work on that during the next weekend. |
Before jumping right into the code I have been studying the opentelemetry go API. Given that the notion of logs is not complete in opentelemetry yet but is something used in Jaeger, I wanted to make sure we have a strategy to migrate what is currently 'logged' in HotROD to what in opentelemetry is called an 'Event'. Is this a good understanding? The only other option in open telemetry is to use Attributes (key-value) which are what in jaeger-client we call Tags. in the article there is also a section that describes the difference between tags vs Logs. |
Let me clarify - at this time our intention is not to upgrade everything to OTEL API, but keep OT instrumentation and use OT-to-OTEL bridge to replace Jaeger SDK with OTEL SDK. Therefore your question is not relevant because that decision will be made by the bridge. |
Copy that! I'm glad I asked the question! 😄 |
Based on earlier PR #3390 by @rbroggi. ## Which problem is this PR solving? - Resolves #3380 ## Short description of the changes - Switch from jaeger-client-go SDK to OTel SDK paired with ot-otel bridge - Add cli flag to select which Otel Exporter to use (Jaeger, OTLP or stdout) - Add favicon 🚗 - Added OTEL version of rpcmetrics from jaeger-client-go - Remove dependency on github.com/uber/jaeger-lib in HotROD (addresses one of outstanding tasks in #3766) --------- Signed-off-by: rbroggi <[email protected]> Signed-off-by: Yuri Shkuro <[email protected]> Co-authored-by: rbroggi <[email protected]>
Based on earlier PR jaegertracing#3390 by @rbroggi. ## Which problem is this PR solving? - Resolves jaegertracing#3380 ## Short description of the changes - Switch from jaeger-client-go SDK to OTel SDK paired with ot-otel bridge - Add cli flag to select which Otel Exporter to use (Jaeger, OTLP or stdout) - Add favicon 🚗 - Added OTEL version of rpcmetrics from jaeger-client-go - Remove dependency on github.com/uber/jaeger-lib in HotROD (addresses one of outstanding tasks in jaegertracing#3766) --------- Signed-off-by: rbroggi <[email protected]> Signed-off-by: Yuri Shkuro <[email protected]> Co-authored-by: rbroggi <[email protected]>
Based on earlier PR jaegertracing#3390 by @rbroggi. ## Which problem is this PR solving? - Resolves jaegertracing#3380 ## Short description of the changes - Switch from jaeger-client-go SDK to OTel SDK paired with ot-otel bridge - Add cli flag to select which Otel Exporter to use (Jaeger, OTLP or stdout) - Add favicon 🚗 - Added OTEL version of rpcmetrics from jaeger-client-go - Remove dependency on github.com/uber/jaeger-lib in HotROD (addresses one of outstanding tasks in jaegertracing#3766) --------- Signed-off-by: rbroggi <[email protected]> Signed-off-by: Yuri Shkuro <[email protected]> Co-authored-by: rbroggi <[email protected]> Signed-off-by: shubbham1215 <[email protected]>
## Which problem is this PR solving? Related to #3380 Part of #3381 - This adds `OTEL tracerProvider` and removes `OT tracer` for Redis service hotROD app Before: ![r2](https://github.com/jaegertracing/jaeger/assets/11625672/446d03b9-2da0-47b2-9312-b8bc86c7e78a) After: ![r1](https://github.com/jaegertracing/jaeger/assets/11625672/ed3f2ca6-7a01-4ab2-a13c-56c1f3388fe6) --------- Signed-off-by: afzal442 <[email protected]> Co-authored-by: Afzal <[email protected]>
## Which problem is this PR solving? Related to jaegertracing#3380 Part of jaegertracing#3381 - This adds `OTEL tracerProvider` and removes `OT tracer` for Redis service hotROD app Before: ![r2](https://github.com/jaegertracing/jaeger/assets/11625672/446d03b9-2da0-47b2-9312-b8bc86c7e78a) After: ![r1](https://github.com/jaegertracing/jaeger/assets/11625672/ed3f2ca6-7a01-4ab2-a13c-56c1f3388fe6) --------- Signed-off-by: afzal442 <[email protected]> Co-authored-by: Afzal <[email protected]> Signed-off-by: KevinSchneider <[email protected]>
## Which problem is this PR solving? Related to #3380 Part of #3381 ## Short description of the changes - This PR adds OTEL instrumentation to customer svc --------- Signed-off-by: Afzal Ansari <[email protected]>
## Which problem is this PR solving? - Part of #3380 ## Short description of the changes - Move explicit baggage access into a util func that checks both OT and OTEL baggage. Later the OT part can be retired completely. - Update usage sites to use the new function instead of OT `Span.BaggageItem` A couple of less related changes in `tracing/mutex.go`: - Use OTEL Span API instead of OT - Replace direct-to-span logging with the regular logger that logs both to stdout and to the span Signed-off-by: Yuri Shkuro <[email protected]>
## Which problem is this PR solving? Related to jaegertracing#3380 Part of jaegertracing#3381 ## Short description of the changes - This PR adds OTEL instrumentation to customer svc --------- Signed-off-by: Afzal Ansari <[email protected]>
## Which problem is this PR solving? - Part of jaegertracing#3380 ## Short description of the changes - Move explicit baggage access into a util func that checks both OT and OTEL baggage. Later the OT part can be retired completely. - Update usage sites to use the new function instead of OT `Span.BaggageItem` A couple of less related changes in `tracing/mutex.go`: - Use OTEL Span API instead of OT - Replace direct-to-span logging with the regular logger that logs both to stdout and to the span Signed-off-by: Yuri Shkuro <[email protected]> Signed-off-by: Afzal Ansari <[email protected]>
## Which problem is this PR solving? * Part of #3380 * This PR tries to instrument the hotROD app with otel downgrading opentracing. Related #4533 (comment) ## Short description of the changes - Upgrades hotROD application to support `otel tracer` --------- Signed-off-by: Afzal Ansari <[email protected]> Signed-off-by: afzal442 <[email protected]> Signed-off-by: Afzal <[email protected]> Co-authored-by: Afzal <[email protected]>
getting close to completing this |
## Which problem is this PR solving? - Part of #3380 Signed-off-by: Yuri Shkuro <[email protected]>
## Which problem is this PR solving? Since the HotROD UI does not start traces, it can only search for a trace corresponding to a particular request by some span tags. This makes the experience of opening a trace a big clunky as we first see the search page with one trace, and then have to click on the trace again. Related to #3380 ## Short description of the changes Change the HTTP instrumentation to always generate a `traceresponse` header per the [current W3C draft](https://github.com/w3c/trace-context/blob/main/spec/21-http_response_header_format.md). Then parse the trace ID from that header in the UI and generate a hyperlink to open the trace view directly, bypassing the search. --------- Signed-off-by: Yuri Shkuro <[email protected]>
The only remaining references to opentracing are in documentation files, still need to clean them up:
|
Resolves #3380 Signed-off-by: Yuri Shkuro <[email protected]>
Per #3362
examples/hotrod/pkg/tracing/rpcmetrics/
The text was updated successfully, but these errors were encountered: