Read your org's performance and governor health grade
Get a single A–F grade for an org's SOQL and data-access health, see the processes most at risk, and export a text report with recommendations.
Overview
Performance & Governor Health (Performance Health in the navigation) rolls the SOQL and data-access analysis for an org into one grade, plus the evidence behind it. Use it to brief stakeholders, or to decide where a performance sprint should start.
The grade is calculated as:
| Grade | Score |
|---|---|
| A | 85 or more |
| B | 70 or more |
| C | 55 or more |
| D | 40 or more |
| F | below 40 |
Repository adoption is the share of data access that goes through classes named *Selector, *Repository or *DAO. Centralizing queries in such classes makes duplicates easier to remove and caching easier to add, so the grade rewards it.
Before you start
- The org must be synced and indexed (Apex Flow Analyzer → Index Org, or Index in Sync Center).
Steps
- Open Performance Health under Architecture.
- Pick the org. The report loads automatically.
- Read the tiles: Transactions, Max SOQL/tx, Avg SOQL/tx, Duplicate Queries, Critical Risk, Repo Adoption and Est. Saveable.
- Review Top Processes at Risk — the transactions closest to the 100-query limit.
- Review Amplification Hotspots — where the same data is queried repeatedly.
- Read Recommendations for suggested fixes, and Data Access Health for the breakdown behind that part of the score.
- Click Export as Text to download the report.
- After a new sync and index, click Refresh Report.
Example
Priya, a release manager, opens the report for acme-prod and sees grade C (score 61). Repo Adoption is low at 22%, and Max SOQL/tx is 84 for the Opportunity close path. She exports the text report for the architecture review. The team agrees to move Opportunity and Account queries into OpportunitySelector and AccountSelector. Two sprints later the grade reaches B.
FAQs
What does Est. Saveable mean?
An estimate of how many queries could be removed by eliminating duplicates, so you can size the benefit of a refactor.
Our org uses a different naming convention for data-access classes
Repository adoption only recognizes classes ending in Selector, Repository or DAO. Other conventions count as direct access, which lowers the grade even if your design is sound. Read the grade together with the detail sections.
How is this different from Query Amplification?
Query Amplification shows the per-transaction detail. This page summarizes it into one grade with recommendations.
Troubleshooting
"Failed to generate report — ensure the org is indexed in Apex Flow Analyzer first"
Open Apex Flow Analyzer, select the org, click Index Org and wait for it to finish. Then return and click Refresh Report.
The empty page mentions "Generate Report"
The button you need is Refresh Report.
The grade did not change after a fix
The report reads the last index. Sync the org, re-index it, then click Refresh Report.
Related articles
Was this article helpful?
Related articles
- Measure query amplification in trigger chainsSee how many SOQL queries each transaction issues compared with the data it actually needs, find the worst trigger chains and objects, and save snapshots to track progress.
- Find SOQL 101 risks with SOQL Risk IntelligenceDetect SOQL anti-patterns, duplicate queries and transaction-level query counts that risk the 100-query governor limit, and get AI remediation advice.
- Trace execution paths with Apex Flow AnalyzerIndex an org's Apex, triggers and Flows, then trace what runs when a record changes — including async boundaries, per-step governor risk and duplicate queries — in plain language or by browsing.
- Index an orgBuild or rebuild an org's analysis index from its last sync so Code Intelligence, SOQL Risk, Query Amplification and other analysis pages show current results.