Skip to content

Commit 40b16e3

Browse files
It works
Signed-off-by: Jennings <jenningsa@meta.com>
1 parent b41fc7c commit 40b16e3

2 files changed

Lines changed: 5 additions & 128 deletions

File tree

js/sandbox.js

Lines changed: 0 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -16,99 +16,6 @@
1616
window.setupComplete = false;
1717
window.latestVersion = null;
1818

19-
// ============================================================
20-
// Network Activity (PerformanceObserver)
21-
// ============================================================
22-
var networkEntries = [];
23-
var netObserver = new PerformanceObserver(function (list) {
24-
for (var entry of list.getEntries()) {
25-
if (entry.name.includes('overturemaps.org')) {
26-
networkEntries.push(entry);
27-
renderNetworkActivity();
28-
}
29-
}
30-
});
31-
netObserver.observe({ type: 'resource', buffered: true });
32-
33-
function formatBytes(bytes) {
34-
if (!bytes || bytes === 0) return 'n/a';
35-
if (bytes < 1024) return bytes + ' B';
36-
if (bytes < 1024 * 1024) return (bytes / 1024).toFixed(1) + ' KB';
37-
return (bytes / (1024 * 1024)).toFixed(1) + ' MB';
38-
}
39-
40-
function extractFilename(url) {
41-
try {
42-
var path = new URL(url).pathname;
43-
var segments = path.split('/').filter(Boolean);
44-
return segments[segments.length - 1] || path;
45-
} catch (e) {
46-
return url;
47-
}
48-
}
49-
50-
function renderNetworkActivity() {
51-
var container = document.getElementById('network-container');
52-
var meta = document.getElementById('network-meta');
53-
if (!container || !meta) return;
54-
55-
if (networkEntries.length === 0) {
56-
container.innerHTML = '<p class="placeholder">Network requests will appear here during queries.</p>';
57-
meta.textContent = '';
58-
return;
59-
}
60-
61-
// Summary
62-
var totalSize = 0;
63-
for (var i = 0; i < networkEntries.length; i++) {
64-
totalSize += networkEntries[i].transferSize || 0;
65-
}
66-
var summary = networkEntries.length + ' request' + (networkEntries.length !== 1 ? 's' : '');
67-
if (totalSize > 0) {
68-
summary += ' \u00b7 ' + formatBytes(totalSize);
69-
}
70-
meta.textContent = summary;
71-
72-
// Table
73-
var html = '<div class="table-wrapper"><table><thead><tr>';
74-
html += '<th>File</th><th>Duration</th><th>TTFB</th><th>Size</th><th>Time</th>';
75-
html += '</tr></thead><tbody>';
76-
77-
for (var j = 0; j < networkEntries.length; j++) {
78-
var e = networkEntries[j];
79-
var filename = extractFilename(e.name);
80-
var duration = Math.round(e.duration) + ' ms';
81-
var ttfb = Math.round(e.responseStart - e.startTime);
82-
var ttfbStr = ttfb >= 0 ? ttfb + ' ms' : 'n/a';
83-
var size = formatBytes(e.transferSize);
84-
var time = (e.startTime / 1000).toFixed(1) + 's';
85-
86-
html += '<tr>';
87-
html += '<td title="' + escapeHtml(e.name) + '">' + escapeHtml(filename) + '</td>';
88-
html += '<td>' + duration + '</td>';
89-
html += '<td>' + ttfbStr + '</td>';
90-
html += '<td>' + size + '</td>';
91-
html += '<td>' + time + '</td>';
92-
html += '</tr>';
93-
}
94-
95-
html += '</tbody></table></div>';
96-
container.innerHTML = html;
97-
}
98-
99-
function clearNetworkActivity() {
100-
networkEntries = [];
101-
performance.clearResourceTimings();
102-
var container = document.getElementById('network-container');
103-
var meta = document.getElementById('network-meta');
104-
if (container) {
105-
container.innerHTML = '<p class="placeholder">Network requests will appear here during queries.</p>';
106-
}
107-
if (meta) {
108-
meta.textContent = '';
109-
}
110-
}
111-
11219
// ============================================================
11320
// DOM References
11421
// ============================================================
@@ -301,7 +208,6 @@
301208
btnSetup.disabled = true;
302209
btnSetup.innerHTML = '<span class="btn-spinner"></span>Running...';
303210
hideError(setupError);
304-
clearNetworkActivity();
305211

306212
releaseItem.style.display = 'flex';
307213
releaseDot.className = 'status-dot loading';
@@ -405,7 +311,6 @@
405311
btnQuery.disabled = true;
406312
btnQuery.innerHTML = '<span class="btn-spinner"></span>Running...';
407313
hideError(queryError);
408-
clearNetworkActivity();
409314
resultsContainer.innerHTML = '<p class="placeholder">Running query...</p>';
410315
resultsMeta.textContent = '';
411316

sandbox.html

Lines changed: 5 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@
184184
border-color: var(--om-color-primary-light);
185185
}
186186
#setup-editor {
187-
min-height: 20lh;
187+
min-height: 30lh;
188188
overflow-y: hidden;
189189
resize: none;
190190
}
@@ -413,15 +413,6 @@
413413
font-size: 0.9rem;
414414
}
415415

416-
/* Network Activity Table */
417-
#network-container .table-wrapper {
418-
max-height: 300px;
419-
}
420-
#network-container .table-wrapper td {
421-
font-family: var(--om-font-mono);
422-
font-size: 0.75rem;
423-
}
424-
425416
/* Explorer Section */
426417
.explorer-top {
427418
display: flex;
@@ -605,9 +596,6 @@ <h1>Overture Maps DuckDB Sandbox</h1>
605596
<span id="release-dot" class="status-dot loading"></span>
606597
<span id="release-status">Fetching release...</span>
607598
</div>
608-
<div class="status-item" style="margin-left: auto;">
609-
Results limited to 100 rows
610-
</div>
611599
</div>
612600

613601
<!-- Box 1: Setup (collapsed by default, auto-runs on load) -->
@@ -617,11 +605,6 @@ <h1>Overture Maps DuckDB Sandbox</h1>
617605
<span class="section-chevron">&#9654;</span>
618606
<span>1. Setup</span>
619607
</summary>
620-
<p class="section-desc">
621-
Query the
622-
<a href="https://stac.overturemaps.org" target="_blank" style="color: var(--om-link-color);">STAC catalog</a>
623-
for the latest release and load the collections index.
624-
</p>
625608
<div class="editor-wrapper">
626609
<textarea id="setup-editor" class="sql-editor" spellcheck="false">-- Install and load extensions
627610
INSTALL spatial;
@@ -635,6 +618,9 @@ <h1>Overture Maps DuckDB Sandbox</h1>
635618
-- Cache parquet footers and HTTP metadata between queries
636619
SET parquet_metadata_cache = true;
637620
SET enable_http_metadata_cache = true;
621+
SET enable_object_cache = true;
622+
SET http_keep_alive = true;
623+
SET unsafe_disable_etag_checks = true;
638624

639625
-- Get the latest Overture release version from the STAC catalog
640626
SET VARIABLE overture_release = (
@@ -660,7 +646,7 @@ <h1>Overture Maps DuckDB Sandbox</h1>
660646
<details open>
661647
<summary class="section-header" style="cursor:pointer;list-style:none;">
662648
<span class="section-chevron">&#9654;</span>
663-
<span>2. Explore File Partitions</span>
649+
<span>2. Spatial Extent</span>
664650
</summary>
665651
<!-- Top row: controls left, map right -->
666652
<div class="explorer-top">
@@ -781,20 +767,6 @@ <h1>Overture Maps DuckDB Sandbox</h1>
781767
</details>
782768
</div>
783769

784-
<!-- Network Activity -->
785-
<div id="network-section" class="query-section">
786-
<details>
787-
<summary class="section-header" style="cursor:pointer;list-style:none;">
788-
<span class="section-chevron">&#9654;</span>
789-
<span>Network Activity</span>
790-
<span class="results-meta" id="network-meta"></span>
791-
</summary>
792-
<div id="network-container">
793-
<p class="placeholder">Network requests will appear here during queries.</p>
794-
</div>
795-
</details>
796-
</div>
797-
798770
<!-- Footer -->
799771
<footer>
800772
<a href="https://docs.overturemaps.org" target="_blank">Overture Maps Docs</a>

0 commit comments

Comments
 (0)