Skip to content

Commit 418de66

Browse files
mydeaclaude
andcommitted
ref(node-core): Use @sentry/conventions
Source span/attribute keys from `@sentry/conventions` as a regular dependency (externalized at build time, resolved at runtime). No functional change. Maps the `@sentry/conventions/attributes` subpath in the shared TS config for the repo's `node` moduleResolution type builds. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent e07a8e3 commit 418de66

4 files changed

Lines changed: 22 additions & 28 deletions

File tree

packages/node-core/README.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,15 @@ Unlike the `@sentry/node` SDK, this SDK comes with no OpenTelemetry auto-instrum
1515
- `@opentelemetry/api`
1616
- `@opentelemetry/core`
1717
- `@opentelemetry/instrumentation`
18-
- `@opentelemetry/resources`
1918
- `@opentelemetry/sdk-trace-base`
20-
- `@opentelemetry/semantic-conventions`.
2119

2220
## Installation
2321

2422
```bash
25-
npm install @sentry/node-core @sentry/opentelemetry @opentelemetry/api @opentelemetry/core @opentelemetry/instrumentation @opentelemetry/resources @opentelemetry/sdk-trace-base @opentelemetry/semantic-conventions
23+
npm install @sentry/node-core @sentry/opentelemetry @opentelemetry/api @opentelemetry/core @opentelemetry/instrumentation @opentelemetry/sdk-trace-base
2624

2725
# Or yarn
28-
yarn add @sentry/node-core @sentry/opentelemetry @opentelemetry/api @opentelemetry/core @opentelemetry/instrumentation @opentelemetry/resources @opentelemetry/sdk-trace-base @opentelemetry/semantic-conventions
26+
yarn add @sentry/node-core @sentry/opentelemetry @opentelemetry/api @opentelemetry/core @opentelemetry/instrumentation @opentelemetry/sdk-trace-base
2927
```
3028

3129
## Usage

packages/node-core/package.json

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,6 @@
8181
"@opentelemetry/core": "^1.30.1 || ^2.1.0",
8282
"@opentelemetry/instrumentation": ">=0.57.1 <1",
8383
"@opentelemetry/sdk-trace-base": "^1.30.1 || ^2.1.0",
84-
"@opentelemetry/semantic-conventions": "^1.39.0",
8584
"@opentelemetry/exporter-trace-otlp-http": ">=0.57.0 <1"
8685
},
8786
"peerDependenciesMeta": {
@@ -97,14 +96,12 @@
9796
"@opentelemetry/sdk-trace-base": {
9897
"optional": true
9998
},
100-
"@opentelemetry/semantic-conventions": {
101-
"optional": true
102-
},
10399
"@opentelemetry/exporter-trace-otlp-http": {
104100
"optional": true
105101
}
106102
},
107103
"dependencies": {
104+
"@sentry/conventions": "^0.11.0",
108105
"@sentry/core": "10.58.0",
109106
"@sentry/opentelemetry": "10.58.0",
110107
"import-in-the-middle": "^3.0.0"
@@ -115,7 +112,6 @@
115112
"@opentelemetry/exporter-trace-otlp-http": "^0.214.0",
116113
"@opentelemetry/instrumentation": "^0.214.0",
117114
"@opentelemetry/sdk-trace-base": "^2.6.1",
118-
"@opentelemetry/semantic-conventions": "^1.40.0",
119115
"@types/node": "^18.19.1"
120116
},
121117
"scripts": {

packages/node-core/src/integrations/http/httpServerSpansIntegration.ts

Lines changed: 14 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ import { context, SpanKind, trace } from '@opentelemetry/api';
44
import type { RPCMetadata } from '@opentelemetry/core';
55
import { getRPCMetadata, isTracingSuppressed, RPCType, setRPCMetadata } from '@opentelemetry/core';
66
import {
7-
ATTR_HTTP_RESPONSE_STATUS_CODE,
8-
ATTR_HTTP_ROUTE,
9-
SEMATTRS_HTTP_STATUS_CODE,
10-
SEMATTRS_NET_HOST_IP,
11-
SEMATTRS_NET_HOST_PORT,
12-
SEMATTRS_NET_PEER_IP,
13-
} from '@opentelemetry/semantic-conventions';
7+
HTTP_RESPONSE_STATUS_CODE,
8+
HTTP_ROUTE,
9+
HTTP_STATUS_CODE,
10+
NET_HOST_IP,
11+
NET_HOST_PORT,
12+
NET_PEER_IP,
13+
} from '@sentry/conventions/attributes';
1414
import type {
1515
Event,
1616
HttpClientRequest,
@@ -375,30 +375,25 @@ function getIncomingRequestAttributesOnResponse(
375375
const { statusCode, statusMessage } = response;
376376

377377
const newAttributes: SpanAttributes = {
378-
[ATTR_HTTP_RESPONSE_STATUS_CODE]: statusCode,
379-
// eslint-disable-next-line deprecation/deprecation
380-
[SEMATTRS_HTTP_STATUS_CODE]: statusCode,
378+
[HTTP_RESPONSE_STATUS_CODE]: statusCode,
379+
[HTTP_STATUS_CODE]: statusCode,
381380
'http.status_text': statusMessage?.toUpperCase(),
382381
};
383382

384383
const rpcMetadata = getRPCMetadata(context.active());
385384
if (socket) {
386385
const { localAddress, localPort, remoteAddress, remotePort } = socket;
387-
// eslint-disable-next-line deprecation/deprecation
388-
newAttributes[SEMATTRS_NET_HOST_IP] = localAddress;
389-
// eslint-disable-next-line deprecation/deprecation
390-
newAttributes[SEMATTRS_NET_HOST_PORT] = localPort;
391-
// eslint-disable-next-line deprecation/deprecation
392-
newAttributes[SEMATTRS_NET_PEER_IP] = remoteAddress;
386+
newAttributes[NET_HOST_IP] = localAddress;
387+
newAttributes[NET_HOST_PORT] = localPort;
388+
newAttributes[NET_PEER_IP] = remoteAddress;
393389
newAttributes['net.peer.port'] = remotePort;
394390
}
395-
// eslint-disable-next-line deprecation/deprecation
396-
newAttributes[SEMATTRS_HTTP_STATUS_CODE] = statusCode;
391+
newAttributes[HTTP_STATUS_CODE] = statusCode;
397392
newAttributes['http.status_text'] = (statusMessage || '').toUpperCase();
398393

399394
if (rpcMetadata?.type === RPCType.HTTP && rpcMetadata.route !== undefined) {
400395
const routeName = rpcMetadata.route;
401-
newAttributes[ATTR_HTTP_ROUTE] = routeName;
396+
newAttributes[HTTP_ROUTE] = routeName;
402397
}
403398

404399
return newAttributes;

yarn.lock

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7578,6 +7578,11 @@
75787578
"@sentry/cli-win32-i686" "2.58.6"
75797579
"@sentry/cli-win32-x64" "2.58.6"
75807580

7581+
"@sentry/conventions@^0.11.0":
7582+
version "0.11.0"
7583+
resolved "https://registry.yarnpkg.com/@sentry/conventions/-/conventions-0.11.0.tgz#5a324b8368dc5c141260bd8ccc684756ea3dd843"
7584+
integrity sha512-AQTAKeq9mDpOElDFSPymZTPZF/c50rk355mWTf5Y1ZxZJKKOBli5qTttskJyCxrE5ynNgN1KwcXoU5MRrMSRmQ==
7585+
75817586
"@sentry/node-cpu-profiler@^2.4.2":
75827587
version "2.4.2"
75837588
resolved "https://registry.yarnpkg.com/@sentry/node-cpu-profiler/-/node-cpu-profiler-2.4.2.tgz#d0ba01370545297d015df1497daf7f81e27f2ab5"

0 commit comments

Comments
 (0)