diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f059f8cb..93cc742c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -181,11 +181,18 @@ jobs: fetch-depth: 1 - uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 18 - name: Install npm dependencies run: npm ci - name: Build run: npm run compile + - name: Generate metadata YAML + run: node scripts/generate-metadata-yaml.js > splunk-otel-js-metadata.yaml + - name: Upload metadata yaml + uses: actions/upload-artifact@v3 + with: + name: splunk-otel-js-metadata.yaml + path: splunk-otel-js-metadata.yaml centos-build-check: runs-on: ubuntu-latest diff --git a/CHANGELOG.md b/CHANGELOG.md index c0b55edb..68dd811e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Change Log - @splunk/otel +## 2.7.0 + +- Upgrade to OpenTelemetry `1.21.0` / `0.48.0`. [#874](https://github.com/signalfx/splunk-otel-js/pull/874) +- GraphQL instrumentation: spans for resolvers are no longer generated. This brings in significant performance improvements for queries hitting lots of resolvers. `SPLUNK_GRAPHQL_RESOLVE_SPANS_ENABLED=true` environment variable can be used to unignore resolve spans. + ## 2.6.1 - Fix potential memory leak when CPU profiling is active. [#858](https://github.com/signalfx/splunk-otel-js/pull/858) diff --git a/docs/advanced-config.md b/docs/advanced-config.md index 8af8521e..d3651a60 100644 --- a/docs/advanced-config.md +++ b/docs/advanced-config.md @@ -1,5 +1,5 @@ -> The official Splunk documentation for this page is [Configure the Splunk Distribution of OTel JS](https://quickdraw.splunk.com/redirect/?product=Observability&version=current&location=nodejs.application.config). -> +> The official Splunk documentation for this page is [Configure the Splunk Distribution of OTel JS](https://quickdraw.splunk.com/redirect/?product=Observability&version=current&location=nodejs.application.config). +> > For instructions on how to contribute to the docs, see [CONTRIBUTING.md](../CONTRIBUTING.md#documentation). # Advanced Configuration @@ -55,15 +55,15 @@ This distribution supports all the configuration options supported by the compon | --------------------------------------------------------------- | ----------------------- | ------- | --- | `OTEL_ATTRIBUTE_COUNT_LIMIT` | | Stable | Maximum allowed span attribute count | `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` | `12000`\* | Stable | Maximum allowed attribute value size -| `OTEL_EXPORTER_OTLP_ENDPOINT`
`endpoint` | `http://localhost:4317` | Stable | The OTLP endpoint to export to. Only OTLP over gRPC is supported. +| `OTEL_EXPORTER_OTLP_ENDPOINT`
`endpoint` | `http://localhost:4317` | Stable | The OTLP endpoint to export to. | `OTEL_LOG_LEVEL` | | Stable | Log level to use in diagnostics logging. **Does not set the logger.** | `OTEL_PROPAGATORS`
`tracing.propagators` | `tracecontext,baggage` | Stable | Comma-delimited list of propagators to use. Valid keys: `baggage`, `tracecontext`, `b3multi`, `b3`. | `OTEL_RESOURCE_ATTRIBUTES` | | Stable | Comma-separated list of resource attributes added to every reported span.
Example`key1=val1,key2=val2`
| `OTEL_SERVICE_NAME`
`serviceName` | `unnamed-node-service` | Stable | The service name of this Node service. | `OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT` | `128` | Stable | Maximum allowed span attribute count | `OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT` | | Stable | Maximum allowed attribute value size. Empty value is treated as infinity -| `OTEL_SPAN_EVENT_COUNT_LIMIT` | `128` | Stable | -| `OTEL_SPAN_LINK_COUNT_LIMIT` | `1000`\* | Stable | +| `OTEL_SPAN_EVENT_COUNT_LIMIT` | `128` | Stable | +| `OTEL_SPAN_LINK_COUNT_LIMIT` | `1000`\* | Stable | | `OTEL_TRACES_EXPORTER`
`tracing.spanExporterFactory` | `otlp` | Stable | Chooses the trace exporters. Shortcut for setting `spanExporterFactory`. Comma-delimited list of exporters. Currently supported values: `otlp`, `console`. | `OTEL_TRACES_SAMPLER` | `parentbased_always_on` | Stable | Sampler to be used for traces. See [Sampling](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk.md#sampling) | `OTEL_TRACES_SAMPLER_ARG` | | Stable | String value to be used as the sampler argument. Only be used if OTEL_TRACES_SAMPLER is set. diff --git a/package-lock.json b/package-lock.json index 1c2b0086..8828e543 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,68 +1,71 @@ { "name": "@splunk/otel", - "version": "2.6.1", + "version": "2.7.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@splunk/otel", - "version": "2.6.1", + "version": "2.7.0", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { - "@grpc/grpc-js": "^1.8.19", - "@grpc/proto-loader": "^0.7.8", + "@grpc/grpc-js": "^1.9.14", + "@grpc/proto-loader": "^0.7.10", "@opentelemetry/api": "^1.3.0", - "@opentelemetry/context-async-hooks": "1.18.1", - "@opentelemetry/core": "1.18.1", - "@opentelemetry/exporter-metrics-otlp-grpc": "0.45.1", - "@opentelemetry/exporter-metrics-otlp-proto": "0.45.1", - "@opentelemetry/exporter-trace-otlp-grpc": "0.45.1", - "@opentelemetry/exporter-trace-otlp-proto": "0.45.1", - "@opentelemetry/instrumentation": "0.45.1", - "@opentelemetry/instrumentation-amqplib": "0.33.4", - "@opentelemetry/instrumentation-aws-sdk": "0.37.1", - "@opentelemetry/instrumentation-bunyan": "0.34.0", - "@opentelemetry/instrumentation-cassandra-driver": "0.34.1", - "@opentelemetry/instrumentation-connect": "0.32.3", - "@opentelemetry/instrumentation-dataloader": "0.5.3", - "@opentelemetry/instrumentation-dns": "0.32.4", - "@opentelemetry/instrumentation-express": "0.34.0", - "@opentelemetry/instrumentation-fastify": "0.32.5", - "@opentelemetry/instrumentation-generic-pool": "0.32.4", - "@opentelemetry/instrumentation-graphql": "0.36.0", - "@opentelemetry/instrumentation-grpc": "0.45.1", - "@opentelemetry/instrumentation-hapi": "0.33.2", - "@opentelemetry/instrumentation-http": "0.45.1", - "@opentelemetry/instrumentation-ioredis": "0.36.0", - "@opentelemetry/instrumentation-knex": "0.32.3", - "@opentelemetry/instrumentation-koa": "0.36.3", - "@opentelemetry/instrumentation-memcached": "0.32.4", - "@opentelemetry/instrumentation-mongodb": "0.38.0", - "@opentelemetry/instrumentation-mongoose": "0.33.4", - "@opentelemetry/instrumentation-mysql": "0.34.4", - "@opentelemetry/instrumentation-mysql2": "0.34.4", - "@opentelemetry/instrumentation-nestjs-core": "0.33.3", - "@opentelemetry/instrumentation-net": "0.32.4", - "@opentelemetry/instrumentation-pg": "0.37.1", - "@opentelemetry/instrumentation-pino": "0.34.4", - "@opentelemetry/instrumentation-redis": "0.35.4", - "@opentelemetry/instrumentation-redis-4": "0.35.5", - "@opentelemetry/instrumentation-restify": "0.34.2", - "@opentelemetry/instrumentation-router": "0.33.3", - "@opentelemetry/instrumentation-tedious": "0.6.4", - "@opentelemetry/instrumentation-winston": "0.33.0", - "@opentelemetry/propagator-b3": "1.18.1", - "@opentelemetry/resources": "1.18.1", - "@opentelemetry/sdk-metrics": "1.18.1", - "@opentelemetry/sdk-trace-base": "1.18.1", - "@opentelemetry/sdk-trace-node": "1.18.1", - "@opentelemetry/semantic-conventions": "1.18.1", + "@opentelemetry/api-logs": "^0.48.0", + "@opentelemetry/context-async-hooks": "1.21.0", + "@opentelemetry/core": "1.21.0", + "@opentelemetry/exporter-logs-otlp-http": "^0.48.0", + "@opentelemetry/exporter-metrics-otlp-grpc": "0.48.0", + "@opentelemetry/exporter-metrics-otlp-proto": "0.48.0", + "@opentelemetry/exporter-trace-otlp-grpc": "0.48.0", + "@opentelemetry/exporter-trace-otlp-proto": "0.48.0", + "@opentelemetry/instrumentation": "0.48.0", + "@opentelemetry/instrumentation-amqplib": "0.34.0", + "@opentelemetry/instrumentation-aws-sdk": "0.38.0", + "@opentelemetry/instrumentation-bunyan": "0.35.0", + "@opentelemetry/instrumentation-cassandra-driver": "0.35.0", + "@opentelemetry/instrumentation-connect": "0.33.0", + "@opentelemetry/instrumentation-dataloader": "0.6.0", + "@opentelemetry/instrumentation-dns": "0.33.0", + "@opentelemetry/instrumentation-express": "0.35.0", + "@opentelemetry/instrumentation-fastify": "0.33.0", + "@opentelemetry/instrumentation-generic-pool": "0.33.0", + "@opentelemetry/instrumentation-graphql": "0.37.0", + "@opentelemetry/instrumentation-grpc": "0.48.0", + "@opentelemetry/instrumentation-hapi": "0.34.0", + "@opentelemetry/instrumentation-http": "0.48.0", + "@opentelemetry/instrumentation-ioredis": "0.37.0", + "@opentelemetry/instrumentation-knex": "0.33.0", + "@opentelemetry/instrumentation-koa": "0.37.0", + "@opentelemetry/instrumentation-memcached": "0.33.0", + "@opentelemetry/instrumentation-mongodb": "0.39.0", + "@opentelemetry/instrumentation-mongoose": "0.35.0", + "@opentelemetry/instrumentation-mysql": "0.35.0", + "@opentelemetry/instrumentation-mysql2": "0.35.0", + "@opentelemetry/instrumentation-nestjs-core": "0.34.0", + "@opentelemetry/instrumentation-net": "0.33.0", + "@opentelemetry/instrumentation-pg": "0.38.0", + "@opentelemetry/instrumentation-pino": "0.35.0", + "@opentelemetry/instrumentation-redis": "0.36.0", + "@opentelemetry/instrumentation-redis-4": "0.36.0", + "@opentelemetry/instrumentation-restify": "0.35.0", + "@opentelemetry/instrumentation-router": "0.34.0", + "@opentelemetry/instrumentation-tedious": "0.7.0", + "@opentelemetry/instrumentation-winston": "0.34.0", + "@opentelemetry/propagator-b3": "1.21.0", + "@opentelemetry/resources": "1.21.0", + "@opentelemetry/sdk-logs": "^0.48.0", + "@opentelemetry/sdk-metrics": "1.21.0", + "@opentelemetry/sdk-trace-base": "1.21.0", + "@opentelemetry/sdk-trace-node": "1.21.0", + "@opentelemetry/semantic-conventions": "1.21.0", "is-promise": "^4.0.0", "nan": "^2.18.0", - "node-gyp-build": "^4.7.1", - "protobufjs": "^7.2.5", - "semver": "^7.5.4" + "node-gyp-build": "^4.8.0", + "protobufjs": "^7.2.6", + "semver": "^7.6.0" }, "devDependencies": { "@commitlint/cli": "^17.4.4", @@ -998,11 +1001,11 @@ } }, "node_modules/@grpc/grpc-js": { - "version": "1.8.19", - "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.8.19.tgz", - "integrity": "sha512-yCkvhtstJvUL3DEQAF5Uq5KoqQL27MTdfxVYvGsGduoGxiJcRCvJ29t5OmLfLhRuRpjAQ1OlhJD/IPOfX+8jNw==", + "version": "1.9.14", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.9.14.tgz", + "integrity": "sha512-nOpuzZ2G3IuMFN+UPPpKrC6NsLmWsTqSsm66IRfnBt1D4pwTqE27lmbpcPM+l2Ua4gE7PfjRHI6uedAy7hoXUw==", "dependencies": { - "@grpc/proto-loader": "^0.7.0", + "@grpc/proto-loader": "^0.7.8", "@types/node": ">=12.12.47" }, "engines": { @@ -1010,13 +1013,12 @@ } }, "node_modules/@grpc/proto-loader": { - "version": "0.7.8", - "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.8.tgz", - "integrity": "sha512-GU12e2c8dmdXb7XUlOgYWZ2o2i+z9/VeACkxTA/zzAe2IjclC5PnVL0lpgjhrqfpDYHzM8B1TF6pqWegMYAzlA==", + "version": "0.7.10", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.10.tgz", + "integrity": "sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ==", "dependencies": { - "@types/long": "^4.0.1", "lodash.camelcase": "^4.3.0", - "long": "^4.0.0", + "long": "^5.0.0", "protobufjs": "^7.2.4", "yargs": "^17.7.2" }, @@ -1027,6 +1029,11 @@ "node": ">=6" } }, + "node_modules/@grpc/proto-loader/node_modules/long": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" + }, "node_modules/@hapi/b64": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/@hapi/b64/-/b64-5.0.0.tgz", @@ -1714,9 +1721,9 @@ } }, "node_modules/@opentelemetry/api-logs": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.45.1.tgz", - "integrity": "sha512-zVGq/k70l+kB/Wuv3O/zhptP2hvDhEbhDu9EtHde1iWZJf3FedeYS/nWVcMBkkyPAjS/JKNk86WN4CBQLGUuOw==", + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.48.0.tgz", + "integrity": "sha512-1/aMiU4Eqo3Zzpfwu51uXssp5pzvHFObk8S9pKAiXb1ne8pvg1qxBQitYL1XUiAMEXFzgjaidYG2V6624DRhhw==", "dependencies": { "@opentelemetry/api": "^1.0.0" }, @@ -1725,9 +1732,9 @@ } }, "node_modules/@opentelemetry/context-async-hooks": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.18.1.tgz", - "integrity": "sha512-HHfJR32NH2x0b69CACCwH8m1dpNALoCTtpgmIWMNkeMGNUeKT48d4AX4xsF4uIRuUoRTbTgtSBRvS+cF97qwCQ==", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.21.0.tgz", + "integrity": "sha512-t0iulGPiMjG/NrSjinPQoIf8ST/o9V0dGOJthfrFporJlNdlKIQPfC7lkrV+5s2dyBThfmSbJlp/4hO1eOcDXA==", "engines": { "node": ">=14" }, @@ -1736,11 +1743,11 @@ } }, "node_modules/@opentelemetry/core": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.18.1.tgz", - "integrity": "sha512-kvnUqezHMhsQvdsnhnqTNfAJs3ox/isB0SVrM1dhVFw7SsB7TstuVa6fgWnN2GdPyilIFLUvvbTZoVRmx6eiRg==", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.21.0.tgz", + "integrity": "sha512-KP+OIweb3wYoP7qTYL/j5IpOlu52uxBv5M4+QhSmmUfLyTgu1OIS71msK3chFo1D6Y61BIH3wMiMYRCxJCQctA==", "dependencies": { - "@opentelemetry/semantic-conventions": "1.18.1" + "@opentelemetry/semantic-conventions": "1.21.0" }, "engines": { "node": ">=14" @@ -1749,18 +1756,36 @@ "@opentelemetry/api": ">=1.0.0 <1.8.0" } }, + "node_modules/@opentelemetry/exporter-logs-otlp-http": { + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-logs-otlp-http/-/exporter-logs-otlp-http-0.48.0.tgz", + "integrity": "sha512-Glxl0ZmyHqykGjcv5T4HMvw4fQVZoiCV0oMolPgXBBnuTuOHS/dEdoGX6hNp4Xqw55YALM/CJocHwkRqBQnPgw==", + "dependencies": { + "@opentelemetry/api-logs": "0.48.0", + "@opentelemetry/core": "1.21.0", + "@opentelemetry/otlp-exporter-base": "0.48.0", + "@opentelemetry/otlp-transformer": "0.48.0", + "@opentelemetry/sdk-logs": "0.48.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.0.0" + } + }, "node_modules/@opentelemetry/exporter-metrics-otlp-grpc": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-metrics-otlp-grpc/-/exporter-metrics-otlp-grpc-0.45.1.tgz", - "integrity": "sha512-omvSxhnYkghnii2MZWIchDh+PW0F3sLQnJ+VOwlcg1We3q/VNU379k7i6E4/aVrNWZPqE4zG7QeS/VsQ3SjBcQ==", + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-metrics-otlp-grpc/-/exporter-metrics-otlp-grpc-0.48.0.tgz", + "integrity": "sha512-DcACDP4keD6hiWI4uMgIo1dFQpxuH9zAwTceB8P8NdZVeOMtP4KyevcwM7FFMZZPd4ha9agsaPFwHk7eCTBcAA==", "dependencies": { "@grpc/grpc-js": "^1.7.1", - "@opentelemetry/core": "1.18.1", - "@opentelemetry/exporter-metrics-otlp-http": "0.45.1", - "@opentelemetry/otlp-grpc-exporter-base": "0.45.1", - "@opentelemetry/otlp-transformer": "0.45.1", - "@opentelemetry/resources": "1.18.1", - "@opentelemetry/sdk-metrics": "1.18.1" + "@opentelemetry/core": "1.21.0", + "@opentelemetry/exporter-metrics-otlp-http": "0.48.0", + "@opentelemetry/otlp-grpc-exporter-base": "0.48.0", + "@opentelemetry/otlp-transformer": "0.48.0", + "@opentelemetry/resources": "1.21.0", + "@opentelemetry/sdk-metrics": "1.21.0" }, "engines": { "node": ">=14" @@ -1770,15 +1795,15 @@ } }, "node_modules/@opentelemetry/exporter-metrics-otlp-http": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-metrics-otlp-http/-/exporter-metrics-otlp-http-0.45.1.tgz", - "integrity": "sha512-DvyXkjHIrnQ9ESj8tDrGFzRtVIGOzZpmi80YZdTlwr6TMQzvg4UgHQcGo6wj7ZGzdwAJ7057OgAcDUd+/O/Erg==", + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-metrics-otlp-http/-/exporter-metrics-otlp-http-0.48.0.tgz", + "integrity": "sha512-lZ0gah/WjPpUBVR2Qml8GHraLznsXEpmIS897vdL2IXCxJzGev7sCb9IwAiq89+MgHkuGUWhTWFB2frKrqX1sA==", "dependencies": { - "@opentelemetry/core": "1.18.1", - "@opentelemetry/otlp-exporter-base": "0.45.1", - "@opentelemetry/otlp-transformer": "0.45.1", - "@opentelemetry/resources": "1.18.1", - "@opentelemetry/sdk-metrics": "1.18.1" + "@opentelemetry/core": "1.21.0", + "@opentelemetry/otlp-exporter-base": "0.48.0", + "@opentelemetry/otlp-transformer": "0.48.0", + "@opentelemetry/resources": "1.21.0", + "@opentelemetry/sdk-metrics": "1.21.0" }, "engines": { "node": ">=14" @@ -1788,17 +1813,17 @@ } }, "node_modules/@opentelemetry/exporter-metrics-otlp-proto": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-metrics-otlp-proto/-/exporter-metrics-otlp-proto-0.45.1.tgz", - "integrity": "sha512-JLB8hwzc1dK/NpvyivgCAK0CKq1Q+71RmMCGWxa09zekateM1wCulf1jnXwSmdB6hrh4E9foRLOWrcjtFH7B8w==", + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-metrics-otlp-proto/-/exporter-metrics-otlp-proto-0.48.0.tgz", + "integrity": "sha512-lWvYUYcviDhKx6/vMnWJJ3PvkgZhm0hWmWwvNqS2KgSlcyDaNHs+6yZGFwnPYvGOL6keIAywfPRzzgVPUOOK2g==", "dependencies": { - "@opentelemetry/core": "1.18.1", - "@opentelemetry/exporter-metrics-otlp-http": "0.45.1", - "@opentelemetry/otlp-exporter-base": "0.45.1", - "@opentelemetry/otlp-proto-exporter-base": "0.45.1", - "@opentelemetry/otlp-transformer": "0.45.1", - "@opentelemetry/resources": "1.18.1", - "@opentelemetry/sdk-metrics": "1.18.1" + "@opentelemetry/core": "1.21.0", + "@opentelemetry/exporter-metrics-otlp-http": "0.48.0", + "@opentelemetry/otlp-exporter-base": "0.48.0", + "@opentelemetry/otlp-proto-exporter-base": "0.48.0", + "@opentelemetry/otlp-transformer": "0.48.0", + "@opentelemetry/resources": "1.21.0", + "@opentelemetry/sdk-metrics": "1.21.0" }, "engines": { "node": ">=14" @@ -1808,16 +1833,16 @@ } }, "node_modules/@opentelemetry/exporter-trace-otlp-grpc": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-grpc/-/exporter-trace-otlp-grpc-0.45.1.tgz", - "integrity": "sha512-c/Wrn6LUqPiRgKhvMydau6kPz4ih6b/uwospiavjXju98ZfVv+KjaIF13cblW+4cQ6ZR3lm7t66umQfXrGBhPQ==", + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-grpc/-/exporter-trace-otlp-grpc-0.48.0.tgz", + "integrity": "sha512-+qRQXUbdRW6aNRT5yWOG3G6My1VxxKeqgUyLkkdIjkT20lvymjiN2RpBfGMtAf/oqnuRknf9snFl9VSIO2gniw==", "dependencies": { "@grpc/grpc-js": "^1.7.1", - "@opentelemetry/core": "1.18.1", - "@opentelemetry/otlp-grpc-exporter-base": "0.45.1", - "@opentelemetry/otlp-transformer": "0.45.1", - "@opentelemetry/resources": "1.18.1", - "@opentelemetry/sdk-trace-base": "1.18.1" + "@opentelemetry/core": "1.21.0", + "@opentelemetry/otlp-grpc-exporter-base": "0.48.0", + "@opentelemetry/otlp-transformer": "0.48.0", + "@opentelemetry/resources": "1.21.0", + "@opentelemetry/sdk-trace-base": "1.21.0" }, "engines": { "node": ">=14" @@ -1827,16 +1852,16 @@ } }, "node_modules/@opentelemetry/exporter-trace-otlp-proto": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-proto/-/exporter-trace-otlp-proto-0.45.1.tgz", - "integrity": "sha512-8QI6QARxNP4y9RUpuQxXjw2HyRNyeuD9CWEhS5ON44Mt+XP7YbOZR3GLx2Ml2JZ8uzB5dd2EGlMgaMuZe36D5Q==", + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-proto/-/exporter-trace-otlp-proto-0.48.0.tgz", + "integrity": "sha512-hVXr/8DYlAKAzQYMsCf3ZsGweS6NTK3IHIEqmLokJZYcvJQBEEazeAdISfrL/utWnapg1Qnpw8u+W6SpxNzmTw==", "dependencies": { - "@opentelemetry/core": "1.18.1", - "@opentelemetry/otlp-exporter-base": "0.45.1", - "@opentelemetry/otlp-proto-exporter-base": "0.45.1", - "@opentelemetry/otlp-transformer": "0.45.1", - "@opentelemetry/resources": "1.18.1", - "@opentelemetry/sdk-trace-base": "1.18.1" + "@opentelemetry/core": "1.21.0", + "@opentelemetry/otlp-exporter-base": "0.48.0", + "@opentelemetry/otlp-proto-exporter-base": "0.48.0", + "@opentelemetry/otlp-transformer": "0.48.0", + "@opentelemetry/resources": "1.21.0", + "@opentelemetry/sdk-trace-base": "1.21.0" }, "engines": { "node": ">=14" @@ -1846,12 +1871,12 @@ } }, "node_modules/@opentelemetry/instrumentation": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.45.1.tgz", - "integrity": "sha512-V1Cr0g8hSg35lpW3G/GYVZurrhHrQZJdmP68WyJ83f1FDn3iru+/Vnlto9kiOSm7PHhW+pZGdb9Fbv+mkQ31CA==", + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.48.0.tgz", + "integrity": "sha512-sjtZQB5PStIdCw5ovVTDGwnmQC+GGYArJNgIcydrDSqUTdYBnMrN9P4pwQZgS3vTGIp+TU1L8vMXGe51NVmIKQ==", "dependencies": { "@types/shimmer": "^1.0.2", - "import-in-the-middle": "1.4.2", + "import-in-the-middle": "1.7.1", "require-in-the-middle": "^7.1.1", "semver": "^7.5.2", "shimmer": "^1.2.1" @@ -1864,12 +1889,12 @@ } }, "node_modules/@opentelemetry/instrumentation-amqplib": { - "version": "0.33.4", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-amqplib/-/instrumentation-amqplib-0.33.4.tgz", - "integrity": "sha512-fL+WrEsIM3cP4VTOsqR8enlT/4VX+OCVF7WALN85bgdFPSRpv2X7ZqsXOdYd358cAp4KO9MiveSkAKwKcTXKLw==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-amqplib/-/instrumentation-amqplib-0.34.0.tgz", + "integrity": "sha512-lVGRkyGnjFJv9O8oO/+uT40nrNj4UO+UN0k8708guy/toVgxsVpv4PtdWJTjbtu89UDk9gUxq62jpHxqrVaNnw==", "dependencies": { "@opentelemetry/core": "^1.8.0", - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0" }, "engines": { @@ -1880,13 +1905,13 @@ } }, "node_modules/@opentelemetry/instrumentation-aws-sdk": { - "version": "0.37.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-aws-sdk/-/instrumentation-aws-sdk-0.37.1.tgz", - "integrity": "sha512-vIvA9LpxLMHx0sraBF+qyiGuiqeeLz2CKQPoV4bAlzd+Zlcwk3Yg/NHHjMvP7aCy1VB6cGS8UkMG5lNM1a1NmQ==", + "version": "0.38.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-aws-sdk/-/instrumentation-aws-sdk-0.38.0.tgz", + "integrity": "sha512-q1R+evR1j8sqd5LG+I8fKqP5TAPJEEOmJTvtEDYCVCdtzukI0ABYN8SHEIgDgYZmGBDM0yvC6jH0GmoEwvYuMw==", "dependencies": { "@opentelemetry/core": "^1.8.0", - "@opentelemetry/instrumentation": "^0.45.1", - "@opentelemetry/propagation-utils": "^0.30.4", + "@opentelemetry/instrumentation": "^0.48.0", + "@opentelemetry/propagation-utils": "^0.30.6", "@opentelemetry/semantic-conventions": "^1.0.0" }, "engines": { @@ -1897,12 +1922,12 @@ } }, "node_modules/@opentelemetry/instrumentation-bunyan": { - "version": "0.34.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-bunyan/-/instrumentation-bunyan-0.34.0.tgz", - "integrity": "sha512-UjuvggGrclyn6avTcMAdqLyrrTV26ufB73vPBPlEmA3a2dtYCS07zW82Kacxi5emZDpmHIk6zQE18DqCb/xfpA==", + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-bunyan/-/instrumentation-bunyan-0.35.0.tgz", + "integrity": "sha512-bQ8OzV7nVTA+oGiTzLjUmRFAbnXi0U/Z4VJCpj+1DRsaAaMT17eRpAOh22LQR0JBnv2vBm8CvIQl4CcAnsB46g==", "dependencies": { - "@opentelemetry/api-logs": "^0.45.1", - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/api-logs": "^0.48.0", + "@opentelemetry/instrumentation": "^0.48.0", "@types/bunyan": "1.8.9" }, "engines": { @@ -1921,11 +1946,11 @@ } }, "node_modules/@opentelemetry/instrumentation-cassandra-driver": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-cassandra-driver/-/instrumentation-cassandra-driver-0.34.1.tgz", - "integrity": "sha512-n2bjMeKctNpXYW/vHURMCOXm56HFgQiD4fyIWioUvLROaPunKDvQpJlCLS88QMQ3f3pz/fp8Bde6gXuciLePxQ==", + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-cassandra-driver/-/instrumentation-cassandra-driver-0.35.0.tgz", + "integrity": "sha512-NlJkEiP37/WQvtSyYe4zxaBcaoweO/2+UtDssldk9NFmFutLHyMT/P5q5fe8i73ylmkPOAZnN8P48oHOhZHM1g==", "dependencies": { - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0" }, "engines": { @@ -1936,12 +1961,12 @@ } }, "node_modules/@opentelemetry/instrumentation-connect": { - "version": "0.32.3", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-connect/-/instrumentation-connect-0.32.3.tgz", - "integrity": "sha512-5BK52mIjNuKgY/RV8h0GLmS4qunXqkCIL7NZ73dJ40pnKMA8jqF5D5A2tFjWkCCQ4BdYfAfyjjiA+uTGoL3ZGg==", + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-connect/-/instrumentation-connect-0.33.0.tgz", + "integrity": "sha512-EAMmUC2/KfeZl4qNgUsiVqT5Jti0jDl4GHi4TpDg41VBEJkRX/0+JcPBWgdFUgEfeiZr0GPVQud4i8jAwJ+ORw==", "dependencies": { "@opentelemetry/core": "^1.8.0", - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0", "@types/connect": "3.4.36" }, @@ -1953,11 +1978,11 @@ } }, "node_modules/@opentelemetry/instrumentation-dataloader": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-dataloader/-/instrumentation-dataloader-0.5.3.tgz", - "integrity": "sha512-tHpLbcjtdiDFLHFfYjmyKjnDYCQLmp6ceflsA9H4BEEwSE2p5ZW512TQl3abzb3EQK2V7+I1gqIuMGHKxmKIlg==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-dataloader/-/instrumentation-dataloader-0.6.0.tgz", + "integrity": "sha512-jkPdn83WV/TcnhQ5bOIoYcJGvMxXyYlCzbqfuB6HsMqf3CqpdgBQYlMuKi6qIfD4QWYt2R992yglNxPLuJ7xeg==", "dependencies": { - "@opentelemetry/instrumentation": "^0.45.1" + "@opentelemetry/instrumentation": "^0.48.0" }, "engines": { "node": ">=14" @@ -1967,11 +1992,11 @@ } }, "node_modules/@opentelemetry/instrumentation-dns": { - "version": "0.32.4", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-dns/-/instrumentation-dns-0.32.4.tgz", - "integrity": "sha512-04DTRKFDEpKgYpCqPGlnpCS0atuRUmAPj35xNGV/H7bZTCA3ZR77NeR3f4tYVfqlnsi3KiM1HzgrhwNBskVIEw==", + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-dns/-/instrumentation-dns-0.33.0.tgz", + "integrity": "sha512-QDJadJOQg9CLqMC79r4T5ugN4C4lb6eJYLmHgnLg3fh1JUGfyjQHtD3T7lH0P8251Mnt5m8zjDDbPKcqK2aGcw==", "dependencies": { - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0", "semver": "^7.5.4" }, @@ -1983,12 +2008,12 @@ } }, "node_modules/@opentelemetry/instrumentation-express": { - "version": "0.34.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-express/-/instrumentation-express-0.34.0.tgz", - "integrity": "sha512-wgMKa9vaCWAsgu/dNZwbRM1/6RusKZ7yWdlPhTzeI9RNE13we+KYIQKA1YFGuTypRMRTixwrJLHdy927y0TjAA==", + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-express/-/instrumentation-express-0.35.0.tgz", + "integrity": "sha512-ZmSB4WMd88sSecOL7DlghzdBl56/8ymb02n+xEJ/6zUgONuw/1uoTh1TAaNPKfEWdNLoLKXQm+Gd2zBrUVOX0w==", "dependencies": { "@opentelemetry/core": "^1.8.0", - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0" }, "engines": { @@ -1999,12 +2024,12 @@ } }, "node_modules/@opentelemetry/instrumentation-fastify": { - "version": "0.32.5", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-fastify/-/instrumentation-fastify-0.32.5.tgz", - "integrity": "sha512-u88jctr2Y04N8ALpO448s6IH5F0RB3XXa8+fJ+SMh0JsDwpX4oJZGjbnXSKZP0Gl9FscWIENasNoedW+R2vaHw==", + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-fastify/-/instrumentation-fastify-0.33.0.tgz", + "integrity": "sha512-sl3q9Mt+yM6GlZJKhfLUIRrVEYqfmI0hqYLha5OFG5rLrgnZCCZVy8ra4+Pa40ecH1409cvwwBPf7k9AHEQBTw==", "dependencies": { "@opentelemetry/core": "^1.8.0", - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0" }, "engines": { @@ -2015,11 +2040,11 @@ } }, "node_modules/@opentelemetry/instrumentation-generic-pool": { - "version": "0.32.4", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-generic-pool/-/instrumentation-generic-pool-0.32.4.tgz", - "integrity": "sha512-NDNzoZ0MCmHeMQRxm1eL0l8fCoHIYFiugu5AZ4wt+S2wbgyh5BCd+ZAqTzSFEJGKGg7KZMfHgVRTiCsj+ljfvA==", + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-generic-pool/-/instrumentation-generic-pool-0.33.0.tgz", + "integrity": "sha512-QMSSOfIqMJhXqFryLVbAMsgRktNHdhMEpsOgEiHurLfvAJhyEOBcTTUuo6Laqt50IIzIm3YuHL9ZtEl9fve2ag==", "dependencies": { - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0" }, "engines": { @@ -2030,11 +2055,11 @@ } }, "node_modules/@opentelemetry/instrumentation-graphql": { - "version": "0.36.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-graphql/-/instrumentation-graphql-0.36.0.tgz", - "integrity": "sha512-H5nezZCV4HUjmPi4o2QlFXGzvldZiJ7hAEldy+37qMmm5PaqLmFW4w084/C+4IdPoxm4gJRtI8vkXJQJqqyktQ==", + "version": "0.37.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-graphql/-/instrumentation-graphql-0.37.0.tgz", + "integrity": "sha512-WL5Qn1aRudJDxVN0Ao73/yzXBGBJAH1Fd2tteuGXku/Qw9hYQ936CgoO66GWmSiq2lyjsojAk1t5f+HF9j3NXw==", "dependencies": { - "@opentelemetry/instrumentation": "^0.45.1" + "@opentelemetry/instrumentation": "^0.48.0" }, "engines": { "node": ">=14" @@ -2044,12 +2069,12 @@ } }, "node_modules/@opentelemetry/instrumentation-grpc": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-grpc/-/instrumentation-grpc-0.45.1.tgz", - "integrity": "sha512-KyssKMi+cMAWc+9buGs7nHjnHm4wQPH99etunFblZCKQlzgPB+s8Q6aIlJ3LCkCaOGAhofpr4IkWh7dMcapJJQ==", + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-grpc/-/instrumentation-grpc-0.48.0.tgz", + "integrity": "sha512-MmJHkbqaulqfECjotRtco9AXOq+D1HLq53wI7UFeE8bl8kISP9iMkt+A7PrtPFpRGCglwFvSa0djId6EWsP0DQ==", "dependencies": { - "@opentelemetry/instrumentation": "0.45.1", - "@opentelemetry/semantic-conventions": "1.18.1" + "@opentelemetry/instrumentation": "0.48.0", + "@opentelemetry/semantic-conventions": "1.21.0" }, "engines": { "node": ">=14" @@ -2059,12 +2084,12 @@ } }, "node_modules/@opentelemetry/instrumentation-hapi": { - "version": "0.33.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-hapi/-/instrumentation-hapi-0.33.2.tgz", - "integrity": "sha512-XSe1/emVguKMEiV+ctva+Z9GI/3scPBwtNFAVcJFpM4ekK0SiIF73uBKmaC0mVnU+TIToPlkOC7nbkEbXq6y1g==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-hapi/-/instrumentation-hapi-0.34.0.tgz", + "integrity": "sha512-qUENVxwCYbRbJ8HBY54ZL1Z9q1guCEurW6tCFFJJKQFu/MKEw7GSFImy5DR2Mp8b5ggZO36lYFcx0QUxfy4GJg==", "dependencies": { "@opentelemetry/core": "^1.8.0", - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0", "@types/hapi__hapi": "20.0.13" }, @@ -2076,13 +2101,13 @@ } }, "node_modules/@opentelemetry/instrumentation-http": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-http/-/instrumentation-http-0.45.1.tgz", - "integrity": "sha512-ph7kv38Lipg/ggvoNJrwc3RCceLnTkVZwRbE5iu6w7fGsMjjc9jwlSmaOXKxUJjIimil2hL1qBm8xg2lmOVwxg==", + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-http/-/instrumentation-http-0.48.0.tgz", + "integrity": "sha512-uXqOsLhW9WC3ZlGm6+PSX0xjSDTCfy4CMjfYj6TPWusOO8dtdx040trOriF24y+sZmS3M+5UQc6/3/ZxBJh4Mw==", "dependencies": { - "@opentelemetry/core": "1.18.1", - "@opentelemetry/instrumentation": "0.45.1", - "@opentelemetry/semantic-conventions": "1.18.1", + "@opentelemetry/core": "1.21.0", + "@opentelemetry/instrumentation": "0.48.0", + "@opentelemetry/semantic-conventions": "1.21.0", "semver": "^7.5.2" }, "engines": { @@ -2093,11 +2118,11 @@ } }, "node_modules/@opentelemetry/instrumentation-ioredis": { - "version": "0.36.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-ioredis/-/instrumentation-ioredis-0.36.0.tgz", - "integrity": "sha512-LmEHE3w8JzPpm2TEPiwjAjOSIPWM6t39TFNXu796IJba35k0ZZG9qQRaxv8CS61EZIT1eH7qgExHwEmPHsOl8Q==", + "version": "0.37.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-ioredis/-/instrumentation-ioredis-0.37.0.tgz", + "integrity": "sha512-xBPfu03IIG8x1pmt1Dx+XrBO4ZB4UjEcrouGbp6eV3dLQ7eJPYZgfNXmsqkpsxgNQuVCi2a3WEAwZ5Wl2hk7Vw==", "dependencies": { - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/redis-common": "^0.36.1", "@opentelemetry/semantic-conventions": "^1.0.0", "@types/ioredis4": "npm:@types/ioredis@^4.28.10" @@ -2110,11 +2135,11 @@ } }, "node_modules/@opentelemetry/instrumentation-knex": { - "version": "0.32.3", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-knex/-/instrumentation-knex-0.32.3.tgz", - "integrity": "sha512-8+JvZ1Gs9pMe6pgQfMVjth52WCUuKUu0L0tx237VAA53HHUtsCNPznBHp2EAlsLGSLLptfPvzXz/Bdp009ja8w==", + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-knex/-/instrumentation-knex-0.33.0.tgz", + "integrity": "sha512-7L3Q8Yy5vY4W4zpRrjKEc0OpVPYyERtDz5dAumKjkJsEVPANr7E8Cc+No6VjZGeN+HgFFwEo+jcQCTWJzdxvRw==", "dependencies": { - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0" }, "engines": { @@ -2125,14 +2150,14 @@ } }, "node_modules/@opentelemetry/instrumentation-koa": { - "version": "0.36.3", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-koa/-/instrumentation-koa-0.36.3.tgz", - "integrity": "sha512-ffn76qSuGUUtEBc8IZ1RHc//Y10ZKHku4QjPlpZY5/BtEd2xMV4iXmMdeJngKFiHrVKCvreyC5ON5hHcaQp32g==", + "version": "0.37.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-koa/-/instrumentation-koa-0.37.0.tgz", + "integrity": "sha512-EfuGv1RJCSZh77dDc3PtvZXGwcsTufn9tU6T9VOTFcxovpyJ6w0og73eD0D02syR8R+kzv6rg1TeS8+lj7pyrQ==", "dependencies": { "@opentelemetry/core": "^1.8.0", - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0", - "@types/koa": "2.13.9", + "@types/koa": "2.14.0", "@types/koa__router": "12.0.3" }, "engines": { @@ -2143,11 +2168,11 @@ } }, "node_modules/@opentelemetry/instrumentation-memcached": { - "version": "0.32.4", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-memcached/-/instrumentation-memcached-0.32.4.tgz", - "integrity": "sha512-q9uswokVrtgKFiVNb3QoTFFulXiHpm6FDOvI/3uO8/TnhhpUh776EuD5kDI0YWZ3J+gkN2Dj82KrmOfqBS5o1A==", + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-memcached/-/instrumentation-memcached-0.33.0.tgz", + "integrity": "sha512-TdGT5ytt8o7FTIsQvx010ykYbqu+IfGoOKA+IXLHdX1+l7vFWyv3ZOzQbRDmA4rxujJAAPf/n4/D7QECyedE/g==", "dependencies": { - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0", "@types/memcached": "^2.2.6" }, @@ -2159,11 +2184,11 @@ } }, "node_modules/@opentelemetry/instrumentation-mongodb": { - "version": "0.38.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mongodb/-/instrumentation-mongodb-0.38.0.tgz", - "integrity": "sha512-nIepSpS3zQsJuDRRjZXMPvnUT7u3xn/+tWKnGB5jIQOstK5O1Nd6pkiPzi1VUmLDBJ1o31N+388mAxSpEqve0g==", + "version": "0.39.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mongodb/-/instrumentation-mongodb-0.39.0.tgz", + "integrity": "sha512-m9dMj39pcCshzlfCEn2lGrlNo7eV5fb9pGBnPyl/Am9Crh7Or8vOqvByCNd26Dgf5J978zTdLGF+6tM8j1WOew==", "dependencies": { - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/sdk-metrics": "^1.9.1", "@opentelemetry/semantic-conventions": "^1.0.0" }, @@ -2175,27 +2200,27 @@ } }, "node_modules/@opentelemetry/instrumentation-mongoose": { - "version": "0.33.4", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mongoose/-/instrumentation-mongoose-0.33.4.tgz", - "integrity": "sha512-qPwurJjzxJVIzvlRmN4KADQ+BeD2KsDcEH7fMRPMZ35R90+0fQO3RFmINaO5zUpmYY1tHsw3zhnQVD23Dq+pfA==", + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mongoose/-/instrumentation-mongoose-0.35.0.tgz", + "integrity": "sha512-gReBMWD2Oa/wBGRWyg6B2dbPHhgkpOqDio31gE3DbC4JaqCsMByyeix75rZSzZ71RQmVh3d4jRLsqUtNVBzcyg==", "dependencies": { "@opentelemetry/core": "^1.8.0", - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0" }, "engines": { - "node": ">=14.0" + "node": ">=14" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "node_modules/@opentelemetry/instrumentation-mysql": { - "version": "0.34.4", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mysql/-/instrumentation-mysql-0.34.4.tgz", - "integrity": "sha512-LWpCGoKuSoHYIzI/SN3unkNkthdFHGyA3vJJWPmtLPxEP9qtCc2gAJUQQ6Q+73YJmHZdXlZSe7sOqGdKx/KyjQ==", + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mysql/-/instrumentation-mysql-0.35.0.tgz", + "integrity": "sha512-QKRHd3aFA2vKOPzIZ9Q3UIxYeNPweB62HGlX2l3shOKrUhrtTg2/BzaKpHQBy2f2nO2mxTF/mOFeVEDeANnhig==", "dependencies": { - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0", "@types/mysql": "2.15.22" }, @@ -2207,11 +2232,11 @@ } }, "node_modules/@opentelemetry/instrumentation-mysql2": { - "version": "0.34.4", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mysql2/-/instrumentation-mysql2-0.34.4.tgz", - "integrity": "sha512-pgf7UUMiQFUbfzj2WkjOdzT8IoffsqlAbIdMobyAc2Ca90fIYrpEeIpurkzDJWsw1x4GaQRXmJuERhccgr5BSg==", + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mysql2/-/instrumentation-mysql2-0.35.0.tgz", + "integrity": "sha512-DI9NXYJBbQ72rjz1KCKerQFQE+Z4xRDoyYek6JpITv5BlhPboA8zKkltxyQLL06Y2RTFYslw1gvg+x9CWlRzJw==", "dependencies": { - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0", "@opentelemetry/sql-common": "^0.40.0" }, @@ -2223,11 +2248,11 @@ } }, "node_modules/@opentelemetry/instrumentation-nestjs-core": { - "version": "0.33.3", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-nestjs-core/-/instrumentation-nestjs-core-0.33.3.tgz", - "integrity": "sha512-B5v8Qi0chpHHgp/BeL5EcxQnnjm6OTYiMlGk6rM5X/xz9AdB60fAIXWerKKrG1QQ8JVcS5O4nhP4NzPC0JLjWw==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-nestjs-core/-/instrumentation-nestjs-core-0.34.0.tgz", + "integrity": "sha512-HvbcCVAMZEIFrJ0Si9AfjxOr14KcH5h/lq5zLQ8AjZJpW0WaeO/ox5UgFi3J73Br91WbZHRgbXxMeodNycJJuA==", "dependencies": { - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0" }, "engines": { @@ -2238,11 +2263,11 @@ } }, "node_modules/@opentelemetry/instrumentation-net": { - "version": "0.32.4", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-net/-/instrumentation-net-0.32.4.tgz", - "integrity": "sha512-sZUELN+pO73Mo2zXOt9pTrmwsVtf/WvOOjh+ItFYth4X5syOcHA192NvoEPLqIgWv0L5Iipm8M2SiWZiWm2X7w==", + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-net/-/instrumentation-net-0.33.0.tgz", + "integrity": "sha512-x6awrqF0YfEhGGNE2JtEWvB+zEls7mFvLDii54DnWxpQU69+AqKCW/ZwC91EDefOMGSYBckL0uEn6XNOgkTTbw==", "dependencies": { - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0" }, "engines": { @@ -2253,12 +2278,11 @@ } }, "node_modules/@opentelemetry/instrumentation-pg": { - "version": "0.37.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-pg/-/instrumentation-pg-0.37.1.tgz", - "integrity": "sha512-yJcTdwsnFqHLFR+uaS2mIvXfHnlzSD2VWgSvka9Y3SSZepcpiEbVs9G897p0XVNpNImo4+CfhOD6Mh5kL6o7Vg==", + "version": "0.38.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-pg/-/instrumentation-pg-0.38.0.tgz", + "integrity": "sha512-Q7V/OJ1OZwaWYNOP/E9S6sfS03Z+PNU1SAjdAoXTj5j4u4iJSMSieLRWXFaHwsbefIOMkYvA00EBKF9IgbgbLA==", "dependencies": { - "@opentelemetry/core": "^1.8.0", - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0", "@opentelemetry/sql-common": "^0.40.0", "@types/pg": "8.6.1", @@ -2272,11 +2296,11 @@ } }, "node_modules/@opentelemetry/instrumentation-pino": { - "version": "0.34.4", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-pino/-/instrumentation-pino-0.34.4.tgz", - "integrity": "sha512-cD4PssCNjOqc0h1vFLqIDYR8ajqwuOZfp3rk5dTyeiroUmfs6wzd4wc/Sfe/pVPsGkx+nRiFdfbpW1+DtZGHAg==", + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-pino/-/instrumentation-pino-0.35.0.tgz", + "integrity": "sha512-gMfJ5Qy793mbaAGnQE3yp1Cb0y4np74rBPu20Oy/v8TTgPQOEV5PyNI0GNGggmZQIJSkdtYa8Ndb3huH3iZE5g==", "dependencies": { - "@opentelemetry/instrumentation": "^0.45.1" + "@opentelemetry/instrumentation": "^0.48.0" }, "engines": { "node": ">=14" @@ -2286,11 +2310,11 @@ } }, "node_modules/@opentelemetry/instrumentation-redis": { - "version": "0.35.4", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-redis/-/instrumentation-redis-0.35.4.tgz", - "integrity": "sha512-MNO/cuHQMeafNu+K8PdrZDGPjWLsQTmyfJzzjasQgm6ELe+/6deNZzsAXkRK4e4sx+FJH7NDnyyqti/dhB4IeQ==", + "version": "0.36.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-redis/-/instrumentation-redis-0.36.0.tgz", + "integrity": "sha512-rKFylIacEBwLxKFrPvxpVi8hHY9qXfQSybYnYNyF/VxUWMGYDPMpbCnTQkiVR5u+tIhwSvhSDG2YQEq6syHUIQ==", "dependencies": { - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/redis-common": "^0.36.1", "@opentelemetry/semantic-conventions": "^1.0.0" }, @@ -2302,11 +2326,11 @@ } }, "node_modules/@opentelemetry/instrumentation-redis-4": { - "version": "0.35.5", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-redis-4/-/instrumentation-redis-4-0.35.5.tgz", - "integrity": "sha512-+CuWyS1QOc/RYGSyLr/3VkXiNVU4rstsJi+b5j1sh4Mzy4sIrOtRQRcl74PXh06vOnSyGTToyQ9n4BKZuHODbQ==", + "version": "0.36.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-redis-4/-/instrumentation-redis-4-0.36.0.tgz", + "integrity": "sha512-XO0EV2TxUsaRdcp79blyLGG5JWWl7NWVd/XNbU8vY7CuYUfRhWiTXYoM4PI+lwkAnUPvPtyiOzYs9px23GnibA==", "dependencies": { - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/redis-common": "^0.36.1", "@opentelemetry/semantic-conventions": "^1.0.0" }, @@ -2318,12 +2342,12 @@ } }, "node_modules/@opentelemetry/instrumentation-restify": { - "version": "0.34.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-restify/-/instrumentation-restify-0.34.2.tgz", - "integrity": "sha512-W9fZJ6hH7PNIhzcKcmFjUgU87vnM1gPa/YTW724lZ9ItHPUol4wAcnv/F88xM+eouuZKLmCaCahZYp0tx7D/Ig==", + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-restify/-/instrumentation-restify-0.35.0.tgz", + "integrity": "sha512-0ghtxsGJxHEwJfIzxDN3FCbNiTXqwv2jV6ip716jyjWN3f6MuRHm7NPWI/KNvu+IjqDj16KRGZG7nUAEB1ojog==", "dependencies": { "@opentelemetry/core": "^1.8.0", - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0" }, "engines": { @@ -2334,11 +2358,11 @@ } }, "node_modules/@opentelemetry/instrumentation-router": { - "version": "0.33.3", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-router/-/instrumentation-router-0.33.3.tgz", - "integrity": "sha512-LbD+9YBx4SKK10WQ06s2iy9/tN9lQmlgneqem46WKi8rX0W2vo1VX5TEM+Bvn7d5lM5uaPDFGosQR++g52BSDQ==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-router/-/instrumentation-router-0.34.0.tgz", + "integrity": "sha512-7LsonkdnQi35eF7CWl8394QDgyd811gCawJ6QuS8GbWNIvZ3S2f9j+Zy0fWSmFgO28ruW1pUG51ql8xdXWa8TA==", "dependencies": { - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0" }, "engines": { @@ -2349,11 +2373,11 @@ } }, "node_modules/@opentelemetry/instrumentation-tedious": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-tedious/-/instrumentation-tedious-0.6.4.tgz", - "integrity": "sha512-bjoagT4AO26QXpv7bE4Vyrwcqxq0ntA2pWCLDHuXRnlt+iWyQm4dS/ExjQR4OuO8aRgeuk/3YC7dSl1rtdO7Kg==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-tedious/-/instrumentation-tedious-0.7.0.tgz", + "integrity": "sha512-o/5my8ZOuxACPSzMaXdPnQiMpmOPIJoTj+DRcs4vEJxk+KwlVNucoafSMpWQEyTNNuq2JI87Ru6Di2mp5T20EQ==", "dependencies": { - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0", "@types/tedious": "^4.0.10" }, @@ -2365,11 +2389,11 @@ } }, "node_modules/@opentelemetry/instrumentation-winston": { - "version": "0.33.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-winston/-/instrumentation-winston-0.33.0.tgz", - "integrity": "sha512-kf4GC6/IVDt+XumUZ54kB3G+1Kc3TfaLY63uZ+9Qi25LBPeBSYJHQugSvxZ9mK/5Uyf9rPxW2FevjblNyaY54w==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-winston/-/instrumentation-winston-0.34.0.tgz", + "integrity": "sha512-Ejssv6Uih7ipoNGYQLXd+cKZdEfTfTJ/vzpUSeYiJZ36mVYER1f8fs9Kb7jTKjHD55g2s6cUJj9lifbDFI4EEw==", "dependencies": { - "@opentelemetry/instrumentation": "^0.45.1" + "@opentelemetry/instrumentation": "^0.48.0" }, "engines": { "node": ">=14" @@ -2379,11 +2403,11 @@ } }, "node_modules/@opentelemetry/otlp-exporter-base": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.45.1.tgz", - "integrity": "sha512-Jvd6x8EwWGKEPWF4tkP4LpTPXiIkkafMNMvMJUfJd5DyNAftL1vAz+48jmi3URL2LMPkGryrvWPz8Tdu917gQw==", + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.48.0.tgz", + "integrity": "sha512-T4LJND+Ugl87GUONoyoQzuV9qCn4BFIPOnCH1biYqdGhc2JahjuLqVD9aefwLzGBW638iLAo88Lh68h2F1FLiA==", "dependencies": { - "@opentelemetry/core": "1.18.1" + "@opentelemetry/core": "1.21.0" }, "engines": { "node": ">=14" @@ -2393,13 +2417,13 @@ } }, "node_modules/@opentelemetry/otlp-grpc-exporter-base": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-grpc-exporter-base/-/otlp-grpc-exporter-base-0.45.1.tgz", - "integrity": "sha512-81X4mlzaAFoQCSXCgvYoMFyTy3mBhf8DD3J8bjW6/PH/rGZPJJkyYW0/YzepMrmBZXqlKZpTOU1aJ8sebVvDvw==", + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-grpc-exporter-base/-/otlp-grpc-exporter-base-0.48.0.tgz", + "integrity": "sha512-Vdp56RK9OU+Oeoy3YQC/UMOWglKQ9qvgGr49FgF4r8vk5DlcTUgVS0m3KG8pykmRPA+5ZKaDuqwPw5aTvWmHFw==", "dependencies": { "@grpc/grpc-js": "^1.7.1", - "@opentelemetry/core": "1.18.1", - "@opentelemetry/otlp-exporter-base": "0.45.1", + "@opentelemetry/core": "1.21.0", + "@opentelemetry/otlp-exporter-base": "0.48.0", "protobufjs": "^7.2.3" }, "engines": { @@ -2410,12 +2434,12 @@ } }, "node_modules/@opentelemetry/otlp-proto-exporter-base": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-proto-exporter-base/-/otlp-proto-exporter-base-0.45.1.tgz", - "integrity": "sha512-jtDkly6EW8TZHpbPpwJV9YT5PgbtL5B2UU8zcyGDiLT1wkIAYjFJZ1AqWmROIpydu8ohMq0dRwe4u0izNMdHpA==", + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-proto-exporter-base/-/otlp-proto-exporter-base-0.48.0.tgz", + "integrity": "sha512-14GSTvPZPfrWsB54fYMGb8v+Uge5xGXyz0r2rf4SzcRnO2hXCPHEuL3yyL50emaKPAY+fj29Dm0bweawe8UA6A==", "dependencies": { - "@opentelemetry/core": "1.18.1", - "@opentelemetry/otlp-exporter-base": "0.45.1", + "@opentelemetry/core": "1.21.0", + "@opentelemetry/otlp-exporter-base": "0.48.0", "protobufjs": "^7.2.3" }, "engines": { @@ -2426,16 +2450,16 @@ } }, "node_modules/@opentelemetry/otlp-transformer": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.45.1.tgz", - "integrity": "sha512-FhIHgfC0b0XtoBrS5ISfva939yWffNl47ypXR8I7Ru+dunlySpmf2TLocKHYLHGcWiuoeSNO5O4dZCmSKOtpXw==", + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.48.0.tgz", + "integrity": "sha512-yuoS4cUumaTK/hhxW3JUy3wl2U4keMo01cFDrUOmjloAdSSXvv1zyQ920IIH4lymp5Xd21Dj2/jq2LOro56TJg==", "dependencies": { - "@opentelemetry/api-logs": "0.45.1", - "@opentelemetry/core": "1.18.1", - "@opentelemetry/resources": "1.18.1", - "@opentelemetry/sdk-logs": "0.45.1", - "@opentelemetry/sdk-metrics": "1.18.1", - "@opentelemetry/sdk-trace-base": "1.18.1" + "@opentelemetry/api-logs": "0.48.0", + "@opentelemetry/core": "1.21.0", + "@opentelemetry/resources": "1.21.0", + "@opentelemetry/sdk-logs": "0.48.0", + "@opentelemetry/sdk-metrics": "1.21.0", + "@opentelemetry/sdk-trace-base": "1.21.0" }, "engines": { "node": ">=14" @@ -2445,9 +2469,9 @@ } }, "node_modules/@opentelemetry/propagation-utils": { - "version": "0.30.4", - "resolved": "https://registry.npmjs.org/@opentelemetry/propagation-utils/-/propagation-utils-0.30.4.tgz", - "integrity": "sha512-drYvwfhdXZ6ax5xnpuEQ/0C0AaCcxXcf47wZFNIK4DZu2RJmGk24XUSGWg5XI9gMKBe5qwXWBh9aSlSLWdA/Ww==", + "version": "0.30.6", + "resolved": "https://registry.npmjs.org/@opentelemetry/propagation-utils/-/propagation-utils-0.30.6.tgz", + "integrity": "sha512-qvnYee5I/xrBY5XClUlOASIOdoTbnFGNI6+ViKqdoErF2xKmhysXcmxlJNzQFNDK0muTfjvJMZcFyEielARk7g==", "engines": { "node": ">=14" }, @@ -2456,11 +2480,11 @@ } }, "node_modules/@opentelemetry/propagator-b3": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-1.18.1.tgz", - "integrity": "sha512-oSTUOsnt31JDx5SoEy27B5jE1/tiPvvE46w7CDKj0R5oZhCCfYH2bbSGa7NOOyDXDNqQDkgqU1DIV/xOd3f8pw==", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-1.21.0.tgz", + "integrity": "sha512-3ZTobj2VDIOzLsIvvYCdpw6tunxUVElPxDvog9lS49YX4hohHeD84A8u9Ns/6UYUcaN5GSoEf891lzhcBFiOLA==", "dependencies": { - "@opentelemetry/core": "1.18.1" + "@opentelemetry/core": "1.21.0" }, "engines": { "node": ">=14" @@ -2470,11 +2494,11 @@ } }, "node_modules/@opentelemetry/propagator-jaeger": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.18.1.tgz", - "integrity": "sha512-Kh4M1Qewv0Tbmts6D8LgNzx99IjdE18LCmY/utMkgVyU7Bg31Yuj+X6ZyoIRKPcD2EV4rVkuRI16WVMRuGbhWA==", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.21.0.tgz", + "integrity": "sha512-8TQSwXjBmaDx7JkxRD7hdmBmRK2RGRgzHX1ArJfJhIc5trzlVweyorzqQrXOvqVEdEg+zxUMHkL5qbGH/HDTPA==", "dependencies": { - "@opentelemetry/core": "1.18.1" + "@opentelemetry/core": "1.21.0" }, "engines": { "node": ">=14" @@ -2492,12 +2516,12 @@ } }, "node_modules/@opentelemetry/resources": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.18.1.tgz", - "integrity": "sha512-JjbcQLYMttXcIabflLRuaw5oof5gToYV9fuXbcsoOeQ0BlbwUn6DAZi++PNsSz2jjPeASfDls10iaO/8BRIPRA==", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.21.0.tgz", + "integrity": "sha512-1Z86FUxPKL6zWVy2LdhueEGl9AHDJcx+bvHStxomruz6Whd02mE3lNUMjVJ+FGRoktx/xYQcxccYb03DiUP6Yw==", "dependencies": { - "@opentelemetry/core": "1.18.1", - "@opentelemetry/semantic-conventions": "1.18.1" + "@opentelemetry/core": "1.21.0", + "@opentelemetry/semantic-conventions": "1.21.0" }, "engines": { "node": ">=14" @@ -2507,12 +2531,12 @@ } }, "node_modules/@opentelemetry/sdk-logs": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.45.1.tgz", - "integrity": "sha512-z0RRgW4LeKEKnhXS4F/HnqB6+7gsy63YK47F4XAJYHs4s1KKg8XnQ2RkbuL31i/a9nXkylttYtvsT50CGr487g==", + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.48.0.tgz", + "integrity": "sha512-lRcA5/qkSJuSh4ItWCddhdn/nNbVvnzM+cm9Fg1xpZUeTeozjJDBcHnmeKoOaWRnrGYBdz6UTY6bynZR9aBeAA==", "dependencies": { - "@opentelemetry/core": "1.18.1", - "@opentelemetry/resources": "1.18.1" + "@opentelemetry/core": "1.21.0", + "@opentelemetry/resources": "1.21.0" }, "engines": { "node": ">=14" @@ -2523,12 +2547,12 @@ } }, "node_modules/@opentelemetry/sdk-metrics": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.18.1.tgz", - "integrity": "sha512-TEFgeNFhdULBYiCoHbz31Y4PDsfjjxRp8Wmdp6ybLQZPqMNEb+dRq+XN8Xw3ivIgTaf9gYsomgV5ensX99RuEQ==", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.21.0.tgz", + "integrity": "sha512-on1jTzIHc5DyWhRP+xpf+zrgrREXcHBH4EDAfaB5mIG7TWpKxNXooQ1JCylaPsswZUv4wGnVTinr4HrBdGARAQ==", "dependencies": { - "@opentelemetry/core": "1.18.1", - "@opentelemetry/resources": "1.18.1", + "@opentelemetry/core": "1.21.0", + "@opentelemetry/resources": "1.21.0", "lodash.merge": "^4.6.2" }, "engines": { @@ -2539,13 +2563,13 @@ } }, "node_modules/@opentelemetry/sdk-trace-base": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.18.1.tgz", - "integrity": "sha512-tRHfDxN5dO+nop78EWJpzZwHsN1ewrZRVVwo03VJa3JQZxToRDH29/+MB24+yoa+IArerdr7INFJiX/iN4gjqg==", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.21.0.tgz", + "integrity": "sha512-yrElGX5Fv0umzp8Nxpta/XqU71+jCAyaLk34GmBzNcrW43nqbrqvdPs4gj4MVy/HcTjr6hifCDCYA3rMkajxxA==", "dependencies": { - "@opentelemetry/core": "1.18.1", - "@opentelemetry/resources": "1.18.1", - "@opentelemetry/semantic-conventions": "1.18.1" + "@opentelemetry/core": "1.21.0", + "@opentelemetry/resources": "1.21.0", + "@opentelemetry/semantic-conventions": "1.21.0" }, "engines": { "node": ">=14" @@ -2555,15 +2579,15 @@ } }, "node_modules/@opentelemetry/sdk-trace-node": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.18.1.tgz", - "integrity": "sha512-ML0l9TNlfLoplLF1F8lb95NGKgdm6OezDS3Ymqav9sYxMd5bnH2LZVzd4xEF+ov5vpZJOGdWxJMs2nC9no7+xA==", - "dependencies": { - "@opentelemetry/context-async-hooks": "1.18.1", - "@opentelemetry/core": "1.18.1", - "@opentelemetry/propagator-b3": "1.18.1", - "@opentelemetry/propagator-jaeger": "1.18.1", - "@opentelemetry/sdk-trace-base": "1.18.1", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.21.0.tgz", + "integrity": "sha512-1pdm8jnqs+LuJ0Bvx6sNL28EhC8Rv7NYV8rnoXq3GIQo7uOHBDAFSj7makAfbakrla7ecO1FRfI8emnR4WvhYA==", + "dependencies": { + "@opentelemetry/context-async-hooks": "1.21.0", + "@opentelemetry/core": "1.21.0", + "@opentelemetry/propagator-b3": "1.21.0", + "@opentelemetry/propagator-jaeger": "1.21.0", + "@opentelemetry/sdk-trace-base": "1.21.0", "semver": "^7.5.2" }, "engines": { @@ -2574,9 +2598,9 @@ } }, "node_modules/@opentelemetry/semantic-conventions": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.18.1.tgz", - "integrity": "sha512-+NLGHr6VZwcgE/2lw8zDIufOCGnzsA5CbQIMleXZTrgkBd0TanCX+MiDYJ1TOS4KL/Tqk0nFRxawnaYr6pkZkA==", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.21.0.tgz", + "integrity": "sha512-lkC8kZYntxVKr7b8xmjCVUgE0a8xgDakPyDo9uSWavXPyYqLgYYGdEd2j8NxihRyb6UwpX3G/hFUF4/9q2V+/g==", "engines": { "node": ">=14" } @@ -2943,9 +2967,9 @@ "integrity": "sha512-lZuNAY9xeJt7Bx4t4dx0rYCDqGPW8RXhQZK1td7d4H6E9zYbLoOtjBvfwdTKpsyxQI/2jv+armjX/RW+ZNpXOQ==" }, "node_modules/@types/koa": { - "version": "2.13.9", - "resolved": "https://registry.npmjs.org/@types/koa/-/koa-2.13.9.tgz", - "integrity": "sha512-tPX3cN1dGrMn+sjCDEiQqXH2AqlPoPd594S/8zxwUm/ZbPsQXKqHPUypr2gjCPhHUc+nDJLduhh5lXI/1olnGQ==", + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/@types/koa/-/koa-2.14.0.tgz", + "integrity": "sha512-DTDUyznHGNHAl+wd1n0z1jxNajduyTh8R53xoewuerdBzGo6Ogj6F2299BFtrexJw4NtgjsI5SMPCmV9gZwGXA==", "dependencies": { "@types/accepts": "*", "@types/content-disposition": "*", @@ -2973,11 +2997,6 @@ "@types/koa": "*" } }, - "node_modules/@types/long": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", - "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" - }, "node_modules/@types/memcached": { "version": "2.2.7", "resolved": "https://registry.npmjs.org/@types/memcached/-/memcached-2.2.7.tgz", @@ -5792,9 +5811,9 @@ } }, "node_modules/import-in-the-middle": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/import-in-the-middle/-/import-in-the-middle-1.4.2.tgz", - "integrity": "sha512-9WOz1Yh/cvO/p69sxRmhyQwrIGGSp7EIdcb+fFNVi7CzQGQB8U1/1XrKVSbEd/GNOAeM0peJtmi7+qphe7NvAw==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/import-in-the-middle/-/import-in-the-middle-1.7.1.tgz", + "integrity": "sha512-1LrZPDtW+atAxH42S6288qyDFNQ2YCty+2mxEPRtfazH6Z5QwkaBSTS2ods7hnVJioF6rkRfNoA6A/MstpFXLg==", "dependencies": { "acorn": "^8.8.2", "acorn-import-assertions": "^1.9.0", @@ -6540,7 +6559,8 @@ "node_modules/long": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", + "dev": true }, "node_modules/lru-cache": { "version": "6.0.0", @@ -7108,9 +7128,9 @@ } }, "node_modules/node-gyp-build": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.7.1.tgz", - "integrity": "sha512-wTSrZ+8lsRRa3I3H8Xr65dLWSgCvY2l4AOnaeKdPA9TB/WYMPaTcrzf3rXvFoVvjKNVnu0CcWSx54qq9GKRUYg==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.0.tgz", + "integrity": "sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==", "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", @@ -8063,9 +8083,9 @@ } }, "node_modules/protobufjs": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.5.tgz", - "integrity": "sha512-gGXRSXvxQ7UiPgfw8gevrfRWcTlSbOFg+p/N+JVJEK5VhueL2miT6qTymqAmjr1Q5WbOCyJbyrk6JfWKwlFn6A==", + "version": "7.2.6", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.6.tgz", + "integrity": "sha512-dgJaEDDL6x8ASUZ1YqWciTRrdOuYNzoOf27oHNfdyvKqHr5i0FV7FSLU+aIeFjyFgVxrpTOtQUi0BLLBymZaBw==", "hasInstallScript": true, "dependencies": { "@protobufjs/aspromise": "^1.1.2", @@ -8846,9 +8866,9 @@ "dev": true }, "node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dependencies": { "lru-cache": "^6.0.0" }, @@ -11048,24 +11068,30 @@ "dev": true }, "@grpc/grpc-js": { - "version": "1.8.19", - "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.8.19.tgz", - "integrity": "sha512-yCkvhtstJvUL3DEQAF5Uq5KoqQL27MTdfxVYvGsGduoGxiJcRCvJ29t5OmLfLhRuRpjAQ1OlhJD/IPOfX+8jNw==", + "version": "1.9.14", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.9.14.tgz", + "integrity": "sha512-nOpuzZ2G3IuMFN+UPPpKrC6NsLmWsTqSsm66IRfnBt1D4pwTqE27lmbpcPM+l2Ua4gE7PfjRHI6uedAy7hoXUw==", "requires": { - "@grpc/proto-loader": "^0.7.0", + "@grpc/proto-loader": "^0.7.8", "@types/node": ">=12.12.47" } }, "@grpc/proto-loader": { - "version": "0.7.8", - "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.8.tgz", - "integrity": "sha512-GU12e2c8dmdXb7XUlOgYWZ2o2i+z9/VeACkxTA/zzAe2IjclC5PnVL0lpgjhrqfpDYHzM8B1TF6pqWegMYAzlA==", + "version": "0.7.10", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.10.tgz", + "integrity": "sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ==", "requires": { - "@types/long": "^4.0.1", "lodash.camelcase": "^4.3.0", - "long": "^4.0.0", + "long": "^5.0.0", "protobufjs": "^7.2.4", "yargs": "^17.7.2" + }, + "dependencies": { + "long": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" + } } }, "@hapi/b64": { @@ -11621,133 +11647,145 @@ "integrity": "sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA==" }, "@opentelemetry/api-logs": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.45.1.tgz", - "integrity": "sha512-zVGq/k70l+kB/Wuv3O/zhptP2hvDhEbhDu9EtHde1iWZJf3FedeYS/nWVcMBkkyPAjS/JKNk86WN4CBQLGUuOw==", + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.48.0.tgz", + "integrity": "sha512-1/aMiU4Eqo3Zzpfwu51uXssp5pzvHFObk8S9pKAiXb1ne8pvg1qxBQitYL1XUiAMEXFzgjaidYG2V6624DRhhw==", "requires": { "@opentelemetry/api": "^1.0.0" } }, "@opentelemetry/context-async-hooks": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.18.1.tgz", - "integrity": "sha512-HHfJR32NH2x0b69CACCwH8m1dpNALoCTtpgmIWMNkeMGNUeKT48d4AX4xsF4uIRuUoRTbTgtSBRvS+cF97qwCQ==", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.21.0.tgz", + "integrity": "sha512-t0iulGPiMjG/NrSjinPQoIf8ST/o9V0dGOJthfrFporJlNdlKIQPfC7lkrV+5s2dyBThfmSbJlp/4hO1eOcDXA==", "requires": {} }, "@opentelemetry/core": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.18.1.tgz", - "integrity": "sha512-kvnUqezHMhsQvdsnhnqTNfAJs3ox/isB0SVrM1dhVFw7SsB7TstuVa6fgWnN2GdPyilIFLUvvbTZoVRmx6eiRg==", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.21.0.tgz", + "integrity": "sha512-KP+OIweb3wYoP7qTYL/j5IpOlu52uxBv5M4+QhSmmUfLyTgu1OIS71msK3chFo1D6Y61BIH3wMiMYRCxJCQctA==", + "requires": { + "@opentelemetry/semantic-conventions": "1.21.0" + } + }, + "@opentelemetry/exporter-logs-otlp-http": { + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-logs-otlp-http/-/exporter-logs-otlp-http-0.48.0.tgz", + "integrity": "sha512-Glxl0ZmyHqykGjcv5T4HMvw4fQVZoiCV0oMolPgXBBnuTuOHS/dEdoGX6hNp4Xqw55YALM/CJocHwkRqBQnPgw==", "requires": { - "@opentelemetry/semantic-conventions": "1.18.1" + "@opentelemetry/api-logs": "0.48.0", + "@opentelemetry/core": "1.21.0", + "@opentelemetry/otlp-exporter-base": "0.48.0", + "@opentelemetry/otlp-transformer": "0.48.0", + "@opentelemetry/sdk-logs": "0.48.0" } }, "@opentelemetry/exporter-metrics-otlp-grpc": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-metrics-otlp-grpc/-/exporter-metrics-otlp-grpc-0.45.1.tgz", - "integrity": "sha512-omvSxhnYkghnii2MZWIchDh+PW0F3sLQnJ+VOwlcg1We3q/VNU379k7i6E4/aVrNWZPqE4zG7QeS/VsQ3SjBcQ==", + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-metrics-otlp-grpc/-/exporter-metrics-otlp-grpc-0.48.0.tgz", + "integrity": "sha512-DcACDP4keD6hiWI4uMgIo1dFQpxuH9zAwTceB8P8NdZVeOMtP4KyevcwM7FFMZZPd4ha9agsaPFwHk7eCTBcAA==", "requires": { "@grpc/grpc-js": "^1.7.1", - "@opentelemetry/core": "1.18.1", - "@opentelemetry/exporter-metrics-otlp-http": "0.45.1", - "@opentelemetry/otlp-grpc-exporter-base": "0.45.1", - "@opentelemetry/otlp-transformer": "0.45.1", - "@opentelemetry/resources": "1.18.1", - "@opentelemetry/sdk-metrics": "1.18.1" + "@opentelemetry/core": "1.21.0", + "@opentelemetry/exporter-metrics-otlp-http": "0.48.0", + "@opentelemetry/otlp-grpc-exporter-base": "0.48.0", + "@opentelemetry/otlp-transformer": "0.48.0", + "@opentelemetry/resources": "1.21.0", + "@opentelemetry/sdk-metrics": "1.21.0" } }, "@opentelemetry/exporter-metrics-otlp-http": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-metrics-otlp-http/-/exporter-metrics-otlp-http-0.45.1.tgz", - "integrity": "sha512-DvyXkjHIrnQ9ESj8tDrGFzRtVIGOzZpmi80YZdTlwr6TMQzvg4UgHQcGo6wj7ZGzdwAJ7057OgAcDUd+/O/Erg==", + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-metrics-otlp-http/-/exporter-metrics-otlp-http-0.48.0.tgz", + "integrity": "sha512-lZ0gah/WjPpUBVR2Qml8GHraLznsXEpmIS897vdL2IXCxJzGev7sCb9IwAiq89+MgHkuGUWhTWFB2frKrqX1sA==", "requires": { - "@opentelemetry/core": "1.18.1", - "@opentelemetry/otlp-exporter-base": "0.45.1", - "@opentelemetry/otlp-transformer": "0.45.1", - "@opentelemetry/resources": "1.18.1", - "@opentelemetry/sdk-metrics": "1.18.1" + "@opentelemetry/core": "1.21.0", + "@opentelemetry/otlp-exporter-base": "0.48.0", + "@opentelemetry/otlp-transformer": "0.48.0", + "@opentelemetry/resources": "1.21.0", + "@opentelemetry/sdk-metrics": "1.21.0" } }, "@opentelemetry/exporter-metrics-otlp-proto": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-metrics-otlp-proto/-/exporter-metrics-otlp-proto-0.45.1.tgz", - "integrity": "sha512-JLB8hwzc1dK/NpvyivgCAK0CKq1Q+71RmMCGWxa09zekateM1wCulf1jnXwSmdB6hrh4E9foRLOWrcjtFH7B8w==", + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-metrics-otlp-proto/-/exporter-metrics-otlp-proto-0.48.0.tgz", + "integrity": "sha512-lWvYUYcviDhKx6/vMnWJJ3PvkgZhm0hWmWwvNqS2KgSlcyDaNHs+6yZGFwnPYvGOL6keIAywfPRzzgVPUOOK2g==", "requires": { - "@opentelemetry/core": "1.18.1", - "@opentelemetry/exporter-metrics-otlp-http": "0.45.1", - "@opentelemetry/otlp-exporter-base": "0.45.1", - "@opentelemetry/otlp-proto-exporter-base": "0.45.1", - "@opentelemetry/otlp-transformer": "0.45.1", - "@opentelemetry/resources": "1.18.1", - "@opentelemetry/sdk-metrics": "1.18.1" + "@opentelemetry/core": "1.21.0", + "@opentelemetry/exporter-metrics-otlp-http": "0.48.0", + "@opentelemetry/otlp-exporter-base": "0.48.0", + "@opentelemetry/otlp-proto-exporter-base": "0.48.0", + "@opentelemetry/otlp-transformer": "0.48.0", + "@opentelemetry/resources": "1.21.0", + "@opentelemetry/sdk-metrics": "1.21.0" } }, "@opentelemetry/exporter-trace-otlp-grpc": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-grpc/-/exporter-trace-otlp-grpc-0.45.1.tgz", - "integrity": "sha512-c/Wrn6LUqPiRgKhvMydau6kPz4ih6b/uwospiavjXju98ZfVv+KjaIF13cblW+4cQ6ZR3lm7t66umQfXrGBhPQ==", + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-grpc/-/exporter-trace-otlp-grpc-0.48.0.tgz", + "integrity": "sha512-+qRQXUbdRW6aNRT5yWOG3G6My1VxxKeqgUyLkkdIjkT20lvymjiN2RpBfGMtAf/oqnuRknf9snFl9VSIO2gniw==", "requires": { "@grpc/grpc-js": "^1.7.1", - "@opentelemetry/core": "1.18.1", - "@opentelemetry/otlp-grpc-exporter-base": "0.45.1", - "@opentelemetry/otlp-transformer": "0.45.1", - "@opentelemetry/resources": "1.18.1", - "@opentelemetry/sdk-trace-base": "1.18.1" + "@opentelemetry/core": "1.21.0", + "@opentelemetry/otlp-grpc-exporter-base": "0.48.0", + "@opentelemetry/otlp-transformer": "0.48.0", + "@opentelemetry/resources": "1.21.0", + "@opentelemetry/sdk-trace-base": "1.21.0" } }, "@opentelemetry/exporter-trace-otlp-proto": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-proto/-/exporter-trace-otlp-proto-0.45.1.tgz", - "integrity": "sha512-8QI6QARxNP4y9RUpuQxXjw2HyRNyeuD9CWEhS5ON44Mt+XP7YbOZR3GLx2Ml2JZ8uzB5dd2EGlMgaMuZe36D5Q==", + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-proto/-/exporter-trace-otlp-proto-0.48.0.tgz", + "integrity": "sha512-hVXr/8DYlAKAzQYMsCf3ZsGweS6NTK3IHIEqmLokJZYcvJQBEEazeAdISfrL/utWnapg1Qnpw8u+W6SpxNzmTw==", "requires": { - "@opentelemetry/core": "1.18.1", - "@opentelemetry/otlp-exporter-base": "0.45.1", - "@opentelemetry/otlp-proto-exporter-base": "0.45.1", - "@opentelemetry/otlp-transformer": "0.45.1", - "@opentelemetry/resources": "1.18.1", - "@opentelemetry/sdk-trace-base": "1.18.1" + "@opentelemetry/core": "1.21.0", + "@opentelemetry/otlp-exporter-base": "0.48.0", + "@opentelemetry/otlp-proto-exporter-base": "0.48.0", + "@opentelemetry/otlp-transformer": "0.48.0", + "@opentelemetry/resources": "1.21.0", + "@opentelemetry/sdk-trace-base": "1.21.0" } }, "@opentelemetry/instrumentation": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.45.1.tgz", - "integrity": "sha512-V1Cr0g8hSg35lpW3G/GYVZurrhHrQZJdmP68WyJ83f1FDn3iru+/Vnlto9kiOSm7PHhW+pZGdb9Fbv+mkQ31CA==", + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.48.0.tgz", + "integrity": "sha512-sjtZQB5PStIdCw5ovVTDGwnmQC+GGYArJNgIcydrDSqUTdYBnMrN9P4pwQZgS3vTGIp+TU1L8vMXGe51NVmIKQ==", "requires": { "@types/shimmer": "^1.0.2", - "import-in-the-middle": "1.4.2", + "import-in-the-middle": "1.7.1", "require-in-the-middle": "^7.1.1", "semver": "^7.5.2", "shimmer": "^1.2.1" } }, "@opentelemetry/instrumentation-amqplib": { - "version": "0.33.4", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-amqplib/-/instrumentation-amqplib-0.33.4.tgz", - "integrity": "sha512-fL+WrEsIM3cP4VTOsqR8enlT/4VX+OCVF7WALN85bgdFPSRpv2X7ZqsXOdYd358cAp4KO9MiveSkAKwKcTXKLw==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-amqplib/-/instrumentation-amqplib-0.34.0.tgz", + "integrity": "sha512-lVGRkyGnjFJv9O8oO/+uT40nrNj4UO+UN0k8708guy/toVgxsVpv4PtdWJTjbtu89UDk9gUxq62jpHxqrVaNnw==", "requires": { "@opentelemetry/core": "^1.8.0", - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0" } }, "@opentelemetry/instrumentation-aws-sdk": { - "version": "0.37.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-aws-sdk/-/instrumentation-aws-sdk-0.37.1.tgz", - "integrity": "sha512-vIvA9LpxLMHx0sraBF+qyiGuiqeeLz2CKQPoV4bAlzd+Zlcwk3Yg/NHHjMvP7aCy1VB6cGS8UkMG5lNM1a1NmQ==", + "version": "0.38.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-aws-sdk/-/instrumentation-aws-sdk-0.38.0.tgz", + "integrity": "sha512-q1R+evR1j8sqd5LG+I8fKqP5TAPJEEOmJTvtEDYCVCdtzukI0ABYN8SHEIgDgYZmGBDM0yvC6jH0GmoEwvYuMw==", "requires": { "@opentelemetry/core": "^1.8.0", - "@opentelemetry/instrumentation": "^0.45.1", - "@opentelemetry/propagation-utils": "^0.30.4", + "@opentelemetry/instrumentation": "^0.48.0", + "@opentelemetry/propagation-utils": "^0.30.6", "@opentelemetry/semantic-conventions": "^1.0.0" } }, "@opentelemetry/instrumentation-bunyan": { - "version": "0.34.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-bunyan/-/instrumentation-bunyan-0.34.0.tgz", - "integrity": "sha512-UjuvggGrclyn6avTcMAdqLyrrTV26ufB73vPBPlEmA3a2dtYCS07zW82Kacxi5emZDpmHIk6zQE18DqCb/xfpA==", + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-bunyan/-/instrumentation-bunyan-0.35.0.tgz", + "integrity": "sha512-bQ8OzV7nVTA+oGiTzLjUmRFAbnXi0U/Z4VJCpj+1DRsaAaMT17eRpAOh22LQR0JBnv2vBm8CvIQl4CcAnsB46g==", "requires": { - "@opentelemetry/api-logs": "^0.45.1", - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/api-logs": "^0.48.0", + "@opentelemetry/instrumentation": "^0.48.0", "@types/bunyan": "1.8.9" }, "dependencies": { @@ -11762,218 +11800,217 @@ } }, "@opentelemetry/instrumentation-cassandra-driver": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-cassandra-driver/-/instrumentation-cassandra-driver-0.34.1.tgz", - "integrity": "sha512-n2bjMeKctNpXYW/vHURMCOXm56HFgQiD4fyIWioUvLROaPunKDvQpJlCLS88QMQ3f3pz/fp8Bde6gXuciLePxQ==", + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-cassandra-driver/-/instrumentation-cassandra-driver-0.35.0.tgz", + "integrity": "sha512-NlJkEiP37/WQvtSyYe4zxaBcaoweO/2+UtDssldk9NFmFutLHyMT/P5q5fe8i73ylmkPOAZnN8P48oHOhZHM1g==", "requires": { - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0" } }, "@opentelemetry/instrumentation-connect": { - "version": "0.32.3", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-connect/-/instrumentation-connect-0.32.3.tgz", - "integrity": "sha512-5BK52mIjNuKgY/RV8h0GLmS4qunXqkCIL7NZ73dJ40pnKMA8jqF5D5A2tFjWkCCQ4BdYfAfyjjiA+uTGoL3ZGg==", + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-connect/-/instrumentation-connect-0.33.0.tgz", + "integrity": "sha512-EAMmUC2/KfeZl4qNgUsiVqT5Jti0jDl4GHi4TpDg41VBEJkRX/0+JcPBWgdFUgEfeiZr0GPVQud4i8jAwJ+ORw==", "requires": { "@opentelemetry/core": "^1.8.0", - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0", "@types/connect": "3.4.36" } }, "@opentelemetry/instrumentation-dataloader": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-dataloader/-/instrumentation-dataloader-0.5.3.tgz", - "integrity": "sha512-tHpLbcjtdiDFLHFfYjmyKjnDYCQLmp6ceflsA9H4BEEwSE2p5ZW512TQl3abzb3EQK2V7+I1gqIuMGHKxmKIlg==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-dataloader/-/instrumentation-dataloader-0.6.0.tgz", + "integrity": "sha512-jkPdn83WV/TcnhQ5bOIoYcJGvMxXyYlCzbqfuB6HsMqf3CqpdgBQYlMuKi6qIfD4QWYt2R992yglNxPLuJ7xeg==", "requires": { - "@opentelemetry/instrumentation": "^0.45.1" + "@opentelemetry/instrumentation": "^0.48.0" } }, "@opentelemetry/instrumentation-dns": { - "version": "0.32.4", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-dns/-/instrumentation-dns-0.32.4.tgz", - "integrity": "sha512-04DTRKFDEpKgYpCqPGlnpCS0atuRUmAPj35xNGV/H7bZTCA3ZR77NeR3f4tYVfqlnsi3KiM1HzgrhwNBskVIEw==", + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-dns/-/instrumentation-dns-0.33.0.tgz", + "integrity": "sha512-QDJadJOQg9CLqMC79r4T5ugN4C4lb6eJYLmHgnLg3fh1JUGfyjQHtD3T7lH0P8251Mnt5m8zjDDbPKcqK2aGcw==", "requires": { - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0", "semver": "^7.5.4" } }, "@opentelemetry/instrumentation-express": { - "version": "0.34.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-express/-/instrumentation-express-0.34.0.tgz", - "integrity": "sha512-wgMKa9vaCWAsgu/dNZwbRM1/6RusKZ7yWdlPhTzeI9RNE13we+KYIQKA1YFGuTypRMRTixwrJLHdy927y0TjAA==", + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-express/-/instrumentation-express-0.35.0.tgz", + "integrity": "sha512-ZmSB4WMd88sSecOL7DlghzdBl56/8ymb02n+xEJ/6zUgONuw/1uoTh1TAaNPKfEWdNLoLKXQm+Gd2zBrUVOX0w==", "requires": { "@opentelemetry/core": "^1.8.0", - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0" } }, "@opentelemetry/instrumentation-fastify": { - "version": "0.32.5", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-fastify/-/instrumentation-fastify-0.32.5.tgz", - "integrity": "sha512-u88jctr2Y04N8ALpO448s6IH5F0RB3XXa8+fJ+SMh0JsDwpX4oJZGjbnXSKZP0Gl9FscWIENasNoedW+R2vaHw==", + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-fastify/-/instrumentation-fastify-0.33.0.tgz", + "integrity": "sha512-sl3q9Mt+yM6GlZJKhfLUIRrVEYqfmI0hqYLha5OFG5rLrgnZCCZVy8ra4+Pa40ecH1409cvwwBPf7k9AHEQBTw==", "requires": { "@opentelemetry/core": "^1.8.0", - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0" } }, "@opentelemetry/instrumentation-generic-pool": { - "version": "0.32.4", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-generic-pool/-/instrumentation-generic-pool-0.32.4.tgz", - "integrity": "sha512-NDNzoZ0MCmHeMQRxm1eL0l8fCoHIYFiugu5AZ4wt+S2wbgyh5BCd+ZAqTzSFEJGKGg7KZMfHgVRTiCsj+ljfvA==", + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-generic-pool/-/instrumentation-generic-pool-0.33.0.tgz", + "integrity": "sha512-QMSSOfIqMJhXqFryLVbAMsgRktNHdhMEpsOgEiHurLfvAJhyEOBcTTUuo6Laqt50IIzIm3YuHL9ZtEl9fve2ag==", "requires": { - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0" } }, "@opentelemetry/instrumentation-graphql": { - "version": "0.36.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-graphql/-/instrumentation-graphql-0.36.0.tgz", - "integrity": "sha512-H5nezZCV4HUjmPi4o2QlFXGzvldZiJ7hAEldy+37qMmm5PaqLmFW4w084/C+4IdPoxm4gJRtI8vkXJQJqqyktQ==", + "version": "0.37.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-graphql/-/instrumentation-graphql-0.37.0.tgz", + "integrity": "sha512-WL5Qn1aRudJDxVN0Ao73/yzXBGBJAH1Fd2tteuGXku/Qw9hYQ936CgoO66GWmSiq2lyjsojAk1t5f+HF9j3NXw==", "requires": { - "@opentelemetry/instrumentation": "^0.45.1" + "@opentelemetry/instrumentation": "^0.48.0" } }, "@opentelemetry/instrumentation-grpc": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-grpc/-/instrumentation-grpc-0.45.1.tgz", - "integrity": "sha512-KyssKMi+cMAWc+9buGs7nHjnHm4wQPH99etunFblZCKQlzgPB+s8Q6aIlJ3LCkCaOGAhofpr4IkWh7dMcapJJQ==", + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-grpc/-/instrumentation-grpc-0.48.0.tgz", + "integrity": "sha512-MmJHkbqaulqfECjotRtco9AXOq+D1HLq53wI7UFeE8bl8kISP9iMkt+A7PrtPFpRGCglwFvSa0djId6EWsP0DQ==", "requires": { - "@opentelemetry/instrumentation": "0.45.1", - "@opentelemetry/semantic-conventions": "1.18.1" + "@opentelemetry/instrumentation": "0.48.0", + "@opentelemetry/semantic-conventions": "1.21.0" } }, "@opentelemetry/instrumentation-hapi": { - "version": "0.33.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-hapi/-/instrumentation-hapi-0.33.2.tgz", - "integrity": "sha512-XSe1/emVguKMEiV+ctva+Z9GI/3scPBwtNFAVcJFpM4ekK0SiIF73uBKmaC0mVnU+TIToPlkOC7nbkEbXq6y1g==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-hapi/-/instrumentation-hapi-0.34.0.tgz", + "integrity": "sha512-qUENVxwCYbRbJ8HBY54ZL1Z9q1guCEurW6tCFFJJKQFu/MKEw7GSFImy5DR2Mp8b5ggZO36lYFcx0QUxfy4GJg==", "requires": { "@opentelemetry/core": "^1.8.0", - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0", "@types/hapi__hapi": "20.0.13" } }, "@opentelemetry/instrumentation-http": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-http/-/instrumentation-http-0.45.1.tgz", - "integrity": "sha512-ph7kv38Lipg/ggvoNJrwc3RCceLnTkVZwRbE5iu6w7fGsMjjc9jwlSmaOXKxUJjIimil2hL1qBm8xg2lmOVwxg==", + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-http/-/instrumentation-http-0.48.0.tgz", + "integrity": "sha512-uXqOsLhW9WC3ZlGm6+PSX0xjSDTCfy4CMjfYj6TPWusOO8dtdx040trOriF24y+sZmS3M+5UQc6/3/ZxBJh4Mw==", "requires": { - "@opentelemetry/core": "1.18.1", - "@opentelemetry/instrumentation": "0.45.1", - "@opentelemetry/semantic-conventions": "1.18.1", + "@opentelemetry/core": "1.21.0", + "@opentelemetry/instrumentation": "0.48.0", + "@opentelemetry/semantic-conventions": "1.21.0", "semver": "^7.5.2" } }, "@opentelemetry/instrumentation-ioredis": { - "version": "0.36.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-ioredis/-/instrumentation-ioredis-0.36.0.tgz", - "integrity": "sha512-LmEHE3w8JzPpm2TEPiwjAjOSIPWM6t39TFNXu796IJba35k0ZZG9qQRaxv8CS61EZIT1eH7qgExHwEmPHsOl8Q==", + "version": "0.37.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-ioredis/-/instrumentation-ioredis-0.37.0.tgz", + "integrity": "sha512-xBPfu03IIG8x1pmt1Dx+XrBO4ZB4UjEcrouGbp6eV3dLQ7eJPYZgfNXmsqkpsxgNQuVCi2a3WEAwZ5Wl2hk7Vw==", "requires": { - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/redis-common": "^0.36.1", "@opentelemetry/semantic-conventions": "^1.0.0", "@types/ioredis4": "npm:@types/ioredis@^4.28.10" } }, "@opentelemetry/instrumentation-knex": { - "version": "0.32.3", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-knex/-/instrumentation-knex-0.32.3.tgz", - "integrity": "sha512-8+JvZ1Gs9pMe6pgQfMVjth52WCUuKUu0L0tx237VAA53HHUtsCNPznBHp2EAlsLGSLLptfPvzXz/Bdp009ja8w==", + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-knex/-/instrumentation-knex-0.33.0.tgz", + "integrity": "sha512-7L3Q8Yy5vY4W4zpRrjKEc0OpVPYyERtDz5dAumKjkJsEVPANr7E8Cc+No6VjZGeN+HgFFwEo+jcQCTWJzdxvRw==", "requires": { - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0" } }, "@opentelemetry/instrumentation-koa": { - "version": "0.36.3", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-koa/-/instrumentation-koa-0.36.3.tgz", - "integrity": "sha512-ffn76qSuGUUtEBc8IZ1RHc//Y10ZKHku4QjPlpZY5/BtEd2xMV4iXmMdeJngKFiHrVKCvreyC5ON5hHcaQp32g==", + "version": "0.37.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-koa/-/instrumentation-koa-0.37.0.tgz", + "integrity": "sha512-EfuGv1RJCSZh77dDc3PtvZXGwcsTufn9tU6T9VOTFcxovpyJ6w0og73eD0D02syR8R+kzv6rg1TeS8+lj7pyrQ==", "requires": { "@opentelemetry/core": "^1.8.0", - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0", - "@types/koa": "2.13.9", + "@types/koa": "2.14.0", "@types/koa__router": "12.0.3" } }, "@opentelemetry/instrumentation-memcached": { - "version": "0.32.4", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-memcached/-/instrumentation-memcached-0.32.4.tgz", - "integrity": "sha512-q9uswokVrtgKFiVNb3QoTFFulXiHpm6FDOvI/3uO8/TnhhpUh776EuD5kDI0YWZ3J+gkN2Dj82KrmOfqBS5o1A==", + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-memcached/-/instrumentation-memcached-0.33.0.tgz", + "integrity": "sha512-TdGT5ytt8o7FTIsQvx010ykYbqu+IfGoOKA+IXLHdX1+l7vFWyv3ZOzQbRDmA4rxujJAAPf/n4/D7QECyedE/g==", "requires": { - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0", "@types/memcached": "^2.2.6" } }, "@opentelemetry/instrumentation-mongodb": { - "version": "0.38.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mongodb/-/instrumentation-mongodb-0.38.0.tgz", - "integrity": "sha512-nIepSpS3zQsJuDRRjZXMPvnUT7u3xn/+tWKnGB5jIQOstK5O1Nd6pkiPzi1VUmLDBJ1o31N+388mAxSpEqve0g==", + "version": "0.39.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mongodb/-/instrumentation-mongodb-0.39.0.tgz", + "integrity": "sha512-m9dMj39pcCshzlfCEn2lGrlNo7eV5fb9pGBnPyl/Am9Crh7Or8vOqvByCNd26Dgf5J978zTdLGF+6tM8j1WOew==", "requires": { - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/sdk-metrics": "^1.9.1", "@opentelemetry/semantic-conventions": "^1.0.0" } }, "@opentelemetry/instrumentation-mongoose": { - "version": "0.33.4", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mongoose/-/instrumentation-mongoose-0.33.4.tgz", - "integrity": "sha512-qPwurJjzxJVIzvlRmN4KADQ+BeD2KsDcEH7fMRPMZ35R90+0fQO3RFmINaO5zUpmYY1tHsw3zhnQVD23Dq+pfA==", + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mongoose/-/instrumentation-mongoose-0.35.0.tgz", + "integrity": "sha512-gReBMWD2Oa/wBGRWyg6B2dbPHhgkpOqDio31gE3DbC4JaqCsMByyeix75rZSzZ71RQmVh3d4jRLsqUtNVBzcyg==", "requires": { "@opentelemetry/core": "^1.8.0", - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0" } }, "@opentelemetry/instrumentation-mysql": { - "version": "0.34.4", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mysql/-/instrumentation-mysql-0.34.4.tgz", - "integrity": "sha512-LWpCGoKuSoHYIzI/SN3unkNkthdFHGyA3vJJWPmtLPxEP9qtCc2gAJUQQ6Q+73YJmHZdXlZSe7sOqGdKx/KyjQ==", + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mysql/-/instrumentation-mysql-0.35.0.tgz", + "integrity": "sha512-QKRHd3aFA2vKOPzIZ9Q3UIxYeNPweB62HGlX2l3shOKrUhrtTg2/BzaKpHQBy2f2nO2mxTF/mOFeVEDeANnhig==", "requires": { - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0", "@types/mysql": "2.15.22" } }, "@opentelemetry/instrumentation-mysql2": { - "version": "0.34.4", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mysql2/-/instrumentation-mysql2-0.34.4.tgz", - "integrity": "sha512-pgf7UUMiQFUbfzj2WkjOdzT8IoffsqlAbIdMobyAc2Ca90fIYrpEeIpurkzDJWsw1x4GaQRXmJuERhccgr5BSg==", + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mysql2/-/instrumentation-mysql2-0.35.0.tgz", + "integrity": "sha512-DI9NXYJBbQ72rjz1KCKerQFQE+Z4xRDoyYek6JpITv5BlhPboA8zKkltxyQLL06Y2RTFYslw1gvg+x9CWlRzJw==", "requires": { - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0", "@opentelemetry/sql-common": "^0.40.0" } }, "@opentelemetry/instrumentation-nestjs-core": { - "version": "0.33.3", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-nestjs-core/-/instrumentation-nestjs-core-0.33.3.tgz", - "integrity": "sha512-B5v8Qi0chpHHgp/BeL5EcxQnnjm6OTYiMlGk6rM5X/xz9AdB60fAIXWerKKrG1QQ8JVcS5O4nhP4NzPC0JLjWw==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-nestjs-core/-/instrumentation-nestjs-core-0.34.0.tgz", + "integrity": "sha512-HvbcCVAMZEIFrJ0Si9AfjxOr14KcH5h/lq5zLQ8AjZJpW0WaeO/ox5UgFi3J73Br91WbZHRgbXxMeodNycJJuA==", "requires": { - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0" } }, "@opentelemetry/instrumentation-net": { - "version": "0.32.4", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-net/-/instrumentation-net-0.32.4.tgz", - "integrity": "sha512-sZUELN+pO73Mo2zXOt9pTrmwsVtf/WvOOjh+ItFYth4X5syOcHA192NvoEPLqIgWv0L5Iipm8M2SiWZiWm2X7w==", + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-net/-/instrumentation-net-0.33.0.tgz", + "integrity": "sha512-x6awrqF0YfEhGGNE2JtEWvB+zEls7mFvLDii54DnWxpQU69+AqKCW/ZwC91EDefOMGSYBckL0uEn6XNOgkTTbw==", "requires": { - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0" } }, "@opentelemetry/instrumentation-pg": { - "version": "0.37.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-pg/-/instrumentation-pg-0.37.1.tgz", - "integrity": "sha512-yJcTdwsnFqHLFR+uaS2mIvXfHnlzSD2VWgSvka9Y3SSZepcpiEbVs9G897p0XVNpNImo4+CfhOD6Mh5kL6o7Vg==", + "version": "0.38.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-pg/-/instrumentation-pg-0.38.0.tgz", + "integrity": "sha512-Q7V/OJ1OZwaWYNOP/E9S6sfS03Z+PNU1SAjdAoXTj5j4u4iJSMSieLRWXFaHwsbefIOMkYvA00EBKF9IgbgbLA==", "requires": { - "@opentelemetry/core": "^1.8.0", - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0", "@opentelemetry/sql-common": "^0.40.0", "@types/pg": "8.6.1", @@ -11981,132 +12018,132 @@ } }, "@opentelemetry/instrumentation-pino": { - "version": "0.34.4", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-pino/-/instrumentation-pino-0.34.4.tgz", - "integrity": "sha512-cD4PssCNjOqc0h1vFLqIDYR8ajqwuOZfp3rk5dTyeiroUmfs6wzd4wc/Sfe/pVPsGkx+nRiFdfbpW1+DtZGHAg==", + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-pino/-/instrumentation-pino-0.35.0.tgz", + "integrity": "sha512-gMfJ5Qy793mbaAGnQE3yp1Cb0y4np74rBPu20Oy/v8TTgPQOEV5PyNI0GNGggmZQIJSkdtYa8Ndb3huH3iZE5g==", "requires": { - "@opentelemetry/instrumentation": "^0.45.1" + "@opentelemetry/instrumentation": "^0.48.0" } }, "@opentelemetry/instrumentation-redis": { - "version": "0.35.4", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-redis/-/instrumentation-redis-0.35.4.tgz", - "integrity": "sha512-MNO/cuHQMeafNu+K8PdrZDGPjWLsQTmyfJzzjasQgm6ELe+/6deNZzsAXkRK4e4sx+FJH7NDnyyqti/dhB4IeQ==", + "version": "0.36.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-redis/-/instrumentation-redis-0.36.0.tgz", + "integrity": "sha512-rKFylIacEBwLxKFrPvxpVi8hHY9qXfQSybYnYNyF/VxUWMGYDPMpbCnTQkiVR5u+tIhwSvhSDG2YQEq6syHUIQ==", "requires": { - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/redis-common": "^0.36.1", "@opentelemetry/semantic-conventions": "^1.0.0" } }, "@opentelemetry/instrumentation-redis-4": { - "version": "0.35.5", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-redis-4/-/instrumentation-redis-4-0.35.5.tgz", - "integrity": "sha512-+CuWyS1QOc/RYGSyLr/3VkXiNVU4rstsJi+b5j1sh4Mzy4sIrOtRQRcl74PXh06vOnSyGTToyQ9n4BKZuHODbQ==", + "version": "0.36.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-redis-4/-/instrumentation-redis-4-0.36.0.tgz", + "integrity": "sha512-XO0EV2TxUsaRdcp79blyLGG5JWWl7NWVd/XNbU8vY7CuYUfRhWiTXYoM4PI+lwkAnUPvPtyiOzYs9px23GnibA==", "requires": { - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/redis-common": "^0.36.1", "@opentelemetry/semantic-conventions": "^1.0.0" } }, "@opentelemetry/instrumentation-restify": { - "version": "0.34.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-restify/-/instrumentation-restify-0.34.2.tgz", - "integrity": "sha512-W9fZJ6hH7PNIhzcKcmFjUgU87vnM1gPa/YTW724lZ9ItHPUol4wAcnv/F88xM+eouuZKLmCaCahZYp0tx7D/Ig==", + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-restify/-/instrumentation-restify-0.35.0.tgz", + "integrity": "sha512-0ghtxsGJxHEwJfIzxDN3FCbNiTXqwv2jV6ip716jyjWN3f6MuRHm7NPWI/KNvu+IjqDj16KRGZG7nUAEB1ojog==", "requires": { "@opentelemetry/core": "^1.8.0", - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0" } }, "@opentelemetry/instrumentation-router": { - "version": "0.33.3", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-router/-/instrumentation-router-0.33.3.tgz", - "integrity": "sha512-LbD+9YBx4SKK10WQ06s2iy9/tN9lQmlgneqem46WKi8rX0W2vo1VX5TEM+Bvn7d5lM5uaPDFGosQR++g52BSDQ==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-router/-/instrumentation-router-0.34.0.tgz", + "integrity": "sha512-7LsonkdnQi35eF7CWl8394QDgyd811gCawJ6QuS8GbWNIvZ3S2f9j+Zy0fWSmFgO28ruW1pUG51ql8xdXWa8TA==", "requires": { - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0" } }, "@opentelemetry/instrumentation-tedious": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-tedious/-/instrumentation-tedious-0.6.4.tgz", - "integrity": "sha512-bjoagT4AO26QXpv7bE4Vyrwcqxq0ntA2pWCLDHuXRnlt+iWyQm4dS/ExjQR4OuO8aRgeuk/3YC7dSl1rtdO7Kg==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-tedious/-/instrumentation-tedious-0.7.0.tgz", + "integrity": "sha512-o/5my8ZOuxACPSzMaXdPnQiMpmOPIJoTj+DRcs4vEJxk+KwlVNucoafSMpWQEyTNNuq2JI87Ru6Di2mp5T20EQ==", "requires": { - "@opentelemetry/instrumentation": "^0.45.1", + "@opentelemetry/instrumentation": "^0.48.0", "@opentelemetry/semantic-conventions": "^1.0.0", "@types/tedious": "^4.0.10" } }, "@opentelemetry/instrumentation-winston": { - "version": "0.33.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-winston/-/instrumentation-winston-0.33.0.tgz", - "integrity": "sha512-kf4GC6/IVDt+XumUZ54kB3G+1Kc3TfaLY63uZ+9Qi25LBPeBSYJHQugSvxZ9mK/5Uyf9rPxW2FevjblNyaY54w==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-winston/-/instrumentation-winston-0.34.0.tgz", + "integrity": "sha512-Ejssv6Uih7ipoNGYQLXd+cKZdEfTfTJ/vzpUSeYiJZ36mVYER1f8fs9Kb7jTKjHD55g2s6cUJj9lifbDFI4EEw==", "requires": { - "@opentelemetry/instrumentation": "^0.45.1" + "@opentelemetry/instrumentation": "^0.48.0" } }, "@opentelemetry/otlp-exporter-base": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.45.1.tgz", - "integrity": "sha512-Jvd6x8EwWGKEPWF4tkP4LpTPXiIkkafMNMvMJUfJd5DyNAftL1vAz+48jmi3URL2LMPkGryrvWPz8Tdu917gQw==", + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.48.0.tgz", + "integrity": "sha512-T4LJND+Ugl87GUONoyoQzuV9qCn4BFIPOnCH1biYqdGhc2JahjuLqVD9aefwLzGBW638iLAo88Lh68h2F1FLiA==", "requires": { - "@opentelemetry/core": "1.18.1" + "@opentelemetry/core": "1.21.0" } }, "@opentelemetry/otlp-grpc-exporter-base": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-grpc-exporter-base/-/otlp-grpc-exporter-base-0.45.1.tgz", - "integrity": "sha512-81X4mlzaAFoQCSXCgvYoMFyTy3mBhf8DD3J8bjW6/PH/rGZPJJkyYW0/YzepMrmBZXqlKZpTOU1aJ8sebVvDvw==", + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-grpc-exporter-base/-/otlp-grpc-exporter-base-0.48.0.tgz", + "integrity": "sha512-Vdp56RK9OU+Oeoy3YQC/UMOWglKQ9qvgGr49FgF4r8vk5DlcTUgVS0m3KG8pykmRPA+5ZKaDuqwPw5aTvWmHFw==", "requires": { "@grpc/grpc-js": "^1.7.1", - "@opentelemetry/core": "1.18.1", - "@opentelemetry/otlp-exporter-base": "0.45.1", + "@opentelemetry/core": "1.21.0", + "@opentelemetry/otlp-exporter-base": "0.48.0", "protobufjs": "^7.2.3" } }, "@opentelemetry/otlp-proto-exporter-base": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-proto-exporter-base/-/otlp-proto-exporter-base-0.45.1.tgz", - "integrity": "sha512-jtDkly6EW8TZHpbPpwJV9YT5PgbtL5B2UU8zcyGDiLT1wkIAYjFJZ1AqWmROIpydu8ohMq0dRwe4u0izNMdHpA==", + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-proto-exporter-base/-/otlp-proto-exporter-base-0.48.0.tgz", + "integrity": "sha512-14GSTvPZPfrWsB54fYMGb8v+Uge5xGXyz0r2rf4SzcRnO2hXCPHEuL3yyL50emaKPAY+fj29Dm0bweawe8UA6A==", "requires": { - "@opentelemetry/core": "1.18.1", - "@opentelemetry/otlp-exporter-base": "0.45.1", + "@opentelemetry/core": "1.21.0", + "@opentelemetry/otlp-exporter-base": "0.48.0", "protobufjs": "^7.2.3" } }, "@opentelemetry/otlp-transformer": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.45.1.tgz", - "integrity": "sha512-FhIHgfC0b0XtoBrS5ISfva939yWffNl47ypXR8I7Ru+dunlySpmf2TLocKHYLHGcWiuoeSNO5O4dZCmSKOtpXw==", + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.48.0.tgz", + "integrity": "sha512-yuoS4cUumaTK/hhxW3JUy3wl2U4keMo01cFDrUOmjloAdSSXvv1zyQ920IIH4lymp5Xd21Dj2/jq2LOro56TJg==", "requires": { - "@opentelemetry/api-logs": "0.45.1", - "@opentelemetry/core": "1.18.1", - "@opentelemetry/resources": "1.18.1", - "@opentelemetry/sdk-logs": "0.45.1", - "@opentelemetry/sdk-metrics": "1.18.1", - "@opentelemetry/sdk-trace-base": "1.18.1" + "@opentelemetry/api-logs": "0.48.0", + "@opentelemetry/core": "1.21.0", + "@opentelemetry/resources": "1.21.0", + "@opentelemetry/sdk-logs": "0.48.0", + "@opentelemetry/sdk-metrics": "1.21.0", + "@opentelemetry/sdk-trace-base": "1.21.0" } }, "@opentelemetry/propagation-utils": { - "version": "0.30.4", - "resolved": "https://registry.npmjs.org/@opentelemetry/propagation-utils/-/propagation-utils-0.30.4.tgz", - "integrity": "sha512-drYvwfhdXZ6ax5xnpuEQ/0C0AaCcxXcf47wZFNIK4DZu2RJmGk24XUSGWg5XI9gMKBe5qwXWBh9aSlSLWdA/Ww==", + "version": "0.30.6", + "resolved": "https://registry.npmjs.org/@opentelemetry/propagation-utils/-/propagation-utils-0.30.6.tgz", + "integrity": "sha512-qvnYee5I/xrBY5XClUlOASIOdoTbnFGNI6+ViKqdoErF2xKmhysXcmxlJNzQFNDK0muTfjvJMZcFyEielARk7g==", "requires": {} }, "@opentelemetry/propagator-b3": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-1.18.1.tgz", - "integrity": "sha512-oSTUOsnt31JDx5SoEy27B5jE1/tiPvvE46w7CDKj0R5oZhCCfYH2bbSGa7NOOyDXDNqQDkgqU1DIV/xOd3f8pw==", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-1.21.0.tgz", + "integrity": "sha512-3ZTobj2VDIOzLsIvvYCdpw6tunxUVElPxDvog9lS49YX4hohHeD84A8u9Ns/6UYUcaN5GSoEf891lzhcBFiOLA==", "requires": { - "@opentelemetry/core": "1.18.1" + "@opentelemetry/core": "1.21.0" } }, "@opentelemetry/propagator-jaeger": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.18.1.tgz", - "integrity": "sha512-Kh4M1Qewv0Tbmts6D8LgNzx99IjdE18LCmY/utMkgVyU7Bg31Yuj+X6ZyoIRKPcD2EV4rVkuRI16WVMRuGbhWA==", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.21.0.tgz", + "integrity": "sha512-8TQSwXjBmaDx7JkxRD7hdmBmRK2RGRgzHX1ArJfJhIc5trzlVweyorzqQrXOvqVEdEg+zxUMHkL5qbGH/HDTPA==", "requires": { - "@opentelemetry/core": "1.18.1" + "@opentelemetry/core": "1.21.0" } }, "@opentelemetry/redis-common": { @@ -12115,60 +12152,60 @@ "integrity": "sha512-YjfNEr7DK1Ymc5H0bzhmqVvMcCs+PUEUerzrpTFdHfZxj3HpnnjZTIFKx/gxiL/sajQ8dxycjlreoYTVYKBXlw==" }, "@opentelemetry/resources": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.18.1.tgz", - "integrity": "sha512-JjbcQLYMttXcIabflLRuaw5oof5gToYV9fuXbcsoOeQ0BlbwUn6DAZi++PNsSz2jjPeASfDls10iaO/8BRIPRA==", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.21.0.tgz", + "integrity": "sha512-1Z86FUxPKL6zWVy2LdhueEGl9AHDJcx+bvHStxomruz6Whd02mE3lNUMjVJ+FGRoktx/xYQcxccYb03DiUP6Yw==", "requires": { - "@opentelemetry/core": "1.18.1", - "@opentelemetry/semantic-conventions": "1.18.1" + "@opentelemetry/core": "1.21.0", + "@opentelemetry/semantic-conventions": "1.21.0" } }, "@opentelemetry/sdk-logs": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.45.1.tgz", - "integrity": "sha512-z0RRgW4LeKEKnhXS4F/HnqB6+7gsy63YK47F4XAJYHs4s1KKg8XnQ2RkbuL31i/a9nXkylttYtvsT50CGr487g==", + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.48.0.tgz", + "integrity": "sha512-lRcA5/qkSJuSh4ItWCddhdn/nNbVvnzM+cm9Fg1xpZUeTeozjJDBcHnmeKoOaWRnrGYBdz6UTY6bynZR9aBeAA==", "requires": { - "@opentelemetry/core": "1.18.1", - "@opentelemetry/resources": "1.18.1" + "@opentelemetry/core": "1.21.0", + "@opentelemetry/resources": "1.21.0" } }, "@opentelemetry/sdk-metrics": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.18.1.tgz", - "integrity": "sha512-TEFgeNFhdULBYiCoHbz31Y4PDsfjjxRp8Wmdp6ybLQZPqMNEb+dRq+XN8Xw3ivIgTaf9gYsomgV5ensX99RuEQ==", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.21.0.tgz", + "integrity": "sha512-on1jTzIHc5DyWhRP+xpf+zrgrREXcHBH4EDAfaB5mIG7TWpKxNXooQ1JCylaPsswZUv4wGnVTinr4HrBdGARAQ==", "requires": { - "@opentelemetry/core": "1.18.1", - "@opentelemetry/resources": "1.18.1", + "@opentelemetry/core": "1.21.0", + "@opentelemetry/resources": "1.21.0", "lodash.merge": "^4.6.2" } }, "@opentelemetry/sdk-trace-base": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.18.1.tgz", - "integrity": "sha512-tRHfDxN5dO+nop78EWJpzZwHsN1ewrZRVVwo03VJa3JQZxToRDH29/+MB24+yoa+IArerdr7INFJiX/iN4gjqg==", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.21.0.tgz", + "integrity": "sha512-yrElGX5Fv0umzp8Nxpta/XqU71+jCAyaLk34GmBzNcrW43nqbrqvdPs4gj4MVy/HcTjr6hifCDCYA3rMkajxxA==", "requires": { - "@opentelemetry/core": "1.18.1", - "@opentelemetry/resources": "1.18.1", - "@opentelemetry/semantic-conventions": "1.18.1" + "@opentelemetry/core": "1.21.0", + "@opentelemetry/resources": "1.21.0", + "@opentelemetry/semantic-conventions": "1.21.0" } }, "@opentelemetry/sdk-trace-node": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.18.1.tgz", - "integrity": "sha512-ML0l9TNlfLoplLF1F8lb95NGKgdm6OezDS3Ymqav9sYxMd5bnH2LZVzd4xEF+ov5vpZJOGdWxJMs2nC9no7+xA==", - "requires": { - "@opentelemetry/context-async-hooks": "1.18.1", - "@opentelemetry/core": "1.18.1", - "@opentelemetry/propagator-b3": "1.18.1", - "@opentelemetry/propagator-jaeger": "1.18.1", - "@opentelemetry/sdk-trace-base": "1.18.1", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.21.0.tgz", + "integrity": "sha512-1pdm8jnqs+LuJ0Bvx6sNL28EhC8Rv7NYV8rnoXq3GIQo7uOHBDAFSj7makAfbakrla7ecO1FRfI8emnR4WvhYA==", + "requires": { + "@opentelemetry/context-async-hooks": "1.21.0", + "@opentelemetry/core": "1.21.0", + "@opentelemetry/propagator-b3": "1.21.0", + "@opentelemetry/propagator-jaeger": "1.21.0", + "@opentelemetry/sdk-trace-base": "1.21.0", "semver": "^7.5.2" } }, "@opentelemetry/semantic-conventions": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.18.1.tgz", - "integrity": "sha512-+NLGHr6VZwcgE/2lw8zDIufOCGnzsA5CbQIMleXZTrgkBd0TanCX+MiDYJ1TOS4KL/Tqk0nFRxawnaYr6pkZkA==" + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.21.0.tgz", + "integrity": "sha512-lkC8kZYntxVKr7b8xmjCVUgE0a8xgDakPyDo9uSWavXPyYqLgYYGdEd2j8NxihRyb6UwpX3G/hFUF4/9q2V+/g==" }, "@opentelemetry/sql-common": { "version": "0.40.0", @@ -12523,9 +12560,9 @@ "integrity": "sha512-lZuNAY9xeJt7Bx4t4dx0rYCDqGPW8RXhQZK1td7d4H6E9zYbLoOtjBvfwdTKpsyxQI/2jv+armjX/RW+ZNpXOQ==" }, "@types/koa": { - "version": "2.13.9", - "resolved": "https://registry.npmjs.org/@types/koa/-/koa-2.13.9.tgz", - "integrity": "sha512-tPX3cN1dGrMn+sjCDEiQqXH2AqlPoPd594S/8zxwUm/ZbPsQXKqHPUypr2gjCPhHUc+nDJLduhh5lXI/1olnGQ==", + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/@types/koa/-/koa-2.14.0.tgz", + "integrity": "sha512-DTDUyznHGNHAl+wd1n0z1jxNajduyTh8R53xoewuerdBzGo6Ogj6F2299BFtrexJw4NtgjsI5SMPCmV9gZwGXA==", "requires": { "@types/accepts": "*", "@types/content-disposition": "*", @@ -12553,11 +12590,6 @@ "@types/koa": "*" } }, - "@types/long": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", - "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" - }, "@types/memcached": { "version": "2.2.7", "resolved": "https://registry.npmjs.org/@types/memcached/-/memcached-2.2.7.tgz", @@ -14576,9 +14608,9 @@ } }, "import-in-the-middle": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/import-in-the-middle/-/import-in-the-middle-1.4.2.tgz", - "integrity": "sha512-9WOz1Yh/cvO/p69sxRmhyQwrIGGSp7EIdcb+fFNVi7CzQGQB8U1/1XrKVSbEd/GNOAeM0peJtmi7+qphe7NvAw==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/import-in-the-middle/-/import-in-the-middle-1.7.1.tgz", + "integrity": "sha512-1LrZPDtW+atAxH42S6288qyDFNQ2YCty+2mxEPRtfazH6Z5QwkaBSTS2ods7hnVJioF6rkRfNoA6A/MstpFXLg==", "requires": { "acorn": "^8.8.2", "acorn-import-assertions": "^1.9.0", @@ -15163,7 +15195,8 @@ "long": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", + "dev": true }, "lru-cache": { "version": "6.0.0", @@ -15609,9 +15642,9 @@ } }, "node-gyp-build": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.7.1.tgz", - "integrity": "sha512-wTSrZ+8lsRRa3I3H8Xr65dLWSgCvY2l4AOnaeKdPA9TB/WYMPaTcrzf3rXvFoVvjKNVnu0CcWSx54qq9GKRUYg==" + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.0.tgz", + "integrity": "sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==" }, "node-preload": { "version": "0.2.1", @@ -16335,9 +16368,9 @@ "dev": true }, "protobufjs": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.5.tgz", - "integrity": "sha512-gGXRSXvxQ7UiPgfw8gevrfRWcTlSbOFg+p/N+JVJEK5VhueL2miT6qTymqAmjr1Q5WbOCyJbyrk6JfWKwlFn6A==", + "version": "7.2.6", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.6.tgz", + "integrity": "sha512-dgJaEDDL6x8ASUZ1YqWciTRrdOuYNzoOf27oHNfdyvKqHr5i0FV7FSLU+aIeFjyFgVxrpTOtQUi0BLLBymZaBw==", "requires": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", @@ -16929,9 +16962,9 @@ "dev": true }, "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "requires": { "lru-cache": "^6.0.0" } diff --git a/package.json b/package.json index a3347cb0..18b0423b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@splunk/otel", - "version": "2.6.1", + "version": "2.7.0", "description": "The Splunk distribution of OpenTelemetry Node Instrumentation provides a Node agent that automatically instruments your Node application to capture and report distributed traces to Splunk APM.", "repository": "git@github.com:signalfx/splunk-otel-js.git", "author": "Splunk ", @@ -101,59 +101,62 @@ "winston": "3.10.0" }, "dependencies": { - "@grpc/grpc-js": "^1.8.19", - "@grpc/proto-loader": "^0.7.8", + "@grpc/grpc-js": "^1.9.14", + "@grpc/proto-loader": "^0.7.10", "@opentelemetry/api": "^1.3.0", - "@opentelemetry/context-async-hooks": "1.18.1", - "@opentelemetry/core": "1.18.1", - "@opentelemetry/exporter-metrics-otlp-grpc": "0.45.1", - "@opentelemetry/exporter-metrics-otlp-proto": "0.45.1", - "@opentelemetry/exporter-trace-otlp-grpc": "0.45.1", - "@opentelemetry/exporter-trace-otlp-proto": "0.45.1", - "@opentelemetry/instrumentation": "0.45.1", - "@opentelemetry/instrumentation-amqplib": "0.33.4", - "@opentelemetry/instrumentation-aws-sdk": "0.37.1", - "@opentelemetry/instrumentation-bunyan": "0.34.0", - "@opentelemetry/instrumentation-cassandra-driver": "0.34.1", - "@opentelemetry/instrumentation-connect": "0.32.3", - "@opentelemetry/instrumentation-dataloader": "0.5.3", - "@opentelemetry/instrumentation-dns": "0.32.4", - "@opentelemetry/instrumentation-express": "0.34.0", - "@opentelemetry/instrumentation-fastify": "0.32.5", - "@opentelemetry/instrumentation-generic-pool": "0.32.4", - "@opentelemetry/instrumentation-graphql": "0.36.0", - "@opentelemetry/instrumentation-grpc": "0.45.1", - "@opentelemetry/instrumentation-hapi": "0.33.2", - "@opentelemetry/instrumentation-http": "0.45.1", - "@opentelemetry/instrumentation-ioredis": "0.36.0", - "@opentelemetry/instrumentation-knex": "0.32.3", - "@opentelemetry/instrumentation-koa": "0.36.3", - "@opentelemetry/instrumentation-memcached": "0.32.4", - "@opentelemetry/instrumentation-mongodb": "0.38.0", - "@opentelemetry/instrumentation-mongoose": "0.33.4", - "@opentelemetry/instrumentation-mysql": "0.34.4", - "@opentelemetry/instrumentation-mysql2": "0.34.4", - "@opentelemetry/instrumentation-nestjs-core": "0.33.3", - "@opentelemetry/instrumentation-net": "0.32.4", - "@opentelemetry/instrumentation-pg": "0.37.1", - "@opentelemetry/instrumentation-pino": "0.34.4", - "@opentelemetry/instrumentation-redis": "0.35.4", - "@opentelemetry/instrumentation-redis-4": "0.35.5", - "@opentelemetry/instrumentation-restify": "0.34.2", - "@opentelemetry/instrumentation-router": "0.33.3", - "@opentelemetry/instrumentation-tedious": "0.6.4", - "@opentelemetry/instrumentation-winston": "0.33.0", - "@opentelemetry/propagator-b3": "1.18.1", - "@opentelemetry/resources": "1.18.1", - "@opentelemetry/sdk-metrics": "1.18.1", - "@opentelemetry/sdk-trace-base": "1.18.1", - "@opentelemetry/sdk-trace-node": "1.18.1", - "@opentelemetry/semantic-conventions": "1.18.1", + "@opentelemetry/api-logs": "^0.48.0", + "@opentelemetry/context-async-hooks": "1.21.0", + "@opentelemetry/core": "1.21.0", + "@opentelemetry/exporter-logs-otlp-http": "^0.48.0", + "@opentelemetry/exporter-metrics-otlp-grpc": "0.48.0", + "@opentelemetry/exporter-metrics-otlp-proto": "0.48.0", + "@opentelemetry/exporter-trace-otlp-grpc": "0.48.0", + "@opentelemetry/exporter-trace-otlp-proto": "0.48.0", + "@opentelemetry/instrumentation": "0.48.0", + "@opentelemetry/instrumentation-amqplib": "0.34.0", + "@opentelemetry/instrumentation-aws-sdk": "0.38.0", + "@opentelemetry/instrumentation-bunyan": "0.35.0", + "@opentelemetry/instrumentation-cassandra-driver": "0.35.0", + "@opentelemetry/instrumentation-connect": "0.33.0", + "@opentelemetry/instrumentation-dataloader": "0.6.0", + "@opentelemetry/instrumentation-dns": "0.33.0", + "@opentelemetry/instrumentation-express": "0.35.0", + "@opentelemetry/instrumentation-fastify": "0.33.0", + "@opentelemetry/instrumentation-generic-pool": "0.33.0", + "@opentelemetry/instrumentation-graphql": "0.37.0", + "@opentelemetry/instrumentation-grpc": "0.48.0", + "@opentelemetry/instrumentation-hapi": "0.34.0", + "@opentelemetry/instrumentation-http": "0.48.0", + "@opentelemetry/instrumentation-ioredis": "0.37.0", + "@opentelemetry/instrumentation-knex": "0.33.0", + "@opentelemetry/instrumentation-koa": "0.37.0", + "@opentelemetry/instrumentation-memcached": "0.33.0", + "@opentelemetry/instrumentation-mongodb": "0.39.0", + "@opentelemetry/instrumentation-mongoose": "0.35.0", + "@opentelemetry/instrumentation-mysql": "0.35.0", + "@opentelemetry/instrumentation-mysql2": "0.35.0", + "@opentelemetry/instrumentation-nestjs-core": "0.34.0", + "@opentelemetry/instrumentation-net": "0.33.0", + "@opentelemetry/instrumentation-pg": "0.38.0", + "@opentelemetry/instrumentation-pino": "0.35.0", + "@opentelemetry/instrumentation-redis": "0.36.0", + "@opentelemetry/instrumentation-redis-4": "0.36.0", + "@opentelemetry/instrumentation-restify": "0.35.0", + "@opentelemetry/instrumentation-router": "0.34.0", + "@opentelemetry/instrumentation-tedious": "0.7.0", + "@opentelemetry/instrumentation-winston": "0.34.0", + "@opentelemetry/propagator-b3": "1.21.0", + "@opentelemetry/resources": "1.21.0", + "@opentelemetry/sdk-logs": "^0.48.0", + "@opentelemetry/sdk-metrics": "1.21.0", + "@opentelemetry/sdk-trace-base": "1.21.0", + "@opentelemetry/sdk-trace-node": "1.21.0", + "@opentelemetry/semantic-conventions": "1.21.0", "is-promise": "^4.0.0", "nan": "^2.18.0", - "node-gyp-build": "^4.7.1", - "protobufjs": "^7.2.5", - "semver": "^7.5.4" + "node-gyp-build": "^4.8.0", + "protobufjs": "^7.2.6", + "semver": "^7.6.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" diff --git a/scripts/generate-metadata-yaml.js b/scripts/generate-metadata-yaml.js new file mode 100644 index 00000000..0830d0c3 --- /dev/null +++ b/scripts/generate-metadata-yaml.js @@ -0,0 +1,359 @@ +const { join, dirname } = require("path"); +const { access, readFile, constants } = require("node:fs/promises"); + +const { getInstrumentations } = require('../lib/instrumentations'); + +const LOADED_INSTRUMENTATIONS = getInstrumentations(); + +const KNOWN_TARGET_LIBRARY_VERSIONS = new Map([ + ["splunk-opentelemetry-instrumentation-elasticsearch", [">=5 <8"]], + ["splunk-opentelemetry-instrumentation-kafkajs", ["*"]], + ["splunk-opentelemetry-instrumentation-sequelize", ["*"]], + ["splunk-opentelemetry-instrumentation-typeorm", [">0.2.28"]], + ["@opentelemetry/instrumentation-dns", ["*"]], + ["@opentelemetry/instrumentation-net", ["*"]], + ["@opentelemetry/instrumentation-http", ["*"]], + ["@opentelemetry/instrumentation-grpc", ["1.x"]], + ["@opentelemetry/instrumentation-aws-sdk", ["2.x", "3.x"]], + ["@opentelemetry/instrumentation-redis", ["^2.6.0", "3.x"]], + ["@opentelemetry/instrumentation-redis-4", ["4.x"]] +]); + +const INSTRUMENTATIONS = [ + { name: "@opentelemetry/instrumentation-amqplib", target: "amqplib", }, + { name: "@opentelemetry/instrumentation-aws-sdk", target: "aws-sdk and @aws-sdk", }, + { name: "@opentelemetry/instrumentation-bunyan", target: "bunyan", }, + { name: "@opentelemetry/instrumentation-cassandra-driver", target: "cassandra-driver", }, + { name: "@opentelemetry/instrumentation-connect", target: "connect", }, + { name: "@opentelemetry/instrumentation-dataloader", target: "dataloader", }, + { name: "@opentelemetry/instrumentation-dns", target: "dns", }, + { name: "@opentelemetry/instrumentation-express", target: "express", }, + { name: "@opentelemetry/instrumentation-fastify", target: "fastify", }, + { name: "@opentelemetry/instrumentation-generic-pool", target: "generic-pool", }, + { name: "@opentelemetry/instrumentation-graphql", target: "graphql", }, + { name: "@opentelemetry/instrumentation-grpc", target: "@grpc/grpc-js", }, + { name: "@opentelemetry/instrumentation-hapi", target: "hapi", }, + { name: "@opentelemetry/instrumentation-http", target: "http", }, + { name: "@opentelemetry/instrumentation-ioredis", target: "ioredis", }, + { name: "@opentelemetry/instrumentation-knex", target: "knex", }, + { name: "@opentelemetry/instrumentation-koa", target: "koa", }, + { name: "@opentelemetry/instrumentation-memcached", target: "memcached", }, + { name: "@opentelemetry/instrumentation-mongodb", target: "mongodb", }, + { name: "@opentelemetry/instrumentation-mongoose", target: "mongoose", }, + { name: "@opentelemetry/instrumentation-mysql", target: "mysql", }, + { name: "@opentelemetry/instrumentation-mysql2", target: "mysql2", }, + { name: "@opentelemetry/instrumentation-nestjs-core", target: "@nestjs/core", }, + { name: "@opentelemetry/instrumentation-net", target: "net", }, + { name: "@opentelemetry/instrumentation-pg", target: "pg", }, + { name: "@opentelemetry/instrumentation-pino", target: "pino", }, + { name: "@opentelemetry/instrumentation-redis", target: "redis", }, + { name: "@opentelemetry/instrumentation-redis-4", target: "redis", }, + { name: "@opentelemetry/instrumentation-restify", target: "restify", }, + { name: "@opentelemetry/instrumentation-router", target: "router", }, + { name: "@opentelemetry/instrumentation-tedious", target: "tedious", }, + { name: "@opentelemetry/instrumentation-winston", target: "winston", }, + { name: "splunk-opentelemetry-instrumentation-elasticsearch", target: "@elastic/elasticsearch", support: "supported", }, + { name: "splunk-opentelemetry-instrumentation-kafkajs", target: "kafkajs", support: "supported", }, + { name: "splunk-opentelemetry-instrumentation-sequelize", target: "sequelize", support: "supported", }, + { name: "splunk-opentelemetry-instrumentation-typeorm", target: "typeorm", support: "supported", }, +]; + +async function getSupportedVersion(instrumentation) { + const name = instrumentation.instrumentationName; + + const versions = KNOWN_TARGET_LIBRARY_VERSIONS.get(name); + + if (versions !== undefined) { + return versions; + } + + return await readMeVersions(name); +} + +function isSpace(s) { + return s === " " || s === "\t" || s === "\n" || s === "\r"; +} + +async function readMeVersions(instrumentationName) { + const path = require.resolve(instrumentationName); + const readmePath = join(path, "../../../README.md"); + + const readMe = (await readFile(readmePath, { encoding: "utf8" })).toLowerCase(); + + const supportedVersionsHeader = "# supported versions"; + let loc = readMe.indexOf(supportedVersionsHeader); + + if (loc === -1) { + throw new Error(`Versions not found for ${instrumentationName}`); + } + + loc += supportedVersionsHeader.length; + + let token = readMe.charAt(loc); + + while (isSpace(token)) { + loc += 1; + token = readMe.charAt(loc); + } + + const nextHashLoc = readMe.indexOf("#", loc); + + return versionLines = readMe + .substring(loc, nextHashLoc) + .split("\n") + .filter(s => s.length > 0) + .map((s) => { + return s.replaceAll("`", "").replaceAll("`", "").replace("- ", ""); + }); +} + +class LineWriter { + constructor() { + this.lines = []; + this.indent = 0; + this.indents = []; + } + + pushIndent(indent) { + this.indent += indent; + this.indents.push(indent); + } + + popIndent(n) { + if (this.indents.length > 0) { + + if (n === undefined) { + n = 1; + } + + for (let i = 0; i < Math.min(this.indents.length, n); i++) { + this.indent -= this.indents.pop(); + } + } + } + + push(lines) { + if (!Array.isArray(lines)) { + lines = [lines]; + } + + if (this.indent > 0) { + const indent = " ".repeat(this.indent); + for (const line of lines) { + this.lines.push(indent + line); + } + + return; + } + + for (const line of lines) { + this.lines.push(line); + } + } + + join() { + return this.lines.join("\n"); + } +} + +async function getSupportedLibraryVersions(instrumentations) { + const versions = await Promise.all(instrumentations.map(i => getSupportedVersion(i))); + + const versionsByInstrumentation = {}; + + versions.forEach((v, i) => { + versionsByInstrumentation[instrumentations[i].instrumentationName] = v; + }); + + return versionsByInstrumentation; +} + +function getSettingsList() { + const { listEnvVars } = require("../lib"); + return listEnvVars(); +} + +function populateSettings(writer) { + const settings = getSettingsList(); + writer.push("settings:"); + + function addSetting(setting) { + writer.push(`- env: ${setting.name}`); + writer.pushIndent(2); + writer.push([ + `description: ${setting.description}`, + `default: ${setting.default}`, + `type: ${setting.type}`, + `category: ${setting.category}`, + ]); + writer.popIndent(); + } + + for (const setting of settings) { + addSetting(setting); + } +} + +async function populateInstrumentations(writer) { + const versions = await getSupportedLibraryVersions(LOADED_INSTRUMENTATIONS); + + writer.push("instrumentations:"); + writer.pushIndent(2); + for (const instrumentation of INSTRUMENTATIONS) { + writer.push("- keys:"); + writer.pushIndent(2); + writer.push(`- "${instrumentation.name}"`); + writer.push("instrumented_components:"); + writer.pushIndent(2); + writer.push(`- name: "${instrumentation.target}"`); + writer.pushIndent(2); + writer.push(`supported_versions: "${versions[instrumentation.name]}"`); + writer.popIndent(2); + writer.push(`support: ${instrumentation.support ?? "community"}`,); + writer.popIndent(); + } + writer.popIndent(); +} + +function populateResourceDetectors(writer) { + const detectors = [ + { + key: "PROCESS", + description: "Process info detector", + attributes: [ + "process.pid", + "process.executable.path", + "process.runtime.version", + "process.runtime.name", + ], + }, + { + key: "OS", + description: "Operating system detector", + attributes: [ + "os.type", + "os.description", + ], + }, + { + key: "HOST", + description: "Host detector", + attributes: [ + "host.name", + "host.arch" + ], + }, + { + key: "CONTAINER", + description: "Container ID detector", + attributes: [ + "container.id", + ], + }, + { + key: "DISTRO", + description: "Distribution version detector", + attributes: [ + "splunk.distro.version", + ], + } + ]; + + writer.push("resource_detectors:"); + writer.pushIndent(2); + + for (const detector of detectors) { + writer.push(`- key: ${detector.key}`); + writer.pushIndent(2); + writer.push(`description: ${detector.description}`), + writer.push("attributes:") + writer.pushIndent(2); + + for (const attr of detector.attributes) { + writer.push(`- id: ${attr}`); + } + + writer.popIndent(); + writer.push("support: supported"); + writer.popIndent(); + } + + writer.popIndent(); +} + +async function findPackageJson(packageName, maxDepth) { + if (maxDepth === undefined) { + maxDepth = 3; + } + + let basepath = dirname(require.resolve(packageName)); + for (let i = 0; i < maxDepth; i++) { + const packageJsonPath = join(basepath, "package.json"); + try { + await access(packageJsonPath, constants.F_OK); + return packageJsonPath; + } catch (e) { + basepath = join(basepath, ".."); + } + } + + return undefined; +} + +function isExperimental(dependency, version) { + return dependency.startsWith("@opentelemetry") && version.startsWith("0"); +} + +async function populateDependencyInfo(dependency, version, writer) { + const status = isExperimental(dependency, version) ? "experimental" : "stable"; + + const pkgJsonPath = await findPackageJson(dependency); + + let url = undefined; + + if (pkgJsonPath) { + const pkgJson = JSON.parse(await readFile(pkgJsonPath, { encoding: "utf-8" })); + url = pkgJson.homepage; + } + + writer.push(`- name: "${dependency}"`); + writer.pushIndent(2); + writer.push(`version: "${version}"`); + writer.push(`stability: ${status}`); + + if (url) { + writer.push(`source_href: "${url}"`); + } + + writer.popIndent(); +} + +async function populateDependencies(writer) { + const deps = require(join(__dirname, "../package.json")).dependencies; + writer.push("dependencies:") + writer.pushIndent(2); + + const promises = Object.keys(deps).map(dep => populateDependencyInfo(dep, deps[dep], writer)); + await Promise.all(promises); + + writer.popIndent(); +} + +async function genMetadata() { + const writer = new LineWriter(); + writer.push([ + "component: Splunk Distribution of OpenTelemetry JavaScript", + `version: ${require("../package.json").version}`, + ]); + + populateSettings(writer); + await populateInstrumentations(writer); + populateResourceDetectors(writer); + await populateDependencies(writer); + + const yaml = writer.join(); + process.stdout.write(yaml); + process.stdout.write("\n"); +} + +genMetadata(); diff --git a/src/index.ts b/src/index.ts index 09f82357..1f1d04df 100644 --- a/src/index.ts +++ b/src/index.ts @@ -27,6 +27,7 @@ export { } from './metrics/ConsoleMetricExporter'; import { startProfiling as _startProfiling } from './profiling'; export { start, stop } from './start'; +export { listEnvVars } from './utils'; export const startMetrics = deprecate( _startMetrics, diff --git a/src/instrument.ts b/src/instrument.ts index 904b7325..2aa5452e 100644 --- a/src/instrument.ts +++ b/src/instrument.ts @@ -26,6 +26,7 @@ import { import { startMetrics } from './metrics'; import { startProfiling } from './profiling'; import { startTracing } from './tracing'; +import { startLogging } from './logging'; function boot() { const logLevel = parseLogLevel(getNonEmptyEnvVar('OTEL_LOG_LEVEL')); @@ -51,6 +52,10 @@ function boot() { startTracing(); + if (getEnvBoolean('SPLUNK_AUTOMATIC_LOG_COLLECTION', false)) { + startLogging(); + } + if ( getEnvBoolean('SPLUNK_METRICS_ENABLED', false) || getEnvBoolean('SPLUNK_PROFILER_MEMORY_ENABLED', false) diff --git a/src/instrumentations/graphql.ts b/src/instrumentations/graphql.ts new file mode 100644 index 00000000..26106ca0 --- /dev/null +++ b/src/instrumentations/graphql.ts @@ -0,0 +1,41 @@ +/* + * Copyright Splunk Inc. + * + * 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. + */ + +import { Options } from '../tracing/options'; +import { getEnvBoolean } from '../utils'; +import type { + GraphQLInstrumentation, + GraphQLInstrumentationConfig, +} from '@opentelemetry/instrumentation-graphql'; + +export function configureGraphQlInstrumentation( + // eslint-disable-next-line @typescript-eslint/no-explicit-any + instrumentation: any, + _options: Options +) { + if (getEnvBoolean('SPLUNK_GRAPHQL_RESOLVE_SPANS_ENABLED', false)) { + return; + } + + const qglInstrumentation = instrumentation as GraphQLInstrumentation; + + const config: GraphQLInstrumentationConfig = { + ...qglInstrumentation.getConfig(), + ignoreResolveSpans: true, + }; + + qglInstrumentation.setConfig(config); +} diff --git a/src/logging/index.ts b/src/logging/index.ts new file mode 100644 index 00000000..9c80675b --- /dev/null +++ b/src/logging/index.ts @@ -0,0 +1,161 @@ +/* + * Copyright Splunk Inc. + * + * 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. + */ + +import * as util from 'util'; +import * as logsAPI from '@opentelemetry/api-logs'; +import { OTLPLogExporter } from '@opentelemetry/exporter-logs-otlp-http'; +import { Resource } from '@opentelemetry/resources'; +import { diag } from '@opentelemetry/api'; +import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions'; +import { + LoggerProvider, + BatchLogRecordProcessor, + LogRecordProcessor, + ConsoleLogRecordExporter, +} from '@opentelemetry/sdk-logs'; + +import { getNonEmptyEnvVar, getEnvArray, defaultServiceName } from '../utils'; +import { detect as detectResource } from '../resource'; + +type LogRecordProcessorFactory = ( + options: LoggingOptions +) => LogRecordProcessor | LogRecordProcessor[]; + +interface LoggingOptions { + accessToken?: string; + realm?: string; + serviceName: string; + endpoint?: string; + resource: Resource; + logRecordProcessorFactory: LogRecordProcessorFactory; +} + +export const allowedLoggingOptions = [ + 'accessToken', + 'realm', + 'serviceName', + 'endpoint', + 'logRecordProcessorFactory', +]; + +export type StartLoggingOptions = Partial>; + +export function startLogging(opts: StartLoggingOptions = {}) { + const options = _setDefaultOptions(opts); + const loggerProvider = new LoggerProvider({ + resource: options.resource, + }); + + let processors = options.logRecordProcessorFactory(options); + + if (!Array.isArray(processors)) { + processors = [processors]; + } + + processors.forEach((processor) => + loggerProvider.addLogRecordProcessor(processor) + ); + + logsAPI.logs.setGlobalLoggerProvider(loggerProvider); + + return { + stop: () => { + return loggerProvider.shutdown(); + }, + }; +} + +export function _setDefaultOptions( + options: StartLoggingOptions = {} +): LoggingOptions { + let resource = detectResource(); + + const serviceName = + options.serviceName || + getNonEmptyEnvVar('OTEL_SERVICE_NAME') || + resource.attributes[SemanticResourceAttributes.SERVICE_NAME]; + + if (!serviceName) { + diag.warn( + 'service.name attribute is not set, your service is unnamed and will be difficult to identify. ' + + 'Set your service name using the OTEL_RESOURCE_ATTRIBUTES environment variable. ' + + 'E.g. OTEL_RESOURCE_ATTRIBUTES="service.name="' + ); + } + + resource = resource.merge( + new Resource({ + [SemanticResourceAttributes.SERVICE_NAME]: + serviceName || defaultServiceName(), + }) + ); + + options.logRecordProcessorFactory = + options.logRecordProcessorFactory || defaultlogRecordProcessorFactory; + + return { + serviceName: String( + resource.attributes[SemanticResourceAttributes.SERVICE_NAME] + ), + endpoint: options.endpoint, // will use default collector url if not set + logRecordProcessorFactory: options.logRecordProcessorFactory, + resource, + }; +} + +const SUPPORTED_EXPORTER_TYPES = ['console', 'otlp']; + +function areValidExporterTypes(types: string[]): boolean { + return types.every((t) => SUPPORTED_EXPORTER_TYPES.includes(t)); +} + +function createExporters(options: LoggingOptions) { + const logExporters: string[] = getEnvArray('OTEL_LOGS_EXPORTER', ['otlp']); + + if (!areValidExporterTypes(logExporters)) { + throw new Error( + `Invalid value for OTEL_LOGS_EXPORTER env variable: ${util.inspect( + getNonEmptyEnvVar('OTEL_LOGS_EXPORTER') + )}. Choose from ${util.inspect(SUPPORTED_EXPORTER_TYPES, { + compact: true, + })} or leave undefined.` + ); + } + + return logExporters.flatMap((type) => { + switch (type) { + case 'otlp': + return new OTLPLogExporter({ + url: options.endpoint, + }); + case 'console': + return new ConsoleLogRecordExporter(); + default: + return []; + } + }); +} + +export function defaultlogRecordProcessorFactory( + options: LoggingOptions +): LogRecordProcessor[] { + let exporters = createExporters(options); + + if (!Array.isArray(exporters)) { + exporters = [exporters]; + } + return exporters.map((exporter) => new BatchLogRecordProcessor(exporter, {})); +} diff --git a/src/start.ts b/src/start.ts index 145b2147..4507c8dd 100644 --- a/src/start.ts +++ b/src/start.ts @@ -46,6 +46,11 @@ import { MeterOptions, createNoopMeter, } from '@opentelemetry/api'; +import { + StartLoggingOptions, + allowedLoggingOptions, + startLogging, +} from './logging'; interface Options { accessToken: string; @@ -56,18 +61,21 @@ interface Options { metrics: boolean | StartMetricsOptions; profiling: boolean | StartProfilingOptions; tracing: boolean | StartTracingOptions; + logging: boolean | StartLoggingOptions; } interface RunningState { metrics: ReturnType | null; profiling: ReturnType | null; tracing: ReturnType | null; + logging: ReturnType | null; } const running: RunningState = { metrics: null, profiling: null, tracing: null, + logging: null, }; function isSignalEnabled( @@ -79,10 +87,15 @@ function isSignalEnabled( } export const start = (options: Partial = {}) => { - if (running.metrics || running.profiling || running.tracing) { + if ( + running.logging || + running.metrics || + running.profiling || + running.tracing + ) { throw new Error('Splunk APM already started'); } - const { metrics, profiling, tracing, ...restOptions } = options; + const { metrics, profiling, tracing, logging, ...restOptions } = options; assertNoExtraneousProperties(restOptions, [ 'accessToken', @@ -122,6 +135,14 @@ export const start = (options: Partial = {}) => { ); } + if ( + isSignalEnabled(options.logging, 'SPLUNK_AUTOMATIC_LOG_COLLECTION', false) + ) { + running.logging = startLogging( + Object.assign(pick(restOptions, allowedLoggingOptions), logging) + ); + } + if ( isSignalEnabled( options.metrics, @@ -162,6 +183,11 @@ function createNoopMeterProvider() { export const stop = async () => { const promises = []; + if (running.logging) { + promises.push(running.logging.stop()); + running.logging = null; + } + if (running.metrics) { promises.push(running.metrics.stop()); running.metrics = null; diff --git a/src/tracing/index.ts b/src/tracing/index.ts index e3c68501..3e5bf065 100644 --- a/src/tracing/index.ts +++ b/src/tracing/index.ts @@ -36,6 +36,7 @@ import { AsyncLocalStorageContextManager, } from '@opentelemetry/context-async-hooks'; +import { configureGraphQlInstrumentation } from '../instrumentations/graphql'; import { configureHttpInstrumentation } from '../instrumentations/http'; import { configureLogInjection, @@ -217,6 +218,9 @@ function configureInstrumentations(options: Options) { const instr = instrumentation as any; switch (instr['instrumentationName']) { + case '@opentelemetry/instrumentation-graphql': + configureGraphQlInstrumentation(instr, options); + break; case '@opentelemetry/instrumentation-http': configureHttpInstrumentation(instr, options); break; diff --git a/src/types.ts b/src/types.ts index d8ff1570..e258ad8c 100644 --- a/src/types.ts +++ b/src/types.ts @@ -29,6 +29,7 @@ export type EnvVarKey = | 'OTEL_EXPORTER_OTLP_TRACES_PROTOCOL' | 'OTEL_INSTRUMENTATION_COMMON_DEFAULT_ENABLED' | 'OTEL_LOG_LEVEL' + | 'OTEL_LOGS_EXPORTER' | 'OTEL_METRIC_EXPORT_INTERVAL' | 'OTEL_METRICS_EXPORTER' | 'OTEL_PROPAGATORS' @@ -39,6 +40,7 @@ export type EnvVarKey = | 'SPLUNK_AUTOINSTRUMENT_PACKAGE_NAMES' | 'SPLUNK_AUTOMATIC_LOG_COLLECTION' | 'SPLUNK_DEBUG_METRICS_ENABLED' + | 'SPLUNK_GRAPHQL_RESOLVE_SPANS_ENABLED' | 'SPLUNK_INSTRUMENTATION_METRICS_ENABLED' | 'SPLUNK_METRICS_ENABLED' | 'SPLUNK_METRICS_ENDPOINT' diff --git a/src/utils.ts b/src/utils.ts index 733cd50c..8a853057 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -219,3 +219,253 @@ export function pick, K extends string>( } return result; } + +export function listEnvVars() { + return [ + { + name: 'OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT', + description: 'Maximum allowed attribute value size', + default: '12000', + type: 'number', + category: 'instrumentation', + }, + { + name: 'OTEL_BSP_SCHEDULE_DELAY', + description: + 'The delay in milliseconds between 2 consecutive bath span processor exports.', + default: '500', + type: 'number', + category: 'instrumentation', + }, + { + name: 'OTEL_EXPORTER_OTLP_CERTIFICATE', + description: + "Path to a certificate to use when verifying a server's TLS credentials.", + default: '', + type: 'string', + category: 'exporter', + }, + { + name: 'OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE', + description: + "Path to a certificate to use when verifying a client's TLS credentials.", + default: '', + type: 'string', + category: 'exporter', + }, + { + name: 'OTEL_EXPORTER_OTLP_CLIENT_KEY', + description: + "Path to client's private key to use in mTLS communication in PEM format.", + default: '', + type: 'string', + category: 'exporter', + }, + { + name: 'OTEL_EXPORTER_OTLP_ENDPOINT', + description: 'The OTLP endpoint to export to.', + default: 'http://localhost:4317', + type: 'string', + category: 'exporter', + }, + { + name: 'OTEL_EXPORTER_OTLP_TRACES_PROTOCOL', + description: + 'Chooses the trace exporter protocol. Allowed values are grpc and http/protobuf', + default: 'grpc', + type: 'string', + category: 'exporter', + }, + { + name: 'OTEL_EXPORTER_OTLP_METRICS_PROTOCOL', + description: + 'Chooses the metric exporter protocol. Allowed values are grpc and http/protobuf', + default: 'grpc', + type: 'string', + category: 'exporter', + }, + { + name: 'OTEL_EXPORTER_OTLP_PROTOCOL', + description: 'The protocol to use for OTLP exports.', + default: 'grpc', + type: 'string', + category: 'exporter', + }, + { + name: 'OTEL_EXPORTER_OTLP_TRACES_ENDPOINT', + description: 'The traces OTLP endpoint to export to.', + default: 'http://localhost:4317', + type: 'string', + category: 'exporter', + }, + { + name: 'OTEL_INSTRUMENTATION_COMMON_DEFAULT_ENABLED', + description: + 'Whether to activate all the embedded instrumentations. When you set this setting to false, use OTEL_INSTRUMENTATION__ENABLED=true to selectively turn on instrumentations.', + default: 'true', + type: 'boolean', + category: 'instrumentation', + }, + { + name: 'OTEL_LOG_LEVEL', + description: + 'Log level for the OpenTelemetry diagnostic console logger. To activate debug logging, set the debug value. Available values are error, info, debug, and verbose.', + default: 'none', + type: 'string', + category: 'general', + }, + { + name: 'OTEL_METRIC_EXPORT_INTERVAL', + description: + 'The interval, in milliseconds, of metrics collection and exporting.', + default: '30000', + type: 'number', + category: 'exporter', + }, + { + name: 'OTEL_METRICS_EXPORTER', + description: + 'Comma-separated list of metrics exporter to use. To output to the console, set the variable to console. If set to none, metric exports are turned off.', + default: 'otlp', + type: 'string', + category: 'exporter', + }, + { + name: 'OTEL_PROPAGATORS', + description: 'Comma-separated list of propagators you want to use.', + default: 'tracecontext,baggage', + type: 'string', + category: 'general', + }, + { + name: 'OTEL_SERVICE_NAME', + description: + 'Name of the service or application you’re instrumenting. Takes precedence over the service name defined in the OTEL_RESOURCE_ATTRIBUTES variable.', + default: 'unnamed-node-service', + type: 'string', + category: 'general', + }, + { + name: 'OTEL_SPAN_LINK_COUNT_LIMIT', + description: 'Maximum number of links per span.', + default: '1000', + type: 'number', + category: 'general', + }, + { + name: 'OTEL_TRACES_EXPORTER', + description: + 'Comma-separated list of trace exporters to use. To output to the console, set the variable to console.', + default: 'otlp', + type: 'string', + category: 'exporter', + }, + { + name: 'SPLUNK_ACCESS_TOKEN', + description: + 'A Splunk authentication token that lets exporters send data directly to Splunk Observability Cloud. Required if you need to send data to the Splunk Observability Cloud ingest endpoint.', + default: '', + type: 'string', + category: 'general', + }, + { + name: 'SPLUNK_INSTRUMENTATION_METRICS_ENABLED', + description: + 'Emit metrics from instrumentation (e.g. http.server.duration)', + default: 'false', + type: 'boolean', + category: 'instrumentation', + }, + { + name: 'SPLUNK_METRICS_ENABLED', + description: 'Activates metrics collection.', + default: 'false', + type: 'boolean', + category: 'general', + }, + { + name: 'SPLUNK_METRICS_ENDPOINT', + description: + 'The metrics endpoint. Takes precedence over OTEL_EXPORTER_OTLP_METRICS_ENDPOINT. When SPLUNK_REALM is used, the default value is https://ingest..signalfx.com/v2/datapoint/otlp.', + default: '', + type: 'string', + category: 'general', + }, + { + name: 'SPLUNK_PROFILER_CALL_STACK_INTERVAL', + description: + 'Frequency with which call stacks are sampled, in milliseconds.', + default: '1000', + type: 'number', + category: 'profiler', + }, + { + name: 'SPLUNK_PROFILER_ENABLED', + description: 'Activates AlwaysOn CPU profiling.', + default: 'false', + type: 'boolean', + category: 'profiler', + }, + { + name: 'SPLUNK_PROFILER_LOGS_ENDPOINT', + description: 'The collector endpoint for profiler logs.', + default: 'http://localhost:4317', + type: 'string', + category: 'profiler', + }, + { + name: 'SPLUNK_PROFILER_MEMORY_ENABLED', + description: 'Activates memory profiling for AlwaysOn Profiling.', + default: 'false', + type: 'string', + category: 'profiler', + }, + { + name: 'SPLUNK_REALM', + description: + 'The name of your organization’s realm, for example, us0. When you set the realm, telemetry is sent directly to the ingest endpoint of Splunk Observability Cloud, bypassing the Splunk Distribution of OpenTelemetry Collector.', + default: '', + type: 'string', + category: 'general', + }, + { + name: 'SPLUNK_REDIS_INCLUDE_COMMAND_ARGS', + description: + 'Whether to include the full Redis query in db.statement span attributes when using the Redis instrumentation.', + default: 'false', + type: 'boolean', + category: 'instrumentation', + }, + { + name: 'SPLUNK_RUNTIME_METRICS_COLLECTION_INTERVAL', + description: + 'The interval, in milliseconds, during which GC and event loop statistics are collected.', + default: '5000', + type: 'number', + category: 'instrumentation', + }, + { + name: 'SPLUNK_RUNTIME_METRICS_ENABLED', + description: + 'Activates the collection and export of runtime metrics. Runtime metrics are only sent if the SPLUNK_METRICS_ENABLED environment variable is set to true or if memory profiling is activated.', + default: 'true', + type: 'boolean', + category: 'instrumentation', + }, + { + name: 'SPLUNK_TRACE_RESPONSE_HEADER_ENABLED', + description: + 'Activates the addition of server trace information to HTTP response headers.', + default: 'true', + type: 'boolean', + category: 'general', + }, + { + name: 'SPLUNK_TRACING_ENABLED', + description: 'Enables tracing.', + default: 'true', + type: 'boolean', + category: 'instrumentation', + }, + ]; +} diff --git a/src/version.ts b/src/version.ts index 9ec179a6..1e542598 100644 --- a/src/version.ts +++ b/src/version.ts @@ -14,4 +14,4 @@ * limitations under the License. */ -export const VERSION = '2.6.1'; +export const VERSION = '2.7.0'; diff --git a/test/logging.test.ts b/test/logging.test.ts new file mode 100644 index 00000000..7b7068ce --- /dev/null +++ b/test/logging.test.ts @@ -0,0 +1,45 @@ +/* + * Copyright Splunk Inc. + * + * 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. + */ + +import * as assert from 'assert'; +import { startLogging, _setDefaultOptions } from '../src/logging'; +import * as logsAPI from '@opentelemetry/api-logs'; +import { + LoggerProvider, + SimpleLogRecordProcessor, + ConsoleLogRecordExporter, +} from '@opentelemetry/sdk-logs'; + +describe('logging', () => { + describe('startLogging', () => { + it('sets logprovider', () => { + startLogging(); + const provider = logsAPI.logs.getLoggerProvider(); + assert(provider instanceof LoggerProvider); + }); + + it('allows overriding log processors', () => { + const options = _setDefaultOptions({ + logRecordProcessorFactory: (options) => { + return new SimpleLogRecordProcessor(new ConsoleLogRecordExporter()); + }, + serviceName: '', + }); + const exporter = options.logRecordProcessorFactory(options); + assert(exporter instanceof SimpleLogRecordProcessor); + }); + }); +}); diff --git a/test/start.test.ts b/test/start.test.ts index a4ec85e5..5cbd95b1 100644 --- a/test/start.test.ts +++ b/test/start.test.ts @@ -19,6 +19,7 @@ import * as sinon from 'sinon'; import * as metrics from '../src/metrics'; import * as profiling from '../src/profiling'; import * as tracing from '../src/tracing'; +import * as logging from '../src/logging'; import { start, stop } from '../src'; import { Resource } from '@opentelemetry/resources'; import { diag, DiagConsoleLogger, DiagLogLevel } from '@opentelemetry/api'; @@ -72,11 +73,12 @@ describe('start', () => { const assertCalled = ( fns, - signals: ('tracing' | 'metrics' | 'profiling')[] + signals: ('tracing' | 'metrics' | 'profiling' | 'logging')[] ) => { const metrics = signals.includes('metrics'); const tracing = signals.includes('tracing'); const profiling = signals.includes('profiling'); + const logging = signals.includes('logging'); if (metrics) { sinon.assert.calledOnce(fns.metrics); @@ -93,18 +95,27 @@ describe('start', () => { } else { sinon.assert.notCalled(fns.tracing); } + if (logging) { + sinon.assert.calledOnce(fns.logging); + } else { + sinon.assert.notCalled(fns.logging); + } }; beforeEach(utils.cleanEnvironment); beforeEach(() => { signals.stop = { + logging: sinon.spy(), metrics: sinon.spy(), profiling: sinon.spy(), tracing: sinon.stub(tracing, 'stopTracing').callsFake(() => {}), }; signals.start = { + logging: sinon.stub(logging, 'startLogging').callsFake(() => { + return { stop: signals.stop.logging }; + }), metrics: sinon.stub(metrics, 'startMetrics').callsFake(() => { return { stop: signals.stop.metrics }; }), @@ -134,23 +145,25 @@ describe('start', () => { metrics: true, profiling: true, tracing: false, + logging: true, }); - assertCalled(signals.start, ['metrics', 'profiling']); + assertCalled(signals.start, ['metrics', 'profiling', 'logging']); stop(); - assertCalled(signals.stop, ['metrics', 'profiling']); + assertCalled(signals.stop, ['metrics', 'profiling', 'logging']); }); it('should allow toggling signals via env', () => { process.env.SPLUNK_METRICS_ENABLED = 'y'; process.env.SPLUNK_PROFILER_ENABLED = '1'; process.env.SPLUNK_TRACING_ENABLED = 'no'; + process.env.SPLUNK_AUTOMATIC_LOG_COLLECTION = 'true'; start(); - assertCalled(signals.start, ['profiling', 'metrics']); + assertCalled(signals.start, ['profiling', 'metrics', 'logging']); stop(); - assertCalled(signals.stop, ['profiling', 'metrics']); + assertCalled(signals.stop, ['profiling', 'metrics', 'logging']); }); it('should throw if start called multiple times', () => { @@ -171,6 +184,7 @@ describe('start', () => { logLevel: 'debug', profiling: true, metrics: true, + logging: true, }); sinon.assert.calledOnceWithExactly(signals.start.tracing, { @@ -189,6 +203,12 @@ describe('start', () => { endpoint: 'localhost:1111', serviceName: 'test', }); + + sinon.assert.calledOnceWithExactly(signals.start.logging, { + accessToken: 'xyz', + endpoint: 'localhost:1111', + serviceName: 'test', + }); }); }); @@ -199,9 +219,15 @@ describe('start', () => { profiling: {}, tracing: {}, metrics: {}, + logging: {}, }); - assertCalled(signals.start, ['tracing', 'profiling', 'metrics']); + assertCalled(signals.start, [ + 'tracing', + 'profiling', + 'metrics', + 'logging', + ]); }); it('works if all the configuration options are passed', () => {