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

Integrate OpenTracing support #2085

Open
alexmiller-apple opened this issue Sep 10, 2019 · 3 comments
Open

Integrate OpenTracing support #2085

alexmiller-apple opened this issue Sep 10, 2019 · 3 comments

Comments

@alexmiller-apple
Copy link
Contributor

https://opentracing.io gives a way for the lifetime of an RPC to be traced across multiple components in a distributed system. Think of this as the full solution to what debug transactions try to provide. It's also the one debugging tool that I miss having.

This will require RPCs to forward a UUID identifying the overall trace, and to forward that UUID along with any subsequent RPCs they make as a result.

Once we do this, it'd also be good to allow a UUID to be passed in from the client API for a transaction, so layers using opentracing could get the full view into FDB of what happens with their requests.

@ryanworl
Copy link
Collaborator

Where would trace data be emitted to? New entries in the existing trace logs?

@alexmiller-apple
Copy link
Contributor Author

The variant of this I used before (I think) buffered RPC traces in memory, which were periodically pushed to the trace collection service. I imagine Zipkin does something similar, but I haven't looked.

I'd be somewhat concerned if the answer was they get dumped to a log file, as that would put a significant limiter on how many traces we could propagate information for.

@mfrw
Copy link

mfrw commented Feb 2, 2020

Just a humble opinion, instead of integrating with OpenTracing we should aim to integrate with OpenTelemetry.

tl;dr;

From the OpenTelemetry home page:

The leadership of OpenCensus and OpenTracing have come together to create OpenTelemetry, and it will supersede both projects. More details here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants