Skip to content

Commit bf4eb1d

Browse files
committed
feat(express): Warn if express is not instrumented
1 parent fc4859f commit bf4eb1d

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

packages/node/src/integrations/tracing/express.ts

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ import { captureException, getClient, getIsolationScope } from '@sentry/core';
55
import { addOpenTelemetryInstrumentation } from '@sentry/opentelemetry';
66
import type { IntegrationFn } from '@sentry/types';
77

8-
import { logger } from '@sentry/utils';
8+
import { isWrapped } from '@opentelemetry/core';
9+
import { consoleSandbox, logger } from '@sentry/utils';
910
import { DEBUG_BUILD } from '../../debug-build';
1011
import type { NodeClient } from '../../sdk/client';
1112
import { addOriginToSpan } from '../../utils/addOriginToSpan';
@@ -117,6 +118,15 @@ export function expressErrorHandler(options?: {
117118
*/
118119
export function setupExpressErrorHandler(app: { use: (middleware: ExpressMiddleware) => unknown }): void {
119120
app.use(expressErrorHandler());
121+
122+
if (!isWrapped(app.use)) {
123+
consoleSandbox(() => {
124+
// eslint-disable-next-line no-console
125+
console.warn(
126+
'[Sentry] Express is not instrumented. This is likely because you required/imported express before calling `Sentry.init()`.',
127+
);
128+
});
129+
}
120130
}
121131

122132
function getStatusCodeFromResponse(error: MiddlewareError): number {

0 commit comments

Comments
 (0)