From c448c3163ab12fc673bf9cf61e662ccd326bfbd3 Mon Sep 17 00:00:00 2001 From: Bartlomiej Obecny Date: Fri, 23 Jul 2021 22:33:31 +0200 Subject: [PATCH 1/9] chore: adding instrumentation for connect --- examples/connect/README.md | 56 +++++ examples/connect/client.js | 31 +++ examples/connect/docker/collector-config.yaml | 28 +++ examples/connect/docker/docker-compose.yaml | 21 ++ examples/connect/images/trace1.png | Bin 0 -> 326102 bytes examples/connect/package.json | 56 +++++ examples/connect/server.js | 35 +++ examples/connect/tracing.js | 52 +++++ .../.eslintignore | 2 + .../.eslintrc.js | 7 + .../.npmignore | 4 + .../LICENSE | 201 ++++++++++++++++ .../README.md | 70 ++++++ .../package.json | 68 ++++++ .../src/enums/AttributeNames.ts | 30 +++ .../src/index.ts | 19 ++ .../src/instrumentation.ts | 174 ++++++++++++++ .../src/types.ts | 22 ++ .../src/version.ts | 18 ++ .../test/instrumentation.test.ts | 219 ++++++++++++++++++ .../tsconfig.json | 11 + 21 files changed, 1124 insertions(+) create mode 100644 examples/connect/README.md create mode 100644 examples/connect/client.js create mode 100644 examples/connect/docker/collector-config.yaml create mode 100644 examples/connect/docker/docker-compose.yaml create mode 100644 examples/connect/images/trace1.png create mode 100644 examples/connect/package.json create mode 100644 examples/connect/server.js create mode 100644 examples/connect/tracing.js create mode 100644 plugins/node/opentelemetry-instrumentation-connect/.eslintignore create mode 100644 plugins/node/opentelemetry-instrumentation-connect/.eslintrc.js create mode 100644 plugins/node/opentelemetry-instrumentation-connect/.npmignore create mode 100644 plugins/node/opentelemetry-instrumentation-connect/LICENSE create mode 100644 plugins/node/opentelemetry-instrumentation-connect/README.md create mode 100644 plugins/node/opentelemetry-instrumentation-connect/package.json create mode 100644 plugins/node/opentelemetry-instrumentation-connect/src/enums/AttributeNames.ts create mode 100644 plugins/node/opentelemetry-instrumentation-connect/src/index.ts create mode 100644 plugins/node/opentelemetry-instrumentation-connect/src/instrumentation.ts create mode 100644 plugins/node/opentelemetry-instrumentation-connect/src/types.ts create mode 100644 plugins/node/opentelemetry-instrumentation-connect/src/version.ts create mode 100644 plugins/node/opentelemetry-instrumentation-connect/test/instrumentation.test.ts create mode 100644 plugins/node/opentelemetry-instrumentation-connect/tsconfig.json diff --git a/examples/connect/README.md b/examples/connect/README.md new file mode 100644 index 0000000000..290dc0e16c --- /dev/null +++ b/examples/connect/README.md @@ -0,0 +1,56 @@ +# Overview + +OpenTelemetry Connect Instrumentation allows the user to automatically collect trace data and export them to the backend of choice (Collector Exporter), to give observability to distributed systems. + +This is a simple example that demonstrates tracing calls made to Connect API. The example shows key aspects of tracing such as +- Root Span (on Client) +- Child Span (on Client) +- Span Events +- Span Attributes + +## Installation + +```sh +$ # from this directory +$ npm install +``` + +## Run the Application + +### Collector - docker container + + - Run docker container with collector + + ```sh + # from this directory + $ npm run docker:start + ``` + +### Server + + - Run the server + + ```sh + # from this directory + $ npm run server + ``` + + - Run the client + + ```sh + # from this directory + npm run client + ``` + +#### Zipkin UI +Go to Zipkin with your browser [http://localhost:9411/]() + +

+ +## 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/connect/client.js b/examples/connect/client.js new file mode 100644 index 0000000000..dc34f77e6c --- /dev/null +++ b/examples/connect/client.js @@ -0,0 +1,31 @@ +'use strict'; + +// eslint-disable-next-line import/order +const tracing = require('./tracing')('example-connect-client'); +const tracer = tracing.tracer; +const api = require('@opentelemetry/api'); +const axios = require('axios').default; + +function makeRequest() { + tracing.log('starting'); + const span = tracer.startSpan('client.makeRequest()', { + kind: api.SpanKind.CLIENT, + }); + + api.context.with(api.trace.setSpan(api.ROOT_CONTEXT, span), async () => { + try { + const res = await axios.post('http://localhost:8080/run_test'); + tracing.log('status:', res.statusText); + span.setStatus({ code: api.SpanStatusCode.OK }); + } catch (e) { + tracing.log('failed:', e.message); + span.setStatus({ code: api.SpanStatusCode.ERROR, message: e.message }); + } + span.end(); + tracing.log('forcing spans to be exported'); + await tracing.provider.shutdown(); + tracing.log('all spans exported successfully.'); + }); +} + +makeRequest(); diff --git a/examples/connect/docker/collector-config.yaml b/examples/connect/docker/collector-config.yaml new file mode 100644 index 0000000000..04d65a6ba2 --- /dev/null +++ b/examples/connect/docker/collector-config.yaml @@ -0,0 +1,28 @@ +receivers: + otlp: + protocols: + grpc: + http: + cors_allowed_origins: + - http://* + - https://* + +exporters: + zipkin: + endpoint: "http://zipkin-all-in-one:9411/api/v2/spans" + prometheus: + endpoint: "0.0.0.0:9464" + +processors: + batch: + +service: + pipelines: + traces: + receivers: [otlp] + exporters: [zipkin] + processors: [batch] + metrics: + receivers: [otlp] + exporters: [prometheus] + processors: [batch] diff --git a/examples/connect/docker/docker-compose.yaml b/examples/connect/docker/docker-compose.yaml new file mode 100644 index 0000000000..396ca636ec --- /dev/null +++ b/examples/connect/docker/docker-compose.yaml @@ -0,0 +1,21 @@ +version: "3" +services: + # Collector + collector: + image: otel/opentelemetry-collector:0.30.0 +# image: otel/opentelemetry-collector:latest + command: ["--config=/conf/collector-config.yaml", "--log-level=DEBUG"] + volumes: + - ./collector-config.yaml:/conf/collector-config.yaml + ports: + - "9464:9464" + - "4317:4317" + - "55681:55681" + depends_on: + - zipkin-all-in-one + + # Zipkin + zipkin-all-in-one: + image: openzipkin/zipkin:latest + ports: + - "9411:9411" diff --git a/examples/connect/images/trace1.png b/examples/connect/images/trace1.png new file mode 100644 index 0000000000000000000000000000000000000000..89e5cf7761c0327be0b1c2b586124c05afb26d43 GIT binary patch literal 326102 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%0A&DpmC6NhA)@G{$iienbkd@TP9LMmMp2+;?jP# zKO?i|nXeo?^dTU3&EbjqAd*tb9m6auypvxS>zhl#vV-gtdlYO1pzq*o1$W=rdIZJ? z`Lba8=R_RAtGeZu*gGycK0RD9&PBRj0-9C0D+R<`yX~f%KJbwalBn`{cqS@~>DSIH zKIqqtS|hYg$)zbV#eD#ITCn!**HJ(IP)|g)5~xX7mnvXeKzx;9v^SMg_T>

hSc>}VaH1{M;&Ssdg!8jZ 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�x4PEq{zL%$^&S~g=UA<$2Y`#`P@cUXaKY_ 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

PKST}(nPiHsXk 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 z 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

p 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℘k z-}fgv{QMdikwc-iH9unDb=4v0#bBJ=a7)dC=$AheJZ@prhTg??=4->{9rpD@eA@V>>}h%qbfJ|Lcbmz zN~MVSV#lDqipHsR{`bxo(Z3hg^bec2GUpD(ysvFW#tAx{f^750{r7*tpK~eX74WRR@hue~9sCCT0UwkVHg%%gu7BnWG(}2;VA;J2P z9rz6!9onl#*7N?^)83qOoxF2Lj<3k}`T=&V2WnQQ*$Ip;6I2O*>E`Fcp17P)cWV;2|!;myN4)sg0lpL3bn z4WJM$GERswIB=%^uiawqFY~GXdZnp}rPOsY>b;s`U*H>ojZ~MsGIk*s!)QNS@*qSs zsB7*W{P*p;MZxI%4EVp8A0vPN7wuFya-30Xbf&oN|GJniSGjO_$^xz=kXi8ZczArS`Zk%C`-yp9j+h)&X#Dteoc)~NgaU>7Y6$;TmX8%xRe%`a@ee%^1~m?6|!cfp0e zR7~X-rj36?P~4c?dqYwHQQf-VDZ`EvBclGKkOuyVYPRODzgG-ZKpsmahJb?tJqm}u z(ldv<6IGo%zNSR1;)eY-@$vu8?Fcr&Lq#|O4bB!$xtMX*9ZW0lV$g4G3OXKVi5OUW zFb(OR2ma@Ypj}SyG@9!bE_>{Fd)@Jp%vPf%uhyA6k9_5igbJZN&^9MC{&#}RQl2Y6 zzPuCwaKQ1F&ZYEkcdZS|9b0KKy@IiPq`&QdKQ?ZDhJo6EiK*$1&tk$Xn-Aj0dfywK z?@>c%pCt<;72VwQ{o17W7|YMC_@uS>h?>qz)AE+Qk%C`wSs*p(1mX)hM-r&hI-0Sg tJp0!<&wi`n|Cj^(TDE={P?k$x#v~t-eo&V!fDZn5_O$$|_!HVU{vQE##Bcxr literal 0 HcmV?d00001 diff --git a/examples/connect/package.json b/examples/connect/package.json new file mode 100644 index 0000000000..b8fd33cfda --- /dev/null +++ b/examples/connect/package.json @@ -0,0 +1,56 @@ +{ + "name": "express-connect", + "private": true, + "version": "0.23.0", + "description": "Example of Connect integration with OpenTelemetry", + "main": "index.js", + "scripts": { + "client": "node ./client.js", + "docker:start": "cd ./docker && docker-compose down && docker-compose up", + "docker:stop": "cd ./docker && docker-compose down", + "server": "node ./server.js" + }, + "repository": { + "type": "git", + "url": "git+ssh://git@github.com/open-telemetry/opentelemetry-js.git" + }, + "keywords": [ + "opentelemetry", + "express", + "tracing" + ], + "engines": { + "node": ">=8" + }, + "files": [ + "build/src/**/*.js", + "build/src/**/*.map", + "build/src/**/*.d.ts", + "doc", + "LICENSE", + "README.md" + ], + "author": "OpenTelemetry Authors", + "license": "Apache-2.0", + "bugs": { + "url": "https://github.com/open-telemetry/opentelemetry-js/issues" + }, + "dependencies": { + "@opentelemetry/api": "^1.0.1", + "@opentelemetry/exporter-jaeger": "^0.23.0", + "@opentelemetry/exporter-zipkin": "^0.23.0", + "@opentelemetry/exporter-collector": "^0.23.0", + "@opentelemetry/instrumentation": "^0.23.0", + "@opentelemetry/instrumentation-connect": "^0.23.0", + "@opentelemetry/instrumentation-http": "^0.23.0", + "@opentelemetry/node": "^0.23.0", + "@opentelemetry/resources": "^0.23.0", + "@opentelemetry/semantic-conventions": "^0.23.0", + "@opentelemetry/tracing": "^0.23.0", + "axios": "^0.21.1", + "cross-env": "^7.0.3", + "connect": "^3.7.0" + }, + "homepage": "https://github.com/open-telemetry/opentelemetry-js#readme", + "devDependencies": {} +} diff --git a/examples/connect/server.js b/examples/connect/server.js new file mode 100644 index 0000000000..230e5c5646 --- /dev/null +++ b/examples/connect/server.js @@ -0,0 +1,35 @@ +'use strict'; + +// eslint-disable-next-line +const tracing = require('./tracing')('example-connect-server'); + +// Require in rest of modules +const connect = require('connect'); +const axios = require('axios'); + +// Setup express +const app = connect(); +const PORT = 8080; + +app.use(function middleware1(req, res, next) { + next(); +}); + +app.use((req, res, next) => { + next(); +}); + +app.use('/run_test', async (req, res) => { + const result = await axios.get('https://raw.githubusercontent.com/open-telemetry/opentelemetry-js/main/package.json'); + tracing.log('sending response'); + res.end(`OK ${result.data.version}`); + if (tracing.connectInstrumentation.isEnabled()) { + tracing.log('disabling connect'); + tracing.connectInstrumentation.disable(); + } else { + tracing.log('enabling connect'); + tracing.connectInstrumentation.enable(); + } +}); + +app.listen(PORT); diff --git a/examples/connect/tracing.js b/examples/connect/tracing.js new file mode 100644 index 0000000000..85cb967d4e --- /dev/null +++ b/examples/connect/tracing.js @@ -0,0 +1,52 @@ +'use strict'; + +const opentelemetry = require('@opentelemetry/api'); + +const { diag, DiagConsoleLogger, DiagLogLevel } = opentelemetry; +diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.INFO); + +const { Resource } = require('@opentelemetry/resources'); +const { ResourceAttributes: SemanticResourceAttributes } = require('@opentelemetry/semantic-conventions'); +const { registerInstrumentations } = require('@opentelemetry/instrumentation'); +const { NodeTracerProvider } = require('@opentelemetry/node'); +const { SimpleSpanProcessor } = require('@opentelemetry/tracing'); +const { CollectorTraceExporter } = require('@opentelemetry/exporter-collector'); + +const { ConnectInstrumentation } = require('@opentelemetry/instrumentation-connect'); +const { HttpInstrumentation } = require('@opentelemetry/instrumentation-http'); + +function log() { + const args = Array.from(arguments) || []; + args.unshift(new Date()); + console.log.apply(this, args); +} + +module.exports = (serviceName) => { + const provider = new NodeTracerProvider({ + resource: new Resource({ + [SemanticResourceAttributes.SERVICE_NAME]: serviceName, + }), + }); + const connectInstrumentation = new ConnectInstrumentation(); + registerInstrumentations({ + tracerProvider: provider, + instrumentations: [ + // Connect instrumentation expects HTTP layer to be instrumented + HttpInstrumentation, + connectInstrumentation, + ], + }); + + const exporter = new CollectorTraceExporter(); + + provider.addSpanProcessor(new SimpleSpanProcessor(exporter)); + + // Initialize the OpenTelemetry APIs to use the NodeTracerProvider bindings + provider.register({}); + return { + log, + connectInstrumentation, + provider, + tracer: opentelemetry.trace.getTracer('connect-example'), + } +}; diff --git a/plugins/node/opentelemetry-instrumentation-connect/.eslintignore b/plugins/node/opentelemetry-instrumentation-connect/.eslintignore new file mode 100644 index 0000000000..5498e0f48a --- /dev/null +++ b/plugins/node/opentelemetry-instrumentation-connect/.eslintignore @@ -0,0 +1,2 @@ +build +coverage diff --git a/plugins/node/opentelemetry-instrumentation-connect/.eslintrc.js b/plugins/node/opentelemetry-instrumentation-connect/.eslintrc.js new file mode 100644 index 0000000000..f756f4488b --- /dev/null +++ b/plugins/node/opentelemetry-instrumentation-connect/.eslintrc.js @@ -0,0 +1,7 @@ +module.exports = { + "env": { + "mocha": true, + "node": true + }, + ...require('../../../eslint.config.js') +} diff --git a/plugins/node/opentelemetry-instrumentation-connect/.npmignore b/plugins/node/opentelemetry-instrumentation-connect/.npmignore new file mode 100644 index 0000000000..9505ba9450 --- /dev/null +++ b/plugins/node/opentelemetry-instrumentation-connect/.npmignore @@ -0,0 +1,4 @@ +/bin +/coverage +/doc +/test diff --git a/plugins/node/opentelemetry-instrumentation-connect/LICENSE b/plugins/node/opentelemetry-instrumentation-connect/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/plugins/node/opentelemetry-instrumentation-connect/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/plugins/node/opentelemetry-instrumentation-connect/README.md b/plugins/node/opentelemetry-instrumentation-connect/README.md new file mode 100644 index 0000000000..3a36b1b5b6 --- /dev/null +++ b/plugins/node/opentelemetry-instrumentation-connect/README.md @@ -0,0 +1,70 @@ +# OpenTelemetry Connect Instrumentation for Node.js + +[![NPM Published Version][npm-img]][npm-url] +[![dependencies][dependencies-image]][dependencies-url] +[![devDependencies][devDependencies-image]][devDependencies-url] +[![Apache License][license-image]][license-image] + +This module provides automatic instrumentation for [`connect`](https://github.com/senchalabs/connect). + +For automatic instrumentation see the +[@opentelemetry/node](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-node) package. + +## Installation + +This instrumentation relies on HTTP calls to also be instrumented. Make sure you install and enable both, otherwise you will not see any spans being exported from the instrumentation. + +```bash +npm install --save @opentelemetry/instrumentation-http @opentelemetry/instrumentation-connect +``` + +### Supported Versions + +- `^3.0.0` + +## Usage + +OpenTelemetry Connect Instrumentation allows the user to automatically collect trace data and export them to their backend of choice, to give observability to distributed systems. + +To load the instrumentation, specify it in the Node Tracer's configuration: + +```js +const { NodeTracerProvider } = require('@opentelemetry/node'); +const { registerInstrumentations } = require('@opentelemetry/instrumentation'); +const { HttpInstrumentation } = require('@opentelemetry/instrumentation-http'); +const { ConnectInstrumentation } = require('@opentelemetry/instrumentation-connnect'); + +const provider = new NodeTracerProvider(); +provider.register(); + +registerInstrumentations({ + instrumentations: [ + // Connnect instrumentation expects HTTP layer to be instrumented + new HttpInstrumentation(), + new ConnectInstrumentation(), + ], +}); +``` + +See [examples/connect](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/examples/connect) for a short example. + + +## Useful links + +- For more information on OpenTelemetry, visit: +- For more about OpenTelemetry JavaScript: +- For help or feedback on this project, join us in [GitHub Discussions][discussions-url] + +## License + +Apache 2.0 - See [LICENSE][license-url] for more information. + +[discussions-url]: https://github.com/open-telemetry/opentelemetry-js/discussions +[license-url]: https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/LICENSE +[license-image]: https://img.shields.io/badge/license-Apache_2.0-green.svg?style=flat +[dependencies-image]: https://status.david-dm.org/gh/open-telemetry/opentelemetry-js-contrib.svg?path=plugins%2Fnode%2Fopentelemetry-instrumentation-connect +[dependencies-url]: https://david-dm.org/open-telemetry/opentelemetry-js-contrib?path=plugins%2Fnode%2Fopentelemetry-instrumentation-connect +[devDependencies-image]: https://status.david-dm.org/gh/open-telemetry/opentelemetry-js-contrib.svg?path=plugins%2Fnode%2Fopentelemetry-instrumentation-connect&type=dev +[devDependencies-url]: https://david-dm.org/open-telemetry/opentelemetry-js-contrib?path=plugins%2Fnode%2Fopentelemetry-instrumentation-connect&type=dev +[npm-url]: https://www.npmjs.com/package/@opentelemetry/instrumentation-connect +[npm-img]: https://badge.fury.io/js/%40opentelemetry%2Finstrumentation-connect.svg diff --git a/plugins/node/opentelemetry-instrumentation-connect/package.json b/plugins/node/opentelemetry-instrumentation-connect/package.json new file mode 100644 index 0000000000..76c620d3b4 --- /dev/null +++ b/plugins/node/opentelemetry-instrumentation-connect/package.json @@ -0,0 +1,68 @@ +{ + "name": "@opentelemetry/instrumentation-connect", + "version": "0.23.0", + "description": "OpenTelemetry connect automatic instrumentation package.", + "main": "build/src/index.js", + "types": "build/src/index.d.ts", + "repository": "open-telemetry/opentelemetry-js-contrib", + "scripts": { + "clean": "rimraf build/*", + "codecov": "nyc report --reporter=json && codecov -f coverage/*.json -p ../../", + "compile": "npm run version:update && tsc -p .", + "lint": "eslint . --ext .ts", + "lint:fix": "eslint . --ext .ts --fix", + "precompile": "tsc --version", + "prepare": "npm run compile", + "test": "nyc ts-mocha -p tsconfig.json 'test/**/*.test.ts'", + "version:update": "node ../../../scripts/version-update.js", + "watch": "tsc -w" + }, + "keywords": [ + "opentelemetry", + "connect", + "nodejs", + "tracing", + "profiling", + "instrumentation" + ], + "author": "OpenTelemetry Authors", + "license": "Apache-2.0", + "engines": { + "node": ">=8.5.0" + }, + "files": [ + "build/src/**/*.js", + "build/src/**/*.d.ts", + "doc", + "LICENSE", + "README.md" + ], + "publishConfig": { + "access": "public" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.0.1" + }, + "devDependencies": { + "@opentelemetry/api": "1.0.1", + "@opentelemetry/context-async-hooks": "0.23.0", + "@opentelemetry/node": "0.23.0", + "@opentelemetry/tracing": "0.23.0", + "@types/mocha": "7.0.2", + "@types/node": "14.17.4", + "codecov": "3.8.2", + "connect": "^3.7.0", + "gts": "3.1.0", + "mocha": "7.2.0", + "nyc": "15.1.0", + "rimraf": "3.0.2", + "ts-mocha": "8.0.0", + "typescript": "4.3.5" + }, + "dependencies": { + "@opentelemetry/core": "^0.23.0", + "@opentelemetry/instrumentation": "^0.23.0", + "@opentelemetry/semantic-conventions": "^0.23.0", + "@types/connect": "3.4.35" + } +} diff --git a/plugins/node/opentelemetry-instrumentation-connect/src/enums/AttributeNames.ts b/plugins/node/opentelemetry-instrumentation-connect/src/enums/AttributeNames.ts new file mode 100644 index 0000000000..087717b854 --- /dev/null +++ b/plugins/node/opentelemetry-instrumentation-connect/src/enums/AttributeNames.ts @@ -0,0 +1,30 @@ +/* + * Copyright The 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 { + CONNECT_TYPE = 'connect.type', + CONNECT_NAME = 'connect.name', +} + +export enum ConnectTypes { + MIDDLEWARE = 'middleware', + REQUEST_HANDLER = 'request_handler', +} + +export enum ConnectNames { + MIDDLEWARE = 'middleware', + REQUEST_HANDLER = 'request handler', +} diff --git a/plugins/node/opentelemetry-instrumentation-connect/src/index.ts b/plugins/node/opentelemetry-instrumentation-connect/src/index.ts new file mode 100644 index 0000000000..16b659dde3 --- /dev/null +++ b/plugins/node/opentelemetry-instrumentation-connect/src/index.ts @@ -0,0 +1,19 @@ +/* + * Copyright The 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 './enums/AttributeNames'; +export * from './instrumentation'; +export * from './types'; diff --git a/plugins/node/opentelemetry-instrumentation-connect/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-connect/src/instrumentation.ts new file mode 100644 index 0000000000..6d48b3cfd0 --- /dev/null +++ b/plugins/node/opentelemetry-instrumentation-connect/src/instrumentation.ts @@ -0,0 +1,174 @@ +/* + * Copyright The 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 { context, diag, Span, SpanOptions } from '@opentelemetry/api'; +import { getRPCMetadata, RPCType } from '@opentelemetry/core'; +import type { HandleFunction, NextFunction, Server } from 'connect'; +import type { IncomingMessage, ServerResponse } from 'http'; +import { + AttributeNames, + ConnectNames, + ConnectTypes, +} from './enums/AttributeNames'; +import { Use, UseArgs, UseArgs2 } from './types'; +import { VERSION } from './version'; +import { + InstrumentationBase, + InstrumentationConfig, + InstrumentationNodeModuleDefinition, + isWrapped, +} from '@opentelemetry/instrumentation'; +import { SemanticAttributes } from '@opentelemetry/semantic-conventions'; + +export const ANONYMOUS_NAME = 'anonymous'; + +/** Connect instrumentation for OpenTelemetry */ +export class ConnectInstrumentation extends InstrumentationBase { + ENABLED: boolean = false; + constructor(config: InstrumentationConfig = {}) { + super( + '@opentelemetry/instrumentation-connect', + VERSION, + Object.assign({}, config) + ); + } + + init() { + return [ + new InstrumentationNodeModuleDefinition( + 'connect', + ['^3.0.0'], + (moduleExports, moduleVersion) => { + diag.debug(`Applying patch for connect@${moduleVersion}`); + return this._patchConstructor(moduleExports); + }, + (moduleExports, moduleVersion) => { + diag.debug(`Removing patch for connect@${moduleVersion}`); + } + ), + ]; + } + + private _patchApp(patchedApp: Server) { + if (!isWrapped(patchedApp.use)) { + this._wrap(patchedApp, 'use', this._patchUse.bind(this)); + } + } + + private _patchConstructor(original: () => Server): () => Server { + const instrumentation = this; + return function (this: Server, ...args) { + const app = original.apply(this, args) as Server; + instrumentation._patchApp(app); + return app; + }; + } + + public _patchNext(next: NextFunction, finishSpan: () => void): NextFunction { + return function nextFunction(this: NextFunction, err?: any): void { + const result = next.apply(this, err); + finishSpan(); + return result; + }; + } + + public _startSpan(routeName: string, middleWare: HandleFunction): Span { + let connectType: ConnectTypes; + let connectName: string; + let connectTypeName: string; + if (routeName) { + connectType = ConnectTypes.REQUEST_HANDLER; + connectTypeName = ConnectNames.REQUEST_HANDLER; + connectName = routeName; + } else { + connectType = ConnectTypes.MIDDLEWARE; + connectTypeName = ConnectNames.MIDDLEWARE; + connectName = middleWare.name || ANONYMOUS_NAME; + } + const spanName = `${connectTypeName} - ${connectName}`; + const options: SpanOptions = { + attributes: { + [SemanticAttributes.HTTP_ROUTE]: routeName.length > 0 ? routeName : '/', + [AttributeNames.CONNECT_TYPE]: connectType, + [AttributeNames.CONNECT_NAME]: connectName, + }, + }; + + return this.tracer.startSpan(spanName, options); + } + + public _patchMiddleware( + routeName: string, + middleWare: HandleFunction + ): HandleFunction { + const instrumentation = this; + return function (this: Use): void { + if (!instrumentation.isEnabled()) { + return (middleWare as any).apply(this, arguments); + } + const req = arguments[0] as IncomingMessage; + const res = arguments[1] as ServerResponse; + const next = arguments[2] as NextFunction; + + const rpcMetadata = getRPCMetadata(context.active()); + if (routeName && rpcMetadata?.type === RPCType.HTTP) { + rpcMetadata.span.updateName(`${req.method} ${routeName || '/'}`); + } + let spanName = ''; + if (routeName) { + spanName = `request handler - ${routeName}`; + } else { + spanName = `middleware - ${middleWare.name || ANONYMOUS_NAME}`; + } + const span = instrumentation._startSpan(routeName, middleWare); + instrumentation._diag.debug('start span', spanName); + let spanFinished = false; + + function finishSpan() { + if (!spanFinished) { + spanFinished = true; + instrumentation._diag.debug(`finishing span ${(span as any).name}`); + span.end(); + } else { + instrumentation._diag.debug( + `span ${(span as any).name} - already finished` + ); + } + res.off('close', finishSpan); + } + + res.once('close', finishSpan); + arguments[2] = instrumentation._patchNext(next, finishSpan); + + return (middleWare as any).apply(this, arguments); + }; + } + + public _patchUse(original: Server['use']): Use { + const instrumentation = this; + return function (this: Server, ...args: UseArgs): Server { + const middleWare = args[args.length - 1] as HandleFunction; + const routeName = (args[args.length - 2] || '') as string; + + args[args.length - 1] = instrumentation._patchMiddleware( + routeName, + middleWare + ); + + return original.apply(this, args as UseArgs2); + }; + } +} diff --git a/plugins/node/opentelemetry-instrumentation-connect/src/types.ts b/plugins/node/opentelemetry-instrumentation-connect/src/types.ts new file mode 100644 index 0000000000..15947a401f --- /dev/null +++ b/plugins/node/opentelemetry-instrumentation-connect/src/types.ts @@ -0,0 +1,22 @@ +/* + * Copyright The 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 type { HandleFunction, Server } from 'connect'; + +export type UseArgs1 = [HandleFunction]; +export type UseArgs2 = [string, HandleFunction]; +export type UseArgs = UseArgs1 | UseArgs2; +export type Use = (...args: UseArgs) => Server; diff --git a/plugins/node/opentelemetry-instrumentation-connect/src/version.ts b/plugins/node/opentelemetry-instrumentation-connect/src/version.ts new file mode 100644 index 0000000000..113a67d8b1 --- /dev/null +++ b/plugins/node/opentelemetry-instrumentation-connect/src/version.ts @@ -0,0 +1,18 @@ +/* + * Copyright The 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. + */ + +// this is autogenerated file, see scripts/version-update.js +export const VERSION = '0.23.0'; diff --git a/plugins/node/opentelemetry-instrumentation-connect/test/instrumentation.test.ts b/plugins/node/opentelemetry-instrumentation-connect/test/instrumentation.test.ts new file mode 100644 index 0000000000..77e3ac2a93 --- /dev/null +++ b/plugins/node/opentelemetry-instrumentation-connect/test/instrumentation.test.ts @@ -0,0 +1,219 @@ +/* + * Copyright The 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 assert from 'assert'; + +import { context, trace } from '@opentelemetry/api'; +import { RPCType, setRPCMetadata } from '@opentelemetry/core'; +import { SemanticAttributes } from '@opentelemetry/semantic-conventions'; +import { AsyncHooksContextManager } from '@opentelemetry/context-async-hooks'; +import { NodeTracerProvider } from '@opentelemetry/node'; +import { + InMemorySpanExporter, + SimpleSpanProcessor, +} from '@opentelemetry/tracing'; +import * as http from 'http'; +import { createServer } from 'net'; +import { ANONYMOUS_NAME, ConnectInstrumentation } from '../src'; + +const server = createServer(); +const httpRequest = { + get: (options: http.ClientRequestArgs | string) => { + return new Promise((resolve, reject) => { + return http.get(options, resp => { + let data = ''; + resp.on('data', chunk => { + data += chunk; + }); + resp.on('end', () => { + resolve(data); + }); + resp.on('error', err => { + reject(err); + }); + }); + }); + }, +}; + +const getNextPort = (port: number, count = 0) => { + if (count > 10) { + return Promise.reject('too many retries'); + } + return new Promise((resolve, reject) => { + const timer = setTimeout(() => { + getNextPort(++port, ++count).then(resolve, reject); + }, 30); + + server.once('error', (err: any) => { + clearTimeout(timer); + if (err.code === 'EADDRINUSE') { + // port is currently in use + getNextPort(++port, ++count).then(resolve, reject); + } else { + reject(err); + } + }); + + server.once('listening', () => { + clearTimeout(timer); + server.close(); + resolve(port); + }); + server.listen(port); + }); +}; + +const instrumentation = new ConnectInstrumentation(); +const contextManager = new AsyncHooksContextManager().enable(); +const memoryExporter = new InMemorySpanExporter(); +const provider = new NodeTracerProvider(); +const spanProcessor = new SimpleSpanProcessor(memoryExporter); +instrumentation.setTracerProvider(provider); +context.setGlobalContextManager(contextManager); + +const tracer = provider.getTracer('default'); + +provider.addSpanProcessor(spanProcessor); +instrumentation.enable(); + +import * as connect from 'connect'; + +describe('connect', () => { + let PORT: number; + let app: connect.Server; + let server: http.Server; + + before(async () => { + PORT = (await getNextPort(9000)) as number; + }); + + beforeEach(() => { + instrumentation.enable(); + app = connect(); + server = app.listen(PORT); + }); + + afterEach(() => { + app.removeAllListeners(); + server.close(); + contextManager.disable(); + contextManager.enable(); + memoryExporter.reset(); + instrumentation.disable(); + }); + + describe('when connect is disabled', () => { + it('should not generate any spans', async () => { + instrumentation.disable(); + app.use((req, res, next) => { + next(); + }); + + await httpRequest.get(`http://localhost:${PORT}/`); + + const spans = memoryExporter.getFinishedSpans(); + assert.strictEqual(spans.length, 0); + }); + }); + describe('when connect is enabled', () => { + it('should generate span for anonymous middleware', async () => { + app.use((req, res, next) => { + next(); + }); + + await httpRequest.get(`http://localhost:${PORT}/`); + + const spans = memoryExporter.getFinishedSpans(); + assert.strictEqual(spans.length, 1); + const span = spans[0]; + assert.deepStrictEqual(span.attributes, { + 'connect.type': 'middleware', + 'connect.name': ANONYMOUS_NAME, + [SemanticAttributes.HTTP_ROUTE]: '/', + }); + assert.strictEqual(span.name, 'middleware - anonymous'); + }); + + it('should generate span for named middleware', async () => { + // eslint-disable-next-line prefer-arrow-callback + app.use(function middleware1(req, res, next) { + next(); + }); + + await httpRequest.get(`http://localhost:${PORT}/`); + + const spans = memoryExporter.getFinishedSpans(); + assert.strictEqual(spans.length, 1); + const span = spans[0]; + assert.deepStrictEqual(span.attributes, { + 'connect.type': 'middleware', + 'connect.name': 'middleware1', + [SemanticAttributes.HTTP_ROUTE]: '/', + }); + assert.strictEqual(span.name, 'middleware - middleware1'); + }); + + it('should generate span for route', async () => { + app.use('/foo', (req, res, next) => { + next(); + }); + + await httpRequest.get(`http://localhost:${PORT}/foo`); + + const spans = memoryExporter.getFinishedSpans(); + assert.strictEqual(spans.length, 1); + const span = spans[0]; + assert.deepStrictEqual(span.attributes, { + 'connect.type': 'request_handler', + 'connect.name': '/foo', + [SemanticAttributes.HTTP_ROUTE]: '/foo', + }); + assert.strictEqual(span.name, 'request handler - /foo'); + }); + + it('should change name for parent http route', async () => { + const rootSpan = tracer.startSpan('root span'); + app.use((req, res, next) => { + const rpcMetadata = { type: RPCType.HTTP, span: rootSpan }; + return context.with( + setRPCMetadata( + trace.setSpan(context.active(), rootSpan), + rpcMetadata + ), + next + ); + }); + + app.use('/foo', (req, res, next) => { + next(); + }); + + await httpRequest.get(`http://localhost:${PORT}/foo`); + rootSpan.end(); + + const spans = memoryExporter.getFinishedSpans(); + assert.strictEqual(spans.length, 3); + const changedRootSpan = spans[2]; + const span = spans[0]; + assert.strictEqual(changedRootSpan.name, 'GET /foo'); + assert.strictEqual(span.name, 'request handler - /foo'); + assert.strictEqual( + span.parentSpanId, + changedRootSpan.spanContext().spanId + ); + }); + }); +}); diff --git a/plugins/node/opentelemetry-instrumentation-connect/tsconfig.json b/plugins/node/opentelemetry-instrumentation-connect/tsconfig.json new file mode 100644 index 0000000000..28be80d266 --- /dev/null +++ b/plugins/node/opentelemetry-instrumentation-connect/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../../../tsconfig.base", + "compilerOptions": { + "rootDir": ".", + "outDir": "build" + }, + "include": [ + "src/**/*.ts", + "test/**/*.ts" + ] +} From aae7b7ae767e70ec572972ddc415ba1da5d11e76 Mon Sep 17 00:00:00 2001 From: Bartlomiej Obecny Date: Tue, 27 Jul 2021 21:36:24 +0200 Subject: [PATCH 2/9] chore: fixing usage of emitter in node 8 --- .../src/instrumentation.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/node/opentelemetry-instrumentation-connect/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-connect/src/instrumentation.ts index 6d48b3cfd0..1f9aa4cba4 100644 --- a/plugins/node/opentelemetry-instrumentation-connect/src/instrumentation.ts +++ b/plugins/node/opentelemetry-instrumentation-connect/src/instrumentation.ts @@ -147,10 +147,10 @@ export class ConnectInstrumentation extends InstrumentationBase { `span ${(span as any).name} - already finished` ); } - res.off('close', finishSpan); + res.removeListener('close', finishSpan); } - res.once('close', finishSpan); + res.addListener('close', finishSpan); arguments[2] = instrumentation._patchNext(next, finishSpan); return (middleWare as any).apply(this, arguments); From f364c149b4c98b7ee0008609a30fdc58e366c711 Mon Sep 17 00:00:00 2001 From: Bartlomiej Obecny Date: Tue, 27 Jul 2021 21:45:24 +0200 Subject: [PATCH 3/9] chore: addressing reviews --- examples/connect/server.js | 5 ++++- plugins/node/opentelemetry-instrumentation-connect/README.md | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/examples/connect/server.js b/examples/connect/server.js index 230e5c5646..a92bb092f6 100644 --- a/examples/connect/server.js +++ b/examples/connect/server.js @@ -7,7 +7,7 @@ const tracing = require('./tracing')('example-connect-server'); const connect = require('connect'); const axios = require('axios'); -// Setup express +// Setup connect const app = connect(); const PORT = 8080; @@ -23,6 +23,8 @@ app.use('/run_test', async (req, res) => { const result = await axios.get('https://raw.githubusercontent.com/open-telemetry/opentelemetry-js/main/package.json'); tracing.log('sending response'); res.end(`OK ${result.data.version}`); + + // toggle enabling disabling for easier observing whether the spans are exported or not if (tracing.connectInstrumentation.isEnabled()) { tracing.log('disabling connect'); tracing.connectInstrumentation.disable(); @@ -30,6 +32,7 @@ app.use('/run_test', async (req, res) => { tracing.log('enabling connect'); tracing.connectInstrumentation.enable(); } + }); app.listen(PORT); diff --git a/plugins/node/opentelemetry-instrumentation-connect/README.md b/plugins/node/opentelemetry-instrumentation-connect/README.md index 3a36b1b5b6..40f7ca85aa 100644 --- a/plugins/node/opentelemetry-instrumentation-connect/README.md +++ b/plugins/node/opentelemetry-instrumentation-connect/README.md @@ -12,7 +12,7 @@ For automatic instrumentation see the ## Installation -This instrumentation relies on HTTP calls to also be instrumented. Make sure you install and enable both, otherwise you will not see any spans being exported from the instrumentation. +This instrumentation relies on HTTP calls to also be instrumented. Make sure you install and enable both, otherwise you will have spans that are not connected to each other. ```bash npm install --save @opentelemetry/instrumentation-http @opentelemetry/instrumentation-connect From 7ed2d7b98c91d9faa3966a6674a4a1edc128381b Mon Sep 17 00:00:00 2001 From: Bartlomiej Obecny Date: Tue, 27 Jul 2021 22:18:39 +0200 Subject: [PATCH 4/9] chore: typo --- plugins/node/opentelemetry-instrumentation-connect/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/node/opentelemetry-instrumentation-connect/README.md b/plugins/node/opentelemetry-instrumentation-connect/README.md index 40f7ca85aa..d7339fc076 100644 --- a/plugins/node/opentelemetry-instrumentation-connect/README.md +++ b/plugins/node/opentelemetry-instrumentation-connect/README.md @@ -39,7 +39,7 @@ provider.register(); registerInstrumentations({ instrumentations: [ - // Connnect instrumentation expects HTTP layer to be instrumented + // Connect instrumentation expects HTTP layer to be instrumented new HttpInstrumentation(), new ConnectInstrumentation(), ], From d8f019ac27052ff3b610ee8e361422451c0aee6a Mon Sep 17 00:00:00 2001 From: Bartlomiej Obecny Date: Tue, 27 Jul 2021 22:18:59 +0200 Subject: [PATCH 5/9] chore: fixing latest pino failure --- plugins/node/opentelemetry-instrumentation-pino/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/node/opentelemetry-instrumentation-pino/package.json b/plugins/node/opentelemetry-instrumentation-pino/package.json index 86431c3bf7..f3313f0e1f 100644 --- a/plugins/node/opentelemetry-instrumentation-pino/package.json +++ b/plugins/node/opentelemetry-instrumentation-pino/package.json @@ -66,7 +66,7 @@ }, "dependencies": { "@opentelemetry/instrumentation": "^0.23.0", - "@types/pino": "6.3.9", + "@types/pino": "6.3.11", "semver": "^7.3.5" } } From 586a0c61aad572fad562866d40aab9d8792e9259 Mon Sep 17 00:00:00 2001 From: Bartlomiej Obecny Date: Thu, 29 Jul 2021 20:00:50 +0200 Subject: [PATCH 6/9] chore: auto assigning port --- .../test/instrumentation.test.ts | 25 +++++-------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/plugins/node/opentelemetry-instrumentation-connect/test/instrumentation.test.ts b/plugins/node/opentelemetry-instrumentation-connect/test/instrumentation.test.ts index 77e3ac2a93..e2305a444e 100644 --- a/plugins/node/opentelemetry-instrumentation-connect/test/instrumentation.test.ts +++ b/plugins/node/opentelemetry-instrumentation-connect/test/instrumentation.test.ts @@ -25,7 +25,7 @@ import { SimpleSpanProcessor, } from '@opentelemetry/tracing'; import * as http from 'http'; -import { createServer } from 'net'; +import { AddressInfo, createServer } from 'net'; import { ANONYMOUS_NAME, ConnectInstrumentation } from '../src'; const server = createServer(); @@ -48,31 +48,18 @@ const httpRequest = { }, }; -const getNextPort = (port: number, count = 0) => { - if (count > 10) { - return Promise.reject('too many retries'); - } +const getPort = () => { return new Promise((resolve, reject) => { - const timer = setTimeout(() => { - getNextPort(++port, ++count).then(resolve, reject); - }, 30); - server.once('error', (err: any) => { - clearTimeout(timer); - if (err.code === 'EADDRINUSE') { - // port is currently in use - getNextPort(++port, ++count).then(resolve, reject); - } else { - reject(err); - } + reject(err); }); server.once('listening', () => { - clearTimeout(timer); + const port = (server.address() as AddressInfo).port; server.close(); resolve(port); }); - server.listen(port); + server.listen(); }); }; @@ -97,7 +84,7 @@ describe('connect', () => { let server: http.Server; before(async () => { - PORT = (await getNextPort(9000)) as number; + PORT = (await getPort()) as number; }); beforeEach(() => { From 6993c10d3031b8672696e6f73a5c001e9aae15d7 Mon Sep 17 00:00:00 2001 From: Bartlomiej Obecny Date: Thu, 29 Jul 2021 20:16:11 +0200 Subject: [PATCH 7/9] chore: merge branch 'main' into connect --- examples/connect/package.json | 22 +++++++++---------- .../package.json | 14 ++++++------ .../src/version.ts | 2 +- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/examples/connect/package.json b/examples/connect/package.json index b8fd33cfda..cb454afc95 100644 --- a/examples/connect/package.json +++ b/examples/connect/package.json @@ -1,7 +1,7 @@ { "name": "express-connect", "private": true, - "version": "0.23.0", + "version": "0.24.0", "description": "Example of Connect integration with OpenTelemetry", "main": "index.js", "scripts": { @@ -37,16 +37,16 @@ }, "dependencies": { "@opentelemetry/api": "^1.0.1", - "@opentelemetry/exporter-jaeger": "^0.23.0", - "@opentelemetry/exporter-zipkin": "^0.23.0", - "@opentelemetry/exporter-collector": "^0.23.0", - "@opentelemetry/instrumentation": "^0.23.0", - "@opentelemetry/instrumentation-connect": "^0.23.0", - "@opentelemetry/instrumentation-http": "^0.23.0", - "@opentelemetry/node": "^0.23.0", - "@opentelemetry/resources": "^0.23.0", - "@opentelemetry/semantic-conventions": "^0.23.0", - "@opentelemetry/tracing": "^0.23.0", + "@opentelemetry/exporter-jaeger": "^0.24.0", + "@opentelemetry/exporter-zipkin": "^0.24.0", + "@opentelemetry/exporter-collector": "^0.24.0", + "@opentelemetry/instrumentation": "^0.24.0", + "@opentelemetry/instrumentation-connect": "^0.24.0", + "@opentelemetry/instrumentation-http": "^0.24.0", + "@opentelemetry/node": "^0.24.0", + "@opentelemetry/resources": "^0.24.0", + "@opentelemetry/semantic-conventions": "^0.24.0", + "@opentelemetry/tracing": "^0.24.0", "axios": "^0.21.1", "cross-env": "^7.0.3", "connect": "^3.7.0" diff --git a/plugins/node/opentelemetry-instrumentation-connect/package.json b/plugins/node/opentelemetry-instrumentation-connect/package.json index 76c620d3b4..b20b089803 100644 --- a/plugins/node/opentelemetry-instrumentation-connect/package.json +++ b/plugins/node/opentelemetry-instrumentation-connect/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/instrumentation-connect", - "version": "0.23.0", + "version": "0.24.0", "description": "OpenTelemetry connect automatic instrumentation package.", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -45,9 +45,9 @@ }, "devDependencies": { "@opentelemetry/api": "1.0.1", - "@opentelemetry/context-async-hooks": "0.23.0", - "@opentelemetry/node": "0.23.0", - "@opentelemetry/tracing": "0.23.0", + "@opentelemetry/context-async-hooks": "0.24.0", + "@opentelemetry/node": "0.24.0", + "@opentelemetry/tracing": "0.24.0", "@types/mocha": "7.0.2", "@types/node": "14.17.4", "codecov": "3.8.2", @@ -60,9 +60,9 @@ "typescript": "4.3.5" }, "dependencies": { - "@opentelemetry/core": "^0.23.0", - "@opentelemetry/instrumentation": "^0.23.0", - "@opentelemetry/semantic-conventions": "^0.23.0", + "@opentelemetry/core": "^0.24.0", + "@opentelemetry/instrumentation": "^0.24.0", + "@opentelemetry/semantic-conventions": "^0.24.0", "@types/connect": "3.4.35" } } diff --git a/plugins/node/opentelemetry-instrumentation-connect/src/version.ts b/plugins/node/opentelemetry-instrumentation-connect/src/version.ts index 113a67d8b1..2902e7d262 100644 --- a/plugins/node/opentelemetry-instrumentation-connect/src/version.ts +++ b/plugins/node/opentelemetry-instrumentation-connect/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.23.0'; +export const VERSION = '0.24.0'; From 1f5fdf4be1914199065d3d3ae4e1af8467767086 Mon Sep 17 00:00:00 2001 From: Bartlomiej Obecny Date: Thu, 29 Jul 2021 21:47:51 +0200 Subject: [PATCH 8/9] chore: name for example --- examples/connect/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/connect/package.json b/examples/connect/package.json index cb454afc95..0cec76e8ed 100644 --- a/examples/connect/package.json +++ b/examples/connect/package.json @@ -1,5 +1,5 @@ { - "name": "express-connect", + "name": "connect-example", "private": true, "version": "0.24.0", "description": "Example of Connect integration with OpenTelemetry", From f5924dfe5bd414fb10dca7a20274a6504da8c7db Mon Sep 17 00:00:00 2001 From: Bartlomiej Obecny Date: Mon, 9 Aug 2021 21:40:44 +0200 Subject: [PATCH 9/9] cleanup --- .../src/instrumentation.ts | 1 - .../test/instrumentation.test.ts | 35 ++++++------------- 2 files changed, 10 insertions(+), 26 deletions(-) diff --git a/plugins/node/opentelemetry-instrumentation-connect/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-connect/src/instrumentation.ts index 1f9aa4cba4..b22df4fd74 100644 --- a/plugins/node/opentelemetry-instrumentation-connect/src/instrumentation.ts +++ b/plugins/node/opentelemetry-instrumentation-connect/src/instrumentation.ts @@ -37,7 +37,6 @@ export const ANONYMOUS_NAME = 'anonymous'; /** Connect instrumentation for OpenTelemetry */ export class ConnectInstrumentation extends InstrumentationBase { - ENABLED: boolean = false; constructor(config: InstrumentationConfig = {}) { super( '@opentelemetry/instrumentation-connect', diff --git a/plugins/node/opentelemetry-instrumentation-connect/test/instrumentation.test.ts b/plugins/node/opentelemetry-instrumentation-connect/test/instrumentation.test.ts index e2305a444e..32cb8ff30f 100644 --- a/plugins/node/opentelemetry-instrumentation-connect/test/instrumentation.test.ts +++ b/plugins/node/opentelemetry-instrumentation-connect/test/instrumentation.test.ts @@ -25,10 +25,9 @@ import { SimpleSpanProcessor, } from '@opentelemetry/tracing'; import * as http from 'http'; -import { AddressInfo, createServer } from 'net'; +import type { AddressInfo } from 'net'; import { ANONYMOUS_NAME, ConnectInstrumentation } from '../src'; -const server = createServer(); const httpRequest = { get: (options: http.ClientRequestArgs | string) => { return new Promise((resolve, reject) => { @@ -48,21 +47,6 @@ const httpRequest = { }, }; -const getPort = () => { - return new Promise((resolve, reject) => { - server.once('error', (err: any) => { - reject(err); - }); - - server.once('listening', () => { - const port = (server.address() as AddressInfo).port; - server.close(); - resolve(port); - }); - server.listen(); - }); -}; - const instrumentation = new ConnectInstrumentation(); const contextManager = new AsyncHooksContextManager().enable(); const memoryExporter = new InMemorySpanExporter(); @@ -83,19 +67,20 @@ describe('connect', () => { let app: connect.Server; let server: http.Server; - before(async () => { - PORT = (await getPort()) as number; - }); - - beforeEach(() => { + beforeEach(async () => { instrumentation.enable(); app = connect(); - server = app.listen(PORT); + await new Promise(resolve => (server = app.listen(0, resolve))); + PORT = (server.address() as AddressInfo).port; }); - afterEach(() => { + afterEach(async () => { app.removeAllListeners(); - server.close(); + await new Promise(resolve => + server.close(() => { + resolve(); + }) + ); contextManager.disable(); contextManager.enable(); memoryExporter.reset();