Metrics View in CodeChecker
I maintainer di solito rispondono entro 8 giorni
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 8/100
Direzione di ricerca
The payload names no source files. It sketches a Metrics table and a Metrics_Type table, YAML client metrics uploaded during the store procedure, server metrics written at the end of that procedure, and a directory-level navigation view. Open questions about which files to measure remain unanswered, and open pull request #5120 already targets this work. Read that PR and the three comments before proposing anything; done would mean the maintainers have settled the schema and the open questions.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
CodeChecker will have a metrics view, where different scalar metrics can be stored per run and run history event (storage event) for each file and directory.
Metrics stored per run per run history event
In this view a single run and storage event must be selected. the default is the latest storage event. The metrics of of the selected storage version is shown for each file and directory stored in that run. The metrics should be stored for each run history event.
Initially the feature should support at least the following metrics:
- Lines of Code
- Effective Lines of Code
- Number of outstanding reports per severity level (At the time of storing the results, as the report count may change with setting some of the reports resolved. In such case a new storage must be performed.)
- Report density Number of outstanding reports / effective lines of code
Optionally the following metrics may be stored
- Cyclomatic complexity (per file)
- Number of duplicated lines of code
- Number of unresolved SEI cert violations
Navigation
A directory level navigation should be provided where the metrics are displayed for each file and direcory. When the user clicks a file, the source code view is shown for that specific file and version. When the user clicks a directory, the navigation enters into that folder.
Calculation of Metrics
There can be 2 types of metrics:
a) client calculated metrics (such as test coverage)
b) server calculated metrics (such as number of outstanding reports)
The metrics are only calculated at the store event and are read only (cannot change after store). New metrics value can be stored with a new store.
Aggregation
The metrics should be stored per file, but should possible to be aggregated on the directory level.
The directory level aggregation summary must be supported.
Visualization & Gating (Future work)
The implementation must allow the visualization of trend lines (by time) for each metric and allow the future implementation of gating on the last change of the metric, or the current status of metric.
Open questions
- For which files we need to calculate the LOC metrics ? - All text files?
- The content of which files need to be stored? - All text files / only the files where we have reports?
- Which versions of the source code files need to be stored? - Only the latest version in the run?
Implementation
Client calculated metrics should be uploaded to the server in YAML files along in the store procedure. Exact YAML format to be defined.
Server calculated metrics should be stored at end of the store procedure.
Database Schema
Metrics Tabe:
Metrics ID | File ID | Run History ID | Metrics Value | Metrics Type
Metrics_Type Table
Metrics Type ID | Metrics Name | Metrics measure
- Lingua principale
- Python
- Stelle
- 2.6k
- Fork
- 494
- Merge medio
- 9g 2h
- PR unite (30g)
- 23
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Ericsson/codechecker
-
infer analyzer does not work with --jobsForse già presa @pcbeingused333 l’ha presa 8 giorni fa. Apertagood to go :rocket:
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
Ericsson/codechecker#5110 ·
I maintainer di solito rispondono entro 8 giorni
-
Bug Report: diagtool not found on WindowsForse già presa @pujitha24 l’ha presa 20 giorni fa. Apertagood to go :rocket:
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
Ericsson/codechecker#4802 ·
I maintainer di solito rispondono entro 8 giorni
-
analyzer :chart_with_upwards_trend: CLI :computer: discussion :bulb: enhancement :star2:
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
Ericsson/codechecker#3836 · 2 commenti ·
I maintainer di solito rispondono entro 8 giorni
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
Ericsson/codechecker#5165 ·
I maintainer di solito rispondono entro 8 giorni
-
Cppcheck addon reports are dropped since 6.27 (regression from #4690)Forse già presa @pcbeingused333 l’ha presa 9 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 76/100
Ericsson/codechecker#5161 ·
I maintainer di solito rispondono entro 8 giorni
Tutte le issue di Ericsson/codechecker
Issue simili
-
bug severity:low
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 2 giorni
-
curriculum documentation quality
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
githubnext/gh-aw-workshop#5367 ·
I maintainer di solito rispondono entro 3 giorni
-
OAuth documentation for GET /api/v2/users/me/ appears inconsistent with required global read scopeAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
Create Noise Latents ignores randomize_seed and produces the same noise every runForse già presa @griptapeops l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
griptape-ai/griptape-nodes-library-diffusers#127 ·
I maintainer di solito rispondono entro 1 giorno
-
Jenkins capacity report: metrics history is lost when archiving a month failsForse già presa @RaphaelFakhri l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
adoptium/infrastructure#4568 ·
I maintainer di solito rispondono entro 1 giorno