Skip to content

Plugin for per-sub-project DORA metrics in a monorepo - #9037

Open
eyal4D wants to merge 1 commit into
apache:mainfrom
eyal4D:feature/subprojects-for-monorepo
Open

Plugin for per-sub-project DORA metrics in a monorepo#9037
eyal4D wants to merge 1 commit into
apache:mainfrom
eyal4D:feature/subprojects-for-monorepo

Conversation

@eyal4D

@eyal4D eyal4D commented Aug 9, 2026

Copy link
Copy Markdown

Repos containing multiple logically separate projects (each deployed by its own CI job, PRs tagged by label) previously collapsed into a single set of DORA numbers, since DevLake's scope model is one-scope-per-repo.

Adds a new metric plugin, monorepo, that runs after dora and attributes deployments (by CI job name) and merged pull requests (by label) to a configured sub-project, writing per-sub-project deployment and change lead time metrics to two new tables. Nothing existing is modified: dora and the core scope model are untouched, and PR coding/pickup/review time are reused from dora's own project_pr_metrics rather than recomputed.

Includes unit tests, an e2e test with fixtures, and Grafana dashboards (mysql + postgresql) to view the output.

…repo

Repos containing multiple logically separate projects (each deployed by
its own CI job, PRs tagged by label) previously collapsed into a single
set of DORA numbers, since DevLake's scope model is one-scope-per-repo.

Adds a new metric plugin, monorepo, that runs after dora and attributes
deployments (by CI job name) and merged pull requests (by label) to a
configured sub-project, writing per-sub-project deployment and change
lead time metrics to two new tables. Nothing existing is modified: dora
and the core scope model are untouched, and PR coding/pickup/review
time are reused from dora's own project_pr_metrics rather than
recomputed.

Includes unit tests, an e2e test with fixtures, and Grafana dashboards
(mysql + postgresql) to view the output.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants