Enabling RUM with Node.js
  • 30 Aug 2021
  • 2 Minutes to read
  • Contributors
  • Dark
    Light
  • PDF

Enabling RUM with Node.js

  • Dark
    Light
  • PDF

This document details how to enable RUM for the APM Profiler in your Node.js application running on Linux or Windows.

Prerequisites

1. Install the Latest Version of the Agent

Required Agent Versions
  • Windows Agent v4.32+
  • Linux Agent v2.31+
  • Node.js Profiler 1.16.0+

2. Enable RUM

Follow the RUM Getting Started guide to Enable RUM on your account .

3. Setup APM for your Application

Follow the Node.js Getting Started Guide to configure the profiler for your specific setup. The profiler will need to be properly configured for RUM to function.

4. Configure the RUM Key

In order to identify the data coming from your application pages is tied to your account, you need to make your RUM Key available to your application. This setting is passed to your application via an environment variable, RETRACE_RUM_KEY.
Windows
Add the RETRACE_RUM_KEY to the machine Environment Variables. Its value is the RUM Key available in the Retrace RUM configuration screen.

Linux
Set the RETRACE_RUM_KEY environment variable so that it is available to the application when it launches.

5. Add Script Injection to Your Application

The RUM implementation for Java requires a method call in the APM profiler. You can call require(‘stackify-node-apm’).injectRumContent() or let profiler = require(‘stackify-node-apm’); profiler.injectRumContent(). The Stackify NodeJS Profiler returns a singleton and from that singleton, you can access that method.

let profiler = require(‘stackify-node-apm’);
// Use this on the view/controller handler
require(‘stackify-node-apm’).injectRumContent()
// or
profiler.injectRumContent()

HTML page script insertion
This is not currently supported for template engines (pug, mustache etc.) but with the snippet above, you can add a variable and access it as a workaround.

Manual Injection via API
The manual injection method requires that an API call to the Profiler is inserted into the HTML files without any quoting of the injectected string.

let stackify = require('stackify-logger');

// Configuration
stackify.start({apiKey: '***', appName: 'Node Application', env: 'dev', rumKey: ‘YourRumKey’});

// Use this on the view/controller handler
require(‘stackify-logger’).injectRumContent()
// or
stackify.injectRumContent()

This API method is available in stackify-logger versions 3.1.0 and greater.

6. Redeploy your App

Once the previous steps to enable RUM for your account and add the code snippet to your app(s) have been completed, the last step is to deploy the changes to your application.

Viewing RUM Data

Once the following steps have been taken to set up RUM for your apps, data will be reported in the corresponding App Dashboard. To see more information related to what RUM data is presented in the App Dashboard, see the Viewing RUM Data in Retrace help doc.


Was this article helpful?