@ipshipyard/libp2p-inspector
    Preparing search index...

    Module @ipshipyard/libp2p-devtools

    A DevTools plugin that adds a "libp2p" tab to your developer tools that contacts a libp2p node running on the current page.

    Works with @ipshipyard/libp2p-inspector-metrics which supplies metrics and allows us to interact with the running node.

    libp2p-inspector running in DevTools

    Until this plugin is published on the relevant browser plugin stores, please run this locally.

    1. Clone this repo
    2. Run npm i && npm run build
    3. Install as an unpacked/temporary add on for your browser:

    Configure @ipshipyard/libp2p-inspector-metrics as your metrics implementation:

    import { createLibp2p } from 'libp2p'
    import { inspectorMetrics } from '@ipshipyard/libp2p-inspector-metrics'

    const node = await createLibp2p({
    metrics: inspectorMetrics(),
    //... other options her
    })

    With the move to Manifest v3, users must now opt in to running content scripts on a page.

    Please click the extensions button, then grant the extension permission to run:

    The Chrome plugin permissions dialogue

    Please click the extensions button, then grant the extension permission to run:

    The Firefox plugin permissions dialogue

    Browse to your webapp and open the DevTools, you should see a "libp2p" tab towards the right hand side of the toolbar. Click it to see stats about the running node.

    1. Tests
    • There aren't a lot of tests here yet
    1. Better UI
    • It's quite rough
    1. Graphs
    • We don't do much with the collected metrics yet. It would be nice to use Chart.js or similar to show some useful graphs
    • Bonus points for letting the user define their own graphs a la Grafana/Prometheus
    • More bonus points for being able to export/import graph configs
    1. Dynamic panels
    • We should be able to inspect the libp2p node's configured services (or protocols?) and, for example, only show a DHT tab if the DHT is configured
    1. Light theme support
    • There are partial overrides for light theme font/background/border colors but we need better detection of when it's enabled
    1. ??? more features here