From 31c0304d36633f347f8c1f0c8e41f6a6096e1a56 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Jun 2024 16:03:51 +0000 Subject: [PATCH 1/2] feat(deps): bump @opentelemetry/instrumentation-mongodb Bumps [@opentelemetry/instrumentation-mongodb](https://github.com/open-telemetry/opentelemetry-js-contrib) from 0.44.0 to 0.45.0. - [Release notes](https://github.com/open-telemetry/opentelemetry-js-contrib/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-mongodb-v0.44.0...instrumentation-mongodb-v0.45.0) --- updated-dependencies: - dependency-name: "@opentelemetry/instrumentation-mongodb" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/node/package.json | 2 +- yarn.lock | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/node/package.json b/packages/node/package.json index dcd3ef83f6a1..87c777da4d7d 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -82,7 +82,7 @@ "@opentelemetry/instrumentation-http": "0.52.0", "@opentelemetry/instrumentation-ioredis": "0.41.0", "@opentelemetry/instrumentation-koa": "0.41.0", - "@opentelemetry/instrumentation-mongodb": "0.44.0", + "@opentelemetry/instrumentation-mongodb": "0.45.0", "@opentelemetry/instrumentation-mongoose": "0.39.0", "@opentelemetry/instrumentation-mysql": "0.39.0", "@opentelemetry/instrumentation-mysql2": "0.39.0", diff --git a/yarn.lock b/yarn.lock index 541965e3a543..ddd585d8d26b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6431,10 +6431,10 @@ "@types/koa" "2.14.0" "@types/koa__router" "12.0.3" -"@opentelemetry/instrumentation-mongodb@0.44.0": - version "0.44.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-mongodb/-/instrumentation-mongodb-0.44.0.tgz#359ecc72a903f8f586f34d7a57b7e122037621a9" - integrity sha512-VPnmN5LZN8gWQ1znRz7mdZBly4h4G8Fsp8NJYqgM1CEoglX+O/Dj36zesZVSi1InPyDX2hGDTt6Qp3DFYjl7WA== +"@opentelemetry/instrumentation-mongodb@0.45.0": + version "0.45.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-mongodb/-/instrumentation-mongodb-0.45.0.tgz#d6373e30f3e83eba87f7e6e2ea72c1351467d6b5" + integrity sha512-xnZP9+ayeB1JJyNE9cIiwhOJTzNEsRhXVdLgfzmrs48Chhhk026mQdM5CITfyXSCfN73FGAIB8d91+pflJEfWQ== dependencies: "@opentelemetry/instrumentation" "^0.52.0" "@opentelemetry/sdk-metrics" "^1.9.1" @@ -6589,12 +6589,12 @@ "@opentelemetry/resources" "1.25.0" "@opentelemetry/semantic-conventions" "1.25.0" -"@opentelemetry/semantic-conventions@1.24.1", "@opentelemetry/semantic-conventions@^1.17.0", "@opentelemetry/semantic-conventions@^1.22.0", "@opentelemetry/semantic-conventions@^1.23.0": +"@opentelemetry/semantic-conventions@1.24.1": version "1.24.1" resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.24.1.tgz#d4bcebda1cb5146d47a2a53daaa7922f8e084dfb" integrity sha512-VkliWlS4/+GHLLW7J/rVBA00uXus1SWvwFvcUDxDwmFxYfg/2VI6ekwdXS28cjI8Qz2ky2BzG8OUHo+WeYIWqw== -"@opentelemetry/semantic-conventions@1.25.0", "@opentelemetry/semantic-conventions@^1.25.0": +"@opentelemetry/semantic-conventions@1.25.0", "@opentelemetry/semantic-conventions@^1.17.0", "@opentelemetry/semantic-conventions@^1.22.0", "@opentelemetry/semantic-conventions@^1.23.0", "@opentelemetry/semantic-conventions@^1.25.0": version "1.25.0" resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.25.0.tgz#390eb4d42a29c66bdc30066af9035645e9bb7270" integrity sha512-M+kkXKRAIAiAP6qYyesfrC5TOmDpDVtsxuGfPcqd9B/iBrac+E14jYwrgm0yZBUIbIP2OnqC3j+UgkXLm1vxUQ== From 33181a09fd9d2a61b55fb8ef31b1197a0aec862d Mon Sep 17 00:00:00 2001 From: Abhijeet Prasad Date: Mon, 10 Jun 2024 12:46:14 -0400 Subject: [PATCH 2/2] test: Update mongodb integration tests --- .../suites/tracing/mongodb/test.ts | 132 +++++++++++++++--- 1 file changed, 114 insertions(+), 18 deletions(-) diff --git a/dev-packages/node-integration-tests/suites/tracing/mongodb/test.ts b/dev-packages/node-integration-tests/suites/tracing/mongodb/test.ts index b8c16862c34c..2f79385521d3 100644 --- a/dev-packages/node-integration-tests/suites/tracing/mongodb/test.ts +++ b/dev-packages/node-integration-tests/suites/tracing/mongodb/test.ts @@ -21,63 +21,159 @@ describe('MongoDB experimental Test', () => { const EXPECTED_TRANSACTION = { transaction: 'Test Transaction', - spans: expect.arrayContaining([ + spans: [ expect.objectContaining({ - data: expect.objectContaining({ + data: { + 'sentry.origin': 'auto.db.otel.mongo', + 'sentry.op': 'db', + 'db.system': 'mongodb', + 'db.name': 'admin', + 'db.mongodb.collection': '$cmd', + 'db.operation': 'isMaster', + 'db.connection_string': expect.any(String), + 'net.peer.name': expect.any(String), + 'net.peer.port': expect.any(Number), + 'db.statement': + '{"ismaster":"?","client":{"driver":{"name":"?","version":"?"},"os":{"type":"?","name":"?","architecture":"?","version":"?"},"platform":"?"},"compression":[],"helloOk":"?"}', + 'otel.kind': 'CLIENT', + }, + description: + '{"ismaster":"?","client":{"driver":{"name":"?","version":"?"},"os":{"type":"?","name":"?","architecture":"?","version":"?"},"platform":"?"},"compression":[],"helloOk":"?"}', + op: 'db', + origin: 'auto.db.otel.mongo', + }), + expect.objectContaining({ + data: { + 'sentry.origin': 'auto.db.otel.mongo', + 'sentry.op': 'db', + 'db.system': 'mongodb', + 'db.name': 'admin', + 'db.mongodb.collection': '$cmd', + 'db.operation': 'isMaster', + 'db.connection_string': expect.any(String), + 'net.peer.name': expect.any(String), + 'net.peer.port': expect.any(Number), + 'db.statement': + '{"ismaster":"?","client":{"driver":{"name":"?","version":"?"},"os":{"type":"?","name":"?","architecture":"?","version":"?"},"platform":"?"},"compression":[],"helloOk":"?"}', + 'otel.kind': 'CLIENT', + }, + description: + '{"ismaster":"?","client":{"driver":{"name":"?","version":"?"},"os":{"type":"?","name":"?","architecture":"?","version":"?"},"platform":"?"},"compression":[],"helloOk":"?"}', + op: 'db', + origin: 'auto.db.otel.mongo', + }), + expect.objectContaining({ + data: { + 'sentry.origin': 'auto.db.otel.mongo', + 'sentry.op': 'db', 'db.system': 'mongodb', 'db.name': 'admin', - 'db.operation': 'insert', 'db.mongodb.collection': 'movies', - }), - description: '{"title":"?","_id":"?"}', + 'db.operation': 'insert', + 'db.connection_string': expect.any(String), + 'net.peer.name': expect.any(String), + 'net.peer.port': expect.any(Number), + 'db.statement': + '{"title":"?","_id":{"_bsontype":"?","id":{"0":"?","1":"?","2":"?","3":"?","4":"?","5":"?","6":"?","7":"?","8":"?","9":"?","10":"?","11":"?"}}}', + 'otel.kind': 'CLIENT', + }, + description: + '{"title":"?","_id":{"_bsontype":"?","id":{"0":"?","1":"?","2":"?","3":"?","4":"?","5":"?","6":"?","7":"?","8":"?","9":"?","10":"?","11":"?"}}}', op: 'db', origin: 'auto.db.otel.mongo', }), expect.objectContaining({ - data: expect.objectContaining({ + data: { + 'sentry.origin': 'auto.db.otel.mongo', + 'sentry.op': 'db', 'db.system': 'mongodb', 'db.name': 'admin', - 'db.operation': 'find', 'db.mongodb.collection': 'movies', - }), + 'db.operation': 'find', + 'db.connection_string': expect.any(String), + 'net.peer.name': expect.any(String), + 'net.peer.port': expect.any(Number), + 'db.statement': '{"title":"?"}', + 'otel.kind': 'CLIENT', + }, description: '{"title":"?"}', op: 'db', origin: 'auto.db.otel.mongo', }), expect.objectContaining({ - data: expect.objectContaining({ + data: { + 'sentry.origin': 'auto.db.otel.mongo', + 'sentry.op': 'db', 'db.system': 'mongodb', 'db.name': 'admin', - 'db.operation': 'update', 'db.mongodb.collection': 'movies', - }), + 'db.operation': 'update', + 'db.connection_string': expect.any(String), + 'net.peer.name': expect.any(String), + 'net.peer.port': expect.any(Number), + 'db.statement': '{"title":"?"}', + 'otel.kind': 'CLIENT', + }, description: '{"title":"?"}', op: 'db', origin: 'auto.db.otel.mongo', }), expect.objectContaining({ - data: expect.objectContaining({ + data: { + 'sentry.origin': 'auto.db.otel.mongo', + 'sentry.op': 'db', 'db.system': 'mongodb', 'db.name': 'admin', - 'db.operation': 'find', 'db.mongodb.collection': 'movies', - }), + 'db.operation': 'find', + 'db.connection_string': expect.any(String), + 'net.peer.name': expect.any(String), + 'net.peer.port': expect.any(Number), + 'db.statement': '{"title":"?"}', + 'otel.kind': 'CLIENT', + }, description: '{"title":"?"}', op: 'db', origin: 'auto.db.otel.mongo', }), expect.objectContaining({ - data: expect.objectContaining({ + data: { + 'sentry.origin': 'auto.db.otel.mongo', + 'sentry.op': 'db', 'db.system': 'mongodb', 'db.name': 'admin', - 'db.operation': 'find', 'db.mongodb.collection': 'movies', - }), + 'db.operation': 'find', + 'db.connection_string': expect.any(String), + 'net.peer.name': expect.any(String), + 'net.peer.port': expect.any(Number), + 'db.statement': '{"title":"?"}', + 'otel.kind': 'CLIENT', + }, description: '{"title":"?"}', op: 'db', origin: 'auto.db.otel.mongo', }), - ]), + expect.objectContaining({ + data: { + 'sentry.origin': 'auto.db.otel.mongo', + 'sentry.op': 'db', + 'db.system': 'mongodb', + 'db.name': 'admin', + 'db.mongodb.collection': '$cmd', + 'db.connection_string': expect.any(String), + 'net.peer.name': expect.any(String), + 'net.peer.port': expect.any(Number), + 'db.statement': + '{"endSessions":[{"id":{"_bsontype":"?","sub_type":"?","position":"?","buffer":{"0":"?","1":"?","2":"?","3":"?","4":"?","5":"?","6":"?","7":"?","8":"?","9":"?","10":"?","11":"?","12":"?","13":"?","14":"?","15":"?"}}}]}', + 'otel.kind': 'CLIENT', + }, + description: + '{"endSessions":[{"id":{"_bsontype":"?","sub_type":"?","position":"?","buffer":{"0":"?","1":"?","2":"?","3":"?","4":"?","5":"?","6":"?","7":"?","8":"?","9":"?","10":"?","11":"?","12":"?","13":"?","14":"?","15":"?"}}}]}', + op: 'db', + origin: 'auto.db.otel.mongo', + }), + ], }; test('CJS - should auto-instrument `mongodb` package.', done => {