aboutsummaryrefslogtreecommitdiffstats
path: root/dashboard/app/coverage.go
Commit message (Collapse)AuthorAgeFilesLines
* all: use any instead of interface{}Dmitry Vyukov2025-12-221-1/+1
| | | | Any is the preferred over interface{} now in Go.
* pkg/coveragedb: update file to subsystem info periodicallyTaras Madan2025-08-071-0/+21
| | | | | | #6070 explains the problem of data propagation. 1. Add weekly /cron/update_coverdb_subsystems. 2. Stop updating subsystems from coverage receiver API.
* dashboard/app: date parsing error is a bad requestTaras Madan2025-07-161-1/+1
|
* dashboard/app: fix nil-deref if no subsystems definedTaras Madan2025-07-031-3/+4
|
* dashboard/app: use page param type instead of hashmapTaras Madan2025-06-061-51/+40
| | | | It is a bit shorter.
* dashboard/app: simplify url parameters extractionTaras Madan2025-06-061-68/+35
| | | | Get parameters are the internal interface.
* dashboard/app: ns/cover?jsonl=1 supports manager and subsystem selectionTaras Madan2025-06-061-60/+131
| | | | | 1. Refactor handleHeatmap. 2. Introduce function options. Build them from http.Request.
* dashboard/app: allow to set spanner context only from testsTaras Madan2025-05-051-11/+13
| | | | getSpannerClient returns prod client as a default.
* dashboard/app: send coverage report to ns-defined emailTaras Madan2025-04-301-21/+75
| | | | We periodically send coverage reports for the regressions detection.
* dashboard/app: enable coverage pages formattingTaras Madan2025-04-111-2/+13
| | | | | | | | | | | | | cover.Format controls the resulting view. It allows to: 1. Remove records with 0 covered blocks. 2. Remove lines with low (user defined) coverage. 3. Order records by the covered lines drop value. The corresponding GET parameters are: 1. Implicitly enabled for onlyUnique records. 2. min-cover-lines-drop=%d 3. order-by-cover-lines-drop=1
* dashboard/app: allow user defined dateto for coverageTaras Madan2025-04-101-1/+8
| | | | | It allows to see records older than 12 periods. And it allows to specify the target for coverage regression analysis.
* dashboard/app: allow quarter coverage analysisTaras Madan2025-04-071-2/+4
| | | | | | It was previously disabled because line coverage required data from BigQuery. It was too expensive. Coverage numbers are available in the Spanner now.
* dashboard/app: support gerrit servers as a webgit sourceTaras Madan2025-02-131-1/+4
| | | | | Gerrit servers return base64 encoded file content. To get the raw data, &format=TEXT request param is needed.
* dashboard/app: export coverage jsonTaras Madan2025-02-061-0/+10
|
* pkg/cover: split logic, move some data processing to pkg/coveragedbTaras Madan2025-02-061-4/+4
|
* dashboard/app: test coverage /file linkTaras Madan2025-01-271-11/+66
| | | | | | | | 1. Init coveragedb client once and propagate it through context to enable mocking. 2. Always init coverage handlers. It simplifies testing. 3. Read webGit and coveragedb client from ctx to make it mockable. 4. Use int for file line number and int64 for merged coverage. 5. Add tests.
* dashboard/app: show manager unique coverageTaras Madan2025-01-271-6/+30
| | | | | | | | | | | | 1. Make heatmap testable, move out the spanner client instantiation. 2. Generate spannerdb.ReadOnlyTransaction mocks. 3. Generate spannerdb.RowIterator mocks. 4. Generate spannerdb.Row mocks. 5. Prepare spannerdb fixture. 6. Fixed html control name + value. 7. Added multiple tests. 8. Show line coverage from selected manager. 9. Propagate coverage url params to file coverage url.
* dashboard/app: move coverage handlers to separate fileTaras Madan2025-01-101-0/+199