Uses OpenTelemetry to store metrics and method traces in libp2p.
Use with OpenTelemetry Desktop Viewer:
import { createLibp2p } from 'libp2p'import { openTelemetryMetrics } from '@libp2p/opentelemetry-metrics'import { PrometheusExporter } from '@opentelemetry/exporter-prometheus'import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http'import { NodeSDK } from '@opentelemetry/sdk-node'const sdk = new NodeSDK({ traceExporter: new OTLPTraceExporter({ url: 'http://127.0.0.1:4318/v1/traces' }), metricReader: new PrometheusExporter({ port: 9464 }), serviceName: 'my-app'})sdk.start()const node = await createLibp2p({ // ... other options metrics: openTelemetryMetrics()}) Copy
import { createLibp2p } from 'libp2p'import { openTelemetryMetrics } from '@libp2p/opentelemetry-metrics'import { PrometheusExporter } from '@opentelemetry/exporter-prometheus'import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http'import { NodeSDK } from '@opentelemetry/sdk-node'const sdk = new NodeSDK({ traceExporter: new OTLPTraceExporter({ url: 'http://127.0.0.1:4318/v1/traces' }), metricReader: new PrometheusExporter({ port: 9464 }), serviceName: 'my-app'})sdk.start()const node = await createLibp2p({ // ... other options metrics: openTelemetryMetrics()})
Uses OpenTelemetry to store metrics and method traces in libp2p.
Example: Node.js
Use with OpenTelemetry Desktop Viewer: