From b5452073de8f52663af145b08c852b2dd8d2f0bd Mon Sep 17 00:00:00 2001 From: ganny26 Date: Wed, 16 Feb 2022 20:07:21 +0530 Subject: [PATCH] Added mysql --- package-lock.json | 165 ++++------------------------------------------ package.json | 3 +- src/tracer.ts | 4 +- 3 files changed, 17 insertions(+), 155 deletions(-) diff --git a/package-lock.json b/package-lock.json index b79c8f4..93b6174 100644 --- a/package-lock.json +++ b/package-lock.json @@ -347,20 +347,20 @@ } }, "@opentelemetry/instrumentation": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.24.0.tgz", - "integrity": "sha512-Kn581LUJrVsuV6j8KjNpNWFecyrLoc3GRiTpXUl48LVtm9CCbdwNZGe3PRmWN1Mb/bmWr/tt3GHcuhyUxAsY0A==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.27.0.tgz", + "integrity": "sha512-dUwY/VoDptdK8AYigwS3IKblG+unV5xIdV4VQKy+nX5aT3f7vd5PMYs4arCQSYLbLRe0s7GxK6S9dtjai/TsHQ==", "requires": { - "@opentelemetry/api-metrics": "0.24.0", + "@opentelemetry/api-metrics": "0.27.0", "require-in-the-middle": "^5.0.3", "semver": "^7.3.2", "shimmer": "^1.2.1" }, "dependencies": { "@opentelemetry/api-metrics": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-metrics/-/api-metrics-0.24.0.tgz", - "integrity": "sha512-hdpkMeVlRGTuMshD2ZFaDjA/U0cZTkxUkJFvS/4yOiWfw+kEASmGE+U0/i9lbdQKuCR7X1rXSjbcYumlHcMG+A==" + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api-metrics/-/api-metrics-0.27.0.tgz", + "integrity": "sha512-tB79288bwjkdhPNpw4UdOEy3bacVwtol6Que7cAu8KEJ9ULjRfSiwpYEwJY/oER3xZ7zNFz0uiJ7N1jSiotpVA==" } } }, @@ -471,28 +471,6 @@ } } }, - "@opentelemetry/instrumentation-http": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-http/-/instrumentation-http-0.24.0.tgz", - "integrity": "sha512-LP0Iw24GFZvsAhUUFgmv8beG4vPEhDsgbHXOcGoSxHntnaDOY+5Df8y5CybSdt/DgqtkKr+3bs+TloeTHNu3Tw==", - "requires": { - "@opentelemetry/core": "0.24.0", - "@opentelemetry/instrumentation": "0.24.0", - "@opentelemetry/semantic-conventions": "0.24.0", - "semver": "^7.1.3" - }, - "dependencies": { - "@opentelemetry/core": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-0.24.0.tgz", - "integrity": "sha512-KpsfxBbFTZT9zaB4Es/fFLbvSzVl9Io/8UUu/TYl4/HgqkmyVInNlWTgRiKyz9nsHzFpGP1kdZJj+YIut0IFsw==", - "requires": { - "@opentelemetry/semantic-conventions": "0.24.0", - "semver": "^7.1.3" - } - } - } - }, "@opentelemetry/instrumentation-ioredis": { "version": "0.25.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-ioredis/-/instrumentation-ioredis-0.25.0.tgz", @@ -579,32 +557,15 @@ } } }, - "@opentelemetry/instrumentation-mysql": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mysql/-/instrumentation-mysql-0.27.1.tgz", - "integrity": "sha512-JxRgJKTL3DtBFGzwwu/n2iVedDbToCbf12554JOUd6d4NRIJo80wEf710RuMNmJvmDPNukD5gVIEQdkGIpXPKA==", + "@opentelemetry/instrumentation-mysql2": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mysql2/-/instrumentation-mysql2-0.28.0.tgz", + "integrity": "sha512-9QrnRASpSz05BEX5XWUh1yFlpbfg37stxxQXb86vees6PnLjBvJUBBjxI4rnbHv0x1JJ4fPofX2nEn0UBVBYpw==", "requires": { "@opentelemetry/instrumentation": "^0.27.0", - "@opentelemetry/semantic-conventions": "^1.0.0", - "@types/mysql": "2.15.19" + "@opentelemetry/semantic-conventions": "^1.0.0" }, "dependencies": { - "@opentelemetry/api-metrics": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-metrics/-/api-metrics-0.27.0.tgz", - "integrity": "sha512-tB79288bwjkdhPNpw4UdOEy3bacVwtol6Que7cAu8KEJ9ULjRfSiwpYEwJY/oER3xZ7zNFz0uiJ7N1jSiotpVA==" - }, - "@opentelemetry/instrumentation": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.27.0.tgz", - "integrity": "sha512-dUwY/VoDptdK8AYigwS3IKblG+unV5xIdV4VQKy+nX5aT3f7vd5PMYs4arCQSYLbLRe0s7GxK6S9dtjai/TsHQ==", - "requires": { - "@opentelemetry/api-metrics": "0.27.0", - "require-in-the-middle": "^5.0.3", - "semver": "^7.3.2", - "shimmer": "^1.2.1" - } - }, "@opentelemetry/semantic-conventions": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.0.1.tgz", @@ -669,65 +630,6 @@ } } }, - "@opentelemetry/plugin-express": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/plugin-express/-/plugin-express-0.15.0.tgz", - "integrity": "sha512-8ZqCXcrU436Dzw1S6Jg6ceMbtGYAFyGcEmEp4rWtZi1P/i0de0i8n2P0oWlW5KxTPIpgZ/e+Ynstjs631WsKow==", - "requires": { - "@opentelemetry/api": "^0.18.0", - "@opentelemetry/core": "^0.18.0", - "shimmer": "^1.2.1" - }, - "dependencies": { - "@opentelemetry/api": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-0.18.1.tgz", - "integrity": "sha512-pKNxHe3AJ5T2N5G3AlT9gx6FyF5K2FS9ZNc+FipC+f1CpVF/EY+JHTJ749dnM2kWIgZTbDJFiGMuc0FYjNSCOg==" - }, - "@opentelemetry/core": { - "version": "0.18.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-0.18.2.tgz", - "integrity": "sha512-WG8veOEd8xZHuBaOHddzWQg5yj794lrEPAe6W1qI0YkV7pyqYXvhJdCxOU5Lyo1SWzTAjI5xrCUQ9J2WlrqzYA==", - "requires": { - "@opentelemetry/api": "^0.18.1", - "semver": "^7.1.3" - } - } - } - }, - "@opentelemetry/plugin-http": { - "version": "0.18.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/plugin-http/-/plugin-http-0.18.2.tgz", - "integrity": "sha512-YxwglRLnKMKvTngm12Kr12tIC+7dMcl+0jpHsUbcCj8hDJoG3MPGtfJsHdFH80TWiZmLbFz0mIlSBwlk2izZJA==", - "requires": { - "@opentelemetry/api": "^0.18.1", - "@opentelemetry/core": "^0.18.2", - "@opentelemetry/semantic-conventions": "^0.18.2", - "semver": "^7.1.3", - "shimmer": "^1.2.1" - }, - "dependencies": { - "@opentelemetry/api": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-0.18.1.tgz", - "integrity": "sha512-pKNxHe3AJ5T2N5G3AlT9gx6FyF5K2FS9ZNc+FipC+f1CpVF/EY+JHTJ749dnM2kWIgZTbDJFiGMuc0FYjNSCOg==" - }, - "@opentelemetry/core": { - "version": "0.18.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-0.18.2.tgz", - "integrity": "sha512-WG8veOEd8xZHuBaOHddzWQg5yj794lrEPAe6W1qI0YkV7pyqYXvhJdCxOU5Lyo1SWzTAjI5xrCUQ9J2WlrqzYA==", - "requires": { - "@opentelemetry/api": "^0.18.1", - "semver": "^7.1.3" - } - }, - "@opentelemetry/semantic-conventions": { - "version": "0.18.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-0.18.2.tgz", - "integrity": "sha512-+0P+PrP9qSFVaayNdek4P1OAGE+PEl2SsufuHDRmUpOY25Wzjo7Atyar56Trjc32jkNy4lID6ZFT6BahsR9P9A==" - } - } - }, "@opentelemetry/propagator-b3": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-1.0.1.tgz", @@ -2169,49 +2071,6 @@ "wrappy": "1" } }, - "opentelemetry-instrumentation-express": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/opentelemetry-instrumentation-express/-/opentelemetry-instrumentation-express-0.27.0.tgz", - "integrity": "sha512-N36tOxlQcO0axyokR2BFuw7pfL538paqtil9K8CIDAzIlIZmJX/lamaSQra0NOUxNsuZUuBejboyY8jBvmDrvQ==", - "requires": { - "@opentelemetry/core": "^1.0.0", - "@opentelemetry/instrumentation": "^0.27.0", - "@opentelemetry/semantic-conventions": "^1.0.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7" - }, - "dependencies": { - "@opentelemetry/api-metrics": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-metrics/-/api-metrics-0.27.0.tgz", - "integrity": "sha512-tB79288bwjkdhPNpw4UdOEy3bacVwtol6Que7cAu8KEJ9ULjRfSiwpYEwJY/oER3xZ7zNFz0uiJ7N1jSiotpVA==" - }, - "@opentelemetry/core": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.0.1.tgz", - "integrity": "sha512-90nQ2X6b/8X+xjcLDBYKooAcOsIlwLRYm+1VsxcX5cHl6V4CSVmDpBreQSDH/A21SqROzapk6813008SatmPpQ==", - "requires": { - "@opentelemetry/semantic-conventions": "1.0.1" - } - }, - "@opentelemetry/instrumentation": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.27.0.tgz", - "integrity": "sha512-dUwY/VoDptdK8AYigwS3IKblG+unV5xIdV4VQKy+nX5aT3f7vd5PMYs4arCQSYLbLRe0s7GxK6S9dtjai/TsHQ==", - "requires": { - "@opentelemetry/api-metrics": "0.27.0", - "require-in-the-middle": "^5.0.3", - "semver": "^7.3.2", - "shimmer": "^1.2.1" - } - }, - "@opentelemetry/semantic-conventions": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.0.1.tgz", - "integrity": "sha512-7XU1sfQ8uCVcXLxtAHA8r3qaLJ2oq7sKtEwzZhzuEXqYmjW+n+J4yM3kNo0HQo3Xp1eUe47UM6Wy6yuAvIyllg==" - } - } - }, "parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", diff --git a/package.json b/package.json index e2f8ae5..2803059 100644 --- a/package.json +++ b/package.json @@ -16,13 +16,14 @@ "@opentelemetry/exporter-collector": "0.25.0", "@opentelemetry/exporter-collector-grpc": "^0.25.0", "@opentelemetry/exporter-otlp-grpc": "^0.26.0", + "@opentelemetry/instrumentation-mysql2": "^0.28.0", "@opentelemetry/resources": "^0.24.0", + "@opentelemetry/sdk-node": "0.27.0", "@opentelemetry/sdk-trace-base": "^1.0.1", "@opentelemetry/sdk-trace-node": "^1.0.1", "@opentelemetry/semantic-conventions": "^0.24.0", "@types/axios": "^0.14.0", "@types/express": "^4.17.13", - "@opentelemetry/sdk-node": "0.27.0", "@types/node": "^17.0.17", "@types/sequelize": "4.28.11", "axios": "^0.25.0", diff --git a/src/tracer.ts b/src/tracer.ts index 4c39332..cf48a6e 100644 --- a/src/tracer.ts +++ b/src/tracer.ts @@ -3,13 +3,15 @@ import * as opentelemetry from '@opentelemetry/sdk-node' import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions' const { getNodeAutoInstrumentations } = require('@opentelemetry/auto-instrumentations-node') const { OTLPTraceExporter } = require('@opentelemetry/exporter-otlp-grpc') +const { MySQL2Instrumentation } = require('@opentelemetry/instrumentation-mysql2') + const init = function (serviceName: string) { // Define traces const traceExporter = new OTLPTraceExporter({}) const sdk = new opentelemetry.NodeSDK({ traceExporter, - instrumentations: [getNodeAutoInstrumentations()], + instrumentations: [getNodeAutoInstrumentations(), new MySQL2Instrumentation()], resource: new Resource({ [SemanticResourceAttributes.SERVICE_NAME]: serviceName, }),