From 5a52eda9841daa13221649c7cd89429ed09f5549 Mon Sep 17 00:00:00 2001 From: Daniel Dyla Date: Wed, 27 Nov 2019 14:25:29 -0500 Subject: [PATCH] feat: mysql support (#525) * chore: set up mysql plugin * feat: wip mysql plugin * fix: lint * feat(mysql-plugin): trace cluster pool queries * chore: update attributes to match spec names * feat(mysql): add query overloads * test(mysql): add tests * test(mysql): run tests in ci * test(mysql): use environment for test params * test(mysql): fix environment * chore(mysql): set supported versions * test(mysql): fix version number * ci: fix build and add mysql to cache * chore: pin @types/node to fix compile error * ci: add mysql port to env * test(mysql): increase coverage * chore: add mysql to supported plugins list * test: fix typo * fix: reference to this module rename plugin to thisPlugin to avoid confusion * fix: lint * test: add pool.getConnection tests * Update examples/mysql/package.json Co-Authored-By: Mayur Kale * docs: update mysql example * chore: add redis to default plugins list * chore: remove wip mysql plugin from defaults * chore: add codecov script * chore(mysql): add supported version to readme * fix: lint * chore: remove ts-ignore, set status ok * chore: unwrap connections on next call after unwrap * chore: updates from review comments * ci: order envs * chore: add mysql to default plugins * chore: update README plugin list --- .circleci/config.yml | 19 +- README.md | 12 +- examples/mysql/README.md | 74 +++ examples/mysql/client.js | 81 +++ examples/mysql/images/jaeger-ui.png | Bin 0 -> 281446 bytes examples/mysql/images/zipkin-ui.png | Bin 0 -> 115403 bytes examples/mysql/package.json | 45 ++ examples/mysql/server.js | 130 ++++ examples/mysql/setup.js | 36 ++ packages/opentelemetry-node/src/config.ts | 1 + .../opentelemetry-plugin-mysql/.npmignore | 4 + packages/opentelemetry-plugin-mysql/LICENSE | 201 ++++++ packages/opentelemetry-plugin-mysql/README.md | 45 ++ .../opentelemetry-plugin-mysql/package.json | 66 ++ .../opentelemetry-plugin-mysql/src/enums.ts | 36 ++ .../opentelemetry-plugin-mysql/src/index.ts | 16 + .../opentelemetry-plugin-mysql/src/mysql.ts | 286 +++++++++ .../opentelemetry-plugin-mysql/src/types.ts | 26 + .../opentelemetry-plugin-mysql/src/utils.ts | 86 +++ .../test/mysql.test.ts | 604 ++++++++++++++++++ .../test/testUtils.ts | 55 ++ .../opentelemetry-plugin-mysql/tsconfig.json | 11 + .../opentelemetry-plugin-mysql/tslint.json | 4 + 23 files changed, 1832 insertions(+), 6 deletions(-) create mode 100644 examples/mysql/README.md create mode 100644 examples/mysql/client.js create mode 100644 examples/mysql/images/jaeger-ui.png create mode 100644 examples/mysql/images/zipkin-ui.png create mode 100644 examples/mysql/package.json create mode 100644 examples/mysql/server.js create mode 100644 examples/mysql/setup.js create mode 100644 packages/opentelemetry-plugin-mysql/.npmignore create mode 100644 packages/opentelemetry-plugin-mysql/LICENSE create mode 100644 packages/opentelemetry-plugin-mysql/README.md create mode 100644 packages/opentelemetry-plugin-mysql/package.json create mode 100644 packages/opentelemetry-plugin-mysql/src/enums.ts create mode 100644 packages/opentelemetry-plugin-mysql/src/index.ts create mode 100644 packages/opentelemetry-plugin-mysql/src/mysql.ts create mode 100644 packages/opentelemetry-plugin-mysql/src/types.ts create mode 100644 packages/opentelemetry-plugin-mysql/src/utils.ts create mode 100644 packages/opentelemetry-plugin-mysql/test/mysql.test.ts create mode 100644 packages/opentelemetry-plugin-mysql/test/testUtils.ts create mode 100644 packages/opentelemetry-plugin-mysql/tsconfig.json create mode 100644 packages/opentelemetry-plugin-mysql/tslint.json diff --git a/.circleci/config.yml b/.circleci/config.yml index ab5b0ddceb9..29a4c16592e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2,6 +2,7 @@ version: 2 node_test_env: &node_test_env RUN_POSTGRES_TESTS: 1 + RUN_MYSQL_TESTS: 1 RUN_MONGODB_TESTS: 1 RUN_REDIS_TESTS: 1 POSTGRES_USER: postgres @@ -11,8 +12,12 @@ node_test_env: &node_test_env OPENTELEMETRY_REDIS_HOST: 'localhost' OPENTELEMETRY_REDIS_PORT: 6379 MONGODB_HOST: localhost - MONGODB_PORT: 27017 MONGODB_DB: opentelemetry-tests + MONGODB_PORT: 27017 + MYSQL_USER: otel + MYSQL_PASSWORD: secret + MYSQL_DATABASE: circle_database + MYSQL_PORT: 3306 postgres_service: &postgres_service image: circleci/postgres:9.6-alpine @@ -25,6 +30,14 @@ redis_service: &redis_service mongo_service: &mongo_service image: mongo +mysql_service: &mysql_service + image: circleci/mysql:5.7 + environment: + MYSQL_USER: otel + MYSQL_PASSWORD: secret + MYSQL_DATABASE: circle_database + MYSQL_ROOT_PASSWORD: rootpw + cache_1: &cache_1 key: npm-cache-01-{{ .Environment.CIRCLE_JOB }}-{{ checksum "/tmp/checksums.txt" }}-1 paths: @@ -57,6 +70,7 @@ cache_2: &cache_2 - packages/opentelemetry-plugin-document-load/node_modules - packages/opentelemetry-plugin-https/node_modules - packages/opentelemetry-plugin-postgres/opentelemetry-plugin-pg-pool/node_modules + - packages/opentelemetry-plugin-mysql/node_modules - packages/opentelemetry-exporter-prometheus/node_modules node_unit_tests: &node_unit_tests @@ -157,6 +171,7 @@ jobs: - image: node:8 environment: *node_test_env - *postgres_service + - *mysql_service - *redis_service - *mongo_service <<: *node_unit_tests @@ -165,6 +180,7 @@ jobs: - image: node:10 environment: *node_test_env - *postgres_service + - *mysql_service - *redis_service - *mongo_service <<: *node_unit_tests @@ -173,6 +189,7 @@ jobs: - image: node:12 environment: *node_test_env - *postgres_service + - *mysql_service - *redis_service - *mongo_service <<: *node_unit_tests diff --git a/README.md b/README.md index f643f66a005..5ac7558b4e0 100644 --- a/README.md +++ b/README.md @@ -109,16 +109,18 @@ OpenTelemetry is vendor-agnostic and can upload data to any backend with various OpenTelemetry can collect tracing data automatically using plugins. Vendors/Users can also create and use their own. Currently, OpenTelemetry supports automatic tracing for: #### Node Plugins -- [@opentelemetry/plugin-http](https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-plugin-http) +- [@opentelemetry/plugin-dns](https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-plugin-dns) - [@opentelemetry/plugin-grpc](https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-plugin-grpc) +- [@opentelemetry/plugin-http](https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-plugin-http) - [@opentelemetry/plugin-https](https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-plugin-https) -- [@opentelemetry/plugin-dns](https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-plugin-dns) - [@opentelemetry/plugin-mongodb-core](https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-plugin-mongodb-core) +- [@opentelemetry/plugin-mysql](https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-plugin-mysql) - [@opentelemetry/plugin-pg](https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-plugin-postgres/opentelemetry-plugin-pg) - [@opentelemetry/plugin-redis](https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-plugin-redis) -- [@opentelemetry/plugin-pg-pool](https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-plugin-postgres/opentelemetry-plugin-pg-pool) - WIP -- [@opentelemetry/plugin-ioredis](https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-plugin-ioredis) - WIP -- [@opentelemetry/plugin-mysql](https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-plugin-mysql) - WIP + +##### WIP Plugins +- [@opentelemetry/plugin-pg-pool](https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-plugin-postgres/opentelemetry-plugin-pg-pool) +- [@opentelemetry/plugin-ioredis](https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-plugin-ioredis) #### Web Plugins - [@opentelemetry/plugin-document-load](https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-plugin-document-load) diff --git a/examples/mysql/README.md b/examples/mysql/README.md new file mode 100644 index 00000000000..ac25b273991 --- /dev/null +++ b/examples/mysql/README.md @@ -0,0 +1,74 @@ +# Overview + +OpenTelemetry MySQL Instrumentation allows the user to automatically collect trace data and export them to the backend of choice (we can use Zipkin or Jaeger for this example), to give observability to distributed systems. + +This is a modification of the HTTP example that executes multiple parallel requests that interact with a MySQL server backend using the `mysql` npm module. The example displays traces using multiple connection methods. +- Direct Connection Query +- Pool Connection Query +- Cluster Pool Connection Query + + +## Installation + +```sh +$ # from this directory +$ npm install +``` + +Setup [Zipkin Tracing](https://zipkin.io/pages/quickstart.html) +or +Setup [Jaeger Tracing](https://www.jaegertracing.io/docs/latest/getting-started/#all-in-one) + +## Run the Application + +### Zipkin + + - Run the server + + ```sh + $ # from this directory + $ npm run server + ``` + + - Run the client + + ```sh + $ # from this directory + $ npm run client + ``` + +#### Zipkin UI +`server` script should output the `traceid` in the terminal (e.g `traceid: 4815c3d576d930189725f1f1d1bdfcc6`). +Go to Zipkin with your browser [http://localhost:9411/zipkin/traces/(your-trace-id)]() (e.g http://localhost:9411/zipkin/traces/4815c3d576d930189725f1f1d1bdfcc6) + +

+ +### Jaeger + + - Run the server + + ```sh + $ # from this directory + $ npm run server + ``` + + - Run the client + + ```sh + $ # from this directory + $ npm run client + ``` +#### Jaeger UI + +`server` script should output the `traceid` in the terminal (e.g `traceid: 4815c3d576d930189725f1f1d1bdfcc6`). +Go to Jaeger with your browser [http://localhost:16686/trace/(your-trace-id)]() (e.g http://localhost:16686/trace/4815c3d576d930189725f1f1d1bdfcc6) + +

+ +## Useful links +- For more information on OpenTelemetry, visit: +- For more information on OpenTelemetry for Node.js, visit: + +## LICENSE + +Apache License 2.0 diff --git a/examples/mysql/client.js b/examples/mysql/client.js new file mode 100644 index 00000000000..84555112681 --- /dev/null +++ b/examples/mysql/client.js @@ -0,0 +1,81 @@ +'use strict'; + +const opentelemetry = require('@opentelemetry/core'); +const config = require('./setup'); + +/** + * The trace instance needs to be initialized first, if you want to enable + * automatic tracing for built-in plugins (HTTP and MySQL in this case). + */ +config.setupTracerAndExporters('http-client-service'); + +const http = require('http'); +const tracer = opentelemetry.getTracer(); + +/** A function which makes requests and handles response. */ +function makeRequest() { + // span corresponds to outgoing requests. Here, we have manually created + // the span, which is created to track work that happens outside of the + // request lifecycle entirely. + const span = tracer.startSpan('makeRequest'); + + let queries = 0 + let responses = 0; + + tracer.withSpan(span, () => { + queries += 1; + http.get({ + host: 'localhost', + port: 8080, + path: '/connection/query' + }, (response) => { + let body = []; + response.on('data', chunk => body.push(chunk)); + response.on('end', () => { + responses += 1; + console.log(body.toString()); + if (responses === queries) span.end(); + }); + }); + }); + tracer.withSpan(span, () => { + queries += 1; + http.get({ + host: 'localhost', + port: 8080, + path: '/pool/query' + }, (response) => { + let body = []; + response.on('data', chunk => body.push(chunk)); + response.on('end', () => { + responses += 1; + console.log(body.toString()); + if (responses === queries) span.end(); + }); + }); + }); + tracer.withSpan(span, () => { + queries += 1; + http.get({ + host: 'localhost', + port: 8080, + path: '/cluster/query' + }, (response) => { + let body = []; + response.on('data', chunk => body.push(chunk)); + response.on('end', () => { + responses += 1; + console.log(body.toString()); + if (responses === queries) span.end(); + }); + }); + }); + + // The process must live for at least the interval past any traces that + // must be exported, or some risk being lost if they are recorded after the + // last export. + console.log('Sleeping 5 seconds before shutdown to ensure all records are flushed.') + setTimeout(() => { console.log('Completed.'); }, 5000); +} + +makeRequest(); diff --git a/examples/mysql/images/jaeger-ui.png b/examples/mysql/images/jaeger-ui.png new file mode 100644 index 0000000000000000000000000000000000000000..d584d3b38aa60f31d4aba1bcf3568eda863178ed GIT binary patch literal 281446 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 z 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 UjlACTF!1l#A)}wt^ehAa59Pim%K!iX literal 0 HcmV?d00001 diff --git a/examples/mysql/images/zipkin-ui.png b/examples/mysql/images/zipkin-ui.png new file mode 100644 index 0000000000000000000000000000000000000000..c013d64c5a0a189a16d59de82b8551dc5943268b GIT binary patch literal 115403 zcmb4rbzD@@zAvI+Ac{yxBM6A3)X*W_NDnZ8bPqXni4r1RN-8PcjLeWqcMdrN(m5b8 zl)xK2_uYHWJ@4M9{INfK_TFpl_4}@0|9+bY4K;bfJCt{DaBv6}6=XDVaBer?;Naf6 zg^#^b-U740!MW3AD=n>|C@oE|;R?30b+E+2QHV%Nxv8%OBn#T{jj5aL zudI${kl?|y0nbZMSG3S7Y6s=FdQFnaxozRDK3?_Kz<>t9r&0#lB}a46}(Gw(Z3kLE6mzw8}ra^h&*=;;<^1w33%_|mlSjtPiE ze^UegQZ3mlz5G)NrxbzA$q&H-wY^Y0NEzQZish98Sfos9(nN*)Azw@anw2@p7 zB*OVN6n4!l=(;mLCMaTBk}PoQm;x_AxviJ!o3<2L$XgVTcnHVBv;i;m))o@yQFC>I z{K7Ue0)A`w_Nc&f$~nTQH`=N*@wL}%UJS;OxlCL65#cO*;ZRPvTE=fF&K!H->PzDG ztOW*>4PBROp`QG7SdVjmK17!q_nQ=-0!}0j`7KH2*dXc(;*#qppNJf;iAV}f-YjZ) z>`X#^Q+1wC@IGhA<~-RN{{0~8yFn?Yj~Z^~5Z(Ck_?b*d4ZVNYjjGqw^vp|mc#^L) zo+RQhNfpN4ikD*hOsMf#8#hV%>@($>^%{vgE$oiRi=$8CHbg$x{X-voz%Bj`t6&u+ zu=>U>ND>`N{;hCVQ;>Wh1n}L`naS^l)0@HX6F;2v?=`=XCkl#vAZ!*iNw3m&|F%4F z9Er^961h9Enz_V<(gv}RB>@Kc&{*|H)S;oTOdYssKbWfA4UGi814glaOEkatit;)6 zbLeyb53l+F?4-pZwclXoQZTV8)lkfca!^oxe>kT7H zC%m#-(3^TO_U#@Er!I_MqQ(T^w?}PZi$cfje&PY-7q>2`n+PO=E*0n>9^Ah7M)C!N zl#IUmQzmNWbSC!)nGfV5p27Cck2TXLE5WbqU6yLmQ{nA&5if*5if@~LxcG|?|nnuXe0 zMfdsRQe}}UrJs#IiRTAsXR}T{t4#7zvQK=LNSOpnG-iF6q?!oqiA;1$QchBTI;Tym z`MBsq(Q%=(wr;WZmvqf_9g3HEh112M#a2aRg|xbjMW;rD<=FF29a_Cw#hUO>2z6;2 zIX(%>l)7L@5F|q2Q?wR9%euIrki3XaXGen$p)u+_5KHZ;*%RSTsM|k zkdf1nXt?qaCiAHAncrRaE61}Fje zS;+91QRY2z1laLX3LpTP<_#lX5ywrphu_#Ta8KEeIPJBL_3;h3=h!B!yYZ^>)&a|a zrBl*wMfK1V&3&bP5i&u7d|6mKZKPpxMP7AYOVzi%d{T#HGp3qp^Ksj#T1Yh+P|x6K zTEjtKU`n7?z`xFYhI{6)PPMMwiegYHz1BnbtON`hfKWhgZqZH_PlZjEL&24Si>B)> z9$%clE-HB3bvIg^+&Z4_?upo`nOHC5?e~t}ms=HBE$1xbBu)`dky)4kE!xCdCp9bW0}la}Pd| z5k1tP-4z_-=H{;ua2D(mvXRxW=N1s;^Rjp5GEC{WoTvzsHj>tTYjij7jojPhF!9^f zcN5;!_64uL>6;Q*{b7_)pIxu|gFc<6iR0JHH^8=$aFdlEE3$pXACCA b{dd`UR$ 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 literal 0 HcmV?d00001 diff --git a/examples/mysql/package.json b/examples/mysql/package.json new file mode 100644 index 00000000000..1f35536146b --- /dev/null +++ b/examples/mysql/package.json @@ -0,0 +1,45 @@ +{ + "name": "mysql-example", + "private": true, + "version": "0.2.0", + "description": "Example of mysql integration with OpenTelemetry", + "main": "index.js", + "scripts": { + "zipkin:server": "cross-env EXPORTER=zipkin node ./server.js", + "zipkin:client": "cross-env EXPORTER=zipkin node ./client.js", + "jaeger:server": "cross-env EXPORTER=jaeger node ./server.js", + "jaeger:client": "cross-env EXPORTER=jaeger node ./client.js" + }, + "repository": { + "type": "git", + "url": "git+ssh://git@github.com/open-telemetry/opentelemetry-js.git" + }, + "keywords": [ + "opentelemetry", + "mysql", + "tracing" + ], + "engines": { + "node": ">=8" + }, + "author": "OpenTelemetry Authors", + "license": "Apache-2.0", + "bugs": { + "url": "https://github.com/open-telemetry/opentelemetry-js/issues" + }, + "dependencies": { + "@opentelemetry/core": "^0.2.0", + "@opentelemetry/exporter-jaeger": "^0.2.0", + "@opentelemetry/exporter-zipkin": "^0.2.0", + "@opentelemetry/node": "^0.2.0", + "@opentelemetry/plugin-http": "^0.2.0", + "@opentelemetry/plugin-mysql": "^0.2.0", + "@opentelemetry/tracing": "^0.2.0", + "mysql": "*" + }, + "homepage": "https://github.com/open-telemetry/opentelemetry-js#readme", + "devDependencies": { + "@types/mysql": "*", + "cross-env": "^6.0.0" + } +} diff --git a/examples/mysql/server.js b/examples/mysql/server.js new file mode 100644 index 00000000000..0dc6c10e9c7 --- /dev/null +++ b/examples/mysql/server.js @@ -0,0 +1,130 @@ +'use strict'; + +const opentelemetry = require('@opentelemetry/core'); +const config = require('./setup'); +/** + * The trace instance needs to be initialized first, if you want to enable + * automatic tracing for built-in plugins (HTTP and MySQL in this case). + */ +config.setupTracerAndExporters('http-mysql-server-service'); + +const mysql = require('mysql'); +const http = require('http'); + +const tracer = opentelemetry.getTracer(); + +const pool = mysql.createPool({ + host : 'localhost', + user : 'root', + password : 'secret', + database : 'my_db', +}); + +const connection = mysql.createConnection({ + host : 'localhost', + user : 'root', + password : 'secret', + database : 'my_db', +}); + +const cluster = mysql.createPoolCluster(); + +cluster.add({ + host : 'localhost', + user : 'root', + password : 'secret', + database : 'my_db', +}) + +/** Starts a HTTP server that receives requests on sample server port. */ +function startServer (port) { + // Creates a server + const server = http.createServer(handleRequest); + // Starts the server + server.listen(port, err => { + if (err) { + throw err; + } + console.log(`Node HTTP listening on ${port}`); + }); +} + +/** A function which handles requests and send response. */ +function handleRequest (request, response) { + const currentSpan = tracer.getCurrentSpan(); + // display traceid in the terminal + const {traceId} = currentSpan.context(); + console.log(`traceid: ${traceId}`); + console.log(`Jaeger URL: http://localhost:16686/trace/${traceId}`) + console.log(`Zipkin URL: http://localhost:9411/zipkin/traces/${traceId}`) + try { + let body = []; + request.on('error', err => console.log(err)); + request.on('data', chunk => body.push(chunk)); + request.on('end', () => { + if (request.url === "/connection/query") { + handleConnectionQuery(response); + } else if (request.url === "/pool/query") { + handlePoolQuery(response); + } else if (request.url === "/cluster/query") { + handleClusterQuery(response); + } else { + handleNotFound(response); + } + }); + } catch (err) { + console.log(err); + } +} + +startServer(8080); + +function handlePoolQuery(response) { + const query = "SELECT 1 + 1 as pool_solution"; + pool.getConnection((err, conn) => { + conn.query(query, (err, results, fields) => { + tracer.getCurrentSpan().addEvent("results"); + if (err) { + console.log("Error code:", err.code); + response.end(err.message); + } + else { + response.end(`${query}: ${results[0].pool_solution}`); + } + }); + }) +} + +function handleConnectionQuery(response) { + const query = "SELECT 1 + 1 as solution"; + connection.query(query, (err, results, fields) => { + if (err) { + console.log("Error code:", err.code); + response.end(err.message); + } + else { + response.end(`${query}: ${results[0].solution}`); + } + }); +} + +function handleClusterQuery(response) { + const query = "SELECT 1 + 1 as cluster_solution"; + cluster.getConnection((err, conn) => { + conn.query(query, (err, results, fields) => { + tracer.getCurrentSpan().addEvent("results"); + if (err) { + console.log("Error code:", err.code); + response.end(err.message); + } + else { + response.end(`${query}: ${results[0].cluster_solution}`); + } + }); + }) +} + +function handleNotFound(response) { + response.end("not found"); +} + diff --git a/examples/mysql/setup.js b/examples/mysql/setup.js new file mode 100644 index 00000000000..d1e0185335e --- /dev/null +++ b/examples/mysql/setup.js @@ -0,0 +1,36 @@ +'use strict'; + +const opentelemetry = require('@opentelemetry/core'); +const { NodeTracer } = require('@opentelemetry/node'); +const { SimpleSpanProcessor } = require('@opentelemetry/tracing'); +const { JaegerExporter } = require('@opentelemetry/exporter-jaeger'); +const { ZipkinExporter } = require('@opentelemetry/exporter-zipkin'); + +function setupTracerAndExporters(service) { + const tracer = new NodeTracer({ + plugins: { + mysql: { + enabled: true, + path: "@opentelemetry/plugin-mysql" + }, + http: { + enabled: true, + path: "@opentelemetry/plugin-http" + } + } + }); + + tracer.addSpanProcessor(new SimpleSpanProcessor(new ZipkinExporter({ + serviceName: service, + }))); + tracer.addSpanProcessor(new SimpleSpanProcessor(new JaegerExporter({ + serviceName: service, + // The default flush interval is 5 seconds. + flushInterval: 2000 + }))); + + // Initialize the OpenTelemetry APIs to use the BasicTracer bindings + opentelemetry.initGlobalTracer(tracer); +} + +exports.setupTracerAndExporters = setupTracerAndExporters; diff --git a/packages/opentelemetry-node/src/config.ts b/packages/opentelemetry-node/src/config.ts index 3a484930ef4..23fe0ff63e1 100644 --- a/packages/opentelemetry-node/src/config.ts +++ b/packages/opentelemetry-node/src/config.ts @@ -32,6 +32,7 @@ export const DEFAULT_INSTRUMENTATION_PLUGINS: Plugins = { grpc: { enabled: true, path: '@opentelemetry/plugin-grpc' }, http: { enabled: true, path: '@opentelemetry/plugin-http' }, https: { enabled: true, path: '@opentelemetry/plugin-https' }, + mysql: { enabled: true, path: '@opentelemetry/plugin-mysql' }, pg: { enabled: true, path: '@opentelemetry/plugin-pg' }, redis: { enabled: true, path: '@opentelemetry/plugin-redis' }, }; diff --git a/packages/opentelemetry-plugin-mysql/.npmignore b/packages/opentelemetry-plugin-mysql/.npmignore new file mode 100644 index 00000000000..9505ba9450f --- /dev/null +++ b/packages/opentelemetry-plugin-mysql/.npmignore @@ -0,0 +1,4 @@ +/bin +/coverage +/doc +/test diff --git a/packages/opentelemetry-plugin-mysql/LICENSE b/packages/opentelemetry-plugin-mysql/LICENSE new file mode 100644 index 00000000000..261eeb9e9f8 --- /dev/null +++ b/packages/opentelemetry-plugin-mysql/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/packages/opentelemetry-plugin-mysql/README.md b/packages/opentelemetry-plugin-mysql/README.md new file mode 100644 index 00000000000..253c22e0d22 --- /dev/null +++ b/packages/opentelemetry-plugin-mysql/README.md @@ -0,0 +1,45 @@ +# OpenTelemetry mysql Instrumentation for Node.js +[![Gitter chat][gitter-image]][gitter-url] +[![dependencies][dependencies-image]][dependencies-url] +[![devDependencies][devDependencies-image]][devDependencies-url] +[![Apache License][license-image]][license-image] + +This module provides automatic instrumentation for [`mysql`](https://www.npmjs.com/package/mysql). + +For automatic instrumentation see the +[@opentelemetry/node](https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-node) package. + +## Installation + +```bash +npm install --save @opentelemetry/plugin-mysql +``` + +## Supported Versions +- `~2.0.0` + +## Usage + +```js +const opentelemetry = require('@opentelemetry/plugin-mysql'); + +// TODO: DEMONSTRATE API +``` + +## Useful links +- For more information on OpenTelemetry, visit: +- For more about OpenTelemetry JavaScript: +- For help or feedback on this project, join us on [gitter][gitter-url] + +## License + +Apache 2.0 - See [LICENSE][license-url] for more information. + +[gitter-image]: https://badges.gitter.im/open-telemetry/opentelemetry-js.svg +[gitter-url]: https://gitter.im/open-telemetry/opentelemetry-node?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge +[license-url]: https://github.com/open-telemetry/opentelemetry-js/blob/master/LICENSE +[license-image]: https://img.shields.io/badge/license-Apache_2.0-green.svg?style=flat +[dependencies-image]: https://david-dm.org/open-telemetry/opentelemetry-js/status.svg?path=packages/opentelemetry-plugin-mysql +[dependencies-url]: https://david-dm.org/open-telemetry/opentelemetry-js?path=packages%2Fopentelemetry-plugin-mysql +[devDependencies-image]: https://david-dm.org/open-telemetry/opentelemetry-js/dev-status.svg?path=packages/opentelemetry-plugin-mysql +[devDependencies-url]: https://david-dm.org/open-telemetry/opentelemetry-js?path=packages%2Fopentelemetry-plugin-mysql&type=dev diff --git a/packages/opentelemetry-plugin-mysql/package.json b/packages/opentelemetry-plugin-mysql/package.json new file mode 100644 index 00000000000..642b949b5a0 --- /dev/null +++ b/packages/opentelemetry-plugin-mysql/package.json @@ -0,0 +1,66 @@ +{ + "name": "@opentelemetry/plugin-mysql", + "version": "0.2.0", + "description": "OpenTelemetry mysql automatic instrumentation package.", + "main": "build/src/index.js", + "types": "build/src/index.d.ts", + "repository": "open-telemetry/opentelemetry-js", + "scripts": { + "test": "nyc ts-mocha -p tsconfig.json 'test/**/*.ts'", + "codecov": "nyc report --reporter=json && codecov -f coverage/*.json -p ../../", + "tdd": "yarn test -- --watch-extensions ts --watch", + "clean": "rimraf build/*", + "check": "gts check", + "precompile": "tsc --version", + "compile": "tsc -p .", + "fix": "gts fix", + "prepare": "npm run compile" + }, + "keywords": [ + "opentelemetry", + "mysql", + "nodejs", + "tracing", + "profiling", + "plugin" + ], + "author": "OpenTelemetry Authors", + "license": "Apache-2.0", + "engines": { + "node": ">=8.0.0" + }, + "files": [ + "build/src/**/*.js", + "build/src/**/*.d.ts", + "doc", + "LICENSE", + "README.md" + ], + "publishConfig": { + "access": "public" + }, + "devDependencies": { + "@opentelemetry/node": "^0.2.0", + "@opentelemetry/tracing": "^0.2.0", + "@types/mocha": "^5.2.7", + "@types/mysql": "^2.15.4", + "@types/node": "^12.6.9", + "@types/shimmer": "^1.0.1", + "codecov": "^3.5.0", + "gts": "^1.1.0", + "mocha": "^6.2.0", + "mysql": "^2.17.1", + "nyc": "^14.1.1", + "rimraf": "^3.0.0", + "ts-mocha": "^6.0.0", + "ts-node": "^8.3.0", + "tslint-consistent-codestyle": "^1.15.1", + "tslint-microsoft-contrib": "^6.2.0", + "typescript": "3.7.2" + }, + "dependencies": { + "@opentelemetry/core": "^0.2.0", + "@opentelemetry/types": "^0.2.0", + "shimmer": "^1.2.1" + } +} diff --git a/packages/opentelemetry-plugin-mysql/src/enums.ts b/packages/opentelemetry-plugin-mysql/src/enums.ts new file mode 100644 index 00000000000..7f408bb945b --- /dev/null +++ b/packages/opentelemetry-plugin-mysql/src/enums.ts @@ -0,0 +1,36 @@ +/*! + * Copyright 2019, OpenTelemetry Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export enum AttributeNames { + // required by https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/data-semantic-conventions.md#databases-client-calls + COMPONENT = 'component', + DB_TYPE = 'db.type', + DB_INSTANCE = 'db.instance', + DB_STATEMENT = 'db.statement', + + PEER_ADDRESS = 'peer.address', + PEER_HOSTNAME = 'peer.hostname', + + // optional + DB_USER = 'db.user', + + PEER_PORT = 'peer.port', + PEER_IPV4 = 'peer.ipv4', + PEER_IPV6 = 'peer.ipv6', + PEER_SERVICE = 'peer.service', + + MYSQL_VALUES = 'mysql.values', +} diff --git a/packages/opentelemetry-plugin-mysql/src/index.ts b/packages/opentelemetry-plugin-mysql/src/index.ts new file mode 100644 index 00000000000..69883053c37 --- /dev/null +++ b/packages/opentelemetry-plugin-mysql/src/index.ts @@ -0,0 +1,16 @@ +/*! + * Copyright 2019, OpenTelemetry Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +export * from './mysql'; diff --git a/packages/opentelemetry-plugin-mysql/src/mysql.ts b/packages/opentelemetry-plugin-mysql/src/mysql.ts new file mode 100644 index 00000000000..3255a57c2bf --- /dev/null +++ b/packages/opentelemetry-plugin-mysql/src/mysql.ts @@ -0,0 +1,286 @@ +/*! + * Copyright 2019, OpenTelemetry Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { BasePlugin } from '@opentelemetry/core'; +import { CanonicalCode, Span, SpanKind } from '@opentelemetry/types'; +import * as mysqlTypes from 'mysql'; +import * as shimmer from 'shimmer'; +import { AttributeNames } from './enums'; +import { getConnectionAttributes, getSpanName } from './utils'; + +export class MysqlPlugin extends BasePlugin { + readonly moduleName = 'mysql'; + readonly supportedVersions = ['2.*']; + + static readonly COMPONENT = 'mysql'; + static readonly DB_TYPE = 'sql'; + + static readonly COMMON_ATTRIBUTES = { + [AttributeNames.COMPONENT]: MysqlPlugin.COMPONENT, + [AttributeNames.DB_TYPE]: MysqlPlugin.DB_TYPE, + [AttributeNames.PEER_SERVICE]: MysqlPlugin.COMPONENT, + }; + + private _enabled = false; + + protected patch(): typeof mysqlTypes { + this._enabled = true; + shimmer.wrap( + this._moduleExports, + 'createConnection', + this._patchCreateConnection() as any + ); + + shimmer.wrap( + this._moduleExports, + 'createPool', + this._patchCreatePool() as any + ); + + shimmer.wrap( + this._moduleExports, + 'createPoolCluster', + this._patchCreatePoolCluster() as any + ); + + return this._moduleExports; + } + + protected unpatch(): void { + this._enabled = false; + shimmer.unwrap(this._moduleExports, 'createConnection'); + shimmer.unwrap(this._moduleExports, 'createPool'); + shimmer.unwrap(this._moduleExports, 'createPoolCluster'); + } + + // global export function + private _patchCreateConnection() { + return (originalCreateConnection: Function) => { + const thisPlugin = this; + thisPlugin._logger.debug( + 'MysqlPlugin#patch: patched mysql createConnection' + ); + + return function createConnection( + _connectionUri: string | mysqlTypes.ConnectionConfig + ) { + const originalResult = originalCreateConnection(...arguments); + + // This is unwrapped on next call after unpatch + shimmer.wrap( + originalResult, + 'query', + thisPlugin._patchQuery(originalResult) as any + ); + + return originalResult; + }; + }; + } + + // global export function + private _patchCreatePool() { + return (originalCreatePool: Function) => { + const thisPlugin = this; + thisPlugin._logger.debug('MysqlPlugin#patch: patched mysql createPool'); + return function createPool(_config: string | mysqlTypes.PoolConfig) { + const pool = originalCreatePool(...arguments); + + shimmer.wrap(pool, 'query', thisPlugin._patchQuery(pool)); + shimmer.wrap( + pool, + 'getConnection', + thisPlugin._patchGetConnection(pool) + ); + + return pool; + }; + }; + } + + // global export function + private _patchCreatePoolCluster() { + return (originalCreatePoolCluster: Function) => { + const thisPlugin = this; + thisPlugin._logger.debug( + 'MysqlPlugin#patch: patched mysql createPoolCluster' + ); + return function createPool(_config: string | mysqlTypes.PoolConfig) { + const cluster = originalCreatePoolCluster(...arguments); + + // This is unwrapped on next call after unpatch + shimmer.wrap( + cluster, + 'getConnection', + thisPlugin._patchGetConnection(cluster) + ); + + return cluster; + }; + }; + } + + // method on cluster or pool + private _patchGetConnection(pool: mysqlTypes.Pool | mysqlTypes.PoolCluster) { + return (originalGetConnection: Function) => { + const thisPlugin = this; + thisPlugin._logger.debug( + 'MysqlPlugin#patch: patched mysql pool getConnection' + ); + return function getConnection( + arg1?: unknown, + arg2?: unknown, + arg3?: unknown + ) { + // Unwrap if unpatch has been called + if (!thisPlugin._enabled) { + shimmer.unwrap(pool, 'getConnection'); + return originalGetConnection.apply(pool, arguments); + } + + if (arguments.length === 1 && typeof arg1 === 'function') { + const patchFn = thisPlugin._getConnectionCallbackPatchFn(arg1); + return originalGetConnection.call(pool, patchFn); + } + if (arguments.length === 2 && typeof arg2 === 'function') { + const patchFn = thisPlugin._getConnectionCallbackPatchFn(arg2); + return originalGetConnection.call(pool, arg1, patchFn); + } + if (arguments.length === 3 && typeof arg3 === 'function') { + const patchFn = thisPlugin._getConnectionCallbackPatchFn(arg3); + return originalGetConnection.call(pool, arg1, arg2, patchFn); + } + + return originalGetConnection.apply(pool, arguments); + }; + }; + } + + private _getConnectionCallbackPatchFn(cb: Function) { + const thisPlugin = this; + return function() { + if (arguments[1]) { + // this is the callback passed into a query + // no need to unwrap + shimmer.wrap( + arguments[1], + 'query', + thisPlugin._patchQuery(arguments[1]) + ); + } + if (typeof cb === 'function') { + cb(...arguments); + } + }; + } + + private _patchQuery(connection: mysqlTypes.Connection | mysqlTypes.Pool) { + return (originalQuery: Function): mysqlTypes.QueryFunction => { + const thisPlugin = this; + thisPlugin._logger.debug('MysqlPlugin: patched mysql query'); + + return function query( + query: string | mysqlTypes.Query | mysqlTypes.QueryOptions, + _valuesOrCallback?: unknown[] | mysqlTypes.queryCallback, + _callback?: mysqlTypes.queryCallback + ) { + if (!thisPlugin._enabled) { + shimmer.unwrap(connection, 'query'); + return originalQuery.apply(connection, arguments); + } + + const spanName = getSpanName(query); + + const span = thisPlugin._tracer.startSpan(spanName, { + parent: thisPlugin._tracer.getCurrentSpan() || undefined, + kind: SpanKind.CLIENT, + attributes: { + ...MysqlPlugin.COMMON_ATTRIBUTES, + ...getConnectionAttributes(connection.config), + }, + }); + + if (typeof query === 'string') { + span.setAttribute(AttributeNames.DB_STATEMENT, query); + } else if (typeof query === 'object') { + if (query.sql) { + span.setAttribute(AttributeNames.DB_STATEMENT, query.sql); + } + + if (query.values) { + span.setAttribute(AttributeNames.MYSQL_VALUES, query.values); + } + } + + if (arguments.length === 1) { + const streamableQuery: mysqlTypes.Query = originalQuery.apply( + connection, + arguments + ); + + return streamableQuery + .on('error', err => + span.setStatus({ + code: CanonicalCode.UNKNOWN, + message: err.message, + }) + ) + .on('end', () => { + span.end(); + }); + } + + if (typeof arguments[1] === 'function') { + shimmer.wrap(arguments, 1, thisPlugin._patchCallbackQuery(span)); + } else if (typeof arguments[2] === 'function') { + if (Array.isArray(_valuesOrCallback)) { + span.setAttribute(AttributeNames.MYSQL_VALUES, _valuesOrCallback); + } else if (arguments[2]) { + span.setAttribute(AttributeNames.MYSQL_VALUES, [_valuesOrCallback]); + } + shimmer.wrap(arguments, 2, thisPlugin._patchCallbackQuery(span)); + } + + return originalQuery.apply(connection, arguments); + }; + }; + } + + private _patchCallbackQuery(span: Span) { + return (originalCallback: Function) => { + return function( + err: mysqlTypes.MysqlError | null, + results?: any, + fields?: mysqlTypes.FieldInfo[] + ) { + if (err) { + span.setStatus({ + code: CanonicalCode.UNKNOWN, + message: err.message, + }); + } else { + span.setStatus({ + code: CanonicalCode.OK, + }); + } + span.end(); + return originalCallback(...arguments); + }; + }; + } +} + +export const plugin = new MysqlPlugin(); diff --git a/packages/opentelemetry-plugin-mysql/src/types.ts b/packages/opentelemetry-plugin-mysql/src/types.ts new file mode 100644 index 00000000000..cec9256bacd --- /dev/null +++ b/packages/opentelemetry-plugin-mysql/src/types.ts @@ -0,0 +1,26 @@ +/*! + * Copyright 2019, OpenTelemetry Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export type ConnectionConfig = Partial<{ + host: string; + port: number; + database: string; + user: string; +}>; + +export type Query = Partial<{ + sql: string; +}>; diff --git a/packages/opentelemetry-plugin-mysql/src/utils.ts b/packages/opentelemetry-plugin-mysql/src/utils.ts new file mode 100644 index 00000000000..e301d14bf61 --- /dev/null +++ b/packages/opentelemetry-plugin-mysql/src/utils.ts @@ -0,0 +1,86 @@ +/*! + * Copyright 2019, OpenTelemetry Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { Attributes } from '@opentelemetry/types'; +import { AttributeNames } from './enums'; +import { ConnectionConfig, Query } from './types'; + +/** + * Get a span name from a mysql query + * + * @param query mysql Query or string + */ +export function getSpanName(query: string | Query) { + return `mysql.query:${getCommand(query)}`; +} + +/** + * Get the low cardinality command name from a query. + * + * @param query mysql Query or string + */ +function getCommand(query: string | Query) { + const queryString = typeof query === 'string' ? query : query.sql; + + if (!queryString) { + return 'UNKNOWN_COMMAND'; + } + + // Command is the first non-whitespace token in the query + const match = queryString.match(/^\s*(\w+)/); + return (match && match[1]) || 'UNKNOWN_COMMAND'; +} + +/** + * Get an Attributes map from a mysql connection config object + * + * @param config ConnectionConfig + */ +export function getConnectionAttributes(config: ConnectionConfig): Attributes { + const { host, port, database, user } = getConfig(config); + + return { + [AttributeNames.PEER_ADDRESS]: getJDBCString(host, port, database), + [AttributeNames.DB_INSTANCE]: database, + [AttributeNames.PEER_HOSTNAME]: host, + [AttributeNames.PEER_PORT]: port, + [AttributeNames.DB_USER]: user, + }; +} + +function getConfig(config: any) { + const { host, port, database, user } = + (config && config.connectionConfig) || config || {}; + return { host, port, database, user }; +} + +function getJDBCString( + host: string | undefined, + port: number | undefined, + database: string | undefined +) { + let jdbcString = `jdbc:mysql://${host || 'localhost'}`; + + if (typeof port === 'number') { + jdbcString += `:${port}`; + } + + if (typeof database === 'string') { + jdbcString += `/${database}`; + } + + return jdbcString; +} diff --git a/packages/opentelemetry-plugin-mysql/test/mysql.test.ts b/packages/opentelemetry-plugin-mysql/test/mysql.test.ts new file mode 100644 index 00000000000..600b3aa9b36 --- /dev/null +++ b/packages/opentelemetry-plugin-mysql/test/mysql.test.ts @@ -0,0 +1,604 @@ +/*! + * Copyright 2019, OpenTelemetry Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { NoopLogger } from '@opentelemetry/core'; +import { NodeTracer } from '@opentelemetry/node'; +import { + InMemorySpanExporter, + SimpleSpanProcessor, + ReadableSpan, +} from '@opentelemetry/tracing'; +import * as assert from 'assert'; +import * as mysql from 'mysql'; +import { MysqlPlugin, plugin } from '../src'; +import * as testUtils from './testUtils'; +import { AttributeNames } from '../src/enums'; +import { CanonicalCode } from '@opentelemetry/types'; + +const port = parseInt(process.env.MYSQL_PORT || '33306', 10); +const database = process.env.MYSQL_DATABASE || 'test_db'; +const host = process.env.MYSQL_HOST || '127.0.0.1'; +const user = process.env.MYSQL_USER || 'otel'; +const password = process.env.MYSQL_PASSWORD || 'secret'; + +describe('mysql@2.x', () => { + let connection: mysql.Connection; + let pool: mysql.Pool; + let poolCluster: mysql.PoolCluster; + const tracer = new NodeTracer({ plugins: {} }); + const logger = new NoopLogger(); + const testMysql = process.env.RUN_MYSQL_TESTS; // For CI: assumes local mysql db is already available + const testMysqlLocally = process.env.RUN_MYSQL_TESTS_LOCAL; // For local: spins up local mysql db via docker + const shouldTest = testMysql || testMysqlLocally; // Skips these tests if false (default) + const memoryExporter = new InMemorySpanExporter(); + + before(function(done) { + if (!shouldTest) { + // this.skip() workaround + // https://github.com/mochajs/mocha/issues/2683#issuecomment-375629901 + this.test!.parent!.pending = true; + this.skip(); + } + tracer.addSpanProcessor(new SimpleSpanProcessor(memoryExporter)); + if (testMysqlLocally) { + testUtils.startDocker(); + // wait 15 seconds for docker container to start + this.timeout(20000); + setTimeout(done, 15000); + } else { + done(); + } + }); + + after(function() { + if (testMysqlLocally) { + this.timeout(5000); + testUtils.cleanUpDocker(); + } + }); + + beforeEach(function() { + plugin.enable(mysql, tracer, logger); + connection = mysql.createConnection({ + port, + user, + host, + password, + database, + }); + pool = mysql.createPool({ + port, + user, + host, + password, + database, + }); + poolCluster = mysql.createPoolCluster(); + poolCluster.add('name', { + port, + user, + host, + password, + database, + }); + }); + + afterEach(done => { + memoryExporter.reset(); + plugin.disable(); + connection.end(() => { + pool.end(() => { + poolCluster.end(() => { + done(); + }); + }); + }); + }); + + it('should export a plugin', () => { + assert(plugin instanceof MysqlPlugin); + }); + + it('should have correct moduleName', () => { + assert.strictEqual(plugin.moduleName, 'mysql'); + }); + + describe('#Connection', () => { + it('should intercept connection.query(text: string)', done => { + const span = tracer.startSpan('test span'); + tracer.withSpan(span, () => { + const statement = 'SELECT 1+1 as solution'; + const query = connection.query(statement); + let rows = 0; + + query.on('result', row => { + assert.strictEqual(row.solution, 2); + rows += 1; + }); + + query.on('end', () => { + assert.strictEqual(rows, 1); + const spans = memoryExporter.getFinishedSpans(); + assert.strictEqual(spans.length, 1); + assertSpan(spans[0], statement); + done(); + }); + }); + }); + + it('should intercept connection.query(text: string, callback)', done => { + const span = tracer.startSpan('test span'); + tracer.withSpan(span, () => { + const statement = 'SELECT 1+1 as solution'; + connection.query(statement, (err, res) => { + assert.ifError(err); + assert.ok(res); + assert.strictEqual(res[0].solution, 2); + const spans = memoryExporter.getFinishedSpans(); + assert.strictEqual(spans.length, 1); + assertSpan(spans[0], statement); + done(); + }); + }); + }); + + it('should intercept connection.query(text: options, callback)', done => { + const span = tracer.startSpan('test span'); + tracer.withSpan(span, () => { + const statement = 'SELECT 1+? as solution'; + connection.query({ sql: statement, values: [1] }, (err, res) => { + assert.ifError(err); + assert.ok(res); + assert.strictEqual(res[0].solution, 2); + const spans = memoryExporter.getFinishedSpans(); + assert.strictEqual(spans.length, 1); + assertSpan(spans[0], statement, [1]); + done(); + }); + }); + }); + + it('should intercept connection.query(text: options, values: [], callback)', done => { + const span = tracer.startSpan('test span'); + tracer.withSpan(span, () => { + const statement = 'SELECT 1+? as solution'; + // @ts-ignore this is documented https://github.com/mysqljs/mysql#performing-queries + // but does not match the typings + connection.query({ sql: statement }, [1], (err, res) => { + assert.ifError(err); + assert.ok(res); + assert.strictEqual(res[0].solution, 2); + const spans = memoryExporter.getFinishedSpans(); + assert.strictEqual(spans.length, 1); + assertSpan(spans[0], statement, [1]); + done(); + }); + }); + }); + + it('should intercept connection.query(text: string, values: [], callback)', done => { + const span = tracer.startSpan('test span'); + tracer.withSpan(span, () => { + const statement = 'SELECT ? as solution'; + connection.query(statement, [1], (err, res) => { + assert.ifError(err); + assert.ok(res); + assert.strictEqual(res[0].solution, 1); + const spans = memoryExporter.getFinishedSpans(); + assert.strictEqual(spans.length, 1); + assertSpan(spans[0], statement, [1]); + done(); + }); + }); + }); + + it('should intercept connection.query(text: string, value: any, callback)', done => { + const span = tracer.startSpan('test span'); + tracer.withSpan(span, () => { + const statement = 'SELECT ? as solution'; + connection.query(statement, 1, (err, res) => { + assert.ifError(err); + assert.ok(res); + assert.strictEqual(res[0].solution, 1); + const spans = memoryExporter.getFinishedSpans(); + assert.strictEqual(spans.length, 1); + assertSpan(spans[0], statement, [1]); + done(); + }); + }); + }); + + it('should attach error messages to spans', done => { + const span = tracer.startSpan('test span'); + tracer.withSpan(span, () => { + const statement = 'SELECT ? as solution'; + connection.query(statement, (err, res) => { + assert.ok(err); + const spans = memoryExporter.getFinishedSpans(); + assert.strictEqual(spans.length, 1); + assertSpan(spans[0], statement, undefined, err!.message); + done(); + }); + }); + }); + }); + + describe('#Pool', () => { + it('should intercept pool.query(text: string)', done => { + const span = tracer.startSpan('test span'); + tracer.withSpan(span, () => { + const statement = 'SELECT 1+1 as solution'; + const query = pool.query(statement); + let rows = 0; + + query.on('result', row => { + assert.strictEqual(row.solution, 2); + rows += 1; + }); + + query.on('end', () => { + assert.strictEqual(rows, 1); + const spans = memoryExporter.getFinishedSpans(); + assert.strictEqual(spans.length, 1); + assertSpan(spans[0], statement); + done(); + }); + }); + }); + + it('should intercept pool.getConnection().query(text: string)', done => { + const span = tracer.startSpan('test span'); + tracer.withSpan(span, () => { + const statement = 'SELECT 1+1 as solution'; + pool.getConnection((err, conn) => { + const query = conn.query(statement); + let rows = 0; + + query.on('result', row => { + assert.strictEqual(row.solution, 2); + rows += 1; + }); + + query.on('end', () => { + assert.strictEqual(rows, 1); + const spans = memoryExporter.getFinishedSpans(); + assert.strictEqual(spans.length, 1); + assertSpan(spans[0], statement); + done(); + }); + }); + }); + }); + + it('should intercept pool.query(text: string, callback)', done => { + const span = tracer.startSpan('test span'); + tracer.withSpan(span, () => { + const statement = 'SELECT 1+1 as solution'; + pool.query(statement, (err, res) => { + assert.ifError(err); + assert.ok(res); + assert.strictEqual(res[0].solution, 2); + const spans = memoryExporter.getFinishedSpans(); + assert.strictEqual(spans.length, 1); + assertSpan(spans[0], statement); + done(); + }); + }); + }); + + it('should intercept pool.getConnection().query(text: string, callback)', done => { + const span = tracer.startSpan('test span'); + tracer.withSpan(span, () => { + const statement = 'SELECT 1+1 as solution'; + pool.getConnection((err, conn) => { + conn.query(statement, (err, res) => { + assert.ifError(err); + assert.ok(res); + assert.strictEqual(res[0].solution, 2); + const spans = memoryExporter.getFinishedSpans(); + assert.strictEqual(spans.length, 1); + assertSpan(spans[0], statement); + done(); + }); + }); + }); + }); + + it('should intercept pool.query(text: options, callback)', done => { + const span = tracer.startSpan('test span'); + tracer.withSpan(span, () => { + const statement = 'SELECT 1+? as solution'; + pool.query({ sql: statement, values: [1] }, (err, res) => { + assert.ifError(err); + assert.ok(res); + assert.strictEqual(res[0].solution, 2); + const spans = memoryExporter.getFinishedSpans(); + assert.strictEqual(spans.length, 1); + assertSpan(spans[0], statement, [1]); + done(); + }); + }); + }); + + it('should intercept pool.query(text: options, values: [], callback)', done => { + const span = tracer.startSpan('test span'); + tracer.withSpan(span, () => { + const statement = 'SELECT 1+? as solution'; + // @ts-ignore this is documented https://github.com/mysqljs/mysql#performing-queries + // but does not match the typings + pool.query({ sql: statement }, [1], (err, res) => { + assert.ifError(err); + assert.ok(res); + assert.strictEqual(res[0].solution, 2); + const spans = memoryExporter.getFinishedSpans(); + assert.strictEqual(spans.length, 1); + assertSpan(spans[0], statement, [1]); + done(); + }); + }); + }); + + it('should intercept pool.query(text: string, values: [], callback)', done => { + const span = tracer.startSpan('test span'); + tracer.withSpan(span, () => { + const statement = 'SELECT ? as solution'; + pool.query(statement, [1], (err, res) => { + assert.ifError(err); + assert.ok(res); + assert.strictEqual(res[0].solution, 1); + const spans = memoryExporter.getFinishedSpans(); + assert.strictEqual(spans.length, 1); + assertSpan(spans[0], statement, [1]); + done(); + }); + }); + }); + + it('should intercept pool.query(text: string, value: any, callback)', done => { + const span = tracer.startSpan('test span'); + tracer.withSpan(span, () => { + const statement = 'SELECT ? as solution'; + pool.query(statement, 1, (err, res) => { + assert.ifError(err); + assert.ok(res); + assert.strictEqual(res[0].solution, 1); + const spans = memoryExporter.getFinishedSpans(); + assert.strictEqual(spans.length, 1); + assertSpan(spans[0], statement, [1]); + done(); + }); + }); + }); + + it('should attach error messages to spans', done => { + const span = tracer.startSpan('test span'); + tracer.withSpan(span, () => { + const statement = 'SELECT ? as solution'; + pool.query(statement, (err, res) => { + assert.ok(err); + const spans = memoryExporter.getFinishedSpans(); + assert.strictEqual(spans.length, 1); + assertSpan(spans[0], statement, undefined, err!.message); + done(); + }); + }); + }); + }); + + describe('#PoolCluster', () => { + it('should intercept poolClusterConnection.query(text: string)', done => { + poolCluster.getConnection((err, poolClusterConnection) => { + assert.ifError(err); + const span = tracer.startSpan('test span'); + tracer.withSpan(span, () => { + const statement = 'SELECT 1+1 as solution'; + const query = poolClusterConnection.query(statement); + let rows = 0; + + query.on('result', row => { + assert.strictEqual(row.solution, 2); + rows += 1; + }); + + query.on('end', () => { + assert.strictEqual(rows, 1); + const spans = memoryExporter.getFinishedSpans(); + assert.strictEqual(spans.length, 1); + assertSpan(spans[0], statement); + done(); + }); + }); + }); + }); + + it('should intercept poolClusterConnection.query(text: string, callback)', done => { + poolCluster.getConnection((err, poolClusterConnection) => { + assert.ifError(err); + const span = tracer.startSpan('test span'); + tracer.withSpan(span, () => { + const statement = 'SELECT 1+1 as solution'; + poolClusterConnection.query(statement, (err, res) => { + assert.ifError(err); + assert.ok(res); + assert.strictEqual(res[0].solution, 2); + const spans = memoryExporter.getFinishedSpans(); + assert.strictEqual(spans.length, 1); + assertSpan(spans[0], statement); + done(); + }); + }); + }); + }); + + it('should intercept poolClusterConnection.query(text: options, callback)', done => { + poolCluster.getConnection((err, poolClusterConnection) => { + assert.ifError(err); + const span = tracer.startSpan('test span'); + tracer.withSpan(span, () => { + const statement = 'SELECT 1+? as solution'; + poolClusterConnection.query( + { sql: statement, values: [1] }, + (err, res) => { + assert.ifError(err); + assert.ok(res); + assert.strictEqual(res[0].solution, 2); + const spans = memoryExporter.getFinishedSpans(); + assert.strictEqual(spans.length, 1); + assertSpan(spans[0], statement, [1]); + done(); + } + ); + }); + }); + }); + + it('should intercept poolClusterConnection.query(text: options, values: [], callback)', done => { + poolCluster.getConnection((err, poolClusterConnection) => { + assert.ifError(err); + const span = tracer.startSpan('test span'); + tracer.withSpan(span, () => { + const statement = 'SELECT 1+? as solution'; + // @ts-ignore this is documented https://github.com/mysqljs/mysql#performing-queries + // but does not match the typings + poolClusterConnection.query({ sql: statement }, [1], (err, res) => { + assert.ifError(err); + assert.ok(res); + assert.strictEqual(res[0].solution, 2); + const spans = memoryExporter.getFinishedSpans(); + assert.strictEqual(spans.length, 1); + assertSpan(spans[0], statement, [1]); + done(); + }); + }); + }); + }); + + it('should intercept poolClusterConnection.query(text: string, values: [], callback)', done => { + poolCluster.getConnection((err, poolClusterConnection) => { + assert.ifError(err); + const span = tracer.startSpan('test span'); + tracer.withSpan(span, () => { + const statement = 'SELECT ? as solution'; + poolClusterConnection.query(statement, [1], (err, res) => { + assert.ifError(err); + assert.ok(res); + assert.strictEqual(res[0].solution, 1); + const spans = memoryExporter.getFinishedSpans(); + assert.strictEqual(spans.length, 1); + assertSpan(spans[0], statement, [1]); + done(); + }); + }); + }); + }); + + it('should intercept poolClusterConnection.query(text: string, value: any, callback)', done => { + poolCluster.getConnection((err, poolClusterConnection) => { + assert.ifError(err); + const span = tracer.startSpan('test span'); + tracer.withSpan(span, () => { + const statement = 'SELECT ? as solution'; + poolClusterConnection.query(statement, 1, (err, res) => { + assert.ifError(err); + assert.ok(res); + assert.strictEqual(res[0].solution, 1); + const spans = memoryExporter.getFinishedSpans(); + assert.strictEqual(spans.length, 1); + assertSpan(spans[0], statement, [1]); + done(); + }); + }); + }); + }); + + it('should attach error messages to spans', done => { + poolCluster.getConnection((err, poolClusterConnection) => { + assert.ifError(err); + const span = tracer.startSpan('test span'); + tracer.withSpan(span, () => { + const statement = 'SELECT ? as solution'; + poolClusterConnection.query(statement, (err, res) => { + assert.ok(err); + const spans = memoryExporter.getFinishedSpans(); + assert.strictEqual(spans.length, 1); + assertSpan(spans[0], statement, undefined, err!.message); + done(); + }); + }); + }); + }); + + it('should get connection by name', done => { + poolCluster.getConnection('name', (err, poolClusterConnection) => { + assert.ifError(err); + const span = tracer.startSpan('test span'); + tracer.withSpan(span, () => { + const statement = 'SELECT 1 as solution'; + poolClusterConnection.query(statement, (err, res) => { + assert.ifError(err); + const spans = memoryExporter.getFinishedSpans(); + assert.strictEqual(spans.length, 1); + assertSpan(spans[0], statement); + done(); + }); + }); + }); + }); + + it('should get connection by name and selector', done => { + poolCluster.getConnection( + 'name', + 'ORDER', + (err, poolClusterConnection) => { + assert.ifError(err); + const statement = 'SELECT 1 as solution'; + poolClusterConnection.query(statement, (err, res) => { + assert.ifError(err); + const spans = memoryExporter.getFinishedSpans(); + assert.strictEqual(spans.length, 1); + assertSpan(spans[0], statement); + done(); + }); + } + ); + }); + }); +}); + +function assertSpan( + span: ReadableSpan, + statement: string, + values?: any, + errorMessage?: string +) { + assert.equal(span.attributes[AttributeNames.COMPONENT], 'mysql'); + assert.equal(span.attributes[AttributeNames.DB_TYPE], 'sql'); + assert.equal(span.attributes[AttributeNames.DB_INSTANCE], database); + assert.equal(span.attributes[AttributeNames.PEER_PORT], port); + assert.equal(span.attributes[AttributeNames.PEER_HOSTNAME], host); + assert.equal(span.attributes[AttributeNames.DB_USER], user); + assert.strictEqual(span.attributes[AttributeNames.DB_STATEMENT], statement); + if (values) { + assert.deepStrictEqual( + span.attributes[AttributeNames.MYSQL_VALUES], + values + ); + } + if (errorMessage) { + assert.equal(span.status.message, errorMessage); + assert.equal(span.status.code, CanonicalCode.UNKNOWN); + } +} diff --git a/packages/opentelemetry-plugin-mysql/test/testUtils.ts b/packages/opentelemetry-plugin-mysql/test/testUtils.ts new file mode 100644 index 00000000000..a569ff57d12 --- /dev/null +++ b/packages/opentelemetry-plugin-mysql/test/testUtils.ts @@ -0,0 +1,55 @@ +/*! + * Copyright 2019, OpenTelemetry Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import * as childProcess from 'child_process'; +export function startDocker() { + const tasks = [ + run( + 'docker run --rm -d -e MYSQL_ROOT_PASSWORD=rootpw -e MYSQL_DATABASE=test_db -e MYSQL_USER=otel -e MYSQL_PASSWORD=secret -p 33306:3306 --name otmysql circleci/mysql:5.7' + ), + ]; + + for (let i = 0; i < tasks.length; i++) { + const task = tasks[i]; + if (task && task.code !== 0) { + console.error('Failed to start container!'); + console.error(task.output); + return false; + } + } + return true; +} + +export function cleanUpDocker() { + run('docker stop otmysql'); +} + +function run(cmd: string) { + try { + const proc = childProcess.spawnSync(cmd, { + shell: true, + }); + return { + code: proc.status, + output: proc.output + .map(v => String.fromCharCode.apply(null, v as any)) + .join(''), + }; + } catch (e) { + console.log(e); + return; + } +} diff --git a/packages/opentelemetry-plugin-mysql/tsconfig.json b/packages/opentelemetry-plugin-mysql/tsconfig.json new file mode 100644 index 00000000000..a2042cd68b1 --- /dev/null +++ b/packages/opentelemetry-plugin-mysql/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../tsconfig.base", + "compilerOptions": { + "rootDir": ".", + "outDir": "build" + }, + "include": [ + "src/**/*.ts", + "test/**/*.ts" + ] +} diff --git a/packages/opentelemetry-plugin-mysql/tslint.json b/packages/opentelemetry-plugin-mysql/tslint.json new file mode 100644 index 00000000000..0710b135d07 --- /dev/null +++ b/packages/opentelemetry-plugin-mysql/tslint.json @@ -0,0 +1,4 @@ +{ + "rulesDirectory": ["node_modules/tslint-microsoft-contrib"], + "extends": ["../../tslint.base.js", "./node_modules/tslint-consistent-codestyle"] +}