apple / apple/foundationdb

Track total transaction latency in clients

Open
#4,200 0 comments 1 reaction 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.