nestjs-profiler 1.0.21 → 1.0.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -16,6 +16,170 @@ let TemplateBuilderService = class TemplateBuilderService {
16
16
  constructor(viewService) {
17
17
  this.viewService = viewService;
18
18
  }
19
+ buildLiveLogsPage() {
20
+ return this.viewService.render('live-logs', {});
21
+ }
22
+ buildSummaryPage(stats) {
23
+ const errorCount = Math.round(stats.totalRequests * stats.errorRate / 100);
24
+ const avgQueriesPerRequest = stats.totalRequests > 0
25
+ ? (stats.totalQueries / stats.totalRequests).toFixed(1)
26
+ : '0';
27
+ const errorRateBadgeClass = stats.errorRate > 10 ? 'bg-red-50' : stats.errorRate > 0 ? 'bg-yellow-50' : 'bg-green-50';
28
+ const errorRateTextClass = stats.errorRate > 10 ? 'text-red-600' : stats.errorRate > 0 ? 'text-yellow-600' : 'text-gray-900';
29
+ const slowQueriesTextClass = stats.slowQueries > 0 ? 'text-yellow-600' : 'text-gray-900';
30
+ const nPlusOneBadgeClass = stats.nPlusOneCount > 0 ? 'bg-orange-50' : 'bg-green-50';
31
+ const nPlusOneIconClass = stats.nPlusOneCount > 0 ? 'text-orange-500' : 'text-green-600';
32
+ const nPlusOneTextClass = stats.nPlusOneCount > 0 ? 'text-orange-600' : 'text-gray-900';
33
+ const methodColors = {
34
+ GET: 'bg-blue-500', POST: 'bg-green-500', PUT: 'bg-orange-500',
35
+ PATCH: 'bg-yellow-500', DELETE: 'bg-red-500',
36
+ };
37
+ const totalReqs = stats.totalRequests || 1;
38
+ const methodBars = Object.entries(stats.methodDistribution)
39
+ .sort((a, b) => b[1] - a[1])
40
+ .map(([method, count]) => {
41
+ const pct = Math.round((count / totalReqs) * 100);
42
+ const color = methodColors[method] || 'bg-gray-400';
43
+ return `
44
+ <div class="mb-3">
45
+ <div class="flex justify-between text-xs text-gray-600 mb-1">
46
+ <span class="font-medium">${method}</span>
47
+ <span>${count} (${pct}%)</span>
48
+ </div>
49
+ <div class="w-full bg-gray-100 rounded-full h-2">
50
+ <div class="${color} h-2 rounded-full" style="width:${pct}%"></div>
51
+ </div>
52
+ </div>`;
53
+ }).join('') || '<p class="text-sm text-gray-400 italic">No data</p>';
54
+ const statusColors = {
55
+ '2xx': 'bg-green-500', '3xx': 'bg-blue-400',
56
+ '4xx': 'bg-yellow-500', '5xx': 'bg-red-500', 'unknown': 'bg-gray-400',
57
+ };
58
+ const statusBars = Object.entries(stats.statusDistribution)
59
+ .sort((a, b) => b[1] - a[1])
60
+ .map(([bucket, count]) => {
61
+ const pct = Math.round((count / totalReqs) * 100);
62
+ const color = statusColors[bucket] || 'bg-gray-400';
63
+ return `
64
+ <div class="mb-3">
65
+ <div class="flex justify-between text-xs text-gray-600 mb-1">
66
+ <span class="font-medium">${bucket}</span>
67
+ <span>${count} (${pct}%)</span>
68
+ </div>
69
+ <div class="w-full bg-gray-100 rounded-full h-2">
70
+ <div class="${color} h-2 rounded-full" style="width:${pct}%"></div>
71
+ </div>
72
+ </div>`;
73
+ }).join('') || '<p class="text-sm text-gray-400 italic">No data</p>';
74
+ const topEndpointsTable = stats.topSlowEndpoints.length > 0
75
+ ? `<table class="w-full text-sm">
76
+ <thead class="bg-gray-50 text-xs text-gray-500 uppercase">
77
+ <tr>
78
+ <th class="px-4 py-2 text-left">Endpoint</th>
79
+ <th class="px-4 py-2 text-right">Calls</th>
80
+ <th class="px-4 py-2 text-right">Avg</th>
81
+ </tr>
82
+ </thead>
83
+ <tbody class="divide-y divide-gray-100">
84
+ ${stats.topSlowEndpoints.map(e => `
85
+ <tr class="hover:bg-gray-50">
86
+ <td class="px-4 py-3">
87
+ <a href="/__profiler?search=${encodeURIComponent(e.route)}" class="group inline-flex items-center gap-1.5 hover:underline">
88
+ <span class="inline-block text-xs font-semibold px-1.5 py-0.5 rounded ${this.getMethodBadgeClass(e.method)}">${e.method}</span>
89
+ <span class="font-mono text-xs text-gray-700 group-hover:text-indigo-600 truncate">${e.route}</span>
90
+ </a>
91
+ </td>
92
+ <td class="px-4 py-3 text-right text-xs text-gray-500">${e.callCount}</td>
93
+ <td class="px-4 py-3 text-right text-xs font-semibold ${e.avgDuration > 500 ? 'text-red-600' : e.avgDuration > 100 ? 'text-yellow-600' : 'text-gray-700'}">${Math.round(e.avgDuration)}ms</td>
94
+ </tr>`).join('')}
95
+ </tbody>
96
+ </table>`
97
+ : '<div class="p-6 text-center text-sm text-gray-400 italic">No endpoint data yet</div>';
98
+ const topQueriesTable = stats.topSlowQueries.length > 0
99
+ ? `<div class="divide-y divide-gray-100">
100
+ ${stats.topSlowQueries.map(q => `
101
+ <div class="px-5 py-3">
102
+ <div class="flex items-center justify-between mb-1">
103
+ <span class="font-mono text-xs text-gray-400 truncate max-w-xs">${q.requestUrl}</span>
104
+ <span class="text-xs font-bold ${q.duration > 500 ? 'text-red-600' : q.duration > 100 ? 'text-yellow-600' : 'text-gray-600'} ml-2 flex-shrink-0">${q.duration}ms</span>
105
+ </div>
106
+ <pre class="text-xs text-gray-700 font-mono bg-gray-50 rounded px-2 py-1 truncate overflow-hidden">${(q.sql || '').substring(0, 120)}${(q.sql || '').length > 120 ? '...' : ''}</pre>
107
+ </div>`).join('')}
108
+ </div>`
109
+ : '<div class="p-6 text-center text-sm text-gray-400 italic">No query data yet</div>';
110
+ const recentErrorsSection = stats.recentErrors.length > 0
111
+ ? `<div class="bg-white rounded-xl border border-red-200 shadow-sm overflow-hidden">
112
+ <div class="px-5 py-4 border-b border-red-100 bg-red-50 flex items-center gap-2">
113
+ <svg class="w-4 h-4 text-red-500" fill="none" viewBox="0 0 24 24" stroke="currentColor">
114
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"/>
115
+ </svg>
116
+ <h3 class="text-sm font-semibold text-red-800">Recent Errors</h3>
117
+ </div>
118
+ <table class="w-full text-sm">
119
+ <thead class="bg-gray-50 text-xs text-gray-500 uppercase">
120
+ <tr>
121
+ <th class="px-4 py-2 text-left">Endpoint</th>
122
+ <th class="px-4 py-2 text-left">Status</th>
123
+ <th class="px-4 py-2 text-left">Message</th>
124
+ <th class="px-4 py-2 text-right">When</th>
125
+ </tr>
126
+ </thead>
127
+ <tbody class="divide-y divide-gray-100">
128
+ ${stats.recentErrors.map(e => `
129
+ <tr class="hover:bg-gray-50">
130
+ <td class="px-4 py-3">
131
+ <a href="/__profiler/${e.id}" class="group inline-flex items-center gap-1.5 hover:underline">
132
+ <span class="inline-block text-xs font-semibold px-1.5 py-0.5 rounded ${this.getMethodBadgeClass(e.method)}">${e.method}</span>
133
+ <span class="font-mono text-xs text-gray-700 group-hover:text-indigo-600">${e.url}</span>
134
+ </a>
135
+ </td>
136
+ <td class="px-4 py-3"><span class="text-xs font-bold text-red-600">${e.statusCode}</span></td>
137
+ <td class="px-4 py-3 text-xs text-gray-500 max-w-xs truncate">${e.message || '-'}</td>
138
+ <td class="px-4 py-3 text-right text-xs text-gray-400">${this.viewService.timeAgo(e.timestamp)}</td>
139
+ </tr>`).join('')}
140
+ </tbody>
141
+ </table>
142
+ </div>`
143
+ : '';
144
+ return this.viewService.render('summary', {
145
+ totalRequests: stats.totalRequests,
146
+ avgDuration: stats.avgDuration,
147
+ p95Duration: stats.p95Duration,
148
+ errorRate: stats.errorRate,
149
+ errorCount,
150
+ errorRateBadgeClass,
151
+ errorRateTextClass,
152
+ totalQueries: stats.totalQueries,
153
+ avgQueriesPerRequest,
154
+ slowQueries: stats.slowQueries,
155
+ slowQueriesTextClass,
156
+ nPlusOneCount: stats.nPlusOneCount,
157
+ nPlusOneBadgeClass,
158
+ nPlusOneIconClass,
159
+ nPlusOneTextClass,
160
+ seqScanCount: stats.seqScanCount,
161
+ cacheHitRate: stats.cacheHitRate,
162
+ totalCacheOps: stats.totalCacheOps,
163
+ heapUsed: stats.memoryUsage?.heapUsed ?? '-',
164
+ heapTotal: stats.memoryUsage?.heapTotal ?? '-',
165
+ rss: stats.memoryUsage?.rss ?? '-',
166
+ methodBars,
167
+ statusBars,
168
+ topEndpointsTable,
169
+ topQueriesTable,
170
+ recentErrorsSection,
171
+ });
172
+ }
173
+ getMethodBadgeClass(method) {
174
+ const classes = {
175
+ GET: 'bg-blue-100 text-blue-800',
176
+ POST: 'bg-green-100 text-green-800',
177
+ PUT: 'bg-orange-100 text-orange-800',
178
+ PATCH: 'bg-yellow-100 text-yellow-800',
179
+ DELETE: 'bg-red-100 text-red-800',
180
+ };
181
+ return classes[method] || 'bg-gray-100 text-gray-800';
182
+ }
19
183
  buildDashboard(profiles) {
20
184
  const rows = profiles.map(p => this.buildRequestRow(p)).join('');
21
185
  const emptyState = !rows ? '<div class="p-8 text-center text-gray-500">No requests captured yet.</div>' : '';
@@ -41,7 +205,8 @@ let TemplateBuilderService = class TemplateBuilderService {
41
205
  bodyView: this.buildBodyView(profile.requestBody),
42
206
  exceptionView: this.buildExceptionView(profile.exception),
43
207
  timingBar: this.buildTimingBar(profile.timings, profile.duration || 0),
44
- cacheSection: this.buildCacheSection(profile.cache || [])
208
+ cacheSection: this.buildCacheSection(profile.cache || []),
209
+ httpCallsSection: this.buildHttpCallsSection(profile.httpCalls || []),
45
210
  });
46
211
  }
47
212
  buildHeadersTable(headers) {
@@ -307,6 +472,112 @@ let TemplateBuilderService = class TemplateBuilderService {
307
472
  return 'bg-blue-500';
308
473
  return 'bg-green-500';
309
474
  }
475
+ buildHttpCallsList(calls) {
476
+ const rows = calls.map(c => {
477
+ const statusClass = !c.statusCode ? 'text-gray-400'
478
+ : c.statusCode >= 500 ? 'text-red-600 font-bold'
479
+ : c.statusCode >= 400 ? 'text-yellow-600 font-bold'
480
+ : 'text-green-600';
481
+ const durationClass = c.error ? 'text-red-600' : c.duration > 500 ? 'text-red-600 font-bold' : c.duration > 200 ? 'text-yellow-600' : 'text-gray-600';
482
+ const protocolBadge = c.protocol === 'https'
483
+ ? '<span class="text-xs px-1.5 py-0.5 rounded bg-green-100 text-green-700 font-semibold">HTTPS</span>'
484
+ : '<span class="text-xs px-1.5 py-0.5 rounded bg-gray-100 text-gray-600 font-semibold">HTTP</span>';
485
+ return `
486
+ <tr class="hover:bg-gray-50 border-b border-gray-100">
487
+ <td class="p-3 whitespace-nowrap">
488
+ ${this.viewService.getMethodBadge(c.method)}
489
+ </td>
490
+ <td class="p-3 max-w-xs">
491
+ <div class="flex items-center gap-1.5">
492
+ ${protocolBadge}
493
+ <span class="font-mono text-xs text-gray-800 truncate" title="${c.url}">${c.url}</span>
494
+ </div>
495
+ ${c.error ? `<div class="text-xs text-red-600 mt-0.5">Error: ${c.error}</div>` : ''}
496
+ </td>
497
+ <td class="p-3 whitespace-nowrap">
498
+ <span class="text-sm ${statusClass}">${c.statusCode ?? '-'}</span>
499
+ </td>
500
+ <td class="p-3 whitespace-nowrap text-right">
501
+ <span class="text-sm ${durationClass}">${c.duration}ms</span>
502
+ </td>
503
+ <td class="p-3 whitespace-nowrap">
504
+ <a href="/__profiler/${c.requestId}" class="text-xs text-indigo-600 hover:underline font-mono truncate block max-w-[140px]" title="${c.requestUrl}">
505
+ ${c.requestMethod} ${c.requestUrl}
506
+ </a>
507
+ </td>
508
+ </tr>`;
509
+ }).join('') || '<tr><td colspan="5" class="p-8 text-center text-gray-500">No outbound HTTP calls recorded.</td></tr>';
510
+ return `
511
+ <div class="bg-white rounded-lg shadow-sm border border-gray-200 overflow-hidden">
512
+ <div class="p-4 border-b border-gray-200 bg-gray-50 flex justify-between items-center">
513
+ <h2 class="font-semibold text-gray-700">Outbound HTTP Calls</h2>
514
+ <span class="text-xs text-gray-500 bg-white border border-gray-200 px-2 py-1 rounded-md">${calls.length} calls</span>
515
+ </div>
516
+ <div class="overflow-x-auto">
517
+ <table class="w-full text-left border-collapse">
518
+ <thead class="bg-gray-50 text-gray-500 uppercase text-xs tracking-wider font-medium">
519
+ <tr>
520
+ <th class="p-3 border-b border-gray-200 w-16">Method</th>
521
+ <th class="p-3 border-b border-gray-200">URL</th>
522
+ <th class="p-3 border-b border-gray-200 w-16">Status</th>
523
+ <th class="p-3 border-b border-gray-200 w-24 text-right">Duration</th>
524
+ <th class="p-3 border-b border-gray-200 w-40">Triggered by</th>
525
+ </tr>
526
+ </thead>
527
+ <tbody>${rows}</tbody>
528
+ </table>
529
+ </div>
530
+ </div>`;
531
+ }
532
+ buildHttpCallsSection(calls) {
533
+ if (!calls || calls.length === 0)
534
+ return '';
535
+ const rows = calls.map(c => {
536
+ const statusClass = !c.statusCode ? 'text-gray-400'
537
+ : c.statusCode >= 500 ? 'text-red-600 font-bold'
538
+ : c.statusCode >= 400 ? 'text-yellow-600 font-bold'
539
+ : 'text-green-600';
540
+ const durationClass = c.error ? 'text-red-600' : c.duration > 500 ? 'text-red-600 font-bold' : c.duration > 200 ? 'text-yellow-600' : 'text-gray-600';
541
+ const protocolBadge = c.protocol === 'https'
542
+ ? '<span class="text-xs px-1 py-0.5 rounded bg-green-100 text-green-700 font-semibold">HTTPS</span>'
543
+ : '<span class="text-xs px-1 py-0.5 rounded bg-gray-100 text-gray-600 font-semibold">HTTP</span>';
544
+ return `
545
+ <tr class="hover:bg-gray-50">
546
+ <td class="px-4 py-2.5 whitespace-nowrap">${this.viewService.getMethodBadge(c.method)}</td>
547
+ <td class="px-4 py-2.5">
548
+ <div class="flex items-center gap-1.5">
549
+ ${protocolBadge}
550
+ <span class="font-mono text-xs text-gray-800 break-all">${c.url}</span>
551
+ </div>
552
+ ${c.error ? `<div class="text-xs text-red-600 mt-0.5">Error: ${c.error}</div>` : ''}
553
+ </td>
554
+ <td class="px-4 py-2.5 whitespace-nowrap text-center">
555
+ <span class="text-sm ${statusClass}">${c.statusCode ?? '—'}</span>
556
+ </td>
557
+ <td class="px-4 py-2.5 whitespace-nowrap text-right">
558
+ <span class="text-sm ${durationClass}">${c.duration}ms</span>
559
+ </td>
560
+ </tr>`;
561
+ }).join('');
562
+ return `
563
+ <div class="bg-gray-50 rounded-lg border border-gray-200 p-4 mb-4">
564
+ <h2 class="text-sm font-bold text-gray-500 uppercase tracking-widest mb-4">Outbound HTTP Calls (${calls.length})</h2>
565
+ <div class="bg-white rounded shadow-sm border border-gray-200 overflow-hidden">
566
+ <table class="min-w-full divide-y divide-gray-200">
567
+ <thead class="bg-gray-50">
568
+ <tr>
569
+ <th class="px-4 py-2 text-left text-xs font-medium text-gray-500 uppercase w-16">Method</th>
570
+ <th class="px-4 py-2 text-left text-xs font-medium text-gray-500 uppercase">URL</th>
571
+ <th class="px-4 py-2 text-center text-xs font-medium text-gray-500 uppercase w-16">Status</th>
572
+ <th class="px-4 py-2 text-right text-xs font-medium text-gray-500 uppercase w-24">Duration</th>
573
+ </tr>
574
+ </thead>
575
+ <tbody class="divide-y divide-gray-200">${rows}</tbody>
576
+ </table>
577
+ </div>
578
+ </div>
579
+ `;
580
+ }
310
581
  buildCacheSection(cache) {
311
582
  if (!cache || cache.length === 0)
312
583
  return '';
@@ -1 +1 @@
1
- {"version":3,"file":"template-builder.service.js","sourceRoot":"","sources":["../../../libs/nestjs-profiler/src/services/template-builder.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template-builder.service.js","sourceRoot":"","sources":["../../../libs/nestjs-profiler/src/services/template-builder.service.ts"],"names":[],"mappings":"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"}
@@ -63,24 +63,32 @@ let ViewService = class ViewService {
63
63
  renderWithLayout(title, content, activeTab = 'requests') {
64
64
  const layoutPath = path.join(this.viewsPath, 'layout.html');
65
65
  let layout = this.loadTemplate(layoutPath);
66
+ const active = (tab) => activeTab === tab ? 'bg-indigo-600 text-white' : 'text-slate-300 hover:bg-slate-800 hover:text-white';
67
+ const activeIcon = (tab) => activeTab === tab ? 'text-indigo-300' : 'text-slate-400 group-hover:text-white';
66
68
  const data = {
67
69
  title,
68
70
  content,
69
71
  activeTab,
70
72
  activeClass: 'bg-indigo-600 text-white',
71
73
  inactiveClass: 'text-slate-300 hover:bg-slate-800 hover:text-white',
72
- requestsActive: activeTab === 'requests' ? 'bg-indigo-600 text-white' : 'text-slate-300 hover:bg-slate-800 hover:text-white',
73
- queriesActive: activeTab === 'queries' ? 'bg-indigo-600 text-white' : 'text-slate-300 hover:bg-slate-800 hover:text-white',
74
- logsActive: activeTab === 'logs' ? 'bg-indigo-600 text-white' : 'text-slate-300 hover:bg-slate-800 hover:text-white',
75
- entitiesActive: activeTab === 'entities' ? 'bg-indigo-600 text-white' : 'text-slate-300 hover:bg-slate-800 hover:text-white',
76
- routesActive: activeTab === 'routes' ? 'bg-indigo-600 text-white' : 'text-slate-300 hover:bg-slate-800 hover:text-white',
77
- cacheActive: activeTab === 'cache' ? 'bg-indigo-600 text-white' : 'text-slate-300 hover:bg-slate-800 hover:text-white',
78
- requestsIconClass: activeTab === 'requests' ? 'text-indigo-300' : 'text-slate-400 group-hover:text-white',
79
- queriesIconClass: activeTab === 'queries' ? 'text-indigo-300' : 'text-slate-400 group-hover:text-white',
80
- logsIconClass: activeTab === 'logs' ? 'text-indigo-300' : 'text-slate-400 group-hover:text-white',
81
- entitiesIconClass: activeTab === 'entities' ? 'text-indigo-300' : 'text-slate-400 group-hover:text-white',
82
- routesIconClass: activeTab === 'routes' ? 'text-indigo-300' : 'text-slate-400 group-hover:text-white',
83
- cacheIconClass: activeTab === 'cache' ? 'text-indigo-300' : 'text-slate-400 group-hover:text-white',
74
+ summaryActive: active('summary'),
75
+ requestsActive: active('requests'),
76
+ queriesActive: active('queries'),
77
+ logsActive: active('logs'),
78
+ entitiesActive: active('entities'),
79
+ routesActive: active('routes'),
80
+ cacheActive: active('cache'),
81
+ httpCallsActive: active('http-calls'),
82
+ liveLogsActive: active('live-logs'),
83
+ summaryIconClass: activeIcon('summary'),
84
+ requestsIconClass: activeIcon('requests'),
85
+ queriesIconClass: activeIcon('queries'),
86
+ logsIconClass: activeIcon('logs'),
87
+ entitiesIconClass: activeIcon('entities'),
88
+ routesIconClass: activeIcon('routes'),
89
+ cacheIconClass: activeIcon('cache'),
90
+ httpCallsIconClass: activeIcon('http-calls'),
91
+ liveLogsIconClass: activeIcon('live-logs'),
84
92
  };
85
93
  layout = this.interpolate(layout, data);
86
94
  return layout;
@@ -1 +1 @@
1
- {"version":3,"file":"view.service.js","sourceRoot":"","sources":["../../../libs/nestjs-profiler/src/services/view.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view.service.js","sourceRoot":"","sources":["../../../libs/nestjs-profiler/src/services/view.service.ts"],"names":[],"mappings":"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"}
@@ -51,6 +51,17 @@
51
51
  {{{ emptyState }}}
52
52
 
53
53
  <script>
54
+ function filterRows(term) {
55
+ const body = document.getElementById('tableBody');
56
+ if (!body) return;
57
+ const lower = (term || '').toLowerCase();
58
+ Array.from(body.rows).forEach(row => {
59
+ const urlCell = row.cells[1];
60
+ const text = urlCell ? urlCell.textContent.toLowerCase() : '';
61
+ row.style.display = (!lower || text.includes(lower)) ? '' : 'none';
62
+ });
63
+ }
64
+
54
65
  function toggleSort() {
55
66
  const table = document.getElementById('tableBody');
56
67
  const rows = Array.from(table.rows);
@@ -67,6 +78,19 @@
67
78
  desc.classList.remove('text-indigo-600', 'opacity-100'); desc.classList.add('opacity-50');
68
79
  }
69
80
  }
81
+
82
+ // Wire search input
83
+ const searchInput = document.getElementById('search');
84
+ if (searchInput) {
85
+ searchInput.addEventListener('input', () => filterRows(searchInput.value));
86
+
87
+ // Pre-fill from ?search= query param (used by links from summary page)
88
+ const preSearch = new URLSearchParams(window.location.search).get('search');
89
+ if (preSearch) {
90
+ searchInput.value = preSearch;
91
+ filterRows(preSearch);
92
+ }
93
+ }
70
94
  </script>
71
95
 
72
96
 
package/views/detail.html CHANGED
@@ -57,6 +57,8 @@
57
57
  </div>
58
58
 
59
59
  {{{ cacheSection }}}
60
+
61
+ {{{ httpCallsSection }}}
60
62
  </div>
61
63
 
62
64
  <!-- Sidebar: Meta Info -->
package/views/layout.html CHANGED
@@ -91,6 +91,15 @@
91
91
  </a>
92
92
  </div>
93
93
  <nav class="flex-1 px-4 py-6 space-y-1">
94
+ <a href="/__profiler/view/summary"
95
+ class="flex items-center px-2 py-2 text-sm font-medium rounded-md group {{{ summaryActive }}}">
96
+ <svg class="mr-3 flex-shrink-0 h-6 w-6 {{{ summaryIconClass }}}" fill="none" viewBox="0 0 24 24"
97
+ stroke="currentColor">
98
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
99
+ d="M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z" />
100
+ </svg>
101
+ Summary
102
+ </a>
94
103
  <a href="/__profiler"
95
104
  class="flex items-center px-2 py-2 text-sm font-medium rounded-md group {{{ requestsActive }}}">
96
105
  <svg class="mr-3 flex-shrink-0 h-6 w-6 {{{ requestsIconClass }}}" fill="none" viewBox="0 0 24 24"
@@ -145,6 +154,25 @@
145
154
  </svg>
146
155
  Cache
147
156
  </a>
157
+ <a href="/__profiler/view/http-calls"
158
+ class="flex items-center px-2 py-2 text-sm font-medium rounded-md group {{{ httpCallsActive }}}">
159
+ <svg class="mr-3 flex-shrink-0 h-6 w-6 {{{ httpCallsIconClass }}}" fill="none" viewBox="0 0 24 24"
160
+ stroke="currentColor">
161
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
162
+ d="M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" />
163
+ </svg>
164
+ HTTP Calls
165
+ </a>
166
+ <a href="/__profiler/view/logs/live"
167
+ class="flex items-center px-2 py-2 text-sm font-medium rounded-md group {{{ liveLogsActive }}}">
168
+ <svg class="mr-3 flex-shrink-0 h-6 w-6 {{{ liveLogsIconClass }}}" fill="none" viewBox="0 0 24 24"
169
+ stroke="currentColor">
170
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
171
+ d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z" />
172
+ </svg>
173
+ Live Logs
174
+ <span class="ml-auto w-2 h-2 rounded-full bg-green-400 animate-pulse"></span>
175
+ </a>
148
176
  </nav>
149
177
  <div class="flex-shrink-0 flex bg-slate-800 p-4">
150
178
  <a href="#" class="flex-shrink-0 w-full group block">
@@ -212,6 +240,18 @@
212
240
  });
213
241
  };
214
242
 
243
+ // Re-execute <script> tags injected via innerHTML (browsers skip them by default)
244
+ const reExecScripts = (container) => {
245
+ container.querySelectorAll('script').forEach(oldScript => {
246
+ const newScript = document.createElement('script');
247
+ Array.from(oldScript.attributes).forEach(a =>
248
+ newScript.setAttribute(a.name, a.value)
249
+ );
250
+ newScript.textContent = oldScript.textContent;
251
+ oldScript.parentNode.replaceChild(newScript, oldScript);
252
+ });
253
+ };
254
+
215
255
  const navigate = async (url) => {
216
256
  try {
217
257
  // Show loading state if needed
@@ -232,6 +272,9 @@
232
272
  // Update Title
233
273
  document.title = doc.title;
234
274
 
275
+ // Re-execute inline scripts (needed for live logs SSE connect(), etc.)
276
+ reExecScripts(mainContent);
277
+
235
278
  // Re-attach listeners (like search)
236
279
  const newSearchInput = document.getElementById('search');
237
280
  if (newSearchInput) {
@@ -259,6 +302,8 @@
259
302
  if (link && link.href && link.href.includes('/__profiler') && !link.getAttribute('target')) {
260
303
  const url = new URL(link.href);
261
304
  if (url.origin === window.location.origin) {
305
+ // Live logs uses SSE — always do a full page load so the script runs fresh
306
+ if (url.pathname.includes('/logs/live')) return;
262
307
  e.preventDefault();
263
308
  const path = url.pathname + url.search;
264
309
  history.pushState({}, '', path);