Dual Signal Mode for Node.js Combined Agent

Overview

The Node.js Combined Agent supports deploying the Splunk OpenTelemetry (OTel) Agent with the AppDynamics Agent. The agent works in Dual-signal mode and:
  • uses AppD specific instrumentation to collect APM data for an AppD controller.
  • uses OTel specific instrumentation to generate OTel signals and sends them to a collector.
This enables enhanced Observability by allowing users to leverage both OpenTelemetry and AppDynamics data concurrently. Additionally, this:
  • Generates Splunk AppDynamics APM data with OpenTelemetry signals using the OpenTelemetry Instrumentation for Nodejs.
  • Requires Node.js Agent 25.12.0 or higher.
  • Consumes higher memory and CPU than the hybrid mode.

Supported Platforms

For NPM builds:
  • Splunk agent is not packaged with the AppDynamics agent and must be installed separately.

  • add
    CODE
    @splunk/otel@3.0.1
    to your package.json.
For Standalone builds:
  • Splunk comes packaged with the AppDynamics agent.
  • Supported on Linux (x64 and arm64).

Enable Dual Signal mode (Nodejs Combined)

Mode Behavior
Dual
The agent works in Dual Signal mode and:
  • uses AppD specific instrumentation to collect APM data for an AppD controller.
  • uses OTel specific instrumentation to generate OTel signals and sends them to a collector.
.
OTel
  • The agent uses OTel specific instrumentation, generates OTel signals and emits them to a collector.

  • The agent does not apply AppD specific instrumentation and does not attempt to register with any controller.

You can configure this mode by using one of the following methods:

  • Environmental variable: EXPORT agent_deployment_mode=dual|otel
  • Application configuration:
    JSON
    appd.profile({
    
    ````agent_deployment_mode: `otel|dual`,       
    ````
    },

Splunk OTel agent can be configured through environment variables as described in the Splunk Agent documentation.

Automatic Agent Configuration Migration

In Dual mode or in OTel mode, if service namespace, service name, or deployment environment name are not specified, these values are automatically configured based on the AppDynamics agent configuration. The following table provides the configuration details:

AppDynamics configuration item OpenTelemetry configuration item
account name deployment environment name
tier name service name
application name service namespace
Note: Automatic configuration migration is supported only when environment variables are used, and the OpenTelemetry agent is not configured through a configuration file.