{% extends "base.html" %} {% block title %}Coverage Analysis - Network Management{% endblock %} {% block head_extra %} {% endblock %} {% block content %}

Coverage Analysis

Network device capture gap analysis and coverage statistics

{% if error %}

Analysis Error

{{ error }}

{% else %}
{{ summary_stats.total_devices or 0 }}
Network Devices
{{ summary_stats.capture_types_count or 0 }}
Capture Types
{{ summary_stats.total_successful_captures or 0 }}
Successful Captures
{{ summary_stats.perfect_capture_count or 0 }}
100% Complete

Legend

Data Available
Missing Data
Cisco
HP/Aruba
Arista
{% if vendor_coverage and capture_types %}

Vendor Coverage Matrix

{% for vendor in vendor_coverage.vendors|sort %} {% endfor %} {% for capture_type in capture_types|sort %} {% for vendor in vendor_coverage.vendors|sort %} {% endfor %} {% endfor %}
Capture Type Total Success{{ vendor }}
{{ capture_type }} {% set total_success = summary_stats.capture_stats.get(capture_type, {}).get('count', 0) %} {% set total_devices = summary_stats.total_devices %} {% set percentage = summary_stats.capture_stats.get(capture_type, {}).get('percentage', 0) %} {{ total_success }}/{{ total_devices }} ({{ "%.1f"|format(percentage) }}%) {% set vendor_data = vendor_coverage.by_capture.get(capture_type, {}).get('vendors', {}).get(vendor, {'success': 0, 'total': 0}) %} {% if vendor_data.total > 0 %} {% set vendor_pct = (vendor_data.success / vendor_data.total * 100) %} {{ vendor_data.success }}/{{ vendor_data.total }} {% else %} N/A {% endif %}
{% endif %} {% if devices_by_folder %}
{% for folder_name, devices in devices_by_folder.items() %}
{{ folder_name }} ({{ devices|length }} devices)
{% for capture_type in capture_types[:10] %} {% endfor %} {% for device_name, device_info in devices %} {% for capture_type in capture_types[:10] %} {% endfor %} {% endfor %}
Device Name Host Vendor{{ capture_type }}Score
{{ device_name }} {{ device_info.host }} {% set vendor = device_info.vendor.lower() %} {{ device_info.vendor or 'Unknown' }} {% if device_info.captures.get(capture_type, False) %}
{% else %}
{% endif %}
{% set score_pct = (device_info.total_captures / capture_types|length * 100) if capture_types|length > 0 else 0 %} {{ device_info.total_captures }}/{{ capture_types|length }}
{% endfor %}
{% endif %}
Report generated on {{ generated_at }}
{% endif %} {% endblock %}