How to Run a Basic System Diagnostic Using JavaScript

Updated on March 1, 2026

Running a basic system diagnostic can help you quickly identify performance and connectivity issues on your device. You can perform this check directly in your browser using a JavaScript script.

Open the Browser Console #

  1. Open the browser you want to check.

  2. Press the following keys to open the developer console:

    • Chrome / Edge: Ctrl + Shift + J (Windows) or Cmd + Option + J (Mac)

    • Firefox: Ctrl + Shift + K (Windows) or Cmd + Option + K (Mac)

    • Safari: Cmd + Option + C (Mac) (Enable “Show Develop menu” in Preferences → Advanced)

Copy and Paste the Script #

Copy the JavaScript code into your browser console that you see towards the end of this post named: runDiagnostic.js

Run the Script #

  1. Press Enter after pasting the script.

  2. The console will display a System Diagnostic Report including:

    • Browser and platform information

    • CPU cores and available memory

    • Network status and connection speed

    • Page performance metrics

    • Any JavaScript errors captured

Review the Results #

  • Look through the report in the console to identify any unusual values:

    • Offline status, low memory, or high page load times may indicate performance issues.

    • JavaScript errors indicate problems with website scripts that may affect functionality.

Next Steps #

  • You can use this diagnostic information to:

    • Check if your device or browser is the source of a performance issue

    • Share the report with technical support for troubleshooting

    • Track improvements after making adjustments to your system

This KB is designed to let you quickly check system performance and errors without installing any software.

runDiagnostic.js
function runSystemDiagnostic() {
    const diag = {};

    // Browser & Platform Info
    diag.browser = navigator.userAgent;
    diag.platform = navigator.platform;

    // CPU Info
    diag.cpuCores = navigator.hardwareConcurrency || "Not available";

    // Memory Info (Chrome only)
    diag.memory = navigator.deviceMemory ? `${navigator.deviceMemory} GB` : "Not available";

    // Network Info
    diag.online = navigator.onLine;
    diag.connection = navigator.connection 
        ? {
            effectiveType: navigator.connection.effectiveType,
            downlink: navigator.connection.downlink + " Mb/s",
            rtt: navigator.connection.rtt + " ms"
          }
        : "Not available";

    // Performance Timing
    diag.performance = performance.timing 
        ? {
            pageLoadTime: performance.timing.loadEventEnd - performance.timing.navigationStart,
            domReadyTime: performance.timing.domComplete - performance.timing.domLoading,
            redirectCount: performance.navigation.redirectCount
          }
        : "Not available";

    // Logged JavaScript Errors
    diag.errors = window._diagnosticErrors || [];

    return diag;
}

// Capture JavaScript errors automatically
window._diagnosticErrors = [];
window.addEventListener("error", (e) => {
    window._diagnosticErrors.push({
        message: e.message,
        source: e.filename,
        line: e.lineno,
        column: e.colno
    });
});

// Run the diagnostic and log the result
console.log("System Diagnostic Report:", runSystemDiagnostic());