Skip to content

Commit

Permalink
feat: Add GraphQL instrumentation for tracing
Browse files Browse the repository at this point in the history
  • Loading branch information
dhruv-m-patel committed Jan 27, 2024
1 parent 1b2a569 commit 7b05d4b
Show file tree
Hide file tree
Showing 3 changed files with 90 additions and 7 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@
"@opentelemetry/instrumentation-dns": "^0.31.4",
"@opentelemetry/instrumentation-express": "^0.32.3",
"@opentelemetry/instrumentation-generic-pool": "^0.31.3",
"@opentelemetry/instrumentation-graphql": "^0.34.2",
"@opentelemetry/instrumentation-graphql": "^0.36.1",
"@opentelemetry/instrumentation-http": "^0.39.1",
"@opentelemetry/instrumentation-ioredis": "^0.34.2",
"@opentelemetry/instrumentation-net": "^0.31.3",
Expand Down
2 changes: 2 additions & 0 deletions src/telemetry/instrumentations.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import { IORedisInstrumentation } from '@opentelemetry/instrumentation-ioredis';
import { NetInstrumentation } from '@opentelemetry/instrumentation-net';
import { PgInstrumentation } from '@opentelemetry/instrumentation-pg';
import { PinoInstrumentation } from '@opentelemetry/instrumentation-pino';
import { GraphQLInstrumentation } from '@opentelemetry/instrumentation-graphql';
import { FetchInstrumentation } from './fetchInstrumentation';

const InstrumentationMap = {
Expand All @@ -25,6 +26,7 @@ const InstrumentationMap = {
'@opentelemetry/instrumentation-net': NetInstrumentation,
'@opentelemetry/instrumentation-pg': PgInstrumentation,
'@opentelemetry/instrumentation-pino': PinoInstrumentation,
'@opentelemetry/instrumentation-graphql': GraphQLInstrumentation,
};

// Config types inferred automatically from the first argument of the constructor
Expand Down
93 changes: 87 additions & 6 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1299,7 +1299,7 @@ __metadata:
"@opentelemetry/instrumentation-dns": ^0.31.4
"@opentelemetry/instrumentation-express": ^0.32.3
"@opentelemetry/instrumentation-generic-pool": ^0.31.3
"@opentelemetry/instrumentation-graphql": ^0.34.2
"@opentelemetry/instrumentation-graphql": ^0.36.1
"@opentelemetry/instrumentation-http": ^0.39.1
"@opentelemetry/instrumentation-ioredis": ^0.34.2
"@opentelemetry/instrumentation-net": ^0.31.3
Expand Down Expand Up @@ -1969,14 +1969,14 @@ __metadata:
languageName: node
linkType: hard

"@opentelemetry/instrumentation-graphql@npm:^0.34.2":
version: 0.34.2
resolution: "@opentelemetry/instrumentation-graphql@npm:0.34.2"
"@opentelemetry/instrumentation-graphql@npm:^0.36.1":
version: 0.36.1
resolution: "@opentelemetry/instrumentation-graphql@npm:0.36.1"
dependencies:
"@opentelemetry/instrumentation": ^0.39.1
"@opentelemetry/instrumentation": ^0.46.0
peerDependencies:
"@opentelemetry/api": ^1.3.0
checksum: f4d0bb6afe1758af462c0120b62afbc78164dada1d0be054b78b2e23066fa709cce1948e698c6c617d5ba402eb40da705dd8dc6ea0f72d2b9463e6e0ad042ee2
checksum: c0f3bb0000c8a9393c7480b2c4b512610011d08b0b5d46165b2729cd99d2df5ad4448a65dd6fca5871d117613138ef2d471529af895521d0bbc2d71f2adedb85
languageName: node
linkType: hard

Expand Down Expand Up @@ -2059,6 +2059,21 @@ __metadata:
languageName: node
linkType: hard

"@opentelemetry/instrumentation@npm:^0.46.0":
version: 0.46.0
resolution: "@opentelemetry/instrumentation@npm:0.46.0"
dependencies:
"@types/shimmer": ^1.0.2
import-in-the-middle: 1.7.1
require-in-the-middle: ^7.1.1
semver: ^7.5.2
shimmer: ^1.2.1
peerDependencies:
"@opentelemetry/api": ^1.3.0
checksum: 9589058da858eeb99b52ba191f93d82b3076b83f4a6cb745666fa742ce7fab8a219fd96a2f2bfad9609984d7462aedbaafa266a1ec3abca57964fdda0e43f5d6
languageName: node
linkType: hard

"@opentelemetry/otlp-exporter-base@npm:0.39.1":
version: 0.39.1
resolution: "@opentelemetry/otlp-exporter-base@npm:0.39.1"
Expand Down Expand Up @@ -2711,6 +2726,13 @@ __metadata:
languageName: node
linkType: hard

"@types/shimmer@npm:^1.0.2":
version: 1.0.5
resolution: "@types/shimmer@npm:1.0.5"
checksum: f6b0c950dc9187464c5393faf4f4e2b7b44b16665bb49196da28affecceb4fdcd9749af15cbe50f1a2de39f3a84b7523e73445f117f6b48bdbd61b892568364a
languageName: node
linkType: hard

"@types/stack-utils@npm:^2.0.0":
version: 2.0.1
resolution: "@types/stack-utils@npm:2.0.1"
Expand Down Expand Up @@ -2897,6 +2919,15 @@ __metadata:
languageName: node
linkType: hard

"acorn-import-assertions@npm:^1.9.0":
version: 1.9.0
resolution: "acorn-import-assertions@npm:1.9.0"
peerDependencies:
acorn: ^8
checksum: 944fb2659d0845c467066bdcda2e20c05abe3aaf11972116df457ce2627628a81764d800dd55031ba19de513ee0d43bb771bc679cc0eda66dc8b4fade143bc0c
languageName: node
linkType: hard

"acorn-jsx@npm:^5.3.2":
version: 5.3.2
resolution: "acorn-jsx@npm:5.3.2"
Expand All @@ -2922,6 +2953,15 @@ __metadata:
languageName: node
linkType: hard

"acorn@npm:^8.8.2":
version: 8.11.3
resolution: "acorn@npm:8.11.3"
bin:
acorn: bin/acorn
checksum: 76d8e7d559512566b43ab4aadc374f11f563f0a9e21626dd59cb2888444e9445923ae9f3699972767f18af61df89cd89f5eaaf772d1327b055b45cb829b4a88c
languageName: node
linkType: hard

"agent-base@npm:6, agent-base@npm:^6.0.2":
version: 6.0.2
resolution: "agent-base@npm:6.0.2"
Expand Down Expand Up @@ -3558,6 +3598,13 @@ __metadata:
languageName: node
linkType: hard

"cjs-module-lexer@npm:^1.2.2":
version: 1.2.3
resolution: "cjs-module-lexer@npm:1.2.3"
checksum: 5ea3cb867a9bb609b6d476cd86590d105f3cfd6514db38ff71f63992ab40939c2feb68967faa15a6d2b1f90daa6416b79ea2de486e9e2485a6f8b66a21b4fb0a
languageName: node
linkType: hard

"clean-stack@npm:^2.0.0":
version: 2.2.0
resolution: "clean-stack@npm:2.2.0"
Expand Down Expand Up @@ -5288,6 +5335,18 @@ __metadata:
languageName: node
linkType: hard

"import-in-the-middle@npm:1.7.1":
version: 1.7.1
resolution: "import-in-the-middle@npm:1.7.1"
dependencies:
acorn: ^8.8.2
acorn-import-assertions: ^1.9.0
cjs-module-lexer: ^1.2.2
module-details-from-path: ^1.0.3
checksum: 37cc8c75fb7eac60611bafafea7fc60f794d0931fdabcec516c8a26effe69e914b1f7e8116e98549c6fdd1fe88dcaebfdebf35d7f52c761b48b312e40f3bf323
languageName: node
linkType: hard

"import-local@npm:^3.0.2":
version: 3.1.0
resolution: "import-local@npm:3.1.0"
Expand Down Expand Up @@ -7616,6 +7675,17 @@ __metadata:
languageName: node
linkType: hard

"require-in-the-middle@npm:^7.1.1":
version: 7.2.0
resolution: "require-in-the-middle@npm:7.2.0"
dependencies:
debug: ^4.1.1
module-details-from-path: ^1.0.3
resolve: ^1.22.1
checksum: 5ed219d12aec4d0f098029827f9e929d8e0ca4f2fe01f23a9b02169e57c5157cced9e7acaef6a871d3f56646f2cb807b08f2f23d66912ee53eca16cb88eff743
languageName: node
linkType: hard

"resolve-cwd@npm:^3.0.0":
version: 3.0.0
resolution: "resolve-cwd@npm:3.0.0"
Expand Down Expand Up @@ -7839,6 +7909,17 @@ __metadata:
languageName: node
linkType: hard

"semver@npm:^7.5.2":
version: 7.5.4
resolution: "semver@npm:7.5.4"
dependencies:
lru-cache: ^6.0.0
bin:
semver: bin/semver.js
checksum: 12d8ad952fa353b0995bf180cdac205a4068b759a140e5d3c608317098b3575ac2f1e09182206bf2eb26120e1c0ed8fb92c48c592f6099680de56bb071423ca3
languageName: node
linkType: hard

"send@npm:1.0.0-beta.1":
version: 1.0.0-beta.1
resolution: "send@npm:1.0.0-beta.1"
Expand Down

0 comments on commit 7b05d4b

Please sign in to comment.