
Company News
Socket Named Top Sales Organization by RepVue
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.
hyper-instrument
Advanced tools
Instrument services in the Hypercore ecosystem.
Supports both the Node.js and bare runtimes.
Supports the metrics of
The service registers itself with a DHT Prometheus instance, which scrapes the metrics at regular intervals.
A Grafana dashboard visualising all metrics is available (source).
npm i hyper-instrument
const HyperInstrument = require('hyper-instrument')
const Hyperdht = require('hyperdht')
const { version } = require('./package.json') // version of your own module
const scraperPublicKey = // Public key of the metrics scraper
const scraperSecret = // Secret of the metrics scraper
const prometheusAlias = // unique alias identifying this instance
const prometheusServiceName = // the name of the service
const dht = new Hyperdht()
const instrumentation = new HyperInstrument({
dht,
scraperPublicKey,
scraperSecret,
prometheusAlias,
prometheusServiceName,
version
})
// You can add additional metrics
new instrumentation.promClient.Gauge({
name: 'my_custom_metric',
help: 'my custom metric help',
collect () {
return 1 // dummy metric
}
})
// If you want to see instrumentation-related logs:
instrumentation.registerLogger()
// start the scraping
await instrumentation.ready()
const instrumentation = new HyperInstrument(params)Set up instrumentation by registering the default metrics and creating a DHT-Prom client instance.
It is possible to add additional metrics by adding them to instrumentation.promClient, which is a Prom-client instance.
params must include:
scraperPublicKey: public key of the DHT-Prometheus scraper (hex, z32 or buffer)scraperSecret: secret of the DHT-Prometheus scraper (hex, z32 or buffer)prometheusAlias: string uniquely identifying this instance to the scraperprometheusServiceName: string containing the name of the serviceparams must also include exactly one of
dht: a HyperDHT instanceswarm: a Hyperswarm instanceThe passed-in swarm/dht will be instrumented. It will also be used to connect with the scraper.
You should pass in swarm if your service operates at Hyperswarm level, since Hyperswarm extends HyperDHT (the Hyperswarm metrics include all HyperDHT metrics).
Optionally, params can also include:
corestore: a Corestore instance. Passing in a Corestore will set up hypercore-stats instrumentationmoduleVersions: a list of package names for which to expose the version number as a metric. Defaults to the core datastructure and networking libraries.instrumentation.promClientThe Prom Client instance.
instrumentation.dhtPromClientThe DHT Prom Client instance.
await instrumentation.ready()Start the metrics scraping.
await instrumentation.close()Stop the metrics scraping.
registerLogger(logger=console)Register a logger, so it logs info about the instrumentation (for example when it successfully registers with the scraper). logger can be a pino instance, or console (default).
FAQs
Instrument services in the hypercore ecosystem
We found that hyper-instrument demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.

Security News
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.

Company News
/Security News
Socket is an initial recipient of OpenAI's Cybersecurity Grant Program, which commits $10M in API credits to defenders securing open source software.