What’s plotted
- Diff coverage (line): of the executable lines changed on your default branch during the period, the share that your tests covered.
- Executable lines changed (bars): how much changed code that percentage is based on. A week with 40 changed lines is a much weaker signal than a week with 4,000.
How a day is measured
Every night, for each project with coverage, Qlty:- Finds the commit your default branch pointed at when the day started, and the one it pointed at when the day ended.
- Diffs the two to get the day’s changed lines.
- Checks those lines against the most recent coverage report uploaded for the branch that day.
- Stores the covered and changed-executable line counts for the day.
Gaps in the line
A break in the line means Qlty has no measurement for that period, which happens when:- Nothing merged. No commits landed on the default branch.
- No coverage report. The branch had no coverage uploaded that day.
- Nothing measurable changed. The day’s changes touched only non-executable lines — comments, docs, config.
Merge commits and day boundaries
Qlty uses commit timestamps to decide where one day’s changes end and the next begins. When your default branch has merge commits, its history isn’t linear: a commit can carry a timestamp from days before it actually merged. Those lines are counted on the day they were written rather than the day they landed, so daily boundaries are best effort. In practice this shifts a few lines between neighboring days, which weekly bucketing mostly absorbs. It doesn’t drop changes or double-count them.See Also
- Coverage Metrics — how diff coverage is calculated
- Coverage Trends — total coverage over time
- Coverage Gates — diff coverage as a merge requirement
- Pull Request Comments — diff coverage on a single change