Track total transaction latency in clients
- Dominant language
- C++
- Stars
- 16.7k
- Forks
- 1.6k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 126
Description
We measure latencies for GRV, read, and commit requests for our transactions, but we don't have any accounting for total transaction latency (time from first operation to last). This isn't necessarily something that is actionable by itself, simply because the client application could be doing any number of things with their transaction in between operations, but it's still probably a useful barometer to see if any server side changes are having significant impacts on overall transaction latency.
The clients do have a limited view of this currently, in that they publish mean, median, 90th and 98th percentile, and max total transaction latency for write transactions. We should also try to capture latencies for read-only transactions and report them in some useful way.
Additionally, we may want to include details about these latencies in the client transaction sample.
Contributor guide
Research direction
Start by tracing the existing client latency accounting for GRV, read, commit, and write-transaction requests. Compare how total latency is currently reported for write transactions with the missing read-only transaction metrics, then review the client transaction sample requirements. Done means read-only total latency is captured and reported consistently, with any useful latency details included in the sample.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- databases, performance
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100