docs: DORA metrics with pipeline timing breakdown #186
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "docs/dora-metrics"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Add
docs/DORA.mdwith measured pipeline timing from pipeline #410 and surrounding deploys. Three mermaid diagrams, DORA four key metrics (all elite), Kaniko build internals, and optimization opportunities.Closes #185
Changes
docs/DORA.md— DORA metrics doc with:Test Plan
Review Checklist
Related Notes
docs/pipeline.md— existing pipeline architecture doc (complementary, not overlapping)docs/infrastructure-and-pipeline.md— broader infra contextPR #186 Review
DOMAIN REVIEW
This is a docs-only PR adding
docs/DORA.md(206 lines, no code changes). The domain is documentation with mermaid diagrams. Reviewed for: data accuracy, internal consistency, mermaid syntax correctness, complementarity with existing docs (docs/pipeline.md,docs/infrastructure-and-pipeline.md), and overall clarity.Mermaid syntax: All three diagrams (Deploy Chain flow, Pipeline #410 Gantt, Pipeline Architecture) use valid mermaid syntax. The Gantt chart correctly uses
afterdependencies and thedateFormat mm:ss/axisFormat %M:%Spattern for duration-based charts.Gantt parallel task limitation: The Deploy Chain flow diagram correctly shows
build-and-pushdepending on BOTH lint and test (C --> EandD --> E). The Gantt chart can only express a singleafterdependency, so it usesafter d(test, 20s) which finishes afterc(lint, 15s). This is the correct workaround for mermaid Gantt's limitation -- no issue here.Timing math verified:
Incident references verified: PR #158 (ROPC auth break), PR #161 (revert), and issue #160 (URGENT revert) all exist in the repo and match the narrative described.
Complementarity with existing docs:
docs/pipeline.mdcovers the deploy chain architecture and iOS pipeline.docs/infrastructure-and-pipeline.mdcovers three-repo model, Docker build, CI config, kustomize overlays, and secrets. The new DORA doc covers measured performance data and optimization opportunities -- genuinely complementary with no significant overlap.BLOCKERS
None. This is a docs-only change with no code, no secrets, no security implications.
NITS
Data inconsistency in CI failure rate: The Deployment Frequency section states "39 deploys to prod" over June 1-9, but the CI failure sub-section calculates "3 CI failures / 9 main pushes = 33%." If there were 39 deploys, there were approximately 39 main pushes, making the failure rate ~7.7% (3/39), not 33%. The denominator "9" appears to reference something else -- perhaps 9 pushes in a specific subset of the period, or 9 days. Clarify what "9 main pushes" refers to, or correct the denominator.
Build-and-push duration discrepancy: The step breakdown table says build-and-push is "5m23s" (323s), but summing the Kaniko internals table yields ~316s (1+199+9+6+2+90+8+1). The 7-second gap is likely rounding or gaps between phases not captured in logs. Not wrong, but a footnote acknowledging the gap would improve transparency.
Gantt build-and-push step value: The Gantt uses
323sfor build-and-push but the step breakdown table says "5m23s." 5m23s = 323s, so these are consistent. However, the Gantt start for build-and-push isafter d(test), notafter c(lint). If lint ever takes longer than test in future pipeline runs, the Gantt template would under-report total time. Consider adding a comment in the markdown noting this assumption.Filename casing: The file is
DORA.md(all caps). Existing docs use lowercase:pipeline.md,infrastructure-and-pipeline.md,keycloak-setup.md. Considerdora.mdordora-metrics.mdfor consistency."Best-case pipeline" table: The optimized bundle-install shows "10s (cached)" but the Kaniko internals show "Bundle install (cached): 9s." Minor: use 9s for consistency with measured data rather than rounding up.
Missing cross-reference: The doc references
docs/pipeline.mdanddocs/infrastructure-and-pipeline.mdin the PR body's Related Notes, but the doc itself has no Related/See Also section linking to these companion docs. Adding a brief section at the bottom would help readers navigate.SOP COMPLIANCE
docs/dora-metrics. SOP requires{issue-number}-{kebab-case-purpose}format (e.g.,185-dora-metrics). Issue number is missing from the branch name.PROCESS OBSERVATIONS
VERDICT: APPROVED
The document is well-structured, data is verified against repo history, mermaid syntax is valid, and there are no blockers. The nits above (especially the CI failure rate denominator clarification and filename casing) are worth addressing but are not blocking. Branch naming does not follow the
{issue-number}-{kebab}convention, but this is a docs-only change and the deviation is minor.