Express

Express

Scout supports Express 4.x+.

1. Install the @scout_apm/scout-apm package:

yarn add @scout_apm/scout-apm

2. Create a scout.js file and require it before anything else in your entry point:

// scout.js
const { init } = require("@scout_apm/scout-apm");

init({
  name: process.env.SCOUT_NAME || "my-express-app",
  key: process.env.SCOUT_KEY,
  monitor: true,
});
// app.js
require("./scout"); // must be first

const express = require("express");
const { expressMiddleware, errorMiddleware } = require("@scout_apm/scout-apm");

const app = express();

app.use(expressMiddleware({ requestTimeoutMs: 0 }));

// your routes ...

app.use(errorMiddleware()); // must be after all routes
app.listen(3000);

3. Configure Scout via ENV variables:

export SCOUT_MONITOR=true
export SCOUT_KEY="[AVAILABLE IN THE SCOUT UI]"
export SCOUT_NAME="A FRIENDLY NAME FOR YOUR APP"

If you’ve installed Scout via the Heroku Addon, the provisioning process automatically sets SCOUT_MONITOR and SCOUT_KEY via config vars. Only SCOUT_NAME is required.

4. Deploy.

It takes just a few minutes for your data to first appear within the Scout UI.