-
Notifications
You must be signed in to change notification settings - Fork 527
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
Add Tracing Feature for Curve #2229
Comments
Hi @wu-hanqing, I would like to pick this up as part of GSOC 2023. Since the idea is there, should I focus on implementation in the proposal? |
Hi @kriti-sc, I am glad you are interested in this project. But, I think now there is only an idea, lack of a clear design plan, should we first discuss a plan, such as what framework / library to use, write demos to verify, etc. |
Hi @wu-hanqing. I agree with you. Since the idea is already there, I am working on an approach to resolve this issue. |
@kriti-sc Ok,feel free to try it. |
I want to try it. |
Of course, please note the timeline, and feel free to raise any ideas or questions you may have. |
Hi all- |
hi, OpenTracing and OpenCensus are merged into OpenTelemetry, so you can try this. |
Hi all, I will be withdrawing from this feature. I outline my initial thoughts below. This goal is to enable tracing in CurveBS and using the trace data, analyze the latency of IO requests. There are 3 components to building the solution: InstrumentationThis step would introduce methods to trace an IO request as it flows through the system into the codebase. I intend to use OpenTelemetry for it, as that is the standard today. OpenTracing (which you mention in the issue) has been subsumed by OpenTelemetry. OpenTelemetry has an API SDK in C++, so I intend to use that. The following are the different pieces to gathering trace data:
These three pieces of information put together are called a trace and give us an entire picture of the execution path of a request, along with how long each step took. Custom metrics can be added as well. Collecting instrumentation dataThe trace data is collected on the servers the application is running. It is then transported to a central system, where all the trace data from the multiple servers are brought to a single place. Analyzing instrumentation dataFor the purpose of analysis and visualization, we will use Jaeger again. Particularly the Jaeger Query feature. Some implementation considerations by @wu-hanqing:
|
Design docs and PR, Welcome to continue :) |
I want to try it. assign me |
@UniverseParticle Have you encountered any difficulties? |
its difficult, and it will be a hard issue in curve summer coding camp |
The text was updated successfully, but these errors were encountered: