This page explains how the Reporting Macros calculate their metrics, where the data comes from, and the current limitations of the feature.
Metric definitions
|
Metric |
Definition |
Aggregation |
|---|---|---|
|
PR Cycle Time |
Time from PR opened to PR merged. Closed-without-merge PRs are excluded. |
Median across all PRs merged in the selected window. The summary KPI shows the median; each chart bar also shows the 75th percentile (p75). |
|
PR Throughput |
Count of PRs merged/completed by the team in the selected period. |
Two series per bucket: merged (by |
|
Review Latency |
Time from PR ready-for-review (opened or marked ready) to first review comment or approval. |
Median across merged PRs that received at least one review. The start point is |
These are DORA-style delivery metrics - not a full DORA implementation. Change Failure Rate (CFR) and Mean Time to Recovery (MTTR) are not included in v1.
Reporting period and time zones
Each macro accepts a date range of Last 14 days, Last 30 days, or Last 90 days. Period boundaries are applied consistently across all metrics on a given macro instance.
-
Time zone: All period boundaries are UTC day boundaries. The Confluence site timezone is not used for period bucketing.
-
Period-over-period comparison: Rolling window of the same duration, immediately preceding the current window. For example, Last 30 days compares against the 30 days immediately before those 30 days.
-
Median vs mean: Both Cycle Time and Review Latency use the median. Throughput is a count, not a duration.
Data sourcing and storage
The Reporting Macros use the same GitHub App connection as the GitHub Links macro - no additional connection setup is required.
|
Aspect |
Behaviour |
|---|---|
|
Data source |
Computed live from the GitHub API on each page load. No PR content, diffs, or source code is accessed or stored. |
|
What is cached |
Only the computed aggregate result (e.g. median cycle time for the selected period) is cached for 12 minutes. The accessible-repository list is cached separately for 5 minutes. Raw PR data is never stored. |
|
Configuration storage |
Macro parameters (repositories, branches, date range, display mode) are stored in the Confluence page as macro configuration. No data is stored outside Confluence. |
|
Repository access |
Metrics are calculated only from repositories the connected GitHub App can access. Repositories outside the App's granted access will not appear in macro configuration and are not included in results. |
|
Connection |
Reuses the existing GitHub App connection configured by your Confluence administrator. No new GitHub scopes are required to start. See Getting Started Guide for Confluence Administrators for connection setup. |
|
Pricing |
Engineering Reporting is included in the app at your standard subscription - no separate pricing. |
Limitations (v1)
-
Team-level only. Metrics are aggregated across the selected repositories. Per-developer breakdowns are not available and are not planned for v1.
-
DORA-style, not full DORA. PR Cycle Time, PR Throughput, and Review Latency are DORA-style delivery metrics but do not constitute a full DORA implementation. Change Failure Rate (CFR) and Mean Time to Recovery (MTTR) are not included in v1.
-
GitHub API dependency. Metric availability depends on GitHub API availability and on the GitHub App connection remaining active with access to the selected repositories.
-
Bot PR filtering. The Exclude bot / Dependabot PRs option is enabled by default to avoid skewing aggregates. Disabling it will include automated PRs in all calculations.
-
Definitions and TTL being finalised. Exact measurement definitions (median vs mean, period boundary handling, Review Latency start point) and cache TTL are being confirmed with the product team. This page will be updated when finalised.
Related pages
Updated: