A lightweight Chrome extension that periodically measures and displays your ping (round‐trip time) to https://google.com right in your browser toolbar. View a live‐updating miniature chart of the last few pings in a popup and control the measurement interval, pause/resume, or clear the graph.
Chrome: https://chromewebstore.google.com/detail/ping-checker/hkibkekheimihinckebnembhcmgmfmbf Firefox: https://addons.mozilla.org/en-GB/firefox/addon/ping-checker/
- Measures “ping” (round‐trip time) via a
fetchrequest in a Service Worker. - Displays the latest ping value as your extension badge.
- Popup with a live‐updating Chart.js line graph of the most recent measurements.
- Controls to pause/resume measurements and clear the graph history.
- Adjustable measurement interval (3–7 seconds by default).
- Minimal permissions: only
activeTab.
- Clone the repo or download the source:
git clone https://github.com/passimon/ping-checker.git cd ping-checker - Open Chrome and navigate to
chrome://extensions. - Enable Developer mode (toggle in the top‐right).
- Click Load unpacked and select the project’s root folder.
- The “Ping Checker” icon should appear in your toolbar.
- Click the “Ping Checker” icon to open the popup.
- Watch the chart update every N seconds (default 5 sec).
- Use Stop / Start to pause or resume measurements.
- Use Clear to reset the chart data.
- Slide the Interval range control to change how often it pings (3–7 sec).
background.js
- Uses
setIntervalto periodicallyfetch('https://google.com')inno-corsmode. - Measures time difference to approximate ping.
- Keeps a rolling window of the last 6 values.
- Updates the badge text and broadcasts data via
chrome.runtime.sendMessage.
popup.js
- Renders a Chart.js line chart inside
popup.html. - Listens for incoming ping-data messages to refresh the chart.
- Sends control messages (
refreshGraph,toggleMeasurement,updateInterval) back tobackground.js.
manifest.json
- Declares
manifest_version: 3with a background service worker. - Requests only the
activeTabpermission.
- Make sure you have the Chart.js library in
chart.js. You can install it via npm and build, or download the UMD build from the official Chart.js site. - After any code change, reload the extension on
chrome://extensions.