From d7773a27d516cf1fd54a612bd533eccee20d57b8 Mon Sep 17 00:00:00 2001 From: Sudhanshu Pandey <sp6370@nyu.edu> Date: Wed, 27 Nov 2024 12:24:11 -0500 Subject: [PATCH 1/6] chore: Update the express example (#2532) Signed-off-by: Sudhanshu Pandey <sp6370@nyu.edu> Co-authored-by: Trent Mick <trentm@gmail.com> --- examples/express/README.md | 46 +++++++++++------------------ examples/express/images/zipkin.jpg | Bin 104833 -> 0 bytes examples/express/package.json | 26 +++++++--------- examples/express/src/tracer.ts | 20 +++++-------- 4 files changed, 37 insertions(+), 55 deletions(-) delete mode 100644 examples/express/images/zipkin.jpg diff --git a/examples/express/README.md b/examples/express/README.md index 5794a5077e..d0251ba8fa 100644 --- a/examples/express/README.md +++ b/examples/express/README.md @@ -1,6 +1,6 @@ # Overview -OpenTelemetry Express 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. +OpenTelemetry Express Instrumentation allows the user to automatically collect trace data and export them to the backend of choice (we use Jaeger for this example), to give observability to distributed systems. This is a simple example that demonstrates tracing calls made to Express API. The example shows key aspects of tracing such as @@ -17,44 +17,34 @@ shows key aspects of tracing such as 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 -npm run zipkin:server +Start Jaeger in Docker for receiving tracing data (see [the Jaeger docs](https://www.jaegertracing.io/docs/2.0/getting-started/#in-docker) for more details about running Jaeger): + +```bash +docker run --rm --name jaeger \ + -p 5778:5778 \ + -p 16686:16686 \ + -p 4317:4317 \ + -p 4318:4318 \ + -p 14250:14250 \ + -p 14268:14268 \ + -p 9411:9411 \ + jaegertracing/jaeger:2.0.0 \ + --set receivers.otlp.protocols.http.endpoint=0.0.0.0:4318 \ + --set receivers.otlp.protocols.grpc.endpoint=0.0.0.0:4317 ``` -Then run the client in a separate terminal: - -```sh -npm run zipkin:client -``` - -After a short time, the generated traces should be available in the Zipkin UI. -Visit <http://localhost:9411/zipkin> and click the "RUN QUERY" button to view -recent traces, then click "SHOW" on a given trace. - -<p align="center"><img alt="Zipkin UI with trace" src="./images/zipkin.jpg?raw=true"/></p> - -### Jaeger +## Run the Application Run the server: ```sh -npm run jaeger:server +npm run server ``` Then run the client in a separate terminal: ```sh -npm run jaeger:client +npm run client ``` Visit the Jaeger UI at <http://localhost:16686/search>, select a service (e.g. "example-express-client"), click "Find Traces", then click on a trace to view it. diff --git a/examples/express/images/zipkin.jpg b/examples/express/images/zipkin.jpg deleted file mode 100644 index 5b13e03c7897d3192c56b02b4f496ed9de21fb30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104833 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 diff --git a/examples/express/package.json b/examples/express/package.json index ab47e5bb3a..b5b3049f0a 100644 --- a/examples/express/package.json +++ b/examples/express/package.json @@ -4,10 +4,8 @@ "version": "0.1.0", "description": "Example of Express integration with OpenTelemetry", "scripts": { - "zipkin:server": "cross-env EXPORTER=zipkin ts-node src/server.ts", - "zipkin:client": "cross-env EXPORTER=zipkin ts-node src/client.ts", - "jaeger:server": "cross-env EXPORTER=jaeger ts-node src/server.ts", - "jaeger:client": "cross-env EXPORTER=jaeger ts-node src/client.ts", + "server": "ts-node src/server.ts", + "client": "ts-node src/client.ts", "compile": "tsc -p ." }, "repository": { @@ -30,23 +28,21 @@ }, "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/examples/express#readme", "dependencies": { - "@opentelemetry/api": "^1.3.0", - "@opentelemetry/exporter-jaeger": "^1.18.1", - "@opentelemetry/exporter-trace-otlp-proto": "^0.48.0", - "@opentelemetry/exporter-zipkin": "^1.18.1", - "@opentelemetry/instrumentation": "^0.48.0", - "@opentelemetry/instrumentation-express": "^0.34.1", - "@opentelemetry/instrumentation-http": "^0.48.0", - "@opentelemetry/resources": "^1.18.1", - "@opentelemetry/sdk-trace-base": "^1.18.1", - "@opentelemetry/sdk-trace-node": "^1.18.1", + "@opentelemetry/api": "^1.9.0", + "@opentelemetry/exporter-trace-otlp-proto": "^0.54.2", + "@opentelemetry/instrumentation": "^0.54.2", + "@opentelemetry/instrumentation-express": "^0.44.0", + "@opentelemetry/instrumentation-http": "^0.54.2", + "@opentelemetry/resources": "^1.27.0", + "@opentelemetry/sdk-trace-base": "^1.27.0", + "@opentelemetry/sdk-trace-node": "^1.27.0", "@opentelemetry/semantic-conventions": "^1.27.0", "axios": "^1.6.0", - "cross-env": "^7.0.3", "express": "^4.17.1" }, "devDependencies": { "@types/express": "^4.17.13", + "@types/node": "18.18.14", "ts-node": "^10.6.0", "typescript": "4.4.4" } diff --git a/examples/express/src/tracer.ts b/examples/express/src/tracer.ts index 4ad569644f..a5eaf1c7d1 100644 --- a/examples/express/src/tracer.ts +++ b/examples/express/src/tracer.ts @@ -2,7 +2,7 @@ import { SpanKind, Attributes } from "@opentelemetry/api"; -const opentelemetry = require('@opentelemetry/api'); +import opentelemetry = require('@opentelemetry/api'); // Not functionally required but gives some insight what happens behind the scenes const { diag, DiagConsoleLogger, DiagLogLevel } = opentelemetry; @@ -12,18 +12,16 @@ import { registerInstrumentations } from '@opentelemetry/instrumentation'; import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node'; import { Sampler, AlwaysOnSampler, SimpleSpanProcessor } from '@opentelemetry/sdk-trace-base'; import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-proto'; -import { ZipkinExporter } from '@opentelemetry/exporter-zipkin'; import { Resource } from '@opentelemetry/resources'; -import { SEMRESATTRS_SERVICE_NAME, SEMATTRS_HTTP_ROUTE } from '@opentelemetry/semantic-conventions'; +import { ATTR_SERVICE_NAME, ATTR_HTTP_ROUTE } from '@opentelemetry/semantic-conventions'; -const Exporter = (process.env.EXPORTER || '').toLowerCase().startsWith('z') ? ZipkinExporter : OTLPTraceExporter; import { ExpressInstrumentation } from '@opentelemetry/instrumentation-express'; -const { HttpInstrumentation } = require('@opentelemetry/instrumentation-http'); +import {HttpInstrumentation} from '@opentelemetry/instrumentation-http'; export const setupTracing = (serviceName: string) => { const provider = new NodeTracerProvider({ resource: new Resource({ - [SEMRESATTRS_SERVICE_NAME]: serviceName, + [ATTR_SERVICE_NAME]: serviceName, }), sampler: filterSampler(ignoreHealthCheck, new AlwaysOnSampler()), }); @@ -31,14 +29,12 @@ export const setupTracing = (serviceName: string) => { tracerProvider: provider, instrumentations: [ // Express instrumentation expects HTTP layer to be instrumented - HttpInstrumentation, - ExpressInstrumentation, + new HttpInstrumentation(), + new ExpressInstrumentation(), ], }); - const exporter = new Exporter({ - serviceName, - }); + const exporter = new OTLPTraceExporter({}); provider.addSpanProcessor(new SimpleSpanProcessor(exporter)); @@ -65,5 +61,5 @@ function filterSampler(filterFn: FilterFunction, parent: Sampler): Sampler { } function ignoreHealthCheck(spanName: string, spanKind: SpanKind, attributes: Attributes) { - return spanKind !== opentelemetry.SpanKind.SERVER || attributes[SEMATTRS_HTTP_ROUTE] !== "/health"; + return spanKind !== opentelemetry.SpanKind.SERVER || attributes[ATTR_HTTP_ROUTE] !== "/health"; } From 4aba20169579fd24340ba6357e4ebee451a18d1a Mon Sep 17 00:00:00 2001 From: Trent Mick <trentm@gmail.com> Date: Wed, 27 Nov 2024 13:16:36 -0800 Subject: [PATCH 2/6] refactor(examples/express): small refactor of imports (#2562) --- examples/express/src/tracer.ts | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/examples/express/src/tracer.ts b/examples/express/src/tracer.ts index a5eaf1c7d1..b86e92b712 100644 --- a/examples/express/src/tracer.ts +++ b/examples/express/src/tracer.ts @@ -1,22 +1,14 @@ 'use strict'; -import { SpanKind, Attributes } from "@opentelemetry/api"; - -import opentelemetry = require('@opentelemetry/api'); - -// Not functionally required but gives some insight what happens behind the scenes -const { diag, DiagConsoleLogger, DiagLogLevel } = opentelemetry; -diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.INFO); - +import { trace, SamplingDecision, SpanKind, Attributes } from '@opentelemetry/api'; import { registerInstrumentations } from '@opentelemetry/instrumentation'; import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node'; import { Sampler, AlwaysOnSampler, SimpleSpanProcessor } from '@opentelemetry/sdk-trace-base'; import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-proto'; import { Resource } from '@opentelemetry/resources'; import { ATTR_SERVICE_NAME, ATTR_HTTP_ROUTE } from '@opentelemetry/semantic-conventions'; - import { ExpressInstrumentation } from '@opentelemetry/instrumentation-express'; -import {HttpInstrumentation} from '@opentelemetry/instrumentation-http'; +import { HttpInstrumentation } from '@opentelemetry/instrumentation-http'; export const setupTracing = (serviceName: string) => { const provider = new NodeTracerProvider({ @@ -41,7 +33,7 @@ export const setupTracing = (serviceName: string) => { // Initialize the OpenTelemetry APIs to use the NodeTracerProvider bindings provider.register(); - return opentelemetry.trace.getTracer(serviceName); + return trace.getTracer(serviceName); }; type FilterFunction = (spanName: string, spanKind: SpanKind, attributes: Attributes) => boolean; @@ -50,7 +42,7 @@ function filterSampler(filterFn: FilterFunction, parent: Sampler): Sampler { return { shouldSample(ctx, tid, spanName, spanKind, attr, links) { if (!filterFn(spanName, spanKind, attr)) { - return { decision: opentelemetry.SamplingDecision.NOT_RECORD }; + return { decision: SamplingDecision.NOT_RECORD }; } return parent.shouldSample(ctx, tid, spanName, spanKind, attr, links); }, @@ -61,5 +53,5 @@ function filterSampler(filterFn: FilterFunction, parent: Sampler): Sampler { } function ignoreHealthCheck(spanName: string, spanKind: SpanKind, attributes: Attributes) { - return spanKind !== opentelemetry.SpanKind.SERVER || attributes[ATTR_HTTP_ROUTE] !== "/health"; + return spanKind !== SpanKind.SERVER || attributes[ATTR_HTTP_ROUTE] !== "/health"; } From e7cc441ed41ba2e6a4a851353207ca1907ba5f46 Mon Sep 17 00:00:00 2001 From: Trent Mick <trentm@gmail.com> Date: Wed, 27 Nov 2024 14:20:18 -0800 Subject: [PATCH 3/6] chore(examples/web): modernize the docker compose & collector setup for this example (#2556) --- examples/web/.npmrc | 1 + examples/web/README.md | 14 +++++++++++++- examples/web/docker/collector-config.yaml | 7 ++++--- examples/web/docker/docker-compose.yaml | 5 +---- examples/web/package.json | 4 ++-- 5 files changed, 21 insertions(+), 10 deletions(-) create mode 100644 examples/web/.npmrc diff --git a/examples/web/.npmrc b/examples/web/.npmrc new file mode 100644 index 0000000000..43c97e719a --- /dev/null +++ b/examples/web/.npmrc @@ -0,0 +1 @@ +package-lock=false diff --git a/examples/web/README.md b/examples/web/README.md index b9862d9651..deedf55252 100644 --- a/examples/web/README.md +++ b/examples/web/README.md @@ -9,6 +9,15 @@ This example shows how to use [@opentelemetry/sdk-trace-web][] with different in npm install ``` +## Start a collector and trace viewer + +Optionally, you can use the provided Docker Compose file to start an OpenTelemetry Collector and a Zipkin to view collected traces. +You can skip this step if you have your own collector already setup. + +```sh +npm run docker:start +``` + ## Run the Application ```sh @@ -16,7 +25,10 @@ npm install npm start ``` -By default, the application will run on port `8090`. +- Open the application at <http://localhost:8090>. +- Click around in each of the example sub-paths to create some tracing data. +- Open Zipkin at <http://127.0.0.1:9411/zipkin/> and search for some traces (click "Run Query"). + ## More information diff --git a/examples/web/docker/collector-config.yaml b/examples/web/docker/collector-config.yaml index c4c7b0c49f..ea27d199b7 100644 --- a/examples/web/docker/collector-config.yaml +++ b/examples/web/docker/collector-config.yaml @@ -3,9 +3,10 @@ receivers: protocols: grpc: http: - cors_allowed_origins: - - http://* - - https://* + cors: + allowed_origins: + - http://* + - https://* exporters: zipkin: diff --git a/examples/web/docker/docker-compose.yaml b/examples/web/docker/docker-compose.yaml index 02d6ac7215..71725949aa 100644 --- a/examples/web/docker/docker-compose.yaml +++ b/examples/web/docker/docker-compose.yaml @@ -1,8 +1,6 @@ -version: "3" services: - # Collector collector: - image: otel/opentelemetry-collector:0.38.0 + image: otel/opentelemetry-collector:0.99.0 command: ["--config=/conf/collector-config.yaml"] volumes: - ./collector-config.yaml:/conf/collector-config.yaml @@ -13,7 +11,6 @@ services: depends_on: - zipkin-all-in-one - # Zipkin zipkin-all-in-one: image: openzipkin/zipkin:latest ports: diff --git a/examples/web/package.json b/examples/web/package.json index 107c379fe9..cd10bfd3d0 100644 --- a/examples/web/package.json +++ b/examples/web/package.json @@ -5,8 +5,8 @@ "description": "Example of using web plugins in browser", "main": "index.js", "scripts": { - "docker:start": "cd ./docker && docker-compose down && docker-compose up", - "docker:startd": "cd ./docker && docker-compose down && docker-compose up -d", + "docker:start": "cd ./docker && docker compose down && docker compose up", + "docker:startd": "cd ./docker && docker compose down && docker compose up -d", "start": "webpack-dev-server --progress --color --port 8090 --config ./webpack.config.js --hot --host 0.0.0.0" }, "repository": { From 2f5d1de0c45c36c8b16aab059b048baf6aa11aea Mon Sep 17 00:00:00 2001 From: Trivikram Kamat <16024985+trivikr@users.noreply.github.com> Date: Wed, 27 Nov 2024 14:21:41 -0800 Subject: [PATCH 4/6] chore: replace deprecated substr() with substring() (#2553) --- .../src/instrumentation.ts | 2 +- .../test/cassandra-driver.test.ts | 2 +- .../src/instrumentation.ts | 2 +- plugins/node/opentelemetry-instrumentation-knex/src/utils.ts | 2 +- .../opentelemetry-instrumentation-knex/test/index.test.ts | 2 +- .../src/OTTracePropagator.ts | 4 ++-- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/plugins/node/opentelemetry-instrumentation-cassandra/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-cassandra/src/instrumentation.ts index 3a65a0bd6a..477bbb1126 100644 --- a/plugins/node/opentelemetry-instrumentation-cassandra/src/instrumentation.ts +++ b/plugins/node/opentelemetry-instrumentation-cassandra/src/instrumentation.ts @@ -392,5 +392,5 @@ function wrapPromise<T>( } function truncateQuery(query: unknown, maxQueryLength: number) { - return String(query).substr(0, maxQueryLength); + return String(query).substring(0, maxQueryLength); } diff --git a/plugins/node/opentelemetry-instrumentation-cassandra/test/cassandra-driver.test.ts b/plugins/node/opentelemetry-instrumentation-cassandra/test/cassandra-driver.test.ts index c663ab0abe..00171c8426 100644 --- a/plugins/node/opentelemetry-instrumentation-cassandra/test/cassandra-driver.test.ts +++ b/plugins/node/opentelemetry-instrumentation-cassandra/test/cassandra-driver.test.ts @@ -244,7 +244,7 @@ describe('CassandraDriverInstrumentation', () => { it('truncates long queries', async () => { const query = 'select userid, count from ot.test'; await client.execute(query); - assertSingleSpan('cassandra-driver.execute', query.substr(0, 25)); + assertSingleSpan('cassandra-driver.execute', query.substring(0, 25)); }); }); diff --git a/plugins/node/opentelemetry-instrumentation-fastify/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-fastify/src/instrumentation.ts index 08df2aa533..72d8b8c9b7 100644 --- a/plugins/node/opentelemetry-instrumentation-fastify/src/instrumentation.ts +++ b/plugins/node/opentelemetry-instrumentation-fastify/src/instrumentation.ts @@ -251,7 +251,7 @@ export class FastifyInstrumentation extends InstrumentationBase<FastifyInstrumen anyRequest.routeOptions?.handler || anyRequest.context?.handler; const handlerName = handler?.name.startsWith('bound ') - ? handler.name.substr(6) + ? handler.name.substring(6) : handler?.name; const spanName = `${FastifyNames.REQUEST_HANDLER} - ${ handlerName || this.pluginName || ANONYMOUS_NAME diff --git a/plugins/node/opentelemetry-instrumentation-knex/src/utils.ts b/plugins/node/opentelemetry-instrumentation-knex/src/utils.ts index da640ceae3..45cb3975c8 100644 --- a/plugins/node/opentelemetry-instrumentation-knex/src/utils.ts +++ b/plugins/node/opentelemetry-instrumentation-knex/src/utils.ts @@ -79,7 +79,7 @@ export const limitLength = (str: string, maxLength: number) => { 0 < maxLength && maxLength < str.length ) { - return str.substr(0, maxLength) + '..'; + return str.substring(0, maxLength) + '..'; } return str; }; diff --git a/plugins/node/opentelemetry-instrumentation-knex/test/index.test.ts b/plugins/node/opentelemetry-instrumentation-knex/test/index.test.ts index e84dcbc398..aa00a3a9f2 100644 --- a/plugins/node/opentelemetry-instrumentation-knex/test/index.test.ts +++ b/plugins/node/opentelemetry-instrumentation-knex/test/index.test.ts @@ -150,7 +150,7 @@ describe('Knex instrumentation', () => { const [span] = memoryExporter.getFinishedSpans(); const limitedStatement = span?.attributes?.['db.statement'] as string; assert.strictEqual(limitedStatement.length, 52); - assert.ok(statement.startsWith(limitedStatement.substr(0, 50))); + assert.ok(statement.startsWith(limitedStatement.substring(0, 50))); }); it('should catch errors', async () => { diff --git a/propagators/opentelemetry-propagator-ot-trace/src/OTTracePropagator.ts b/propagators/opentelemetry-propagator-ot-trace/src/OTTracePropagator.ts index 9ca68f3d50..362c2bddba 100644 --- a/propagators/opentelemetry-propagator-ot-trace/src/OTTracePropagator.ts +++ b/propagators/opentelemetry-propagator-ot-trace/src/OTTracePropagator.ts @@ -67,7 +67,7 @@ export class OTTracePropagator implements TextMapPropagator { const spanContext = trace.getSpan(context)?.spanContext(); if (!spanContext || !isSpanContextValid(spanContext)) return; - setter.set(carrier, OT_TRACE_ID_HEADER, spanContext.traceId.substr(16)); + setter.set(carrier, OT_TRACE_ID_HEADER, spanContext.traceId.substring(16)); setter.set(carrier, OT_SPAN_ID_HEADER, spanContext.spanId); setter.set( carrier, @@ -110,7 +110,7 @@ export class OTTracePropagator implements TextMapPropagator { getter.keys(carrier).forEach(k => { if (!k.startsWith(OT_BAGGAGE_PREFIX)) return; const value = readHeader(carrier, getter, k); - baggage = baggage.setEntry(k.substr(OT_BAGGAGE_PREFIX.length), { + baggage = baggage.setEntry(k.substring(OT_BAGGAGE_PREFIX.length), { value, }); }); From 0fc1ed316f097817af1ac00a3d2820adc834f7c9 Mon Sep 17 00:00:00 2001 From: David VanLaningham <64915094+dsvanlani@users.noreply.github.com> Date: Thu, 28 Nov 2024 16:56:40 -0500 Subject: [PATCH 5/6] chore(examples/mongodb): Update mongodb example dependencies (#2531) --- examples/mongodb/package.json | 21 ++++++++-------- examples/mongodb/src/server.ts | 44 ++++++++++++++++++---------------- examples/mongodb/src/tracer.ts | 13 +++++----- 3 files changed, 40 insertions(+), 38 deletions(-) diff --git a/examples/mongodb/package.json b/examples/mongodb/package.json index fac44e38b9..03d745eeba 100644 --- a/examples/mongodb/package.json +++ b/examples/mongodb/package.json @@ -30,21 +30,20 @@ "url": "https://github.com/open-telemetry/opentelemetry-js-contrib/issues" }, "dependencies": { - "@opentelemetry/api": "^1.0.0", - "@opentelemetry/exporter-jaeger": "^1.0.0", - "@opentelemetry/exporter-zipkin": "^1.0.0", - "@opentelemetry/instrumentation": "^0.48.0", - "@opentelemetry/instrumentation-http": "^0.48.0", - "@opentelemetry/instrumentation-mongodb": "^0.32.0", - "@opentelemetry/sdk-trace-node": "^1.0.0", - "@opentelemetry/sdk-trace-base": "^1.0.0", + "@opentelemetry/api": "^1.9.0", + "@opentelemetry/exporter-zipkin": "^1.27.0", + "@opentelemetry/instrumentation": "^0.54.2", + "@opentelemetry/instrumentation-http": "^0.54.2", + "@opentelemetry/instrumentation-mongodb": "^0.48.0", + "@opentelemetry/sdk-trace-node": "^1.27.0", + "@opentelemetry/sdk-trace-base": "^1.27.0", "@opentelemetry/semantic-conventions": "^1.27.0", - "mongodb": "^3.6.11" + "mongodb": "^6.10.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib#readme", "devDependencies": { "cross-env": "^7.0.3", - "ts-node": "^10.6.0", - "typescript": "4.4.4" + "ts-node": "^10.9.2", + "typescript": "5.6.3" } } diff --git a/examples/mongodb/src/server.ts b/examples/mongodb/src/server.ts index b308fdc934..aa16cfa1e6 100644 --- a/examples/mongodb/src/server.ts +++ b/examples/mongodb/src/server.ts @@ -2,17 +2,17 @@ import * as api from '@opentelemetry/api'; import { setupTracing } from './tracer'; -setupTracing('example-mongodb-server') +setupTracing('example-mongodb-server'); import { accessDB } from './utils'; import * as http from 'http'; import { IncomingMessage, ServerResponse } from 'http'; import * as mongodb from 'mongodb'; -import {Collection} from "mongodb"; +import { Collection } from 'mongodb'; -const DB_NAME = 'mydb' -const COLLECTION_NAME = 'users' +const DB_NAME = 'mydb'; +const COLLECTION_NAME = 'users'; const URL = `mongodb://localhost:27017/${DB_NAME}`; let db: mongodb.Db; @@ -28,7 +28,6 @@ function startServer(port: number) { throw err; }); - // Creates a server const server = http.createServer(handleRequest); // Starts the server @@ -40,16 +39,20 @@ function startServer(port: number) { /** A function which handles requests and send response. */ function handleRequest(request: IncomingMessage, response: ServerResponse) { const currentSpan = api.trace.getSpan(api.context.active()); - // display traceID in the terminal - const traceId = currentSpan?.spanContext(); - console.log(`traceid: ${traceId}`); - console.log(`Jaeger URL: http://localhost:16686/trace/${traceId}`); - console.log(`Zipkin URL: http://localhost:9411/zipkin/traces/${traceId}`); + if (currentSpan) { + // display traceID in the terminal + const { traceId } = currentSpan?.spanContext(); + console.log(`traceid: ${traceId}`); + console.log(`Jaeger URL: http://localhost:16686/trace/${traceId}`); + console.log(`Zipkin URL: http://localhost:9411/zipkin/traces/${traceId}`); + } else { + console.log('No active span found'); + } try { const body = []; - request.on('error', (err) => console.log(err)); - request.on('data', (chunk) => body.push(chunk)); + request.on('error', err => console.log(err)); + request.on('data', chunk => body.push(chunk)); request.on('end', async () => { if (request.url === '/collection/') { handleCreateCollection(response); @@ -71,12 +74,13 @@ startServer(8080); function handleInsertQuery(response: ServerResponse) { const obj = { name: 'John', age: '20' }; const usersCollection: Collection = db.collection(COLLECTION_NAME); - usersCollection.insertOne(obj) + usersCollection + .insertOne(obj) .then(() => { console.log('1 document inserted'); - // find document to test context propagation using callback - usersCollection.findOne({}, function () { - response.end(); + // find document to test context + usersCollection.findOne({}).then(res => { + console.log(JSON.stringify(res)); }); }) .catch(err => { @@ -87,8 +91,8 @@ function handleInsertQuery(response: ServerResponse) { function handleGetQuery(response: ServerResponse) { const usersCollection: Collection = db.collection(COLLECTION_NAME); - usersCollection. - find({}) + usersCollection + .find({}) .toArray() .then(() => { console.log('1 document served'); @@ -96,7 +100,7 @@ function handleGetQuery(response: ServerResponse) { }) .catch(err => { throw err; - }) + }); } function handleCreateCollection(response: ServerResponse) { @@ -108,7 +112,7 @@ function handleCreateCollection(response: ServerResponse) { .catch(err => { console.log('Error code:', err.code); response.end(err.message); - }); + }); } function handleNotFound(response: ServerResponse) { diff --git a/examples/mongodb/src/tracer.ts b/examples/mongodb/src/tracer.ts index 4e63724503..a9599dec35 100644 --- a/examples/mongodb/src/tracer.ts +++ b/examples/mongodb/src/tracer.ts @@ -1,21 +1,20 @@ -import * as api from "@opentelemetry/api"; +import * as api from '@opentelemetry/api'; import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node'; import { Resource } from '@opentelemetry/resources'; import { SimpleSpanProcessor } from '@opentelemetry/sdk-trace-base'; -import { JaegerExporter } from '@opentelemetry/exporter-jaeger'; +import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http'; import { ZipkinExporter } from '@opentelemetry/exporter-zipkin'; import { registerInstrumentations } from '@opentelemetry/instrumentation'; import { HttpInstrumentation } from '@opentelemetry/instrumentation-http'; import { MongoDBInstrumentation } from '@opentelemetry/instrumentation-mongodb'; -import { SEMRESATTRS_SERVICE_NAME } from '@opentelemetry/semantic-conventions'; - +import { ATTR_SERVICE_NAME } from '@opentelemetry/semantic-conventions'; export const setupTracing = (serviceName: string): api.Tracer => { const provider = new NodeTracerProvider({ resource: new Resource({ - [SEMRESATTRS_SERVICE_NAME]: serviceName - }) + [ATTR_SERVICE_NAME]: serviceName, + }), }); // Initialize the OpenTelemetry APIs to use the NodeTracerProvider bindings @@ -32,7 +31,7 @@ export const setupTracing = (serviceName: string): api.Tracer => { }); provider.addSpanProcessor(new SimpleSpanProcessor(new ZipkinExporter())); - provider.addSpanProcessor(new SimpleSpanProcessor(new JaegerExporter())); + provider.addSpanProcessor(new SimpleSpanProcessor(new OTLPTraceExporter())); return api.trace.getTracer('mongodb-example'); }; From 97ebd4fbc891811dd17c6d2a425911dcc39a3e62 Mon Sep 17 00:00:00 2001 From: Trivikram Kamat <16024985+trivikr@users.noreply.github.com> Date: Sun, 1 Dec 2024 08:51:45 -0800 Subject: [PATCH 6/6] chore(aws-sdk): add @trivikr as component owner (#2557) Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com> --- .github/component_owners.yml | 1 + plugins/node/opentelemetry-instrumentation-aws-sdk/README.md | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/component_owners.yml b/.github/component_owners.yml index d688e6f833..ac8556dbdc 100644 --- a/.github/component_owners.yml +++ b/.github/component_owners.yml @@ -74,6 +74,7 @@ components: plugins/node/opentelemetry-instrumentation-aws-sdk: - blumamir - jj22ee + - trivikr plugins/node/opentelemetry-instrumentation-bunyan: - seemk - trentm diff --git a/plugins/node/opentelemetry-instrumentation-aws-sdk/README.md b/plugins/node/opentelemetry-instrumentation-aws-sdk/README.md index 0538603631..ea51d907d4 100644 --- a/plugins/node/opentelemetry-instrumentation-aws-sdk/README.md +++ b/plugins/node/opentelemetry-instrumentation-aws-sdk/README.md @@ -3,7 +3,7 @@ [![NPM Published Version][npm-img]][npm-url] [![Apache License][license-image]][license-image] -[component owners](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/.github/component_owners.yml): @blumamir @jj22ee +[component owners](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/.github/component_owners.yml): @blumamir @jj22ee @trivikr This module provides automatic instrumentation for the [`aws-sdk` v2](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/) and [`@aws-sdk` v3](https://github.com/aws/aws-sdk-js-v3) modules, which may be loaded using the [`@opentelemetry/sdk-trace-node`](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-sdk-trace-node) package and is included in the [`@opentelemetry/auto-instrumentations-node`](https://www.npmjs.com/package/@opentelemetry/auto-instrumentations-node) bundle.