Docs » Supported integrations in Splunk Observability Cloud » Instrument back-end applications to send spans to Splunk APM » Instrument Node.js applications for Splunk Observability Cloud » Splunk OTel JS compatibility and requirements

Splunk OTel JS compatibility and requirements πŸ”—

Meet these requirements to instrument Node.js applications for Splunk Observability Cloud using the Splunk Distribution of OpenTelemetry JS.

Note

For front-end applications built using JavaScript libraries like React, use Splunk Real User Monitoring (RUM) for Browser. See Instrument browser-based web applications for Splunk RUM.

Ensure you have supported Node.js and library versions πŸ”—

The Splunk Distribution of OpenTelemetry JS requires Node.js 14 and higher. To activate AlwaysOn Profiling, you need Node.js 16 or higher.

The Splunk Distribution of OpenTelemetry JS instruments the following libraries and packages:

Instrumentation

Environment variable name

@opentelemetry/instrumentation-amqplib

amqplib

@opentelemetry/instrumentation-aws-sdk

aws_sdk

@opentelemetry/instrumentation-bunyan

bunyan

@opentelemetry/instrumentation-cassandra-driver

cassandra_driver

@opentelemetry/instrumentation-connect

connect

@opentelemetry/instrumentation-dataloader

dataloader

@opentelemetry/instrumentation-dns

dns

@opentelemetry/instrumentation-express

express

@opentelemetry/instrumentation-fastify

fastify

@opentelemetry/instrumentation-generic-pool

generic_pool

@opentelemetry/instrumentation-graphql

graphql

@opentelemetry/instrumentation-grpc

grpc

@opentelemetry/instrumentation-hapi

hapi

@opentelemetry/instrumentation-http

http

@opentelemetry/instrumentation-ioredis

ioredis

@opentelemetry/instrumentation-knex

knex

@opentelemetry/instrumentation-koa

koa

@opentelemetry/instrumentation-memcached

memcached

@opentelemetry/instrumentation-mongodb

mongodb

@opentelemetry/instrumentation-mongoose

mongoose

@opentelemetry/instrumentation-mysql

mysql

@opentelemetry/instrumentation-mysql2

mysql2

@opentelemetry/instrumentation-nestjs-core

nestjs_core

@opentelemetry/instrumentation-net

net

@opentelemetry/instrumentation-pg

pg

@opentelemetry/instrumentation-pino

pino

@opentelemetry/instrumentation-redis

redis

@opentelemetry/instrumentation-redis-4

redis_4

@opentelemetry/instrumentation-restify

restify

@opentelemetry/instrumentation-router

router

@opentelemetry/instrumentation-tedious

tedious

@opentelemetry/instrumentation-winston

winston

elasticsearch

elasticsearch

kafkajs

kafkajs

sequelize

sequelize

typeorm

typeorm

For a complete list, see the plugins folder in the OpenTelemetry upstream repository on GitHub. To use any additional instrumentation, install it using npm before running your application.

Note

If you’re using a Node.js version lower than 14, use the SignalFx Tracing Library for Node.js .

Install and configure the Splunk Distribution of OpenTelemetry Collector πŸ”—

The Splunk Distribution of OpenTelemetry JS exports application traces and spans to the Splunk Distribution of OpenTelemetry Collector, which also collects system metric data and logs, including profiling data.

To send application traces and spans to Splunk Observability Cloud, install the Splunk Distribution of OpenTelemetry Collector for your platform. The following distributions are available: