Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@opentelemetry/instrumentation-nestjs-core

Package Overview
Dependencies
Maintainers
2
Versions
57
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@opentelemetry/instrumentation-nestjs-core

OpenTelemetry instrumentation for NestJS server side applications framework

Source
npmnpm
Version
0.54.0
Version published
Weekly downloads
10M
23.35%
Maintainers
2
Weekly downloads
 
Created
Source

OpenTelemetry NestJS Instrumentation for Node.js

NPM Published Version Apache License

This module provides automatic instrumentation for the Nest framework 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+.

Installation

npm install --save @opentelemetry/instrumentation-nestjs-core

Supported Versions

  • @nestjs/core versions >=4.0.0 <12

Usage

OpenTelemetry Nest Instrumentation allows the user to automatically collect trace data from the controller handlers and export them to the backend of choice.

To load a specific instrumentation (Nest in this case), specify it in the registerInstrumentations' configuration.

const { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');
const { NestInstrumentation } = require('@opentelemetry/instrumentation-nestjs-core');
const { registerInstrumentations } = require('@opentelemetry/instrumentation');

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

registerInstrumentations({
  instrumentations: [
    new NestInstrumentation(),
  ],
});

Emitted Spans

Namenestjs.typeDescriptionIncluded attributes
Create Nest Appapp_creationTraces the bootup for the Nest App. The NestFactory(Static).create call.nestjs.module
<ControllerName>.<memberName>request_contextTraces the whole request context.http.*, nestjs.callback
<memberName>handlerTraces the work of a specific controller member function.nestjs.callback

Semantic Conventions

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

Attributes collected:

AttributeShort Description
component*"@nestjs/core"
nestjs.version*Version of instrumented @nestjs/core package
nestjs.type*See NestType
nestjs.moduleNest module class name
nestjs.controllerNest controller class name
nestjs.callbackThe function name of the member in the controller
http.routeRoute assigned to handler. Ex: /users/:id
http.method / http.request.methodHTTP method. See "HTTP Semantic Convention migration" note below.
http.url / url.fullFull request URL. See "HTTP Semantic Convention migration" note below.

* included in all of the spans.

HTTP Semantic Convention migration

HTTP semantic conventions (semconv) were stabilized in v1.23.0, and a migration process was defined. This instrumentations adds some minimal HTTP-related attributes on created spans. Starting with instrumentation-nestjs-core version 0.52.0, the OTEL_SEMCONV_STABILITY_OPT_IN environment variable can be used to customize which HTTP semantic conventions are used for those HTTP-related attributes.

To select which semconv version(s) is emitted from this instrumentation, use the OTEL_SEMCONV_STABILITY_OPT_IN environment variable.

  • http: emit the new (stable) v1.23.0+ semantics
  • http/dup: emit both the old v1.7.0 and the new (stable) v1.23.0+ semantics
  • By default, if OTEL_SEMCONV_STABILITY_OPT_IN includes neither of the above tokens, the old v1.7.0 semconv is used.

For this instrumentation, the only impacted attributes are as follows:

v1.7.0 semconvv1.23.0 semconv
http.methodhttp.request.method
http.urlurl.full

See the HTTP semconv migration plan for OpenTelemetry JS instrumentations for more details.

License

Apache 2.0 - See LICENSE for more information.

Keywords

instrumentation

FAQs

Package last updated on 21 Oct 2025

Did you know?

Socket

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.

Install

Related posts