le-tf-infra-aws icon indicating copy to clipboard operation
le-tf-infra-aws copied to clipboard

Feature | Distributed tracing w/ jaeger + opencensus collector + Demo-App

Open exequielrafaela opened this issue 4 years ago • 2 comments
trafficstars

What?

  • Add to our demo apps distributed tracing w/ jaeger + opencensus collector

Summary

  1. Deploy jaeger & opencensus collector via helm + helmsman
  2. Configure and enable the nginx ingress controller (https://github.com/kubernetes/ingress-nginx) to start the tracing.
  3. Instrument demo apps to trace (mostly intended for the Dev team, will be doing it here though); we'll need to add the necessary libraries to the apps in oder to allow them "participate" in the tracing flow.

Considerations

opencensus collector is the component that captures the data (similar to elasticsearch) and jaeger provides us with a UI (similar to kibana) so as to visualize the tracing.

Reference Articles

  • https://kinvolk.io/blog/2019/09/a-shallow-dive-into-distributed-tracing/
  • https://speakerdeck.com/gianarb/distributed-tracing-faq
  • https://www.kartar.net/2019/07/intro-to-distributed-tracing/

exequielrafaela avatar May 05 '21 17:05 exequielrafaela

@exequielrafaela At implementation time we should consider using OpenTelemetry instead of OpenCensus. Here's a quote from Linkerd's documentation on that line:

...OpenCensus project is in maintenance mode and will become part of OpenTelemetry.

Source: https://linkerd.io/2.10/tasks/distributed-tracing/

Right now, OpenTelemetry's specification is at version 1.0 (https://medium.com/opentelemetry/opentelemetry-specification-v1-0-0-tracing-edition-72dd08936978) so there's still time before a stable release is out; however, we may want to check again in the future.

diego-ojeda-binbash avatar May 05 '21 17:05 diego-ojeda-binbash

@exequielrafaela At implementation time we should consider using OpenTelemetry instead of OpenCensus. Here's a quote from Linkerd's documentation on that line:

...OpenCensus project is in maintenance mode and will become part of OpenTelemetry.

Source: https://linkerd.io/2.10/tasks/distributed-tracing/

Right now, OpenTelemetry's specification is at version 1.0 (https://medium.com/opentelemetry/opentelemetry-specification-v1-0-0-tracing-edition-72dd08936978) so there's still time before a stable release is out; however, we may want to check again in the future.

@diego-ojeda-binbash OJ thanks for your quick feedback and valuable contribution to this issue. Much appreciated 💪🏼

exequielrafaela avatar May 05 '21 17:05 exequielrafaela