- Open
browser-extension/generate_icons.htmlin your browser - The icons will auto-generate
- Click "Download All Icons" or download each individually:
icon-16.pngicon-48.pngicon-128.png
- Save them in the
browser-extension/icons/directory
- Open Chrome and navigate to
chrome://extensions/ - Enable "Developer mode" (toggle in top right)
- Click "Load unpacked"
- Select the
browser-extensiondirectory from this repository - You should see "AbsurderSQL Telemetry DevTools" in your extensions list
- Open
examples/devtools_demo.htmlin Chrome - Open DevTools (F12 or Cmd+Option+I on Mac)
- Click on the "AbsurderSQL" tab (should appear at the top or in the >> menu)
- Back in the demo page, click:
- "1. Initialize Database"
- "2. Run Sample Queries"
- Watch the DevTools panel update in real-time!
- Real-time list of all recorded spans
- Filter by name or status
- Click spans to see details
- Duration, timestamp, and span ID
- Total exports count
- Success/failure rates
- Success rate percentage
- Recent export errors
- OTLP endpoint URL
- Batch size settings
- Auto-export toggle
- Custom headers (for authentication)
- Number of buffered spans
- Buffer size in bytes
- Batch threshold
- Inspect/clear buffer controls
Once you have AbsurderSQL built with --features telemetry:
import init, { Database } from '@npiesco/absurder-sql';
await init();
// Create database with telemetry
const db = await Database.new('my_database.db');
// In your Rust code, enable DevTools:
let exporter = WasmSpanExporter::new("http://localhost:4318/v1/traces".to_string())
.with_devtools(true) // Enable DevTools integration
.with_batch_size(100);The extension will automatically receive messages from WasmSpanExporter via chrome.runtime.sendMessage().
Problem: Can't find "AbsurderSQL" tab in DevTools
Solutions:
- Make sure the extension is enabled in
chrome://extensions/ - Refresh the extension by clicking the refresh icon
- Close and reopen DevTools
- Try reloading the page
Problem: DevTools panel is empty, no spans appear
Solutions:
- Verify AbsurderSQL is built with
--features telemetry - Check that
.with_devtools(true)is called onWasmSpanExporter - Open browser console (Console tab in DevTools) and look for errors
- Verify the demo page is working:
examples/devtools_demo.html
Problem: Extension icon appears broken or missing
Solutions:
- Make sure you generated and saved the icons in
browser-extension/icons/ - Verify all three files exist:
icon-16.pngicon-48.pngicon-128.png
- Reload the extension from
chrome://extensions/
Problem: DevTools not receiving telemetry messages
Solutions:
- Check browser console for
chrome.runtimeerrors - Verify
manifest.jsonhas correcthost_permissions - Make sure
content.jsis loaded (check browser console for "[Content] AbsurderSQL DevTools content script loaded") - Test with the demo page first:
examples/devtools_demo.html
The extension also works in Firefox:
- Open
about:debugging#/runtime/this-firefox - Click "Load Temporary Add-on"
- Select
manifest.jsonfrom thebrowser-extensiondirectory - Open DevTools (F12) and find the "AbsurderSQL" tab
Note: Firefox extensions are temporary and will be removed when you close Firefox.
To modify the extension:
- Edit files in
browser-extension/ - Go to
chrome://extensions/ - Click the refresh icon on the AbsurderSQL extension
- Reload DevTools to see changes
manifest.json- Extension configuration (Manifest V3)devtools.js- Message hub between panel and content scriptpanel.html- Main UI structurepanel.css- Stylingpanel.js- Logic and message handlingcontent.js- Content script to bridge page messages to extension
The extension requires <all_urls> host permission to communicate with any OTLP endpoint you configure. Be cautious when entering authentication tokens in the Custom Headers field.
- [✓] Install the extension
- [✓] Test with the demo page
- [✓] Configure your OTLP endpoint
- [✓] Enable DevTools in your AbsurderSQL code
- [✓] Start monitoring your application!
For issues or questions:
- GitHub: https://github.com/npiesco/absurder-sql
- Check
browser-extension/README.mdfor more details