Star us on GitHub
Star
Welcome to highlight.io
Company
Mission & Values
Compliance & Security
Open Source
Getting Started
Overview
Fullstack Mapping
Backend / Server
Frontend / Client
Fullstack Frameworks
Product Features
Session Replay
Error Monitoring
General Features
Logging
Integrations
Integrations Overview
Amplitude Integration
ClickUp Integration
Discord Integration
Electron Support
Front Integration
Height Integration
Intercom Integration
Linear Integration
Mixpanel Integration
Segment Integration
Slack Integration
Vercel Integration
Tips
Content-Security-Policy
Local Development
Monkey Patches
Performance Impact
Proxying Highlight
Session Search Deep Linking
Troubleshooting
Upgrading Highlight
Highlight.io Changelog
Changelog 12 (02/17)
Menu
Docs / Highlight Docs / Getting Started / Backend / Server / Node.js Backend

Node.js Backend

Highlight ships @highlight-run/node which can be installed alongside highlight.run for capturing backend errors and reporting metrics in applications with Node.js backends. This SDK is compatible with many other backend frameworks built on top of Node.js.

Getting Started

This backend SDK requires one of our Client SDKs to be installed, so please follow the instructions there if you have not done so.

For server-side linking to Highlight sessions, your client-side call to H.init should include the tracingOrigins setting. See H.init() for more details.

H.init('<YOUR_PROJECT_ID>', { ... tracingOrigins: true, ... });
Copy
Adding Highlight to your Backend

First, import the package

# with npm npm install @highlight-run/node # with yarn yarn add @highlight-run/node
Copy
Initialize the Highlight backend

Somewhere in your app, typically during startup or when handling errors, initialize the Highlight backend with any necessary options. See H.init() for a full list of options.

import { H } from '@highlight-run/node' const highlightOptions = {} if (!H.isInitialized()) { H.init(highlightOptions) }
Copy
Handle errors

When your app throws a backend error, you can log that error to Highlight by calling H.consumeError() using the secureSessionId and requestId parameters from the request's header. Your error handling code will depend on the backend framework you use, but will likely look something like this:

import { H } from '@highlight-run/node' const onError = (request, error) => { const parsed = H.parseHeaders(request.headers) if (parsed !== undefined) { H.consumeError(error, parsed.secureSessionId, parsed.requestId) } }
Copy
Verify

To view and resolve the recorded error, log into app.highlight.io/errors and open your project. Clicking on the error's title will open a page where you can see detailed information and mark it as resolved. You can also view frontend sessions where the error was thrown, and see the individual request which caused the error.