You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Many existing tracing libraries are powerful, easy-to-use, and convenient to integrate with other existing components. Unfortunately, almost none of them perform well in terms of performance. For that, lightweight, efficient, and performant tracing libraries for both TiKV and TiDB need to be developed to meet performance requirements. Hopefully, runtime information will be collected constantly so that details of uncommon problems can be caught.
investigate cost of time measure with different clock sources
design docs
Apply to Codebase
After finishing library development, applying the library to the codebase is the next work to do.
Apply to TiKV
collect tracing demands from TiKV: docs (in Chinese)
put tracing points to procedures wanted to trace (WIP)
handle old async codes of producer/consumer model (WIP)
Apply to TiDB
Full Integration
Without intervention, all tracing results only reside in memory. However, tracing results of requests associated with a SQL statement or a transaction always need some ways to collect when we intend to show them. These following questions may be of interest to us:
How, when, and where to store them?
How to fetch them?
Due to the size of tracing results is not small commonly, I/O is always a difficult problem we have to face. It will have a cost that cannot be ignored whether results are persisted to disks or transmitted through the network. Therefore, careful design and meticulous tests are most needed here.
In order to maximize the usability of tracing, a user-friendly UI is essential. People can visually see what's happening during the execution of a SQL statement / a transaction intuitively.
UX/UI design
Frontend implementation
Data fetching and integration
The text was updated successfully, but these errors were encountered:
Related Feature Request
#552, pingcap/tidb#17693
Library Development
Many existing tracing libraries are powerful, easy-to-use, and convenient to integrate with other existing components. Unfortunately, almost none of them perform well in terms of performance. For that, lightweight, efficient, and performant tracing libraries for both TiKV and TiDB need to be developed to meet performance requirements. Hopefully, runtime information will be collected constantly so that details of uncommon problems can be caught.
Apply to Codebase
After finishing library development, applying the library to the codebase is the next work to do.
Full Integration
Without intervention, all tracing results only reside in memory. However, tracing results of requests associated with a SQL statement or a transaction always need some ways to collect when we intend to show them. These following questions may be of interest to us:
Due to the size of tracing results is not small commonly, I/O is always a difficult problem we have to face. It will have a cost that cannot be ignored whether results are persisted to disks or transmitted through the network. Therefore, careful design and meticulous tests are most needed here.
User Interface
In order to maximize the usability of tracing, a user-friendly UI is essential. People can visually see what's happening during the execution of a SQL statement / a transaction intuitively.
The text was updated successfully, but these errors were encountered: