Skip to content

Commit d696bb2

Browse files
committed
Upgrade OTel dependencies, update sampler with new attributes
1 parent 5e967ac commit d696bb2

File tree

3 files changed

+1000
-901
lines changed

3 files changed

+1000
-901
lines changed

aws-distro-opentelemetry-node-autoinstrumentation/package.json

Lines changed: 67 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -41,88 +41,88 @@
4141
"@aws-sdk/client-kinesis": "3.632.0",
4242
"@aws-sdk/client-s3": "3.632.0",
4343
"@aws-sdk/client-sqs": "3.632.0",
44-
"@opentelemetry/contrib-test-utils": "^0.40.0",
44+
"@opentelemetry/contrib-test-utils": "0.41.0",
4545
"@types/mocha": "7.0.2",
4646
"@types/node": "18.6.5",
4747
"@types/sinon": "10.0.18",
48+
"expect": "29.2.0",
4849
"mocha": "7.2.0",
50+
"nock": "13.2.1",
4951
"nyc": "15.1.0",
5052
"rimraf": "5.0.5",
5153
"sinon": "15.2.0",
5254
"ts-mocha": "10.0.0",
53-
"typescript": "4.4.4",
54-
"expect": "29.2.0",
55-
"nock": "13.2.1"
55+
"typescript": "4.4.4"
5656
},
5757
"dependencies": {
5858
"@opentelemetry/api": "1.9.0",
59-
"@opentelemetry/auto-instrumentations-node": "0.48.0",
60-
"@opentelemetry/auto-configuration-propagators": "0.2.0",
61-
"@opentelemetry/exporter-metrics-otlp-grpc": "0.52.1",
62-
"@opentelemetry/exporter-metrics-otlp-http": "0.52.1",
63-
"@opentelemetry/instrumentation": "0.52.1",
59+
"@opentelemetry/auto-configuration-propagators": "0.3.0",
60+
"@opentelemetry/auto-instrumentations-node": "0.50.0",
61+
"@opentelemetry/core": "1.26.0",
62+
"@opentelemetry/exporter-metrics-otlp-grpc": "0.53.0",
63+
"@opentelemetry/exporter-metrics-otlp-http": "0.53.0",
64+
"@opentelemetry/exporter-trace-otlp-proto": "0.53.0",
65+
"@opentelemetry/exporter-zipkin": "1.26.0",
6466
"@opentelemetry/id-generator-aws-xray": "1.2.2",
65-
"@opentelemetry/propagator-aws-xray": "1.25.1",
66-
"@opentelemetry/core": "1.25.1",
67-
"@opentelemetry/sdk-trace-base": "1.25.1",
68-
"@opentelemetry/semantic-conventions": "1.25.1",
69-
"@opentelemetry/resources": "1.25.1",
70-
"@opentelemetry/resource-detector-aws": "1.5.2",
71-
"@opentelemetry/exporter-trace-otlp-proto": "0.52.1",
72-
"@opentelemetry/exporter-zipkin": "1.25.1",
73-
"@opentelemetry/sdk-metrics": "1.25.1",
74-
"@opentelemetry/sdk-node": "0.52.1",
75-
"@opentelemetry/instrumentation-aws-sdk": "0.43.1"
67+
"@opentelemetry/instrumentation": "0.53.0",
68+
"@opentelemetry/instrumentation-aws-sdk": "0.44.0",
69+
"@opentelemetry/propagator-aws-xray": "1.26.0",
70+
"@opentelemetry/resource-detector-aws": "1.6.1",
71+
"@opentelemetry/resources": "1.26.0",
72+
"@opentelemetry/sdk-metrics": "1.26.0",
73+
"@opentelemetry/sdk-node": "0.53.0",
74+
"@opentelemetry/sdk-trace-base": "1.26.0",
75+
"@opentelemetry/semantic-conventions": "1.27.0"
7676
},
7777
"overrides": {
7878
"@opentelemetry/auto-instrumentations-node": {
79-
"@opentelemetry/instrumentation": "0.52.1",
80-
"@opentelemetry/instrumentation-amqplib": "0.40.0",
81-
"@opentelemetry/instrumentation-aws-lambda": "0.43.0",
82-
"@opentelemetry/instrumentation-aws-sdk": "0.43.1",
83-
"@opentelemetry/instrumentation-bunyan": "0.40.0",
84-
"@opentelemetry/instrumentation-cassandra-driver": "0.40.0",
85-
"@opentelemetry/instrumentation-connect": "0.38.0",
86-
"@opentelemetry/instrumentation-cucumber": "0.8.0",
87-
"@opentelemetry/instrumentation-dataloader": "0.11.0",
88-
"@opentelemetry/instrumentation-dns": "0.38.0",
89-
"@opentelemetry/instrumentation-express": "0.41.1",
90-
"@opentelemetry/instrumentation-fastify": "0.38.0",
91-
"@opentelemetry/instrumentation-fs": "0.14.0",
92-
"@opentelemetry/instrumentation-generic-pool": "0.38.0",
93-
"@opentelemetry/instrumentation-graphql": "0.42.0",
94-
"@opentelemetry/instrumentation-grpc": "0.52.1",
95-
"@opentelemetry/instrumentation-hapi": "0.40.0",
96-
"@opentelemetry/instrumentation-http": "0.52.1",
97-
"@opentelemetry/instrumentation-ioredis": "0.42.0",
98-
"@opentelemetry/instrumentation-kafkajs": "0.2.0",
99-
"@opentelemetry/instrumentation-knex": "0.39.0",
100-
"@opentelemetry/instrumentation-koa": "0.42.0",
101-
"@opentelemetry/instrumentation-lru-memoizer": "0.39.0",
102-
"@opentelemetry/instrumentation-memcached": "0.38.0",
103-
"@opentelemetry/instrumentation-mongodb": "0.46.0",
104-
"@opentelemetry/instrumentation-mongoose": "0.40.0",
105-
"@opentelemetry/instrumentation-mysql": "0.40.0",
106-
"@opentelemetry/instrumentation-mysql2": "0.40.0",
107-
"@opentelemetry/instrumentation-nestjs-core": "0.39.0",
108-
"@opentelemetry/instrumentation-net": "0.38.0",
109-
"@opentelemetry/instrumentation-pg": "0.43.0",
110-
"@opentelemetry/instrumentation-pino": "0.41.0",
111-
"@opentelemetry/instrumentation-redis": "0.41.0",
112-
"@opentelemetry/instrumentation-redis-4": "0.41.0",
113-
"@opentelemetry/instrumentation-restify": "0.40.0",
114-
"@opentelemetry/instrumentation-router": "0.39.0",
115-
"@opentelemetry/instrumentation-socket.io": "0.41.0",
116-
"@opentelemetry/instrumentation-tedious": "0.12.0",
117-
"@opentelemetry/instrumentation-undici": "0.4.0",
118-
"@opentelemetry/instrumentation-winston": "0.39.0",
119-
"@opentelemetry/resource-detector-alibaba-cloud": "0.28.10",
120-
"@opentelemetry/resource-detector-aws": "1.5.2",
121-
"@opentelemetry/resource-detector-azure": "0.2.9",
122-
"@opentelemetry/resource-detector-container": "0.3.11",
123-
"@opentelemetry/resource-detector-gcp": "0.29.10",
124-
"@opentelemetry/resources": "1.25.1",
125-
"@opentelemetry/sdk-node": "0.52.1"
79+
"@opentelemetry/instrumentation": "0.53.0",
80+
"@opentelemetry/instrumentation-amqplib": "0.42.0",
81+
"@opentelemetry/instrumentation-aws-lambda": "0.44.0",
82+
"@opentelemetry/instrumentation-aws-sdk": "0.44.0",
83+
"@opentelemetry/instrumentation-bunyan": "0.41.0",
84+
"@opentelemetry/instrumentation-cassandra-driver": "0.41.0",
85+
"@opentelemetry/instrumentation-connect": "0.39.0",
86+
"@opentelemetry/instrumentation-cucumber": "0.9.0",
87+
"@opentelemetry/instrumentation-dataloader": "0.12.0",
88+
"@opentelemetry/instrumentation-dns": "0.39.0",
89+
"@opentelemetry/instrumentation-express": "0.42.0",
90+
"@opentelemetry/instrumentation-fastify": "0.39.0",
91+
"@opentelemetry/instrumentation-fs": "0.15.0",
92+
"@opentelemetry/instrumentation-generic-pool": "0.39.0",
93+
"@opentelemetry/instrumentation-graphql": "0.43.0",
94+
"@opentelemetry/instrumentation-grpc": "0.53.0",
95+
"@opentelemetry/instrumentation-hapi": "0.41.0",
96+
"@opentelemetry/instrumentation-http": "0.53.0",
97+
"@opentelemetry/instrumentation-ioredis": "0.43.0",
98+
"@opentelemetry/instrumentation-kafkajs": "0.3.0",
99+
"@opentelemetry/instrumentation-knex": "0.40.0",
100+
"@opentelemetry/instrumentation-koa": "0.43.0",
101+
"@opentelemetry/instrumentation-lru-memoizer": "0.40.0",
102+
"@opentelemetry/instrumentation-memcached": "0.39.0",
103+
"@opentelemetry/instrumentation-mongodb": "0.47.0",
104+
"@opentelemetry/instrumentation-mongoose": "0.42.0",
105+
"@opentelemetry/instrumentation-mysql": "0.41.0",
106+
"@opentelemetry/instrumentation-mysql2": "0.41.0",
107+
"@opentelemetry/instrumentation-nestjs-core": "0.40.0",
108+
"@opentelemetry/instrumentation-net": "0.39.0",
109+
"@opentelemetry/instrumentation-pg": "0.44.0",
110+
"@opentelemetry/instrumentation-pino": "0.42.0",
111+
"@opentelemetry/instrumentation-redis": "0.42.0",
112+
"@opentelemetry/instrumentation-redis-4": "0.42.0",
113+
"@opentelemetry/instrumentation-restify": "0.41.0",
114+
"@opentelemetry/instrumentation-router": "0.40.0",
115+
"@opentelemetry/instrumentation-socket.io": "0.42.0",
116+
"@opentelemetry/instrumentation-tedious": "0.14.0",
117+
"@opentelemetry/instrumentation-undici": "0.6.0",
118+
"@opentelemetry/instrumentation-winston": "0.40.0",
119+
"@opentelemetry/resource-detector-alibaba-cloud": "0.29.1",
120+
"@opentelemetry/resource-detector-aws": "1.6.1",
121+
"@opentelemetry/resource-detector-azure": "0.2.11",
122+
"@opentelemetry/resource-detector-container": "0.4.1",
123+
"@opentelemetry/resource-detector-gcp": "0.29.11",
124+
"@opentelemetry/resources": "1.26.0",
125+
"@opentelemetry/sdk-node": "0.53.0"
126126
}
127127
},
128128
"files": [

aws-distro-opentelemetry-node-autoinstrumentation/src/sampler/sampling-rule-applier.ts

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ import {
1010
TraceIdRatioBasedSampler,
1111
} from '@opentelemetry/sdk-trace-base';
1212
import {
13+
ATTR_CLIENT_ADDRESS,
14+
ATTR_HTTP_REQUEST_METHOD,
15+
ATTR_SERVER_ADDRESS,
16+
ATTR_URL_FULL,
17+
ATTR_URL_PATH,
1318
CLOUDPLATFORMVALUES_AWS_LAMBDA,
1419
SEMATTRS_AWS_LAMBDA_INVOKED_ARN,
1520
SEMATTRS_HTTP_HOST,
@@ -85,12 +90,11 @@ export class SamplingRuleApplier {
8590
let httpHost: AttributeValue | undefined = undefined;
8691
let serviceName: AttributeValue | undefined = undefined;
8792

88-
// Unlike in Python, `URL_PATH/URL_FULL/HTTP_REQUEST_METHOD/SERVER_ADDRESS` are not available in Semantic Attributes
8993
if (attributes) {
90-
httpTarget = attributes[SEMATTRS_HTTP_TARGET];
91-
httpUrl = attributes[SEMATTRS_HTTP_URL];
92-
httpMethod = attributes[SEMATTRS_HTTP_METHOD];
93-
httpHost = attributes[SEMATTRS_HTTP_HOST];
94+
httpTarget = attributes[SEMATTRS_HTTP_TARGET] ?? attributes[ATTR_URL_PATH];
95+
httpUrl = attributes[SEMATTRS_HTTP_URL] ?? attributes[ATTR_URL_FULL];
96+
httpMethod = attributes[SEMATTRS_HTTP_METHOD] ?? attributes[ATTR_HTTP_REQUEST_METHOD];
97+
httpHost = attributes[SEMATTRS_HTTP_HOST] ?? attributes[ATTR_SERVER_ADDRESS] ?? attributes[ATTR_CLIENT_ADDRESS];
9498
}
9599

96100
let serviceType: AttributeValue | undefined = undefined;

0 commit comments

Comments
 (0)