Interplanetary Shipyard (opens new window) is thrilled to share js-libp2p inspector (opens new window), the new developer tools for debugging and inspecting js-libp2p and Helia, for use both in browsers and Node.js.

Debugging is an essential part of software development, and having the right tools can make all the difference. The new developer tools provide a user-friendly interface to inspect your libp2p nodes in real-time, tightening the feedback loop and making it easier to diagnose issues.

# Inspecting and monitoring throughout the development cycle

These new developer tools expand the existing set of metrics implementations for js-libp2p, which include metrics-prometheus (opens new window) and metrics-opentelemetry (opens new window).

While Prometheus and OpenTelemetry are for monitoring and tracing in production (though not exclusively), the inspector is intended for use during development. Together, these tools provide a comprehensive solution for monitoring and debugging js-libp2p and Helia nodes throughout the development cycle.

# Getting started

To inspect a js-libp2p or Helia node, you need to pass the metrics implementation from the @ipshipyard/libp2p-inspector-metrics (opens new window) package to your js-libp2p or Helia factory:

# js-libp2p example

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

const node = await createLibp2p({
  metrics: inspectorMetrics()
})

# Helia example

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

const node = await createHelia({
  libp2p: {
    metrics: inspectorMetrics()
  },
})

Once you have your node running with the inspector metrics enabled, you can start inspecting it using the browser extension or the Electron app.

The following video walks through setup and usage with both Node.js and browser environments:

# Try the new developer tools

The new developer tools consist of several npm packages that work together:

We encourage you to try out the new developer tools and provide feedback. You can find the source code on GitHub (opens new window).