{% endif %}
{% if all_projects %}
{% endif %}
{% if current_instance and instance_info %}
{% if not current_project %}
{% endif %}
Total Projects
{{ summary.total_projects }}
Active Streams
{{ summary.total_streams }}
Active Defects
{{ summary.total_defects }}
High Severity
{{ summary.high_severity_defects }}
Total Files
{{ summary.total_files }}
Lines of Code
{{ "{:,}".format(summary.total_loc) }}
Functions
{{ summary.total_functions }}
Active Users
{{ summary.total_users }}
{% if high_severity_alert %}
Alert! {{ summary.high_severity_defects }} high-severity defects require immediate attention.
{% endif %}
{% if analysis_versions and analysis_versions|length > 0 %}
đ
Top Analysis Versions Used
{% if current_project %}
- Project: {{ current_project }}
{% elif current_instance %}
- Instance: {{ current_instance }}
{% else %}
- All Instances
{% endif %}
| # |
Analysis Version |
Snapshots |
First Used |
Last Used |
{% for ver in analysis_versions %}
| {{ loop.index }} |
{{ ver.version }} |
{{ ver.snapshot_count }}
|
{% if ver.first_used %}
{{ ver.first_used.strftime('%Y-%m-%d %H:%M') if ver.first_used.strftime else ver.first_used }}
{% else %}
N/A
{% endif %}
|
{% if ver.last_used %}
{{ ver.last_used.strftime('%Y-%m-%d %H:%M') if ver.last_used.strftime else ver.last_used }}
{% else %}
N/A
{% endif %}
|
{% endfor %}
{% endif %}
Defects by Severity
| Severity |
Count |
Percentage |
{% for row in defects_by_severity %}
|
{{ row.impact }}
|
{{ row.defect_count }} |
{{ (row.defect_count / summary.total_defects * 100)|round(1) }}%
|
{% endfor %}
Defects by Project
| Project Name |
Total Defects |
Active |
Fixed |
{% for row in defects_by_project %}
| {{ row.project_name }} |
{{ row.defect_count }} |
{{ row.active_defects }} |
{{ row.fixed_defects }} |
{% endfor %}
Top Defect Categories
| Category |
Count |
{% for row in defects_by_category[:10] %}
| {{ row.category }} |
{{ row.defect_count }} |
{% endfor %}
Defect Density (per KLOC)
| Stream |
Defects/KLOC |
Total LOC |
{% for row in defect_density %}
| {{ row.stream_name }} |
{{ row.defects_per_kloc }}
|
{{ "{:,}".format(row.total_loc) }} |
{% endfor %}
File Hotspots - Top Problem Files
{% if file_hotspots|length > 0 %}
Attention Required: These files have the highest defect concentrations.
| File Path |
Defect Count |
LOC |
Defects/KLOC |
{% for row in file_hotspots[:15] %}
{{ row.file_path }} |
{{ row.defect_count }}
|
{{ row.loc }} |
{{ row.defects_per_kloc }}
|
{% endfor %}
{% else %}
No significant file hotspots detected. Great job!
{% endif %}
Code Quality Metrics by Stream
| Stream |
Files |
Total LOC |
Avg File LOC |
Comment Ratio |
{% for row in code_metrics %}
| {{ row.stream_name }} |
{{ row.file_count }} |
{{ "{:,}".format(row.total_loc) }} |
{{ row.avg_file_loc|round(0)|int }} |
|
{% endfor %}
{% if complexity_distribution|length > 0 %}
Function Complexity Distribution
| Complexity Range |
Function Count |
Average Complexity |
{% for row in complexity_distribution %}
| {{ row.complexity_range }} |
{{ row.function_count }} |
{{ row.avg_complexity }} |
{% endfor %}
{% endif %}
Top Defect Checkers
| Checker Name |
Category |
Impact |
Count |
{% for row in top_checkers[:15] %}
| {{ row.checker_name }} |
{{ row.category }} |
{{ row.impact }}
|
{{ row.defect_count }} |
{% endfor %}
{% if triage_summary %}
Current Triage Progress
Total Outstanding
{{ triage_summary.total_defects }}
Classified
{{ triage_summary.classified_count }}
Unclassified
{{ triage_summary.unclassified_count }}
Triage Completion
{{ (triage_summary.triage_completion_percentage|round(1)) if triage_summary.triage_completion_percentage else '0' }}%
Bugs Confirmed
{{ triage_summary.bug_count }}
False Positives
{{ triage_summary.false_positive_count }}
Intentional
{{ triage_summary.intentional_count }}
Action Assigned
{{ triage_summary.action_assigned_count }}
{% endif %}
{% if trend_summary and trend_summary.total_new %}
đ Defect Introduction vs Fix Velocity ({{ trend_period_text }})
Trend Status:
{% if trend_summary.trend_direction == 'improving' %}
â
IMPROVING - Fixing defects faster than introducing new ones
{% elif trend_summary.trend_direction == 'declining' %}
â ī¸ DECLINING - Introducing defects faster than fixing them
{% else %}
âšī¸ STABLE - Introduction and fix rates are balanced
{% endif %}
Avg New Defects/Day
{{ (trend_summary.avg_new_per_day|round(1)) if trend_summary.avg_new_per_day else '0' }}
â
Avg Fixed Defects/Day
{{ (trend_summary.avg_fixed_per_day|round(1)) if trend_summary.avg_fixed_per_day else '0' }}
â
Net Change (90 days)
{{ ('+' if trend_summary.net_change > 0 else '') if trend_summary.net_change else '' }}{{ trend_summary.net_change if trend_summary.net_change else '0' }}
Fix Rate Efficiency
{{ (trend_summary.fix_rate_pct|round(1)) if trend_summary.fix_rate_pct else '0' }}%
Total New (90d)
{{ trend_summary.total_new }}
Total Fixed (90d)
{{ trend_summary.total_fixed }}
{% endif %}
{% if cumulative_trends|length > 0 %}
Cumulative Defect Introduction & Fix Trends
| Date |
Daily New |
Daily Fixed |
Cumulative New |
Cumulative Fixed |
Cumulative Net |
{% for row in cumulative_trends[-20:] %}
| {{ row.snapshot_date }} |
{{ row.daily_new }}
|
{{ row.daily_fixed }} |
{{ row.cumulative_new }} |
{{ row.cumulative_fixed }} |
{{ '+' if row.cumulative_net > 0 else '' }}{{ row.cumulative_net }}
|
{% endfor %}
{% endif %}
{% if defect_velocity|length > 0 %}
Daily Defect Introduction & Fix Velocity
| Date |
New |
Fixed |
Net Change |
Outstanding |
Fix Efficiency % |
{% for row in defect_velocity[-30:] %}
| {{ row.snapshot_date }} |
{{ row.new_count }}
|
{{ row.fixed_count }} |
{{ '+' if row.net_change > 0 else '' }}{{ row.net_change }}
|
{{ row.outstanding|int }} |
{{ row.fix_efficiency_pct }}%
|
{% endfor %}
{% endif %}
{% if fix_rate_metrics %}
Fix Rate & Velocity ({{ trend_period_text }})
Total Defects
{{ fix_rate_metrics.total_defects }}
Fixed Defects
{{ fix_rate_metrics.fixed_defects }}
Fix Rate
{{ fix_rate_metrics.fix_rate_percentage }}%
Avg Days to Fix
{{ (fix_rate_metrics.avg_days_to_fix|round(1)) if fix_rate_metrics.avg_days_to_fix else 'N/A' }}
Median Fix Time
{{ (fix_rate_metrics.median_days_to_fix|round(1)) if fix_rate_metrics.median_days_to_fix else 'N/A' }} days
Fastest Fix
{{ (fix_rate_metrics.min_days_to_fix|round(1)) if fix_rate_metrics.min_days_to_fix else 'N/A' }} days
Slowest Fix
{{ (fix_rate_metrics.max_days_to_fix|round(1)) if fix_rate_metrics.max_days_to_fix else 'N/A' }} days
{% endif %}
{% if defect_trends|length > 0 %}
Defect Trends Over Time ({{ trend_period_text }})
| Period |
New Defects |
Fixed Defects |
Outstanding |
Net Change |
{% for row in defect_trends %}
| {{ row.period }} |
{{ row.new_defects or 0 }}
|
{{ row.fixed_defects or 0 }} |
{{ row.outstanding_defects|int }} |
{{ '+' if row.net_change > 0 else '' }}{{ row.net_change or 0 }}
|
{% endfor %}
{% endif %}
{% if defect_aging|length > 0 %}
Outstanding Defect Age Distribution
Info: This shows how long outstanding defects have been open.
| Age Range |
Defect Count |
Avg Age (Days) |
High |
Medium |
Low |
{% for row in defect_aging %}
| {{ row.age_range }} |
{{ row.defect_count }} |
{{ row.avg_age_days }} |
{{ row.high_severity }} |
{{ row.medium_severity }} |
{{ row.low_severity }} |
{% endfor %}
{% endif %}
{% if triage_trends|length > 0 %}
Triage Activity Trends ({{ trend_period_text }})
| Date |
Classification |
Action |
Count |
{% for row in triage_trends[:50] %}
| {{ row.detected_date }} |
{{ row.classification }}
|
{{ row.action }} |
{{ row.count }} |
{% endfor %}
{% endif %}