diff --git a/lib/har-parser.js b/lib/har-parser.js
index 1d26c12..d6c7dae 100644
--- a/lib/har-parser.js
+++ b/lib/har-parser.js
@@ -25,6 +25,10 @@ function parseHAR(lighthouseResult) {
protocol: request.protocol,
priority: request.priority,
+ // Connection/Socket information for connection view
+ socket: request.connectionId || request.socket || null,
+ connectionReused: request.connectionReused || false,
+
// Timing breakdown (in milliseconds)
timing: {
dns: timing.dns,
diff --git a/waterfall.html b/waterfall.html
index 61ae033..0ccf061 100644
--- a/waterfall.html
+++ b/waterfall.html
@@ -298,13 +298,61 @@
.details-table th.sorted .sort-icon {
opacity: 1;
}
+
+ /* Connection View Styles */
+ .connection-group {
+ margin-bottom: 2rem;
+ border: 2px solid var(--color-border);
+ border-radius: 8px;
+ overflow: hidden;
+ }
+
+ .connection-header {
+ background: var(--color-bg-secondary);
+ padding: 0.75rem 1rem;
+ display: flex;
+ align-items: center;
+ gap: 1rem;
+ border-bottom: 2px solid var(--color-border);
+ }
+
+ .connection-label {
+ font-weight: 600;
+ color: var(--color-text-primary);
+ flex: 1;
+ }
+
+ .connection-badge {
+ padding: 0.25rem 0.5rem;
+ background: var(--color-bg-tertiary);
+ border-radius: 4px;
+ font-size: 0.85rem;
+ color: var(--color-text-secondary);
+ }
+
+ .connection-count {
+ font-size: 0.9rem;
+ color: var(--color-text-secondary);
+ }
+
+ .connection-requests {
+ background: var(--color-bg-tertiary);
+ }
+
+ .connection-row {
+ border-bottom: 1px solid var(--color-border);
+ }
+
+ .connection-row:last-child {
+ border-bottom: none;
+ }
Request Waterfall
-
+
@@ -314,6 +362,14 @@
+
+
+
+
+