How to Create an Engineering Health Dashboard in Linear
Engineering health is not about how many tickets were closed — it is about whether the team is moving at a sustainable pace, shipping with acceptable quality, and not accumulating debt faster than they pay it down. Linear's analytics, combined with well-structured projects and views, provides the raw data for an engineering health dashboard without requiring a separate BI tool.
This guide covers how to build an engineering health dashboard in Linear that tracks the metrics that matter: cycle time, throughput, bug escape rate, and tech debt ratio.
Step-by-step guide
Define your engineering health metrics
Before configuring Linear, agree on which metrics represent team health: Throughput (story points completed per sprint — measures output), Cycle Time (time from "In Progress" to "Done" per issue — measures flow), Bug Escape Rate (bugs found in production per sprint as percentage of features shipped — measures quality), Tech Debt Ratio (tech debt tickets as percentage of total issues completed per sprint — measures sustainability), and Blocked Time (issues that spent time in a "Blocked" status — measures friction). These five metrics, tracked weekly, tell the engineering health story.
Configure Linear for health metric collection
Ensure your Linear workspace has these structural elements: all bugs labeled with a "Bug" issue type or label, all tech debt labeled with a "Tech Debt" label, all issues that enter a blocked state use a "Blocked" status in the workflow, and story point estimates on every issue. In Linear team Settings → Issue types, create types: Feature, Bug, Tech Debt, and Chore. This categorization is what makes the dashboard meaningful.
Use Linear Analytics for cycle time and throughput
In Linear, navigate to team Analytics (the chart icon in the sidebar). The Throughput view shows issues completed per week — switch to "Story points" mode if your team estimates. The Cycle Time view shows distribution of time from start to completion. Filter both views by issue type to see separate cycle times for Features vs. Bugs. Export this data weekly by clicking the CSV export button. Paste it into a Google Sheet or Notion table to build your health trend charts.
Create a Bug Escape Rate tracking project
Create a Linear project called "Production Bugs [Current Month]." Every bug that makes it to production gets added to this project using Linear's project relation field. At the end of each sprint, compare: number of features shipped (issues completed with type "Feature") vs. production bugs in the project. Bug escape rate = production bugs / features shipped × 100. A rate above 15% indicates quality process issues that warrant a retro item.
Build the weekly health review view
Create a saved Linear view called "Weekly Health Review" with: all issues completed in the last 7 days grouped by issue type (shows throughput breakdown), all bugs created in the last 7 days (shows inbound quality issues), and all issues in "Blocked" status. Pin this view. Run a 15-minute weekly engineering health check using this view: review the type breakdown, discuss any spikes in bug creation, and address blocked issues. Export the issue counts to a running spreadsheet to track trends.
Common mistakes
Tracking velocity without tracking quality
A team that closes 40 story points per sprint but ships 8 production bugs per sprint is not healthy. Track throughput and bug escape rate together. A velocity increase accompanied by a quality decrease is a warning sign, not a success. The goal is sustainable throughput — output that does not create future cleanup work.
Using cycle time as a performance measure for individuals
Cycle time is a team metric, not an individual metric. An engineer with consistently high cycle time may be working on harder problems, doing more thorough code review, or absorbing interrupt work that protects the rest of the team. Use cycle time to understand workflow bottlenecks (e.g. issues consistently spending 3 days in "In Review" — a code review process problem), not to evaluate individual performance.
Dashboard data that is more than one week old
Engineering health metrics go stale faster than product metrics. A cycle time snapshot from 2 weeks ago does not tell you whether last week's sprint was healthy. Run the weekly health review on a fixed cadence — the same day every week — so the data is always current. Set a recurring Linear notification or calendar event to prompt the review.
Tips
Use Linear's Graphing API (available via the Linear API) to pull cycle time and throughput data into a Notion database or Google Sheet that auto-refreshes weekly — this eliminates the manual CSV export step
Create a Linear label "regression" for bugs that reproduce in an area that was previously fixed — tracking regression rate separately from new bug rate reveals whether the codebase is stabilizing or accumulating repeated failures in the same areas
Share the engineering health dashboard view with PMs and stakeholders at the start of each sprint planning session — making health metrics visible to the full product team creates shared accountability for sustainable pace, not just engineering accountability
How Vantage helps
Engineering health metrics belong in the same context as product priorities. Vantage connects Linear issue data to product decisions: when a team's bug escape rate spikes, Vantage can surface this as a signal when the PM is planning the next sprint — so quality debt gets roadmap attention before it becomes a reliability crisis.