Skip to content

Latest commit

 

History

History

opentelemetry-instrumentation-net

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

OpenTelemetry Net module Instrumentation for Node.js

NPM Published Version Apache License

This module provides automatic instrumentation for the net module, which may be loaded using the @opentelemetry/sdk-trace-node package and is included in the @opentelemetry/auto-instrumentations-node bundle.

If total installation size is not constrained, it is recommended to use the @opentelemetry/auto-instrumentations-node bundle with @opentelemetry/sdk-node for the most seamless instrumentation experience.

Compatible with OpenTelemetry JS API and SDK 1.0+.

Supports both TCP and IPC connections.

Installation

npm install --save @opentelemetry/instrumentation-net

Supported Versions

  • Node.js >=14

Usage

const { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');
const { NetInstrumentation } = require('@opentelemetry/instrumentation-net');
const { registerInstrumentations } = require('@opentelemetry/instrumentation');

const provider = new NodeTracerProvider();
provider.register();

registerInstrumentations({
  instrumentations: [
    new NetInstrumentation(),
    // other instrumentations
  ],
});

Semantic Conventions

This package uses @opentelemetry/semantic-conventions version 1.22+, which implements Semantic Convention Version 1.7.0

Attributes added to connect spans:

Attribute Short Description
net.transport IP.TCP, pipe or Unix
net.peer.name Host name or the IPC file path
net.peer.ip (for TCP) Remote address of the peer (dotted decimal for IPv4 or RFC5952 for IPv6)
net.peer.port (for TCP) Remote port number
net.host.ip (for TCP) Like net.peer.ip but for the host IP. Useful in case of a multi-IP host
net.host.port (for TCP) Like net.peer.port but for the host port

Useful links

License

Apache 2.0 - See LICENSE for more information.