Skip to content

[BUG]: Express integration - v5.29.0+ reports incompatible version found when using Express v4 #5092

@vernak2539

Description

@vernak2539

Tracer Version(s)

5.29.0

Node.js Version(s)

22.11.0

Bug Report

When upgrading our dd-trace module, when we update to v5.29.0 or higher, we get the following output when debug mode is enabled.

$ DD_TRACE_DEBUG=true DD_TRACE_LOG_FILE=ddtrace_logs.log NODE_ENV=production node --import ./src/node-instrumentation.mjs src/server/index.mjs
Found incompatible integration version: express@4.21.2

I know that 5.29.0 is the same version that released support for express v5, but I would assume that express v4 is still supported based on the README (as it's based on node version).

Reproduction Code

// ./src/server/node-instrumentation.mjs 

import tracer from 'dd-trace';

tracer.init({
  hostname: process.env.DD_HOST,
  service: 'app',
  debug: process.env.DATADOG_DEBUG_ENABLED === 'true',
});

tracer.use('express')
// ./src/server/index.mjs

import express from 'express';

const app = express()
const port = 3000

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})

Start command

$ DD_TRACE_DEBUG=true DD_TRACE_LOG_FILE=ddtrace_logs.log NODE_ENV=production node --import ./src/node-instrumentation.mjs src/server/index.mjs

Error Logs

N/A

Tracer Config

tracer.init({
  hostname: process.env.DD_HOST,
  service: 'app',
  debug: process.env.DATADOG_DEBUG_ENABLED === 'true',
});

Operating System

Darwin XXX 24.2.0 Darwin Kernel Version 24.2.0

Bundling

No Bundling

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions