From a761a8c4cf21f553ebbf9bd1b3690fa2577d9963 Mon Sep 17 00:00:00 2001 From: Marc Pichler Date: Thu, 5 Dec 2024 14:11:01 +0100 Subject: [PATCH 01/18] feat(otlp-transformer)!: remove internal types and functions from public API (#5200) --- experimental/CHANGELOG.md | 54 ++++++++++++++++++ .../packages/otlp-transformer/README.md | 37 +++++++++--- .../packages/otlp-transformer/src/index.ts | 57 ------------------- .../otlp-transformer/src/json/serializers.ts | 3 + .../src/protobuf/serializers.ts | 3 + .../otlp-transformer/test/common.test.ts | 2 +- .../otlp-transformer/test/logs.test.ts | 12 ++-- .../otlp-transformer/test/metrics.test.ts | 8 +-- .../otlp-transformer/test/trace.test.ts | 12 ++-- 9 files changed, 101 insertions(+), 87 deletions(-) diff --git a/experimental/CHANGELOG.md b/experimental/CHANGELOG.md index 83471e2416e..fb1383cb577 100644 --- a/experimental/CHANGELOG.md +++ b/experimental/CHANGELOG.md @@ -31,6 +31,60 @@ All notable changes to experimental packages in this project will be documented * feat(otlp-transformer)!: accept `ResourceMetrics` in serializers instead of `ResourceMetrics[]` * (user-facing): `ProtobufMetricsSerializer` now only accepts `ResourceMetrics` instead of `ResourceMetrics[]` to align with `PushMetricExporter` requirements * (user-facing): `JsonMetricsSerializer` now only accepts `ResourceMetrics` instead of `ResourceMetrics[]` to align with `PushMetricExporter` requirements +* feat(otlp-transformer)!: remove internal types and functions from public API @pichlermarc + * (user-facing): the following types and functions were intended for internal use and have been removed from exports + * `OtlpEncodingOptions` + * `IKeyValueList` + * `IKeyValue` + * `IInstrumentationScope` + * `IArrayValue` + * `LongBits` + * `IAnyValue` + * `Fixed64` + * `SpanContextEncodeFunction` + * `toLongBits` + * `OptionalSpanContextEncodeFunction` + * `getOtlpEncoder` + * `Encoder` + * `HrTimeEncodeFunction` + * `encodeAsLongBits` + * `encodeAsString` + * `hrTimeToNanos` + * `IValueAtQuantile` + * `ISummaryDataPoint` + * `ISummary` + * `ISum` + * `IScopeMetrics` + * `IResourceMetrics` + * `INumberDataPoint` + * `IHistogramDataPoint` + * `IHistogram` + * `IExponentialHistogramDataPoint` + * `IExponentialHistogram` + * `IMetric` + * `IGauge` + * `IExemplar` + * `EAggregationTemporality` + * `IExportMetricsServiceRequest` + * `IBuckets` + * `IResource` + * `IStatus` + * `EStatusCode` + * `ILink` + * `IEvent` + * `IScopeSpans` + * `ISpan` + * `IResourceSpans` + * `ESpanKind` + * `IExportTraceServiceRequest` + * `IScopeLogs` + * `IExportLogsServiceRequest` + * `IResourceLogs` + * `ILogRecord` + * `ESeverityNumber` + * `createExportTraceServiceRequest` + * `createExportMetricsServiceRequest` + * `createExportLogsServiceRequest` ### :rocket: (Enhancement) diff --git a/experimental/packages/otlp-transformer/README.md b/experimental/packages/otlp-transformer/README.md index b91b6d06d71..9f592812baf 100644 --- a/experimental/packages/otlp-transformer/README.md +++ b/experimental/packages/otlp-transformer/README.md @@ -21,18 +21,41 @@ npm install @opentelemetry/api ### Serialize Traces/Metrics/Logs -This module exports functions to serialize traces, metrics and logs from the OpenTelemetry SDK into protocol buffers which can be sent over HTTP to the OpenTelemetry collector or a compatible receiver. +This module exports serializers to serialize traces, metrics and logs from the OpenTelemetry SDK into protocol buffers +or JSON which can be sent over HTTP or gRPC (protobuf-only) to the OpenTelemetry collector or a compatible receiver. ```typescript import { - createExportTraceServiceRequest, - createExportMetricsServiceRequest, - createExportLogsServiceRequest, + JsonLogsSerializer, + JsonMetricsSerializer, + JsonTraceSerializer, + ProtobufLogsSerializer, + ProtobufMetricsSerializer, + ProtobufTraceSerializer, + IExportLogsServiceResponse, + IExportMetricsServiceResponse, + IExportTraceServiceResponse, } from '@opentelemetry/otlp-transformer'; -const serializedSpans = createExportTraceServiceRequest(readableSpans); -const serializedMetrics = createExportMetricsServiceRequest(readableMetrics); -const serializedLogs = createExportLogsServiceRequest(readableLogRecords); +// serialize to JSON export requests +const serializedJsonLogs: Uint8Array = JsonLogsSerializer.serializeRequest(readableLogRecords); +const serializedJsonMetrics: Uint8Array = JsonMetricsSerializer.serializeRequest(resourceMetrics); +const serializedJsonTraces: Uint8Array = JsonTraceSerializer.serializeRequest(readableSpans); + +// serialize to Protobuf export requests +const serializedProtobufLogs: Uint8Array = ProtobufLogsSerializer.serializeRequest(readableLogRecords); +const serializedProtobufMetrics: Uint8Array = ProtobufMetricsSerializer.serializeRequest(resourceMetrics); +const serializedProtobufTraces: Uint8Array = ProtobufTraceSerializer.serializeRequest(readableSpans); + +// deserialize JSON export responses +const deserializedJsonLogResponse: IExportLogsServiceResponse = JsonLogsSerializer.deserializeResponse(jsonLogResponse); +const deserializedJsonMetricsResponse: IExportMetricsServiceResponse = JsonMetricsSerializer.deserializeResponse(jsonMetricsResponse); +const deserializedJsonTraceResponse: IExportTraceServiceResponse = JsonTraceSerializer.deserializeResponse(jsonTraceResponse); + +// deserialize Protobuf export responses +const deserializedProtobufLogResponse: IExportLogsServiceResponse = ProtobufLogsSerializer.deserializeResponse(protobufLogResponse); +const deserializedProtobufMetricsResponse: IExportMetricsServiceResponse = ProtobufMetricsSerializer.deserializeResponse(protobufMetricsResponse); +const deserializedProtobufTraceResponse: IExportTraceServiceResponse = ProtobufTraceSerializer.deserializeResponse(protobufTraceResponse); ``` ## Useful links diff --git a/experimental/packages/otlp-transformer/src/index.ts b/experimental/packages/otlp-transformer/src/index.ts index 12c1cadc870..18cc064bbcd 100644 --- a/experimental/packages/otlp-transformer/src/index.ts +++ b/experimental/packages/otlp-transformer/src/index.ts @@ -14,76 +14,19 @@ * limitations under the License. */ -export { - OtlpEncodingOptions, - IKeyValueList, - IKeyValue, - IInstrumentationScope, - IArrayValue, - LongBits, - IAnyValue, - Fixed64, -} from './common/types'; -export { - SpanContextEncodeFunction, - toLongBits, - OptionalSpanContextEncodeFunction, - getOtlpEncoder, - Encoder, - HrTimeEncodeFunction, - encodeAsLongBits, - encodeAsString, - hrTimeToNanos, -} from './common'; export { IExportMetricsPartialSuccess, - IValueAtQuantile, - ISummaryDataPoint, - ISummary, - ISum, - IScopeMetrics, - IResourceMetrics, - INumberDataPoint, - IHistogramDataPoint, - IHistogram, - IExponentialHistogramDataPoint, - IExponentialHistogram, - IMetric, - IGauge, - IExemplar, - EAggregationTemporality, - IExportMetricsServiceRequest, IExportMetricsServiceResponse, - IBuckets, } from './metrics/types'; -export { IResource } from './resource/types'; export { IExportTracePartialSuccess, - IStatus, - EStatusCode, - ILink, - IEvent, - IScopeSpans, - ISpan, - IResourceSpans, - ESpanKind, IExportTraceServiceResponse, - IExportTraceServiceRequest, } from './trace/types'; export { IExportLogsServiceResponse, - IScopeLogs, - IExportLogsServiceRequest, - IResourceLogs, - ILogRecord, IExportLogsPartialSuccess, - ESeverityNumber, } from './logs/types'; -export { createExportTraceServiceRequest } from './trace'; -export { createExportMetricsServiceRequest } from './metrics'; -export { createExportLogsServiceRequest } from './logs'; - export { ProtobufLogsSerializer, ProtobufMetricsSerializer, diff --git a/experimental/packages/otlp-transformer/src/json/serializers.ts b/experimental/packages/otlp-transformer/src/json/serializers.ts index d21070d98ce..c187d6309b9 100644 --- a/experimental/packages/otlp-transformer/src/json/serializers.ts +++ b/experimental/packages/otlp-transformer/src/json/serializers.ts @@ -59,6 +59,9 @@ export const JsonMetricsSerializer: ISerializer< }, }; +/* + * @experimental this serializer may receive breaking changes in minor versions, pin this package's version when using this constant + */ export const JsonLogsSerializer: ISerializer< ReadableLogRecord[], IExportLogsServiceResponse diff --git a/experimental/packages/otlp-transformer/src/protobuf/serializers.ts b/experimental/packages/otlp-transformer/src/protobuf/serializers.ts index ff73ab67f22..95b475695d9 100644 --- a/experimental/packages/otlp-transformer/src/protobuf/serializers.ts +++ b/experimental/packages/otlp-transformer/src/protobuf/serializers.ts @@ -54,6 +54,9 @@ const traceResponseType = root.opentelemetry.proto.collector.trace.v1 const traceRequestType = root.opentelemetry.proto.collector.trace.v1 .ExportTraceServiceRequest as ExportType; +/* + * @experimental this serializer may receive breaking changes in minor versions, pin this package's version when using this constant + */ export const ProtobufLogsSerializer: ISerializer< ReadableLogRecord[], IExportLogsServiceResponse diff --git a/experimental/packages/otlp-transformer/test/common.test.ts b/experimental/packages/otlp-transformer/test/common.test.ts index 1925ee1283f..9ab639c6029 100644 --- a/experimental/packages/otlp-transformer/test/common.test.ts +++ b/experimental/packages/otlp-transformer/test/common.test.ts @@ -15,9 +15,9 @@ */ import { hexToBinary } from '@opentelemetry/core'; -import { getOtlpEncoder } from '../src'; import { toAnyValue } from '../src/common/internal'; import * as assert from 'assert'; +import { getOtlpEncoder } from '../src/common'; const traceId = 'abcdef01234567890000000000000000'; const spanId = '12341234abcdabcd'; diff --git a/experimental/packages/otlp-transformer/test/logs.test.ts b/experimental/packages/otlp-transformer/test/logs.test.ts index b279ae75dae..b3c606d1b78 100644 --- a/experimental/packages/otlp-transformer/test/logs.test.ts +++ b/experimental/packages/otlp-transformer/test/logs.test.ts @@ -17,18 +17,14 @@ import { HrTime, TraceFlags } from '@opentelemetry/api'; import { InstrumentationScope, hexToBinary } from '@opentelemetry/core'; import { Resource } from '@opentelemetry/resources'; import * as assert from 'assert'; -import { - createExportLogsServiceRequest, - ESeverityNumber, - IExportLogsServiceRequest, - ProtobufLogsSerializer, - JsonLogsSerializer, - OtlpEncodingOptions, -} from '../src'; +import { ProtobufLogsSerializer, JsonLogsSerializer } from '../src'; import { ReadableLogRecord } from '@opentelemetry/sdk-logs'; import { SeverityNumber } from '@opentelemetry/api-logs'; import { toBase64 } from './utils'; import * as root from '../src/generated/root'; +import { OtlpEncodingOptions } from '../src/common/types'; +import { ESeverityNumber, IExportLogsServiceRequest } from '../src/logs/types'; +import { createExportLogsServiceRequest } from '../src/logs'; function createExpectedLogJson( options: OtlpEncodingOptions diff --git a/experimental/packages/otlp-transformer/test/metrics.test.ts b/experimental/packages/otlp-transformer/test/metrics.test.ts index 06d357102ef..6c8d332321e 100644 --- a/experimental/packages/otlp-transformer/test/metrics.test.ts +++ b/experimental/packages/otlp-transformer/test/metrics.test.ts @@ -26,13 +26,9 @@ import * as assert from 'assert'; import { createExportMetricsServiceRequest } from '../src/metrics'; import { EAggregationTemporality } from '../src/metrics/types'; import { hrTime, hrTimeToNanoseconds } from '@opentelemetry/core'; -import { - encodeAsString, - encodeAsLongBits, - ProtobufMetricsSerializer, - JsonMetricsSerializer, -} from '../src'; +import { ProtobufMetricsSerializer, JsonMetricsSerializer } from '../src'; import * as root from '../src/generated/root'; +import { encodeAsLongBits, encodeAsString } from '../src/common'; const START_TIME = hrTime(); const END_TIME = hrTime(); diff --git a/experimental/packages/otlp-transformer/test/trace.test.ts b/experimental/packages/otlp-transformer/test/trace.test.ts index b740430dc30..dd6354ea4d6 100644 --- a/experimental/packages/otlp-transformer/test/trace.test.ts +++ b/experimental/packages/otlp-transformer/test/trace.test.ts @@ -19,15 +19,11 @@ import { TraceState, hexToBinary } from '@opentelemetry/core'; import { Resource } from '@opentelemetry/resources'; import { ReadableSpan } from '@opentelemetry/sdk-trace-base'; import * as assert from 'assert'; -import { - OtlpEncodingOptions, - createExportTraceServiceRequest, - ESpanKind, - EStatusCode, - ProtobufTraceSerializer, - JsonTraceSerializer, -} from '../src'; +import { ProtobufTraceSerializer, JsonTraceSerializer } from '../src'; import { toBase64 } from './utils'; +import { OtlpEncodingOptions } from '../src/common/types'; +import { ESpanKind, EStatusCode } from '../src/trace/types'; +import { createExportTraceServiceRequest } from '../src/trace'; function createExpectedSpanJson(options: OtlpEncodingOptions) { const useHex = options.useHex ?? false; From 0bc4af6cd8f4a7426e6ceb01b77a810958da3575 Mon Sep 17 00:00:00 2001 From: Marc Pichler Date: Thu, 5 Dec 2024 20:41:41 +0100 Subject: [PATCH 02/18] ci: run browser and worker tests on Node.js 22 (#5237) --- .github/workflows/unit-test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/unit-test.yml b/.github/workflows/unit-test.yml index 7fd2c691f50..bba8e5347f7 100644 --- a/.github/workflows/unit-test.yml +++ b/.github/workflows/unit-test.yml @@ -92,7 +92,7 @@ jobs: cache: 'npm' cache-dependency-path: | package-lock.json - node-version: 16 + node-version: 22 - name: Bootstrap run: npm ci @@ -120,7 +120,7 @@ jobs: cache: 'npm' cache-dependency-path: | package-lock.json - node-version: 16 + node-version: 22 - name: Bootstrap run: npm ci From 484af40805e7e0d4e4ab6f2c43f14954ea1f7c3f Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Fri, 6 Dec 2024 10:07:41 +0100 Subject: [PATCH 03/18] fix(deps): update dependency express to v4.21.2 (#5238) --- .../package.json | 2 +- package-lock.json | 486 ++---------------- 2 files changed, 56 insertions(+), 432 deletions(-) diff --git a/integration-tests/propagation-validation-server/package.json b/integration-tests/propagation-validation-server/package.json index 29356b81c8b..9e499debc52 100644 --- a/integration-tests/propagation-validation-server/package.json +++ b/integration-tests/propagation-validation-server/package.json @@ -17,7 +17,7 @@ "@opentelemetry/sdk-trace-base": "1.29.0", "axios": "1.7.9", "body-parser": "1.20.3", - "express": "4.20.0" + "express": "4.21.2" }, "devDependencies": { "typescript": "4.4.4" diff --git a/package-lock.json b/package-lock.json index c2c49c22cff..2e328b46070 100644 --- a/package-lock.json +++ b/package-lock.json @@ -391,7 +391,7 @@ "version": "0.56.0", "license": "Apache-2.0", "dependencies": { - "@grpc/grpc-js": "^1.12.4", + "@grpc/grpc-js": "^1.7.1", "@opentelemetry/core": "1.29.0", "@opentelemetry/otlp-grpc-exporter-base": "0.56.0", "@opentelemetry/otlp-transformer": "0.56.0", @@ -517,7 +517,7 @@ "version": "0.56.0", "license": "Apache-2.0", "dependencies": { - "@grpc/grpc-js": "^1.12.4", + "@grpc/grpc-js": "^1.7.1", "@opentelemetry/core": "1.29.0", "@opentelemetry/otlp-grpc-exporter-base": "0.56.0", "@opentelemetry/otlp-transformer": "0.56.0", @@ -678,7 +678,7 @@ "version": "0.56.0", "license": "Apache-2.0", "dependencies": { - "@grpc/grpc-js": "^1.12.4", + "@grpc/grpc-js": "^1.7.1", "@opentelemetry/core": "1.29.0", "@opentelemetry/exporter-metrics-otlp-http": "0.56.0", "@opentelemetry/otlp-exporter-base": "0.56.0", @@ -821,7 +821,7 @@ "dependencies": { "@opentelemetry/api-logs": "0.56.0", "@types/shimmer": "^1.2.0", - "import-in-the-middle": "^1.11.3", + "import-in-the-middle": "^1.8.1", "require-in-the-middle": "^7.1.1", "semver": "^7.5.2", "shimmer": "^1.2.1" @@ -920,7 +920,7 @@ }, "devDependencies": { "@bufbuild/buf": "1.47.2", - "@grpc/grpc-js": "^1.12.4", + "@grpc/grpc-js": "^1.7.1", "@grpc/proto-loader": "^0.7.10", "@opentelemetry/api": "1.9.0", "@opentelemetry/context-async-hooks": "1.29.0", @@ -1129,7 +1129,7 @@ "version": "0.56.0", "license": "Apache-2.0", "dependencies": { - "@grpc/grpc-js": "^1.12.4", + "@grpc/grpc-js": "^1.7.1", "@opentelemetry/core": "1.29.0", "@opentelemetry/otlp-exporter-base": "0.56.0", "@opentelemetry/otlp-transformer": "0.56.0" @@ -1533,7 +1533,7 @@ "@opentelemetry/sdk-trace-base": "1.29.0", "axios": "1.7.9", "body-parser": "1.20.3", - "express": "4.20.0" + "express": "4.21.2" }, "devDependencies": { "typescript": "4.4.4" @@ -1542,147 +1542,6 @@ "node": ">=14" } }, - "integration-tests/propagation-validation-server/node_modules/cookie": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", - "engines": { - "node": ">= 0.6" - } - }, - "integration-tests/propagation-validation-server/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "integration-tests/propagation-validation-server/node_modules/encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - "engines": { - "node": ">= 0.8" - } - }, - "integration-tests/propagation-validation-server/node_modules/express": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/express/-/express-4.20.0.tgz", - "integrity": "sha512-pLdae7I6QqShF5PnNTCVn4hI91Dx0Grkn2+IAsMTgMIKuQVte2dN9PeGSSAME2FR8anOhVA62QDIUaWVfEXVLw==", - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.3", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.6.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.3", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.10", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.19.0", - "serve-static": "1.16.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "integration-tests/propagation-validation-server/node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "integration-tests/propagation-validation-server/node_modules/finalhandler/node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "engines": { - "node": ">= 0.8" - } - }, - "integration-tests/propagation-validation-server/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "integration-tests/propagation-validation-server/node_modules/path-to-regexp": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", - "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==" - }, - "integration-tests/propagation-validation-server/node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "integration-tests/propagation-validation-server/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "integration-tests/propagation-validation-server/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/@ampproject/remapping": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", @@ -13070,10 +12929,9 @@ "dev": true }, "node_modules/express": { - "version": "4.21.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz", - "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==", - "dev": true, + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", + "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", @@ -13094,7 +12952,7 @@ "methods": "~1.1.2", "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.10", + "path-to-regexp": "0.1.12", "proxy-addr": "~2.0.7", "qs": "6.13.0", "range-parser": "~1.2.1", @@ -13109,13 +12967,16 @@ }, "engines": { "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/express/node_modules/cookie": { "version": "0.7.1", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", - "dev": true, "engines": { "node": ">= 0.6" } @@ -13124,7 +12985,6 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "dependencies": { "ms": "2.0.0" } @@ -13133,7 +12993,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - "dev": true, "engines": { "node": ">= 0.8" } @@ -13142,7 +13001,6 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", - "dev": true, "dependencies": { "debug": "2.6.9", "encodeurl": "~2.0.0", @@ -13159,20 +13017,17 @@ "node_modules/express/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "node_modules/express/node_modules/path-to-regexp": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", - "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==", - "dev": true + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==" }, "node_modules/express/node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, "funding": [ { "type": "github", @@ -13188,26 +13043,10 @@ } ] }, - "node_modules/express/node_modules/serve-static": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", - "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", - "dev": true, - "dependencies": { - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.19.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/express/node_modules/statuses": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, "engines": { "node": ">= 0.8" } @@ -23863,70 +23702,23 @@ "dev": true }, "node_modules/serve-static": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.0.tgz", - "integrity": "sha512-pDLK8zwl2eKaYrs8mrPZBJua4hMplRWJ1tIFksVC3FtBEBnl8dxgeHtsaMS8DhS9i4fLObaon6ABoc4/hQGdPA==", + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", "dependencies": { - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.18.0" + "send": "0.19.0" }, "engines": { "node": ">= 0.8.0" } }, - "node_modules/serve-static/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/serve-static/node_modules/debug/node_modules/ms": { + "node_modules/serve-static/node_modules/encodeurl": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/serve-static/node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/serve-static/node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/serve-static/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", "engines": { "node": ">= 0.8" } @@ -31867,7 +31659,7 @@ "@opentelemetry/exporter-logs-otlp-grpc": { "version": "file:experimental/packages/exporter-logs-otlp-grpc", "requires": { - "@grpc/grpc-js": "^1.12.4", + "@grpc/grpc-js": "^1.7.1", "@grpc/proto-loader": "^0.7.10", "@opentelemetry/api": "1.9.0", "@opentelemetry/api-logs": "0.56.0", @@ -31963,7 +31755,7 @@ "@opentelemetry/exporter-metrics-otlp-grpc": { "version": "file:experimental/packages/opentelemetry-exporter-metrics-otlp-grpc", "requires": { - "@grpc/grpc-js": "^1.12.4", + "@grpc/grpc-js": "^1.7.1", "@grpc/proto-loader": "^0.7.10", "@opentelemetry/api": "1.9.0", "@opentelemetry/core": "1.29.0", @@ -32064,7 +31856,7 @@ "@opentelemetry/exporter-trace-otlp-grpc": { "version": "file:experimental/packages/exporter-trace-otlp-grpc", "requires": { - "@grpc/grpc-js": "^1.12.4", + "@grpc/grpc-js": "^1.7.1", "@grpc/proto-loader": "^0.7.10", "@opentelemetry/api": "1.9.0", "@opentelemetry/core": "1.29.0", @@ -32206,7 +31998,7 @@ "babel-plugin-istanbul": "7.0.0", "codecov": "3.8.3", "cross-var": "1.1.0", - "import-in-the-middle": "1.11.3", + "import-in-the-middle": "^1.8.1", "karma": "6.4.4", "karma-chrome-launcher": "3.1.0", "karma-coverage": "2.2.1", @@ -32268,7 +32060,7 @@ "version": "file:experimental/packages/opentelemetry-instrumentation-grpc", "requires": { "@bufbuild/buf": "1.47.2", - "@grpc/grpc-js": "^1.12.4", + "@grpc/grpc-js": "^1.7.1", "@grpc/proto-loader": "^0.7.10", "@opentelemetry/api": "1.9.0", "@opentelemetry/context-async-hooks": "1.29.0", @@ -32437,7 +32229,7 @@ "@opentelemetry/otlp-grpc-exporter-base": { "version": "file:experimental/packages/otlp-grpc-exporter-base", "requires": { - "@grpc/grpc-js": "^1.12.4", + "@grpc/grpc-js": "^1.7.1", "@opentelemetry/api": "1.9.0", "@opentelemetry/core": "1.29.0", "@opentelemetry/otlp-exporter-base": "0.56.0", @@ -39071,10 +38863,9 @@ "dev": true }, "express": { - "version": "4.21.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz", - "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==", - "dev": true, + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", + "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", "requires": { "accepts": "~1.3.8", "array-flatten": "1.1.1", @@ -39095,7 +38886,7 @@ "methods": "~1.1.2", "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.10", + "path-to-regexp": "0.1.12", "proxy-addr": "~2.0.7", "qs": "6.13.0", "range-parser": "~1.2.1", @@ -39112,14 +38903,12 @@ "cookie": { "version": "0.7.1", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", - "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", - "dev": true + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==" }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -39127,14 +38916,12 @@ "encodeurl": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - "dev": true + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==" }, "finalhandler": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", - "dev": true, "requires": { "debug": "2.6.9", "encodeurl": "~2.0.0", @@ -39148,38 +38935,22 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "path-to-regexp": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", - "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==", - "dev": true + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==" }, "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - }, - "serve-static": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", - "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", - "dev": true, - "requires": { - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.19.0" - } + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" }, "statuses": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" } } }, @@ -46003,115 +45774,8 @@ "@opentelemetry/sdk-trace-base": "1.29.0", "axios": "1.7.9", "body-parser": "1.20.3", - "express": "4.20.0", + "express": "4.21.2", "typescript": "4.4.4" - }, - "dependencies": { - "cookie": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==" - }, - "express": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/express/-/express-4.20.0.tgz", - "integrity": "sha512-pLdae7I6QqShF5PnNTCVn4hI91Dx0Grkn2+IAsMTgMIKuQVte2dN9PeGSSAME2FR8anOhVA62QDIUaWVfEXVLw==", - "requires": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.3", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.6.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.3", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.10", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.19.0", - "serve-static": "1.16.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - } - }, - "finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "dependencies": { - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" - } - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "path-to-regexp": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", - "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==" - }, - "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "requires": { - "side-channel": "^1.0.4" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" - } } }, "proto-list": { @@ -47534,60 +47198,20 @@ } }, "serve-static": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.0.tgz", - "integrity": "sha512-pDLK8zwl2eKaYrs8mrPZBJua4hMplRWJ1tIFksVC3FtBEBnl8dxgeHtsaMS8DhS9i4fLObaon6ABoc4/hQGdPA==", + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", "requires": { - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.18.0" + "send": "0.19.0" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - }, - "send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "requires": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - } - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + "encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==" } } }, From 9328790c5449f1b68d851225f79f5416b0d95e0f Mon Sep 17 00:00:00 2001 From: Marc Pichler Date: Mon, 9 Dec 2024 17:41:37 +0100 Subject: [PATCH 04/18] docs: document compatible versions (#5246) --- README.md | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 18741193da1..d20e12ccea2 100644 --- a/README.md +++ b/README.md @@ -147,18 +147,25 @@ All stable packages are released with the same version, and all experimental pac The below table describes which versions of each set of packages are expected to work together. | Stable Packages | Experimental Packages | -| --------------- | --------------------- | -| 1.21.x | 0.48.x | -| 1.20.x | 0.47.x | -| 1.19.x | 0.46.x | -| 1.18.x | 0.45.x | -| 1.17.x | 0.44.x | +|-----------------|-----------------------| +| 1.29.x | 0.56.x | +| 1.28.x | 0.55.x | +| 1.27.x | 0.54.x | +| 1.25.x | 0.52.x | +| 1.24.x | 0.51.x |
Older version compatibility matrix + + + + + + + From 5387343986d780bed88f539744138a024453b53a Mon Sep 17 00:00:00 2001 From: Marc Pichler Date: Tue, 10 Dec 2024 10:11:45 +0100 Subject: [PATCH 05/18] test(api): longer timeout for API tree-shaking tests (#5247) --- api/test/tree-shaking/tree-shaking.test.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/api/test/tree-shaking/tree-shaking.test.ts b/api/test/tree-shaking/tree-shaking.test.ts index 352f6627f1d..7673eb87be3 100644 --- a/api/test/tree-shaking/tree-shaking.test.ts +++ b/api/test/tree-shaking/tree-shaking.test.ts @@ -28,7 +28,7 @@ import * as realFs from 'fs'; * Webpack doesn't run in node 8 because it requires BigInt. Since we are testing * build tooling here, we can safely skip tooling we know can't run anyway. */ -describe('tree-shaking', () => { +describe('tree-shaking', function () { const allowedAPIs = ['ContextAPI', 'DiagAPI']; const testAPIs = [ { @@ -50,7 +50,7 @@ describe('tree-shaking', () => { const outputPath = path.join(__dirname, 'output'); const outputFilename = path.join(outputPath, 'bundle.js'); - afterEach(() => { + afterEach(function () { try { mfs.unlinkSync(outputFilename); } catch { @@ -122,6 +122,6 @@ describe('tree-shaking', () => { allowedAPIs.forEach(it => matches.delete(it)); assert.deepStrictEqual(Array.from(matches), [testAPI.name]); - }); + }).timeout(5000); } }); From 79e28759f053a730ff2091403e50dd130e3edb55 Mon Sep 17 00:00:00 2001 From: Michele Azzolari Date: Tue, 10 Dec 2024 16:52:18 +0100 Subject: [PATCH 06/18] feat(sdk-metrics): PeriodicExportingMetricReader now flushes pending tasks at shutdown (#5242) --- CHANGELOG.md | 2 ++ .../test/node/OTLPMetricExporter.test.ts | 5 +++-- packages/sdk-metrics/src/MeterProvider.ts | 2 +- .../sdk-metrics/src/export/PeriodicExportingMetricReader.ts | 2 +- packages/sdk-metrics/test/MeterProvider.test.ts | 4 ++-- .../test/export/PeriodicExportingMetricReader.test.ts | 2 -- 6 files changed, 9 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f378c59c12..81905d18fb7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,8 @@ For semantic convention package changes, see the [semconv CHANGELOG](packages/se ### :rocket: (Enhancement) +* feat(sdk-metrics): PeriodicExportingMetricReader now flushes pending tasks at shutdown [#5242](https://github.com/open-telemetry/opentelemetry-js/pull/5242) + ### :bug: (Bug Fix) * fix(sdk-trace-base): do not load OTEL_ env vars on module load, but when needed [#5224](https://github.com/open-telemetry/opentelemetry-js/pull/5224) diff --git a/experimental/packages/opentelemetry-exporter-metrics-otlp-http/test/node/OTLPMetricExporter.test.ts b/experimental/packages/opentelemetry-exporter-metrics-otlp-http/test/node/OTLPMetricExporter.test.ts index 87569f327a3..04d3228dee5 100644 --- a/experimental/packages/opentelemetry-exporter-metrics-otlp-http/test/node/OTLPMetricExporter.test.ts +++ b/experimental/packages/opentelemetry-exporter-metrics-otlp-http/test/node/OTLPMetricExporter.test.ts @@ -214,8 +214,9 @@ describe('OTLPMetricExporter', () => { meterProvider.getMeter('test-meter').createCounter('test-counter').add(1); // act - meterProvider.forceFlush(); - meterProvider.shutdown(); + meterProvider.forceFlush().then(() => { + return meterProvider.shutdown(); + }); }); }); }); diff --git a/packages/sdk-metrics/src/MeterProvider.ts b/packages/sdk-metrics/src/MeterProvider.ts index 962d59b4290..6d5cd56fd03 100644 --- a/packages/sdk-metrics/src/MeterProvider.ts +++ b/packages/sdk-metrics/src/MeterProvider.ts @@ -122,7 +122,7 @@ export class MeterProvider implements IMeterProvider { } /** - * Flush all buffered data and shut down the MeterProvider and all registered + * Shut down the MeterProvider and all registered * MetricReaders. * * Returns a promise which is resolved when all flushes are complete. diff --git a/packages/sdk-metrics/src/export/PeriodicExportingMetricReader.ts b/packages/sdk-metrics/src/export/PeriodicExportingMetricReader.ts index 646c832aa41..6a9096652d7 100644 --- a/packages/sdk-metrics/src/export/PeriodicExportingMetricReader.ts +++ b/packages/sdk-metrics/src/export/PeriodicExportingMetricReader.ts @@ -161,7 +161,7 @@ export class PeriodicExportingMetricReader extends MetricReader { if (this._interval) { clearInterval(this._interval); } - + await this.onForceFlush(); await this._exporter.shutdown(); } } diff --git a/packages/sdk-metrics/test/MeterProvider.test.ts b/packages/sdk-metrics/test/MeterProvider.test.ts index cc534adcb1d..453945200d4 100644 --- a/packages/sdk-metrics/test/MeterProvider.test.ts +++ b/packages/sdk-metrics/test/MeterProvider.test.ts @@ -126,9 +126,9 @@ describe('MeterProvider', () => { assert.strictEqual(meter1, meter2); }); - it('get a noop meter on shutdown', () => { + it('get a noop meter on shutdown', async () => { const meterProvider = new MeterProvider(); - meterProvider.shutdown(); + await meterProvider.shutdown(); const meter = meterProvider.getMeter('meter1', '1.0.0'); // returned tracer should be no-op, not instance of Meter (from SDK) assert.ok(!(meter instanceof Meter)); diff --git a/packages/sdk-metrics/test/export/PeriodicExportingMetricReader.test.ts b/packages/sdk-metrics/test/export/PeriodicExportingMetricReader.test.ts index 9210f4622f3..1fe248cab84 100644 --- a/packages/sdk-metrics/test/export/PeriodicExportingMetricReader.test.ts +++ b/packages/sdk-metrics/test/export/PeriodicExportingMetricReader.test.ts @@ -77,9 +77,7 @@ class TestMetricExporter implements PushMetricExporter { async shutdown(): Promise { if (this._shutdown) return; - const flushPromise = this.forceFlush(); this._shutdown = true; - await flushPromise; } async forceFlush(): Promise { From 887ff1cd6e3f795f703e40a9fbe89b3cba7e88c3 Mon Sep 17 00:00:00 2001 From: Marc Pichler Date: Tue, 10 Dec 2024 16:53:32 +0100 Subject: [PATCH 07/18] docs: re-categoize misplaced changelog entry (#5248) --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 81905d18fb7..0e99ea702f9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,9 +25,9 @@ For semantic convention package changes, see the [semconv CHANGELOG](packages/se ## 1.29.0 -### :boom: Breaking Change +### :rocket: (Enhancement) -* feat(sdk-metrics): Add support for aggregation cardinality limit with a default limit of 2000. This limit can be customized via views [#5182](https://github.com/open-telemetry/opentelemetry-js/pull/5128) +* feat(sdk-metrics): Add support for aggregation cardinality limit with a default limit of 2000. This limit can be customized via views [#5128](https://github.com/open-telemetry/opentelemetry-js/pull/5128) ## 1.28.0 From 61d5a0e291db26c2af638274947081b29db3f0ca Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Thu, 12 Dec 2024 11:46:43 +0100 Subject: [PATCH 08/18] chore(deps): update dependency chromedriver to v131.0.3 (#5255) --- package-lock.json | 16 ++++++++-------- selenium-tests/package.json | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2e328b46070..4767db6ba62 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9975,9 +9975,9 @@ } }, "node_modules/chromedriver": { - "version": "131.0.2", - "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-131.0.2.tgz", - "integrity": "sha512-Z3oZmleJP3UEBKCz7XLZoZSbYRnApFmUL4GGmLHxw/NJqcZpEnCNFlwdVKuRlntCPxgdfvYInQCPmZxXyrGE+w==", + "version": "131.0.3", + "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-131.0.3.tgz", + "integrity": "sha512-DKHFt0ilcA/RJzY1ApBiJAil6fh08f9mXM8XbdDE1u+S1V5YVUNTUi4bOtJFZoAwS9nlV0H5W6InWrpXqSs2xg==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -28501,7 +28501,7 @@ "babel-loader": "8.4.1", "babel-polyfill": "6.26.0", "browserstack-local": "1.4.8", - "chromedriver": "131.0.2", + "chromedriver": "131.0.3", "dotenv": "16.0.0", "fast-safe-stringify": "2.1.1", "geckodriver": "3.0.1", @@ -32718,7 +32718,7 @@ "babel-loader": "8.4.1", "babel-polyfill": "6.26.0", "browserstack-local": "1.4.8", - "chromedriver": "131.0.2", + "chromedriver": "131.0.3", "dotenv": "16.0.0", "fast-safe-stringify": "2.1.1", "geckodriver": "3.0.1", @@ -36602,9 +36602,9 @@ "dev": true }, "chromedriver": { - "version": "131.0.2", - "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-131.0.2.tgz", - "integrity": "sha512-Z3oZmleJP3UEBKCz7XLZoZSbYRnApFmUL4GGmLHxw/NJqcZpEnCNFlwdVKuRlntCPxgdfvYInQCPmZxXyrGE+w==", + "version": "131.0.3", + "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-131.0.3.tgz", + "integrity": "sha512-DKHFt0ilcA/RJzY1ApBiJAil6fh08f9mXM8XbdDE1u+S1V5YVUNTUi4bOtJFZoAwS9nlV0H5W6InWrpXqSs2xg==", "dev": true, "requires": { "@testim/chrome-version": "^1.1.4", diff --git a/selenium-tests/package.json b/selenium-tests/package.json index 6449842fa9c..85c84c1d7bb 100644 --- a/selenium-tests/package.json +++ b/selenium-tests/package.json @@ -41,7 +41,7 @@ "babel-loader": "8.4.1", "babel-polyfill": "6.26.0", "browserstack-local": "1.4.8", - "chromedriver": "131.0.2", + "chromedriver": "131.0.3", "dotenv": "16.0.0", "fast-safe-stringify": "2.1.1", "geckodriver": "3.0.1", From bdee949b8ac551f8993696db5385c3d488efc1a5 Mon Sep 17 00:00:00 2001 From: Trent Mick Date: Thu, 12 Dec 2024 07:07:44 -0800 Subject: [PATCH 09/18] doc(semantic-conventions): clarify suggested usage of *unstable* semconv (#5256) --- semantic-conventions/CHANGELOG.md | 2 + semantic-conventions/README.md | 76 ++++++++++++++++++++----------- 2 files changed, 51 insertions(+), 27 deletions(-) diff --git a/semantic-conventions/CHANGELOG.md b/semantic-conventions/CHANGELOG.md index 4bf95ff0471..92c46fb0cd1 100644 --- a/semantic-conventions/CHANGELOG.md +++ b/semantic-conventions/CHANGELOG.md @@ -13,6 +13,8 @@ All notable changes to the semantic-conventions package will be documented in th ### :books: (Refine Doc) +* docs: Document suggested usage of unstable semconv: copy relevant definitions into your code base. [#5182](https://github.com/open-telemetry/opentelemetry-js/pull/5182) @trentm + ### :house: (Internal) ## 1.28.0 diff --git a/semantic-conventions/README.md b/semantic-conventions/README.md index cf14621c06d..450bbd81275 100644 --- a/semantic-conventions/README.md +++ b/semantic-conventions/README.md @@ -18,7 +18,7 @@ This package has 2 separate entry-points: - The main entry-point, `@opentelemetry/semantic-conventions`, includes only stable semantic conventions. This entry-point follows semantic versioning 2.0: it will not include breaking changes except with a change in the major version number. - The "incubating" entry-point, `@opentelemetry/semantic-conventions/incubating`, contains unstable semantic conventions (sometimes called "experimental") and, for convenience, a re-export of the stable semantic conventions. - This entry-point is _NOT_ subject to the restrictions of semantic versioning and _MAY_ contain breaking changes in minor releases. + This entry-point is _NOT_ subject to the restrictions of semantic versioning and _MAY_ contain breaking changes in minor releases. See below for suggested usage of this entry-point. Exported constants follow this naming scheme: @@ -59,30 +59,50 @@ const span = tracer.startSpan(spanName, spanOptions) -```bash -npm install --save-exact @opentelemetry/semantic-conventions -``` +Because the "incubating" entry-point may include breaking changes in minor versions, it is recommended that instrumentation libraries **not** import `@opentelemetry/semantic-conventions/incubating` in runtime code, but instead **copy relevant definitions into their own code base**. (This is the same [recommendation](https://opentelemetry.io/docs/specs/semconv/non-normative/code-generation/#stability-and-versioning) as for other languages.) -**Note**: Because the "incubating" entry-point may include breaking changes in minor versions, it is recommended that users of unstable semconv values either: +For example, create a "src/semconv.ts" (or "lib/semconv.js" if implementing in JavaScript) file that copies from [experimental_attributes.ts](./src/experimental_attributes.ts) or [experimental_metrics.ts](./src/experimental_metrics.ts): -1. depend on a pinned (exact) version of the package (`npm install --save-exact ...`), or -2. [copy relevant definitions to their code base](https://opentelemetry.io/docs/specs/semconv/non-normative/code-generation/#stability-and-versioning). +```ts +// src/semconv.ts +export const ATTR_DB_NAMESPACE = 'db.namespace'; +export const ATTR_DB_OPERATION_NAME = 'db.operation.name'; +``` ```ts +// src/instrumentation.ts +import { + ATTR_SERVER_PORT, + ATTR_SERVER_ADDRESS, +} from '@opentelemetry/semantic-conventions'; import { - ATTR_PROCESS_COMMAND, - ATTR_PROCESS_COMMAND_ARGS, - ATTR_PROCESS_COMMAND_LINE, -} from '@opentelemetry/semantic-conventions/incubating'; + ATTR_DB_NAMESPACE, + ATTR_DB_OPERATION_NAME, +} from './semconv'; + +span.setAttributes({ + [ATTR_DB_NAMESPACE]: ..., + [ATTR_DB_OPERATION_NAME]: ..., + [ATTR_SERVER_PORT]: ..., + [ATTR_SERVER_ADDRESS]: ..., +}) +``` -const span = tracer.startSpan(spanName, spanOptions) - .setAttributes({ - [ATTR_PROCESS_COMMAND]: 'cat', - [ATTR_PROCESS_COMMAND_ARGS]: ['file1', 'file2'], - [ATTR_CONTAINER_COMMAND_LINE]: 'cat file1 file2', - }); +Occasionally, one should review changes to `@opentelemetry/semantic-conventions` to see if any used unstable conventions have changed or been stabilized. However, an update to a newer minor version of the package will never be breaking. + +#### Why not pin the version? + +A considered alternative for using unstable exports is to **pin** the version. I.e., depend on an exact version, rather than on a version range. + +```bash +npm install --save-exact @opentelemetry/semantic-conventions ``` +Then, import directly from `@opentelemetry/semantic-conventions/incubating`. +This is **not** recommended. + +In some languages having multiple versions of a package in a single application is not possible. This _is_ possible in JavaScript. The primary argument against pinning this package is that it can easily lead to many copies being installed in an application's `node_modules/...`, which can cause significant disk usage. In a disk-constrained environment, such as AWS Lambda Layers, that can be a blocker. + ## Deprecations There are two main types of deprecations in this package: @@ -153,16 +173,26 @@ See [Migrated usage](#migrated-usage) below. ### Migrated usage +If using any unstable conventions, copy the relevant definitions into your code base (e.g. to "src/semconv.ts", see [above](#unstable-semconv)): + +```ts +// src/semconv.ts +export const ATTR_DB_SYSTEM = 'db.system' as const; +export const DB_SYSTEM_VALUE_POSTGRESQL = "postgresql" as const; +``` + +then: + ```js import { ATTR_SERVICE_NAME, ATTR_HTTP_ROUTE, METRIC_HTTP_CLIENT_REQUEST_DURATION -} from '@opentelemetry/semantic-conventions'; +} from '@opentelemetry/semantic-conventions'; // stable semconv import { ATTR_DB_SYSTEM, DB_SYSTEM_VALUE_POSTGRESQL -} from '@opentelemetry/semantic-conventions/incubating'; +} from './semconv'; // unstable semconv console.log(ATTR_SERVICE_NAME); // 'service.name' console.log(ATTR_HTTP_ROUTE); // 'http.route' @@ -176,14 +206,6 @@ console.log(ATTR_DB_SYSTEM); // 'db.system' console.log(DB_SYSTEM_VALUE_POSTGRESQL); ``` -### What is "incubating"? - -The first three fields in the preceding code sample ('service.name', 'http.route', 'http.client.request.duration') are _stable_ in semantic conventions, the latter two are not. Version 1.26.0 of this package separated stable and unstable into separate module entry points: stable conventions are imported `from '@opentelemetry/semantic-conventions'` and unstable `from '@opentelemetry/semantic-conventions/incubating'`. The name "incubating" is [suggested by the Semantic Conventions](https://opentelemetry.io/docs/specs/semconv/non-normative/code-generation/#semantic-conventions-artifact-structure). - -It is recommended that if you are using exports from _incubating_, that you **pin the version** in your package.json dependencies (e.g. via `npm install --save-exact @opentelemetry/semantic-conventions`) _or_ that you copy the relevant definitions into your code base. This is because the removal of exports from the _incubating_ entry point is _not considered a breaking change_ and hence can happen in a minor version. - -Note: The _incubating_ entry point also exports all stable fields, so the above example could be changed to import all five constants `from '@opentelemetry/semantic-conventions/incubating'`. - ## Useful links - For more information on OpenTelemetry, visit: From e4d9c213f6d431952b7c21f24e3ba782b3ab876a Mon Sep 17 00:00:00 2001 From: Arriana Blais Date: Thu, 12 Dec 2024 10:35:41 -0500 Subject: [PATCH 10/18] fix(instrumentation-fetch, instrumentation-xml-http-request) content length attributes now prese (#5230) --- CHANGELOG.md | 2 ++ .../src/fetch.ts | 16 +++++---- .../test/fetch.test.ts | 13 +++++++ .../src/xhr.ts | 16 +++++---- .../test/xhr.test.ts | 13 +++++++ .../opentelemetry-sdk-trace-web/src/utils.ts | 34 +++++++++++-------- .../test/utils.test.ts | 29 ++++++++++++++++ 7 files changed, 96 insertions(+), 27 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0e99ea702f9..ab75b14a059 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,8 @@ For semantic convention package changes, see the [semconv CHANGELOG](packages/se * fix(sdk-trace-base): do not load OTEL_ env vars on module load, but when needed [#5224](https://github.com/open-telemetry/opentelemetry-js/pull/5224) +* fix(instrumentation-xhr, instrumentation-fetch): content length attributes no longer get removed with `ignoreNetworkEvents: true` being set [#5229](https://github.com/open-telemetry/opentelemetry-js/issues/5229) + ### :books: (Refine Doc) ### :house: (Internal) diff --git a/experimental/packages/opentelemetry-instrumentation-fetch/src/fetch.ts b/experimental/packages/opentelemetry-instrumentation-fetch/src/fetch.ts index e5d9a84bdeb..ca19b316593 100644 --- a/experimental/packages/opentelemetry-instrumentation-fetch/src/fetch.ts +++ b/experimental/packages/opentelemetry-instrumentation-fetch/src/fetch.ts @@ -112,9 +112,11 @@ export class FetchInstrumentation extends InstrumentationBase { const events = span.events; assert.strictEqual(events.length, 0, 'number of events is wrong'); }); + + it('should still add the CONTENT_LENGTH attribute', () => { + const span: tracing.ReadableSpan = exportSpy.args[1][0][0]; + const attributes = span.attributes; + const responseContentLength = attributes[ + SEMATTRS_HTTP_RESPONSE_CONTENT_LENGTH + ] as number; + assert.strictEqual( + responseContentLength, + 30, + `attributes ${SEMATTRS_HTTP_RESPONSE_CONTENT_LENGTH} is <= 0` + ); + }); }); }); diff --git a/experimental/packages/opentelemetry-instrumentation-xml-http-request/src/xhr.ts b/experimental/packages/opentelemetry-instrumentation-xml-http-request/src/xhr.ts index 6d2eafa054c..dc0f3ea9485 100644 --- a/experimental/packages/opentelemetry-instrumentation-xml-http-request/src/xhr.ts +++ b/experimental/packages/opentelemetry-instrumentation-xml-http-request/src/xhr.ts @@ -149,9 +149,11 @@ export class XMLHttpRequestInstrumentation extends InstrumentationBase { const events = span.events; assert.strictEqual(events.length, 3, 'number of events is wrong'); }); + + it('should still add the CONTENT_LENGTH attribute', () => { + const span: tracing.ReadableSpan = exportSpy.args[1][0][0]; + const attributes = span.attributes; + const responseContentLength = attributes[ + SEMATTRS_HTTP_RESPONSE_CONTENT_LENGTH + ] as number; + assert.strictEqual( + responseContentLength, + 30, + `attributes ${SEMATTRS_HTTP_RESPONSE_CONTENT_LENGTH} is <= 0` + ); + }); }); }); diff --git a/packages/opentelemetry-sdk-trace-web/src/utils.ts b/packages/opentelemetry-sdk-trace-web/src/utils.ts index 5fcd9abf4ee..e8fe4ef1d69 100644 --- a/packages/opentelemetry-sdk-trace-web/src/utils.ts +++ b/packages/opentelemetry-sdk-trace-web/src/utils.ts @@ -89,28 +89,32 @@ export function addSpanNetworkEvent( } /** - * Helper function for adding network events + * Helper function for adding network events and content length attributes * @param span * @param resource + * @param ignoreNetworkEvents */ export function addSpanNetworkEvents( span: api.Span, - resource: PerformanceEntries + resource: PerformanceEntries, + ignoreNetworkEvents = false ): void { - addSpanNetworkEvent(span, PTN.FETCH_START, resource); - addSpanNetworkEvent(span, PTN.DOMAIN_LOOKUP_START, resource); - addSpanNetworkEvent(span, PTN.DOMAIN_LOOKUP_END, resource); - addSpanNetworkEvent(span, PTN.CONNECT_START, resource); - if ( - hasKey(resource as PerformanceResourceTiming, 'name') && - (resource as PerformanceResourceTiming)['name'].startsWith('https:') - ) { - addSpanNetworkEvent(span, PTN.SECURE_CONNECTION_START, resource); + if (!ignoreNetworkEvents) { + addSpanNetworkEvent(span, PTN.FETCH_START, resource); + addSpanNetworkEvent(span, PTN.DOMAIN_LOOKUP_START, resource); + addSpanNetworkEvent(span, PTN.DOMAIN_LOOKUP_END, resource); + addSpanNetworkEvent(span, PTN.CONNECT_START, resource); + if ( + hasKey(resource as PerformanceResourceTiming, 'name') && + (resource as PerformanceResourceTiming)['name'].startsWith('https:') + ) { + addSpanNetworkEvent(span, PTN.SECURE_CONNECTION_START, resource); + } + addSpanNetworkEvent(span, PTN.CONNECT_END, resource); + addSpanNetworkEvent(span, PTN.REQUEST_START, resource); + addSpanNetworkEvent(span, PTN.RESPONSE_START, resource); + addSpanNetworkEvent(span, PTN.RESPONSE_END, resource); } - addSpanNetworkEvent(span, PTN.CONNECT_END, resource); - addSpanNetworkEvent(span, PTN.REQUEST_START, resource); - addSpanNetworkEvent(span, PTN.RESPONSE_START, resource); - addSpanNetworkEvent(span, PTN.RESPONSE_END, resource); const encodedLength = resource[PTN.ENCODED_BODY_SIZE]; if (encodedLength !== undefined) { span.setAttribute(SEMATTRS_HTTP_RESPONSE_CONTENT_LENGTH, encodedLength); diff --git a/packages/opentelemetry-sdk-trace-web/test/utils.test.ts b/packages/opentelemetry-sdk-trace-web/test/utils.test.ts index b70061e489d..0011dde1485 100644 --- a/packages/opentelemetry-sdk-trace-web/test/utils.test.ts +++ b/packages/opentelemetry-sdk-trace-web/test/utils.test.ts @@ -127,6 +127,35 @@ describe('utils', () => { } as PerformanceResourceTiming); assert.strictEqual(addEventSpy.callCount, 9); }); + + it('should ignore network events when ignoreNetworkEvents is true', () => { + const addEventSpy = sinon.spy(); + const setAttributeSpy = sinon.spy(); + const span = { + addEvent: addEventSpy, + setAttribute: setAttributeSpy, + } as unknown as tracing.Span; + const entries = { + [PTN.FETCH_START]: 123, + [PTN.DOMAIN_LOOKUP_START]: 123, + [PTN.DOMAIN_LOOKUP_END]: 123, + [PTN.CONNECT_START]: 123, + [PTN.SECURE_CONNECTION_START]: 123, + [PTN.CONNECT_END]: 123, + [PTN.REQUEST_START]: 123, + [PTN.RESPONSE_START]: 123, + [PTN.RESPONSE_END]: 123, + [PTN.DECODED_BODY_SIZE]: 123, + [PTN.ENCODED_BODY_SIZE]: 61, + } as PerformanceEntries; + + assert.strictEqual(addEventSpy.callCount, 0); + + addSpanNetworkEvents(span, entries, true); + assert.strictEqual(setAttributeSpy.callCount, 2); + //secure connect start should not be added to non-https resource + assert.strictEqual(addEventSpy.callCount, 0); + }); it('should only include encoded size when content encoding is being used', () => { const addEventSpy = sinon.spy(); const setAttributeSpy = sinon.spy(); From e03b6e7caadedf3bba74343b2e29135ec0dedb91 Mon Sep 17 00:00:00 2001 From: Godfrey Chan Date: Fri, 13 Dec 2024 03:07:06 -0800 Subject: [PATCH 11/18] chore: update prettier to 3.4.2 (#5261) --- package-lock.json | 15 ++++++++------- package.json | 2 +- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4767db6ba62..f6bf3de9279 100644 --- a/package-lock.json +++ b/package-lock.json @@ -46,7 +46,7 @@ "lerna": "6.6.2", "linkinator": "6.1.2", "markdownlint-cli2": "0.15.0", - "prettier": "3.3.3", + "prettier": "3.4.2", "process": "0.11.10", "semver": "7.6.3", "typedoc": "0.22.18", @@ -21694,10 +21694,11 @@ } }, "node_modules/prettier": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", - "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.2.tgz", + "integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==", "dev": true, + "license": "MIT", "bin": { "prettier": "bin/prettier.cjs" }, @@ -45642,9 +45643,9 @@ "dev": true }, "prettier": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", - "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.2.tgz", + "integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==", "dev": true }, "prettier-linter-helpers": { diff --git a/package.json b/package.json index a6716f73ede..bc26a5c9f22 100644 --- a/package.json +++ b/package.json @@ -106,7 +106,7 @@ "lerna": "6.6.2", "linkinator": "6.1.2", "markdownlint-cli2": "0.15.0", - "prettier": "3.3.3", + "prettier": "3.4.2", "process": "0.11.10", "semver": "7.6.3", "typedoc": "0.22.18", From 6d31a18c34389cc6401cfde30a46c6e2e1785421 Mon Sep 17 00:00:00 2001 From: Bhaskar Banerjee Date: Fri, 13 Dec 2024 05:33:47 -0600 Subject: [PATCH 12/18] feat(opentelemetry-sdk-node): automatically configure metrics exporter based on environment variables (#5168) Co-authored-by: Marc Pichler --- experimental/CHANGELOG.md | 2 + .../packages/opentelemetry-sdk-node/README.md | 3 + .../opentelemetry-sdk-node/package.json | 4 + .../opentelemetry-sdk-node/src/sdk.ts | 125 +++++++++- .../opentelemetry-sdk-node/test/sdk.test.ts | 234 ++++++++++++++++++ .../opentelemetry-sdk-node/tsconfig.json | 12 + package-lock.json | 8 + 7 files changed, 384 insertions(+), 4 deletions(-) diff --git a/experimental/CHANGELOG.md b/experimental/CHANGELOG.md index fb1383cb577..f8c6110c344 100644 --- a/experimental/CHANGELOG.md +++ b/experimental/CHANGELOG.md @@ -9,6 +9,8 @@ All notable changes to experimental packages in this project will be documented ### :rocket: (Enhancement) +* feat(opentelemetry-sdk-node): automatically configure metrics exporter based on environment variables [#5168](https://github.com/open-telemetry/opentelemetry-js/pull/5168) @bhaskarbanerjee + ### :bug: (Bug Fix) ### :books: (Refine Doc) diff --git a/experimental/packages/opentelemetry-sdk-node/README.md b/experimental/packages/opentelemetry-sdk-node/README.md index bbb5002e9a2..3ed7edbeb12 100644 --- a/experimental/packages/opentelemetry-sdk-node/README.md +++ b/experimental/packages/opentelemetry-sdk-node/README.md @@ -212,6 +212,9 @@ This is an alternative to programmatically configuring an exporter or span proce | OTEL_EXPORTER_OTLP_TRACES_PROTOCOL | The transport protocol to use on OTLP trace requests. Options include `grpc`, `http/protobuf`, and `http/json`. Default is `http/protobuf`. | | OTEL_EXPORTER_OTLP_METRICS_PROTOCOL | The transport protocol to use on OTLP metric requests. Options include `grpc`, `http/protobuf`, and `http/json`. Default is `http/protobuf`. | | OTEL_EXPORTER_OTLP_LOGS_PROTOCOL | The transport protocol to use on OTLP log requests. Options include `grpc`, `http/protobuf`, and `http/json`. Default is `http/protobuf`. | +| OTEL_METRICS_EXPORTER | Metrics exporter to be used. options are `otlp`, `prometheus`, `console` or `none`. | +| OTEL_METRIC_EXPORT_INTERVAL | The export interval when using a push Metric Reader. Default is `60000`. | +| OTEL_METRIC_EXPORT_TIMEOUT | The export timeout when using a push Metric Reader. Default is `30000`. | Additionally, you can specify other applicable environment variables that apply to each exporter such as the following: diff --git a/experimental/packages/opentelemetry-sdk-node/package.json b/experimental/packages/opentelemetry-sdk-node/package.json index 40c8d14687b..bdfe19046ac 100644 --- a/experimental/packages/opentelemetry-sdk-node/package.json +++ b/experimental/packages/opentelemetry-sdk-node/package.json @@ -54,6 +54,10 @@ "@opentelemetry/exporter-trace-otlp-proto": "0.56.0", "@opentelemetry/exporter-zipkin": "1.29.0", "@opentelemetry/instrumentation": "0.56.0", + "@opentelemetry/exporter-metrics-otlp-grpc": "0.56.0", + "@opentelemetry/exporter-metrics-otlp-proto": "0.56.0", + "@opentelemetry/exporter-metrics-otlp-http": "0.56.0", + "@opentelemetry/exporter-prometheus": "0.56.0", "@opentelemetry/resources": "1.29.0", "@opentelemetry/sdk-logs": "0.56.0", "@opentelemetry/sdk-metrics": "1.29.0", diff --git a/experimental/packages/opentelemetry-sdk-node/src/sdk.ts b/experimental/packages/opentelemetry-sdk-node/src/sdk.ts index bd604c760a1..7e9b7dde0da 100644 --- a/experimental/packages/opentelemetry-sdk-node/src/sdk.ts +++ b/experimental/packages/opentelemetry-sdk-node/src/sdk.ts @@ -48,7 +48,17 @@ import { import { OTLPLogExporter as OTLPHttpLogExporter } from '@opentelemetry/exporter-logs-otlp-http'; import { OTLPLogExporter as OTLPGrpcLogExporter } from '@opentelemetry/exporter-logs-otlp-grpc'; import { OTLPLogExporter as OTLPProtoLogExporter } from '@opentelemetry/exporter-logs-otlp-proto'; -import { MeterProvider, MetricReader, View } from '@opentelemetry/sdk-metrics'; +import { OTLPMetricExporter as OTLPGrpcMetricExporter } from '@opentelemetry/exporter-metrics-otlp-grpc'; +import { OTLPMetricExporter as OTLPProtoMetricExporter } from '@opentelemetry/exporter-metrics-otlp-proto'; +import { OTLPMetricExporter as OTLPHttpMetricExporter } from '@opentelemetry/exporter-metrics-otlp-http'; +import { PrometheusExporter as PrometheusMetricExporter } from '@opentelemetry/exporter-prometheus'; +import { + MeterProvider, + MetricReader, + View, + ConsoleMetricExporter, + PeriodicExportingMetricReader, +} from '@opentelemetry/sdk-metrics'; import { BatchSpanProcessor, SpanProcessor, @@ -86,6 +96,107 @@ export type LoggerProviderConfig = { logRecordProcessors: LogRecordProcessor[]; }; +/** + * @Returns param value, if set else returns the default value + */ +function getValueInMillis(envName: string, defaultValue: number): number { + return parseInt(process.env[envName] || '') || defaultValue; +} + +/** + * + * @returns MetricReader[] if appropriate environment variables are configured + */ +function configureMetricProviderFromEnv(): MetricReader[] { + const metricReaders: MetricReader[] = []; + const metricsExporterList = process.env.OTEL_METRICS_EXPORTER?.trim(); + if (!metricsExporterList) { + return metricReaders; + } + const enabledExporters = filterBlanksAndNulls(metricsExporterList.split(',')); + + if (enabledExporters.length === 0) { + diag.info('OTEL_METRICS_EXPORTER is empty. Using default otlp exporter.'); + } + + if (enabledExporters.includes('none')) { + diag.info( + `OTEL_METRICS_EXPORTER contains "none". Metric provider will not be initialized.` + ); + return metricReaders; + } + enabledExporters.forEach(exporter => { + if (exporter === 'otlp') { + const protocol = + process.env.OTEL_EXPORTER_OTLP_METRICS_PROTOCOL?.trim() || + process.env.OTEL_EXPORTER_OTLP_PROTOCOL?.trim(); + + const exportIntervalMillis = getValueInMillis( + 'OTEL_METRIC_EXPORT_INTERVAL', + 60000 + ); + const exportTimeoutMillis = getValueInMillis( + 'OTEL_METRIC_EXPORT_TIMEOUT', + 30000 + ); + + switch (protocol) { + case 'grpc': + metricReaders.push( + new PeriodicExportingMetricReader({ + exporter: new OTLPGrpcMetricExporter(), + exportIntervalMillis: exportIntervalMillis, + exportTimeoutMillis: exportTimeoutMillis, + }) + ); + break; + case 'http/json': + metricReaders.push( + new PeriodicExportingMetricReader({ + exporter: new OTLPHttpMetricExporter(), + exportIntervalMillis: exportIntervalMillis, + exportTimeoutMillis: exportTimeoutMillis, + }) + ); + break; + case 'http/protobuf': + metricReaders.push( + new PeriodicExportingMetricReader({ + exporter: new OTLPProtoMetricExporter(), + exportIntervalMillis: exportIntervalMillis, + exportTimeoutMillis: exportTimeoutMillis, + }) + ); + break; + default: + diag.warn( + `Unsupported OTLP metrics protocol: "${protocol}". Using http/protobuf.` + ); + metricReaders.push( + new PeriodicExportingMetricReader({ + exporter: new OTLPProtoMetricExporter(), + exportIntervalMillis: exportIntervalMillis, + exportTimeoutMillis: exportTimeoutMillis, + }) + ); + } + } else if (exporter === 'console') { + metricReaders.push( + new PeriodicExportingMetricReader({ + exporter: new ConsoleMetricExporter(), + }) + ); + } else if (exporter === 'prometheus') { + metricReaders.push(new PrometheusMetricExporter()); + } else { + diag.warn( + `Unsupported OTEL_METRICS_EXPORTER value: "${exporter}". Supported values are: otlp, console, prometheus, none.` + ); + } + }); + + return metricReaders; +} export class NodeSDK { private _tracerProviderConfig?: { tracerConfig: NodeTracerConfig; @@ -290,11 +401,18 @@ export class NodeSDK { logs.setGlobalLoggerProvider(loggerProvider); } - if (this._meterProviderConfig) { + const metricReadersFromEnv: MetricReader[] = + configureMetricProviderFromEnv(); + if (this._meterProviderConfig || metricReadersFromEnv.length > 0) { const readers: MetricReader[] = []; - if (this._meterProviderConfig.reader) { + if (this._meterProviderConfig?.reader) { readers.push(this._meterProviderConfig.reader); } + + if (readers.length === 0) { + metricReadersFromEnv.forEach((r: MetricReader) => readers.push(r)); + } + const meterProvider = new MeterProvider({ resource: this._resource, views: this._meterProviderConfig?.views ?? [], @@ -303,7 +421,6 @@ export class NodeSDK { }); this._meterProvider = meterProvider; - metrics.setGlobalMeterProvider(meterProvider); // TODO: This is a workaround to fix https://github.com/open-telemetry/opentelemetry-js/issues/3609 diff --git a/experimental/packages/opentelemetry-sdk-node/test/sdk.test.ts b/experimental/packages/opentelemetry-sdk-node/test/sdk.test.ts index e5d248889a2..0032517e33c 100644 --- a/experimental/packages/opentelemetry-sdk-node/test/sdk.test.ts +++ b/experimental/packages/opentelemetry-sdk-node/test/sdk.test.ts @@ -39,6 +39,10 @@ import { PeriodicExportingMetricReader, View, } from '@opentelemetry/sdk-metrics'; +import { OTLPMetricExporter as OTLPGrpcMetricExporter } from '@opentelemetry/exporter-metrics-otlp-grpc'; +import { OTLPMetricExporter as OTLPProtoMetricExporter } from '@opentelemetry/exporter-metrics-otlp-proto'; +import { OTLPMetricExporter as OTLPHttpMetricExporter } from '@opentelemetry/exporter-metrics-otlp-http'; +import { PrometheusExporter as PrometheusMetricExporter } from '@opentelemetry/exporter-prometheus'; import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node'; import { assertServiceInstanceIdIsUUID, @@ -121,6 +125,7 @@ describe('Node SDK', () => { // which sets up an exporter and affects the context manager env.OTEL_TRACES_EXPORTER = 'none'; env.OTEL_LOGS_EXPORTER = 'none'; + env.OTEL_METRIC_EXPORTER = 'none'; const sdk = new NodeSDK({ autoDetectResources: false, }); @@ -149,6 +154,7 @@ describe('Node SDK', () => { 'logger provider should not have changed' ); delete env.OTEL_TRACES_EXPORTER; + delete env.OTEL_METRICS_EXPORTER; await sdk.shutdown(); }); @@ -1095,6 +1101,234 @@ describe('Node SDK', () => { await sdk.shutdown(); }); }); + + describe('configuring metric provider from env', () => { + let stubLogger: Sinon.SinonStub; + + beforeEach(() => { + stubLogger = Sinon.stub(diag, 'info'); + }); + + afterEach(() => { + stubLogger.reset(); + delete env.OTEL_METRICS_EXPORTER; + delete env.OTEL_EXPORTER_OTLP_METRICS_PROTOCOL; + delete env.OTEL_EXPORTER_METRICS_PROTOCOL; + }); + + it('should not register the provider if OTEL_METRICS_EXPORTER is not set', async () => { + const sdk = new NodeSDK(); + sdk.start(); + assert.ok(!(metrics.getMeterProvider() instanceof MeterProvider)); + await sdk.shutdown(); + }); + + it('should not register the provider if OTEL_METRICS_EXPORTER contains none', async () => { + env.OTEL_METRICS_EXPORTER = 'console,none'; + const sdk = new NodeSDK(); + sdk.start(); + assert.ok(!(metrics.getMeterProvider() instanceof MeterProvider)); + assert.strictEqual( + stubLogger.args[1][0], + 'OTEL_METRICS_EXPORTER contains "none". Metric provider will not be initialized.' + ); + await sdk.shutdown(); + }); + + it('should use console with default interval and timeout', async () => { + env.OTEL_METRICS_EXPORTER = 'console'; + const sdk = new NodeSDK(); + sdk.start(); + const meterProvider = metrics.getMeterProvider(); + const sharedState = (meterProvider as any)['_sharedState']; + assert( + sharedState.metricCollectors[0]._metricReader._exporter instanceof + ConsoleMetricExporter + ); + assert.strictEqual( + sharedState.metricCollectors[0]._metricReader._exportInterval, + 60000 + ); + assert.strictEqual( + sharedState.metricCollectors[0]._metricReader._exportTimeout, + 30000 + ); + await sdk.shutdown(); + }); + + it('should use otlp with gRPC and default interval and timeout', async () => { + env.OTEL_METRICS_EXPORTER = 'otlp'; + env.OTEL_EXPORTER_OTLP_METRICS_PROTOCOL = 'grpc'; + const sdk = new NodeSDK(); + sdk.start(); + const meterProvider = metrics.getMeterProvider(); + const sharedState = (meterProvider as any)['_sharedState']; + assert( + sharedState.metricCollectors[0]._metricReader._exporter instanceof + OTLPGrpcMetricExporter + ); + assert.strictEqual( + sharedState.metricCollectors[0]._metricReader._exportInterval, + 60000 + ); + assert.strictEqual( + sharedState.metricCollectors[0]._metricReader._exportTimeout, + 30000 + ); + await sdk.shutdown(); + }); + + it('should use otlp with http/protobuf and default interval and timeout', async () => { + env.OTEL_METRICS_EXPORTER = 'otlp'; + env.OTEL_EXPORTER_OTLP_METRICS_PROTOCOL = 'http/protobuf'; + const sdk = new NodeSDK(); + sdk.start(); + const meterProvider = metrics.getMeterProvider(); + const sharedState = (meterProvider as any)['_sharedState']; + assert( + sharedState.metricCollectors[0]._metricReader._exporter instanceof + OTLPProtoMetricExporter + ); + assert.strictEqual( + sharedState.metricCollectors[0]._metricReader._exportInterval, + 60000 + ); + assert.strictEqual( + sharedState.metricCollectors[0]._metricReader._exportTimeout, + 30000 + ); + await sdk.shutdown(); + }); + + it('should use otlp with http/json and default interval and timeout', async () => { + env.OTEL_METRICS_EXPORTER = 'otlp'; + env.OTEL_EXPORTER_OTLP_METRICS_PROTOCOL = 'http/json'; + const sdk = new NodeSDK(); + sdk.start(); + const meterProvider = metrics.getMeterProvider(); + const sharedState = (meterProvider as any)['_sharedState']; + assert( + sharedState.metricCollectors[0]._metricReader._exporter instanceof + OTLPHttpMetricExporter + ); + assert.strictEqual( + sharedState.metricCollectors[0]._metricReader._exportInterval, + 60000 + ); + assert.strictEqual( + sharedState.metricCollectors[0]._metricReader._exportTimeout, + 30000 + ); + await sdk.shutdown(); + }); + + it('should fall back to OTEL_EXPORTER_OTLP_PROTOCOL', async () => { + env.OTEL_METRICS_EXPORTER = 'otlp'; + env.OTEL_EXPORTER_OTLP_METRICS_PROTOCOL = 'grpc'; + const sdk = new NodeSDK(); + sdk.start(); + const meterProvider = metrics.getMeterProvider(); + const sharedState = (meterProvider as any)['_sharedState']; + assert( + sharedState.metricCollectors[0]._metricReader._exporter instanceof + OTLPGrpcMetricExporter + ); + assert.strictEqual( + sharedState.metricCollectors[0]._metricReader._exportInterval, + 60000 + ); + assert.strictEqual( + sharedState.metricCollectors[0]._metricReader._exportTimeout, + 30000 + ); + await sdk.shutdown(); + }); + + it('should fall back to http/protobuf if invalid protocol is set', async () => { + env.OTEL_METRICS_EXPORTER = 'otlp'; + env.OTEL_EXPORTER_OTLP_METRICS_PROTOCOL = 'grpcx'; + const sdk = new NodeSDK(); + sdk.start(); + const meterProvider = metrics.getMeterProvider(); + const sharedState = (meterProvider as any)['_sharedState']; + assert( + sharedState.metricCollectors[0]._metricReader._exporter instanceof + OTLPProtoMetricExporter + ); + assert.strictEqual( + sharedState.metricCollectors[0]._metricReader._exportInterval, + 60000 + ); + assert.strictEqual( + sharedState.metricCollectors[0]._metricReader._exportTimeout, + 30000 + ); + await sdk.shutdown(); + }); + + it('should fall back to http/protobuf if protocol is not set', async () => { + env.OTEL_METRICS_EXPORTER = 'otlp'; + delete env.OTEL_EXPORTER_OTLP_METRICS_PROTOCOL; + const sdk = new NodeSDK(); + sdk.start(); + const meterProvider = metrics.getMeterProvider(); + const sharedState = (meterProvider as any)['_sharedState']; + assert( + sharedState.metricCollectors[0]._metricReader._exporter instanceof + OTLPProtoMetricExporter + ); + assert.strictEqual( + sharedState.metricCollectors[0]._metricReader._exportInterval, + 60000 + ); + assert.strictEqual( + sharedState.metricCollectors[0]._metricReader._exportTimeout, + 30000 + ); + await sdk.shutdown(); + }); + + it('should use otlp with http/protobuf and and use user defined flushing settings', async () => { + env.OTEL_METRICS_EXPORTER = 'otlp'; + env.OTEL_EXPORTER_OTLP_METRICS_PROTOCOL = 'http/protobuf'; + env.OTEL_METRIC_EXPORT_INTERVAL = '200'; + env.OTEL_METRIC_EXPORT_TIMEOUT = '150'; + delete env.OTEL_EXPORTER_OTLP_METRICS_PROTOCOL; + const sdk = new NodeSDK(); + sdk.start(); + const meterProvider = metrics.getMeterProvider(); + const sharedState = (meterProvider as any)['_sharedState']; + assert( + sharedState.metricCollectors[0]._metricReader._exporter instanceof + OTLPProtoMetricExporter + ); + assert.strictEqual( + sharedState.metricCollectors[0]._metricReader._exportInterval, + 200 + ); + assert.strictEqual( + sharedState.metricCollectors[0]._metricReader._exportTimeout, + 150 + ); + await sdk.shutdown(); + delete env.OTEL_METRIC_EXPORT_INTERVAL; + delete env.OTEL_METRIC_EXPORT_TIMEOUT; + }); + + it('should use prometheus if that is set ', async () => { + env.OTEL_METRICS_EXPORTER = 'prometheus'; + delete env.OTEL_EXPORTER_OTLP_METRICS_PROTOCOL; + const sdk = new NodeSDK(); + sdk.start(); + const meterProvider = metrics.getMeterProvider(); + const sharedState = (meterProvider as any)['_sharedState']; + assert( + sharedState.metricCollectors[0]._metricReader instanceof + PrometheusMetricExporter + ); + await sdk.shutdown(); + }); + }); }); describe('setup exporter from env', () => { diff --git a/experimental/packages/opentelemetry-sdk-node/tsconfig.json b/experimental/packages/opentelemetry-sdk-node/tsconfig.json index 07232313f06..7d18aac481d 100644 --- a/experimental/packages/opentelemetry-sdk-node/tsconfig.json +++ b/experimental/packages/opentelemetry-sdk-node/tsconfig.json @@ -60,6 +60,18 @@ { "path": "../exporter-trace-otlp-proto" }, + { + "path": "../opentelemetry-exporter-metrics-otlp-grpc" + }, + { + "path": "../opentelemetry-exporter-metrics-otlp-http" + }, + { + "path": "../opentelemetry-exporter-metrics-otlp-proto" + }, + { + "path": "../opentelemetry-exporter-prometheus" + }, { "path": "../opentelemetry-instrumentation" }, diff --git a/package-lock.json b/package-lock.json index f6bf3de9279..1a6fe32c131 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1048,6 +1048,10 @@ "@opentelemetry/exporter-logs-otlp-grpc": "0.56.0", "@opentelemetry/exporter-logs-otlp-http": "0.56.0", "@opentelemetry/exporter-logs-otlp-proto": "0.56.0", + "@opentelemetry/exporter-metrics-otlp-grpc": "0.56.0", + "@opentelemetry/exporter-metrics-otlp-http": "0.56.0", + "@opentelemetry/exporter-metrics-otlp-proto": "0.56.0", + "@opentelemetry/exporter-prometheus": "0.56.0", "@opentelemetry/exporter-trace-otlp-grpc": "0.56.0", "@opentelemetry/exporter-trace-otlp-http": "0.56.0", "@opentelemetry/exporter-trace-otlp-proto": "0.56.0", @@ -32580,6 +32584,10 @@ "@opentelemetry/exporter-logs-otlp-grpc": "0.56.0", "@opentelemetry/exporter-logs-otlp-http": "0.56.0", "@opentelemetry/exporter-logs-otlp-proto": "0.56.0", + "@opentelemetry/exporter-metrics-otlp-grpc": "0.56.0", + "@opentelemetry/exporter-metrics-otlp-http": "0.56.0", + "@opentelemetry/exporter-metrics-otlp-proto": "0.56.0", + "@opentelemetry/exporter-prometheus": "0.56.0", "@opentelemetry/exporter-trace-otlp-grpc": "0.56.0", "@opentelemetry/exporter-trace-otlp-http": "0.56.0", "@opentelemetry/exporter-trace-otlp-proto": "0.56.0", From 84cce753617a1195138cab3254e1b22f80982150 Mon Sep 17 00:00:00 2001 From: Marc Pichler Date: Fri, 13 Dec 2024 17:14:37 +0100 Subject: [PATCH 13/18] refactor(otlp-transformer): re-structure package to prepare for separate entrypoints (#5264) --- experimental/CHANGELOG.md | 2 + .../common/{types.ts => internal-types.ts} | 9 ++ .../otlp-transformer/src/common/internal.ts | 15 ++- .../protobuf/protobuf-export-type.ts | 0 .../src/common/{index.ts => utils.ts} | 2 +- .../src/{common => }/i-serializer.ts | 0 .../packages/otlp-transformer/src/index.ts | 27 ++-- .../otlp-transformer/src/json/serializers.ts | 81 ------------ .../src/logs/export-response.ts | 28 +++++ .../otlp-transformer/src/logs/index.ts | 107 +--------------- .../src/logs/{types.ts => internal-types.ts} | 17 +-- .../otlp-transformer/src/logs/internal.ts | 118 +++++++++++++++++ .../{resource/types.ts => logs/json/index.ts} | 12 +- .../otlp-transformer/src/logs/json/logs.ts | 40 ++++++ .../internal.ts => logs/protobuf/index.ts} | 10 +- .../src/logs/protobuf/logs.ts | 46 +++++++ .../src/metrics/export-response.ts | 28 +++++ .../otlp-transformer/src/metrics/index.ts | 19 +-- .../metrics/{types.ts => internal-types.ts} | 21 +--- .../otlp-transformer/src/metrics/internal.ts | 25 +++- .../src/metrics/json/index.ts | 18 +++ .../src/metrics/json/metrics.ts | 36 ++++++ .../src/metrics/protobuf/index.ts | 18 +++ .../src/metrics/protobuf/metrics.ts | 42 +++++++ .../src/protobuf/serializers.ts | 97 -------------- .../src/trace/export-response.ts | 28 +++++ .../otlp-transformer/src/trace/index.ts | 98 +-------------- .../src/trace/{types.ts => internal-types.ts} | 21 +--- .../otlp-transformer/src/trace/internal.ts | 119 +++++++++++++++++- .../otlp-transformer/src/trace/json/index.ts | 18 +++ .../otlp-transformer/src/trace/json/trace.ts | 37 ++++++ .../src/trace/protobuf/index.ts | 18 +++ .../src/trace/protobuf/trace.ts | 42 +++++++ .../otlp-transformer/test/common.test.ts | 2 +- .../otlp-transformer/test/logs.test.ts | 12 +- .../otlp-transformer/test/metrics.test.ts | 9 +- .../test/performance/benchmark/index.js | 10 +- .../otlp-transformer/test/trace.test.ts | 9 +- 38 files changed, 746 insertions(+), 495 deletions(-) rename experimental/packages/otlp-transformer/src/common/{types.ts => internal-types.ts} (91%) rename experimental/packages/otlp-transformer/src/{ => common}/protobuf/protobuf-export-type.ts (100%) rename experimental/packages/otlp-transformer/src/common/{index.ts => utils.ts} (97%) rename experimental/packages/otlp-transformer/src/{common => }/i-serializer.ts (100%) delete mode 100644 experimental/packages/otlp-transformer/src/json/serializers.ts create mode 100644 experimental/packages/otlp-transformer/src/logs/export-response.ts rename experimental/packages/otlp-transformer/src/logs/{types.ts => internal-types.ts} (87%) create mode 100644 experimental/packages/otlp-transformer/src/logs/internal.ts rename experimental/packages/otlp-transformer/src/{resource/types.ts => logs/json/index.ts} (71%) create mode 100644 experimental/packages/otlp-transformer/src/logs/json/logs.ts rename experimental/packages/otlp-transformer/src/{resource/internal.ts => logs/protobuf/index.ts} (65%) create mode 100644 experimental/packages/otlp-transformer/src/logs/protobuf/logs.ts create mode 100644 experimental/packages/otlp-transformer/src/metrics/export-response.ts rename experimental/packages/otlp-transformer/src/metrics/{types.ts => internal-types.ts} (95%) create mode 100644 experimental/packages/otlp-transformer/src/metrics/json/index.ts create mode 100644 experimental/packages/otlp-transformer/src/metrics/json/metrics.ts create mode 100644 experimental/packages/otlp-transformer/src/metrics/protobuf/index.ts create mode 100644 experimental/packages/otlp-transformer/src/metrics/protobuf/metrics.ts delete mode 100644 experimental/packages/otlp-transformer/src/protobuf/serializers.ts create mode 100644 experimental/packages/otlp-transformer/src/trace/export-response.ts rename experimental/packages/otlp-transformer/src/trace/{types.ts => internal-types.ts} (90%) create mode 100644 experimental/packages/otlp-transformer/src/trace/json/index.ts create mode 100644 experimental/packages/otlp-transformer/src/trace/json/trace.ts create mode 100644 experimental/packages/otlp-transformer/src/trace/protobuf/index.ts create mode 100644 experimental/packages/otlp-transformer/src/trace/protobuf/trace.ts diff --git a/experimental/CHANGELOG.md b/experimental/CHANGELOG.md index f8c6110c344..881b34576a8 100644 --- a/experimental/CHANGELOG.md +++ b/experimental/CHANGELOG.md @@ -17,6 +17,8 @@ All notable changes to experimental packages in this project will be documented ### :house: (Internal) +* refactor(otlp-transformer): re-structure package to prepare for separate entrypoints [#5264](https://github.com/open-telemetry/opentelemetry-js/pull/5264) @pichlermarc + ## 0.56.0 ### :boom: Breaking Change diff --git a/experimental/packages/otlp-transformer/src/common/types.ts b/experimental/packages/otlp-transformer/src/common/internal-types.ts similarity index 91% rename from experimental/packages/otlp-transformer/src/common/types.ts rename to experimental/packages/otlp-transformer/src/common/internal-types.ts index 732944f2e09..b3026f121a1 100644 --- a/experimental/packages/otlp-transformer/src/common/types.ts +++ b/experimental/packages/otlp-transformer/src/common/internal-types.ts @@ -14,6 +14,15 @@ * limitations under the License. */ +/** Properties of a Resource. */ +export interface IResource { + /** Resource attributes */ + attributes: IKeyValue[]; + + /** Resource droppedAttributesCount */ + droppedAttributesCount: number; +} + /** Properties of an InstrumentationScope. */ export interface IInstrumentationScope { /** InstrumentationScope name */ diff --git a/experimental/packages/otlp-transformer/src/common/internal.ts b/experimental/packages/otlp-transformer/src/common/internal.ts index 8755362bb34..0deeb1d51f2 100644 --- a/experimental/packages/otlp-transformer/src/common/internal.ts +++ b/experimental/packages/otlp-transformer/src/common/internal.ts @@ -13,9 +13,22 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import type { IAnyValue, IInstrumentationScope, IKeyValue } from './types'; +import type { + IAnyValue, + IInstrumentationScope, + IKeyValue, + IResource, +} from './internal-types'; import { Attributes } from '@opentelemetry/api'; import { InstrumentationScope } from '@opentelemetry/core'; +import { IResource as ISdkResource } from '@opentelemetry/resources'; + +export function createResource(resource: ISdkResource): IResource { + return { + attributes: toAttributes(resource.attributes), + droppedAttributesCount: 0, + }; +} export function createInstrumentationScope( scope: InstrumentationScope diff --git a/experimental/packages/otlp-transformer/src/protobuf/protobuf-export-type.ts b/experimental/packages/otlp-transformer/src/common/protobuf/protobuf-export-type.ts similarity index 100% rename from experimental/packages/otlp-transformer/src/protobuf/protobuf-export-type.ts rename to experimental/packages/otlp-transformer/src/common/protobuf/protobuf-export-type.ts diff --git a/experimental/packages/otlp-transformer/src/common/index.ts b/experimental/packages/otlp-transformer/src/common/utils.ts similarity index 97% rename from experimental/packages/otlp-transformer/src/common/index.ts rename to experimental/packages/otlp-transformer/src/common/utils.ts index 96d281bad6f..1d3fd73c580 100644 --- a/experimental/packages/otlp-transformer/src/common/index.ts +++ b/experimental/packages/otlp-transformer/src/common/utils.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import type { OtlpEncodingOptions, Fixed64, LongBits } from './types'; +import type { OtlpEncodingOptions, Fixed64, LongBits } from './internal-types'; import { HrTime } from '@opentelemetry/api'; import { hexToBinary, hrTimeToNanoseconds } from '@opentelemetry/core'; diff --git a/experimental/packages/otlp-transformer/src/common/i-serializer.ts b/experimental/packages/otlp-transformer/src/i-serializer.ts similarity index 100% rename from experimental/packages/otlp-transformer/src/common/i-serializer.ts rename to experimental/packages/otlp-transformer/src/i-serializer.ts diff --git a/experimental/packages/otlp-transformer/src/index.ts b/experimental/packages/otlp-transformer/src/index.ts index 18cc064bbcd..8b5832d66a6 100644 --- a/experimental/packages/otlp-transformer/src/index.ts +++ b/experimental/packages/otlp-transformer/src/index.ts @@ -17,26 +17,19 @@ export { IExportMetricsPartialSuccess, IExportMetricsServiceResponse, -} from './metrics/types'; +} from './metrics'; export { IExportTracePartialSuccess, IExportTraceServiceResponse, -} from './trace/types'; -export { - IExportLogsServiceResponse, - IExportLogsPartialSuccess, -} from './logs/types'; +} from './trace'; +export { IExportLogsServiceResponse, IExportLogsPartialSuccess } from './logs'; -export { - ProtobufLogsSerializer, - ProtobufMetricsSerializer, - ProtobufTraceSerializer, -} from './protobuf/serializers'; +export { ProtobufLogsSerializer } from './logs/protobuf'; +export { ProtobufMetricsSerializer } from './metrics/protobuf'; +export { ProtobufTraceSerializer } from './trace/protobuf'; -export { - JsonTraceSerializer, - JsonLogsSerializer, - JsonMetricsSerializer, -} from './json/serializers'; +export { JsonLogsSerializer } from './logs/json'; +export { JsonMetricsSerializer } from './metrics/json'; +export { JsonTraceSerializer } from './trace/json'; -export { ISerializer } from './common/i-serializer'; +export { ISerializer } from './i-serializer'; diff --git a/experimental/packages/otlp-transformer/src/json/serializers.ts b/experimental/packages/otlp-transformer/src/json/serializers.ts deleted file mode 100644 index c187d6309b9..00000000000 --- a/experimental/packages/otlp-transformer/src/json/serializers.ts +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright The OpenTelemetry Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { ISerializer } from '../common/i-serializer'; -import { ReadableSpan } from '@opentelemetry/sdk-trace-base'; -import { IExportTraceServiceResponse } from '../trace/types'; -import { createExportTraceServiceRequest } from '../trace'; -import { ResourceMetrics } from '@opentelemetry/sdk-metrics'; -import { createExportMetricsServiceRequest } from '../metrics'; -import { ReadableLogRecord } from '@opentelemetry/sdk-logs'; -import { IExportMetricsServiceResponse } from '../metrics/types'; -import { IExportLogsServiceResponse } from '../logs/types'; -import { createExportLogsServiceRequest } from '../logs'; - -export const JsonTraceSerializer: ISerializer< - ReadableSpan[], - IExportTraceServiceResponse -> = { - serializeRequest: (arg: ReadableSpan[]) => { - const request = createExportTraceServiceRequest(arg, { - useHex: true, - useLongBits: false, - }); - const encoder = new TextEncoder(); - return encoder.encode(JSON.stringify(request)); - }, - deserializeResponse: (arg: Uint8Array) => { - const decoder = new TextDecoder(); - return JSON.parse(decoder.decode(arg)) as IExportTraceServiceResponse; - }, -}; - -export const JsonMetricsSerializer: ISerializer< - ResourceMetrics, - IExportMetricsServiceResponse -> = { - serializeRequest: (arg: ResourceMetrics) => { - const request = createExportMetricsServiceRequest([arg], { - useLongBits: false, - }); - const encoder = new TextEncoder(); - return encoder.encode(JSON.stringify(request)); - }, - deserializeResponse: (arg: Uint8Array) => { - const decoder = new TextDecoder(); - return JSON.parse(decoder.decode(arg)) as IExportMetricsServiceResponse; - }, -}; - -/* - * @experimental this serializer may receive breaking changes in minor versions, pin this package's version when using this constant - */ -export const JsonLogsSerializer: ISerializer< - ReadableLogRecord[], - IExportLogsServiceResponse -> = { - serializeRequest: (arg: ReadableLogRecord[]) => { - const request = createExportLogsServiceRequest(arg, { - useHex: true, - useLongBits: false, - }); - const encoder = new TextEncoder(); - return encoder.encode(JSON.stringify(request)); - }, - deserializeResponse: (arg: Uint8Array) => { - const decoder = new TextDecoder(); - return JSON.parse(decoder.decode(arg)) as IExportLogsServiceResponse; - }, -}; diff --git a/experimental/packages/otlp-transformer/src/logs/export-response.ts b/experimental/packages/otlp-transformer/src/logs/export-response.ts new file mode 100644 index 00000000000..55a62da77d5 --- /dev/null +++ b/experimental/packages/otlp-transformer/src/logs/export-response.ts @@ -0,0 +1,28 @@ +/* + * Copyright The OpenTelemetry Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export interface IExportLogsServiceResponse { + /** ExportLogsServiceResponse partialSuccess */ + partialSuccess?: IExportLogsPartialSuccess; +} + +export interface IExportLogsPartialSuccess { + /** ExportLogsPartialSuccess rejectedLogRecords */ + rejectedLogRecords?: number; + + /** ExportLogsPartialSuccess errorMessage */ + errorMessage?: string; +} diff --git a/experimental/packages/otlp-transformer/src/logs/index.ts b/experimental/packages/otlp-transformer/src/logs/index.ts index 73013c0e260..2578d9b43a1 100644 --- a/experimental/packages/otlp-transformer/src/logs/index.ts +++ b/experimental/packages/otlp-transformer/src/logs/index.ts @@ -14,105 +14,8 @@ * limitations under the License. */ -import type { ReadableLogRecord } from '@opentelemetry/sdk-logs'; -import { - ESeverityNumber, - IExportLogsServiceRequest, - ILogRecord, - IResourceLogs, -} from './types'; -import { IResource } from '@opentelemetry/resources'; -import { Encoder, getOtlpEncoder } from '../common'; -import { - createInstrumentationScope, - toAnyValue, - toKeyValue, -} from '../common/internal'; -import { SeverityNumber } from '@opentelemetry/api-logs'; -import { OtlpEncodingOptions, IKeyValue } from '../common/types'; -import { LogAttributes } from '@opentelemetry/api-logs'; -import { createResource } from '../resource/internal'; - -export function createExportLogsServiceRequest( - logRecords: ReadableLogRecord[], - options?: OtlpEncodingOptions -): IExportLogsServiceRequest { - const encoder = getOtlpEncoder(options); - return { - resourceLogs: logRecordsToResourceLogs(logRecords, encoder), - }; -} - -function createResourceMap( - logRecords: ReadableLogRecord[] -): Map> { - const resourceMap: Map< - IResource, - Map - > = new Map(); - - for (const record of logRecords) { - const { - resource, - instrumentationScope: { name, version = '', schemaUrl = '' }, - } = record; - - let ismMap = resourceMap.get(resource); - if (!ismMap) { - ismMap = new Map(); - resourceMap.set(resource, ismMap); - } - - const ismKey = `${name}@${version}:${schemaUrl}`; - let records = ismMap.get(ismKey); - if (!records) { - records = []; - ismMap.set(ismKey, records); - } - records.push(record); - } - return resourceMap; -} - -function logRecordsToResourceLogs( - logRecords: ReadableLogRecord[], - encoder: Encoder -): IResourceLogs[] { - const resourceMap = createResourceMap(logRecords); - return Array.from(resourceMap, ([resource, ismMap]) => ({ - resource: createResource(resource), - scopeLogs: Array.from(ismMap, ([, scopeLogs]) => { - return { - scope: createInstrumentationScope(scopeLogs[0].instrumentationScope), - logRecords: scopeLogs.map(log => toLogRecord(log, encoder)), - schemaUrl: scopeLogs[0].instrumentationScope.schemaUrl, - }; - }), - schemaUrl: undefined, - })); -} - -function toLogRecord(log: ReadableLogRecord, encoder: Encoder): ILogRecord { - return { - timeUnixNano: encoder.encodeHrTime(log.hrTime), - observedTimeUnixNano: encoder.encodeHrTime(log.hrTimeObserved), - severityNumber: toSeverityNumber(log.severityNumber), - severityText: log.severityText, - body: toAnyValue(log.body), - attributes: toLogAttributes(log.attributes), - droppedAttributesCount: log.droppedAttributesCount, - flags: log.spanContext?.traceFlags, - traceId: encoder.encodeOptionalSpanContext(log.spanContext?.traceId), - spanId: encoder.encodeOptionalSpanContext(log.spanContext?.spanId), - }; -} - -function toSeverityNumber( - severityNumber: SeverityNumber | undefined -): ESeverityNumber | undefined { - return severityNumber as number | undefined as ESeverityNumber | undefined; -} - -export function toLogAttributes(attributes: LogAttributes): IKeyValue[] { - return Object.keys(attributes).map(key => toKeyValue(key, attributes[key])); -} +// IMPORTANT: exports added here are public +export { + IExportLogsServiceResponse, + IExportLogsPartialSuccess, +} from './export-response'; diff --git a/experimental/packages/otlp-transformer/src/logs/types.ts b/experimental/packages/otlp-transformer/src/logs/internal-types.ts similarity index 87% rename from experimental/packages/otlp-transformer/src/logs/types.ts rename to experimental/packages/otlp-transformer/src/logs/internal-types.ts index 57c5422cbb4..28917fbd74f 100644 --- a/experimental/packages/otlp-transformer/src/logs/types.ts +++ b/experimental/packages/otlp-transformer/src/logs/internal-types.ts @@ -19,8 +19,8 @@ import type { IAnyValue, IInstrumentationScope, IKeyValue, -} from '../common/types'; -import type { IResource } from '../resource/types'; + IResource, +} from '../common/internal-types'; /** Properties of an ExportLogsServiceRequest. */ export interface IExportLogsServiceRequest { @@ -28,19 +28,6 @@ export interface IExportLogsServiceRequest { resourceLogs?: IResourceLogs[]; } -export interface IExportLogsServiceResponse { - /** ExportLogsServiceResponse partialSuccess */ - partialSuccess?: IExportLogsPartialSuccess; -} - -export interface IExportLogsPartialSuccess { - /** ExportLogsPartialSuccess rejectedLogRecords */ - rejectedLogRecords?: number; - - /** ExportLogsPartialSuccess errorMessage */ - errorMessage?: string; -} - /** Properties of a ResourceLogs. */ export interface IResourceLogs { /** ResourceLogs resource */ diff --git a/experimental/packages/otlp-transformer/src/logs/internal.ts b/experimental/packages/otlp-transformer/src/logs/internal.ts new file mode 100644 index 00000000000..53fe9ea6688 --- /dev/null +++ b/experimental/packages/otlp-transformer/src/logs/internal.ts @@ -0,0 +1,118 @@ +/* + * Copyright The OpenTelemetry Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import type { ReadableLogRecord } from '@opentelemetry/sdk-logs'; +import { + ESeverityNumber, + IExportLogsServiceRequest, + ILogRecord, + IResourceLogs, +} from './internal-types'; +import { IResource } from '@opentelemetry/resources'; +import { Encoder, getOtlpEncoder } from '../common/utils'; +import { + createInstrumentationScope, + createResource, + toAnyValue, + toKeyValue, +} from '../common/internal'; +import { SeverityNumber } from '@opentelemetry/api-logs'; +import { OtlpEncodingOptions, IKeyValue } from '../common/internal-types'; +import { LogAttributes } from '@opentelemetry/api-logs'; + +export function createExportLogsServiceRequest( + logRecords: ReadableLogRecord[], + options?: OtlpEncodingOptions +): IExportLogsServiceRequest { + const encoder = getOtlpEncoder(options); + return { + resourceLogs: logRecordsToResourceLogs(logRecords, encoder), + }; +} + +function createResourceMap( + logRecords: ReadableLogRecord[] +): Map> { + const resourceMap: Map< + IResource, + Map + > = new Map(); + + for (const record of logRecords) { + const { + resource, + instrumentationScope: { name, version = '', schemaUrl = '' }, + } = record; + + let ismMap = resourceMap.get(resource); + if (!ismMap) { + ismMap = new Map(); + resourceMap.set(resource, ismMap); + } + + const ismKey = `${name}@${version}:${schemaUrl}`; + let records = ismMap.get(ismKey); + if (!records) { + records = []; + ismMap.set(ismKey, records); + } + records.push(record); + } + return resourceMap; +} + +function logRecordsToResourceLogs( + logRecords: ReadableLogRecord[], + encoder: Encoder +): IResourceLogs[] { + const resourceMap = createResourceMap(logRecords); + return Array.from(resourceMap, ([resource, ismMap]) => ({ + resource: createResource(resource), + scopeLogs: Array.from(ismMap, ([, scopeLogs]) => { + return { + scope: createInstrumentationScope(scopeLogs[0].instrumentationScope), + logRecords: scopeLogs.map(log => toLogRecord(log, encoder)), + schemaUrl: scopeLogs[0].instrumentationScope.schemaUrl, + }; + }), + schemaUrl: undefined, + })); +} + +function toLogRecord(log: ReadableLogRecord, encoder: Encoder): ILogRecord { + return { + timeUnixNano: encoder.encodeHrTime(log.hrTime), + observedTimeUnixNano: encoder.encodeHrTime(log.hrTimeObserved), + severityNumber: toSeverityNumber(log.severityNumber), + severityText: log.severityText, + body: toAnyValue(log.body), + attributes: toLogAttributes(log.attributes), + droppedAttributesCount: log.droppedAttributesCount, + flags: log.spanContext?.traceFlags, + traceId: encoder.encodeOptionalSpanContext(log.spanContext?.traceId), + spanId: encoder.encodeOptionalSpanContext(log.spanContext?.spanId), + }; +} + +function toSeverityNumber( + severityNumber: SeverityNumber | undefined +): ESeverityNumber | undefined { + return severityNumber as number | undefined as ESeverityNumber | undefined; +} + +export function toLogAttributes(attributes: LogAttributes): IKeyValue[] { + return Object.keys(attributes).map(key => toKeyValue(key, attributes[key])); +} diff --git a/experimental/packages/otlp-transformer/src/resource/types.ts b/experimental/packages/otlp-transformer/src/logs/json/index.ts similarity index 71% rename from experimental/packages/otlp-transformer/src/resource/types.ts rename to experimental/packages/otlp-transformer/src/logs/json/index.ts index 7755b756e91..039ac0af2ff 100644 --- a/experimental/packages/otlp-transformer/src/resource/types.ts +++ b/experimental/packages/otlp-transformer/src/logs/json/index.ts @@ -14,13 +14,5 @@ * limitations under the License. */ -import { IKeyValue } from '../common/types'; - -/** Properties of a Resource. */ -export interface IResource { - /** Resource attributes */ - attributes: IKeyValue[]; - - /** Resource droppedAttributesCount */ - droppedAttributesCount: number; -} +// IMPORTANT: exports added here are public +export { JsonLogsSerializer } from './logs'; diff --git a/experimental/packages/otlp-transformer/src/logs/json/logs.ts b/experimental/packages/otlp-transformer/src/logs/json/logs.ts new file mode 100644 index 00000000000..b9e6f6b15c9 --- /dev/null +++ b/experimental/packages/otlp-transformer/src/logs/json/logs.ts @@ -0,0 +1,40 @@ +/* + * Copyright The OpenTelemetry Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { ISerializer } from '../../i-serializer'; +import { ReadableLogRecord } from '@opentelemetry/sdk-logs'; +import { createExportLogsServiceRequest } from '../internal'; +import { IExportLogsServiceResponse } from '../export-response'; + +/* + * @experimental this serializer may receive breaking changes in minor versions, pin this package's version when using this constant + */ +export const JsonLogsSerializer: ISerializer< + ReadableLogRecord[], + IExportLogsServiceResponse +> = { + serializeRequest: (arg: ReadableLogRecord[]) => { + const request = createExportLogsServiceRequest(arg, { + useHex: true, + useLongBits: false, + }); + const encoder = new TextEncoder(); + return encoder.encode(JSON.stringify(request)); + }, + deserializeResponse: (arg: Uint8Array) => { + const decoder = new TextDecoder(); + return JSON.parse(decoder.decode(arg)) as IExportLogsServiceResponse; + }, +}; diff --git a/experimental/packages/otlp-transformer/src/resource/internal.ts b/experimental/packages/otlp-transformer/src/logs/protobuf/index.ts similarity index 65% rename from experimental/packages/otlp-transformer/src/resource/internal.ts rename to experimental/packages/otlp-transformer/src/logs/protobuf/index.ts index 93b69645080..af594b5bc2c 100644 --- a/experimental/packages/otlp-transformer/src/resource/internal.ts +++ b/experimental/packages/otlp-transformer/src/logs/protobuf/index.ts @@ -13,13 +13,5 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { IResource as ISdkResource } from '@opentelemetry/resources'; -import { toAttributes } from '../common/internal'; -import { IResource } from './types'; -export function createResource(resource: ISdkResource): IResource { - return { - attributes: toAttributes(resource.attributes), - droppedAttributesCount: 0, - }; -} +export { ProtobufLogsSerializer } from './logs'; diff --git a/experimental/packages/otlp-transformer/src/logs/protobuf/logs.ts b/experimental/packages/otlp-transformer/src/logs/protobuf/logs.ts new file mode 100644 index 00000000000..a5b32453b68 --- /dev/null +++ b/experimental/packages/otlp-transformer/src/logs/protobuf/logs.ts @@ -0,0 +1,46 @@ +/* + * Copyright The OpenTelemetry Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import * as root from '../../generated/root'; + +import { IExportLogsServiceRequest } from '../internal-types'; +import { IExportLogsServiceResponse } from '../export-response'; + +import { createExportLogsServiceRequest } from '../internal'; +import { ReadableLogRecord } from '@opentelemetry/sdk-logs'; +import { ExportType } from '../../common/protobuf/protobuf-export-type'; +import { ISerializer } from '../../i-serializer'; + +const logsResponseType = root.opentelemetry.proto.collector.logs.v1 + .ExportLogsServiceResponse as ExportType; + +const logsRequestType = root.opentelemetry.proto.collector.logs.v1 + .ExportLogsServiceRequest as ExportType; + +/* + * @experimental this serializer may receive breaking changes in minor versions, pin this package's version when using this constant + */ +export const ProtobufLogsSerializer: ISerializer< + ReadableLogRecord[], + IExportLogsServiceResponse +> = { + serializeRequest: (arg: ReadableLogRecord[]) => { + const request = createExportLogsServiceRequest(arg); + return logsRequestType.encode(request).finish(); + }, + deserializeResponse: (arg: Uint8Array) => { + return logsResponseType.decode(arg); + }, +}; diff --git a/experimental/packages/otlp-transformer/src/metrics/export-response.ts b/experimental/packages/otlp-transformer/src/metrics/export-response.ts new file mode 100644 index 00000000000..79e09d0fd80 --- /dev/null +++ b/experimental/packages/otlp-transformer/src/metrics/export-response.ts @@ -0,0 +1,28 @@ +/* + * Copyright The OpenTelemetry Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export interface IExportMetricsServiceResponse { + /** ExportMetricsServiceResponse partialSuccess */ + partialSuccess?: IExportMetricsPartialSuccess; +} + +export interface IExportMetricsPartialSuccess { + /** ExportMetricsPartialSuccess rejectedDataPoints */ + rejectedDataPoints?: number; + + /** ExportMetricsPartialSuccess errorMessage */ + errorMessage?: string; +} diff --git a/experimental/packages/otlp-transformer/src/metrics/index.ts b/experimental/packages/otlp-transformer/src/metrics/index.ts index 9ef3c57d3d2..288a0dbbc8c 100644 --- a/experimental/packages/otlp-transformer/src/metrics/index.ts +++ b/experimental/packages/otlp-transformer/src/metrics/index.ts @@ -13,18 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import type { ResourceMetrics } from '@opentelemetry/sdk-metrics'; -import type { IExportMetricsServiceRequest } from './types'; -import type { OtlpEncodingOptions } from '../common/types'; -import { toResourceMetrics } from './internal'; -export function createExportMetricsServiceRequest( - resourceMetrics: ResourceMetrics[], - options?: OtlpEncodingOptions -): IExportMetricsServiceRequest { - return { - resourceMetrics: resourceMetrics.map(metrics => - toResourceMetrics(metrics, options) - ), - }; -} +// IMPORTANT: exports added here are public +export { + IExportMetricsPartialSuccess, + IExportMetricsServiceResponse, +} from './export-response'; diff --git a/experimental/packages/otlp-transformer/src/metrics/types.ts b/experimental/packages/otlp-transformer/src/metrics/internal-types.ts similarity index 95% rename from experimental/packages/otlp-transformer/src/metrics/types.ts rename to experimental/packages/otlp-transformer/src/metrics/internal-types.ts index 208c6aa6782..f210a88fe93 100644 --- a/experimental/packages/otlp-transformer/src/metrics/types.ts +++ b/experimental/packages/otlp-transformer/src/metrics/internal-types.ts @@ -13,8 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { Fixed64, IInstrumentationScope, IKeyValue } from '../common/types'; -import { IResource } from '../resource/types'; +import { + Fixed64, + IInstrumentationScope, + IKeyValue, + IResource, +} from '../common/internal-types'; /** Properties of an ExportMetricsServiceRequest. */ export interface IExportMetricsServiceRequest { @@ -22,19 +26,6 @@ export interface IExportMetricsServiceRequest { resourceMetrics: IResourceMetrics[]; } -export interface IExportMetricsServiceResponse { - /** ExportMetricsServiceResponse partialSuccess */ - partialSuccess?: IExportMetricsPartialSuccess; -} - -export interface IExportMetricsPartialSuccess { - /** ExportMetricsPartialSuccess rejectedDataPoints */ - rejectedDataPoints?: number; - - /** ExportMetricsPartialSuccess errorMessage */ - errorMessage?: string; -} - /** Properties of a ResourceMetrics. */ export interface IResourceMetrics { /** ResourceMetrics resource */ diff --git a/experimental/packages/otlp-transformer/src/metrics/internal.ts b/experimental/packages/otlp-transformer/src/metrics/internal.ts index fc13a807997..edcc0cddce8 100644 --- a/experimental/packages/otlp-transformer/src/metrics/internal.ts +++ b/experimental/packages/otlp-transformer/src/metrics/internal.ts @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import type { OtlpEncodingOptions } from '../common/types'; +import type { OtlpEncodingOptions } from '../common/internal-types'; import { ValueType } from '@opentelemetry/api'; import { AggregationTemporality, @@ -28,15 +28,19 @@ import { import { EAggregationTemporality, IExponentialHistogramDataPoint, + IExportMetricsServiceRequest, IHistogramDataPoint, IMetric, INumberDataPoint, IResourceMetrics, IScopeMetrics, -} from './types'; -import { Encoder, getOtlpEncoder } from '../common'; -import { createInstrumentationScope, toAttributes } from '../common/internal'; -import { createResource } from '../resource/internal'; +} from './internal-types'; +import { Encoder, getOtlpEncoder } from '../common/utils'; +import { + createInstrumentationScope, + createResource, + toAttributes, +} from '../common/internal'; export function toResourceMetrics( resourceMetrics: ResourceMetrics, @@ -201,3 +205,14 @@ function toAggregationTemporality( return EAggregationTemporality.AGGREGATION_TEMPORALITY_CUMULATIVE; } } + +export function createExportMetricsServiceRequest( + resourceMetrics: ResourceMetrics[], + options?: OtlpEncodingOptions +): IExportMetricsServiceRequest { + return { + resourceMetrics: resourceMetrics.map(metrics => + toResourceMetrics(metrics, options) + ), + }; +} diff --git a/experimental/packages/otlp-transformer/src/metrics/json/index.ts b/experimental/packages/otlp-transformer/src/metrics/json/index.ts new file mode 100644 index 00000000000..acd1af11c0d --- /dev/null +++ b/experimental/packages/otlp-transformer/src/metrics/json/index.ts @@ -0,0 +1,18 @@ +/* + * Copyright The OpenTelemetry Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// IMPORTANT: exports added here are public +export { JsonMetricsSerializer } from './metrics'; diff --git a/experimental/packages/otlp-transformer/src/metrics/json/metrics.ts b/experimental/packages/otlp-transformer/src/metrics/json/metrics.ts new file mode 100644 index 00000000000..9f7273cbc4f --- /dev/null +++ b/experimental/packages/otlp-transformer/src/metrics/json/metrics.ts @@ -0,0 +1,36 @@ +/* + * Copyright The OpenTelemetry Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { ISerializer } from '../../i-serializer'; +import { ResourceMetrics } from '@opentelemetry/sdk-metrics'; +import { createExportMetricsServiceRequest } from '../internal'; +import { IExportMetricsServiceResponse } from '../export-response'; + +export const JsonMetricsSerializer: ISerializer< + ResourceMetrics, + IExportMetricsServiceResponse +> = { + serializeRequest: (arg: ResourceMetrics) => { + const request = createExportMetricsServiceRequest([arg], { + useLongBits: false, + }); + const encoder = new TextEncoder(); + return encoder.encode(JSON.stringify(request)); + }, + deserializeResponse: (arg: Uint8Array) => { + const decoder = new TextDecoder(); + return JSON.parse(decoder.decode(arg)) as IExportMetricsServiceResponse; + }, +}; diff --git a/experimental/packages/otlp-transformer/src/metrics/protobuf/index.ts b/experimental/packages/otlp-transformer/src/metrics/protobuf/index.ts new file mode 100644 index 00000000000..72fc2f627a0 --- /dev/null +++ b/experimental/packages/otlp-transformer/src/metrics/protobuf/index.ts @@ -0,0 +1,18 @@ +/* + * Copyright The OpenTelemetry Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// IMPORTANT: exports added here are public +export { ProtobufMetricsSerializer } from './metrics'; diff --git a/experimental/packages/otlp-transformer/src/metrics/protobuf/metrics.ts b/experimental/packages/otlp-transformer/src/metrics/protobuf/metrics.ts new file mode 100644 index 00000000000..ee21ca93eb2 --- /dev/null +++ b/experimental/packages/otlp-transformer/src/metrics/protobuf/metrics.ts @@ -0,0 +1,42 @@ +/* + * Copyright The OpenTelemetry Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import * as root from '../../generated/root'; +import { ISerializer } from '../../i-serializer'; +import { IExportMetricsServiceRequest } from '../internal-types'; +import { ExportType } from '../../common/protobuf/protobuf-export-type'; +import { createExportMetricsServiceRequest } from '../internal'; +import { ResourceMetrics } from '@opentelemetry/sdk-metrics'; +import { IExportMetricsServiceResponse } from '../export-response'; + +const metricsResponseType = root.opentelemetry.proto.collector.metrics.v1 + .ExportMetricsServiceResponse as ExportType; + +const metricsRequestType = root.opentelemetry.proto.collector.metrics.v1 + .ExportMetricsServiceRequest as ExportType; + +export const ProtobufMetricsSerializer: ISerializer< + ResourceMetrics, + IExportMetricsServiceResponse +> = { + serializeRequest: (arg: ResourceMetrics) => { + const request = createExportMetricsServiceRequest([arg]); + return metricsRequestType.encode(request).finish(); + }, + deserializeResponse: (arg: Uint8Array) => { + return metricsResponseType.decode(arg); + }, +}; diff --git a/experimental/packages/otlp-transformer/src/protobuf/serializers.ts b/experimental/packages/otlp-transformer/src/protobuf/serializers.ts deleted file mode 100644 index 95b475695d9..00000000000 --- a/experimental/packages/otlp-transformer/src/protobuf/serializers.ts +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright The OpenTelemetry Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import * as root from '../generated/root'; -import { ISerializer } from '../common/i-serializer'; -import { - IExportMetricsServiceRequest, - IExportMetricsServiceResponse, -} from '../metrics/types'; -import { ExportType } from './protobuf-export-type'; -import { - IExportTraceServiceRequest, - IExportTraceServiceResponse, -} from '../trace/types'; -import { - IExportLogsServiceRequest, - IExportLogsServiceResponse, -} from '../logs/types'; -import { ReadableSpan } from '@opentelemetry/sdk-trace-base'; -import { createExportTraceServiceRequest } from '../trace'; -import { createExportMetricsServiceRequest } from '../metrics'; -import { ResourceMetrics } from '@opentelemetry/sdk-metrics'; -import { createExportLogsServiceRequest } from '../logs'; -import { ReadableLogRecord } from '@opentelemetry/sdk-logs'; - -const logsResponseType = root.opentelemetry.proto.collector.logs.v1 - .ExportLogsServiceResponse as ExportType; - -const logsRequestType = root.opentelemetry.proto.collector.logs.v1 - .ExportLogsServiceRequest as ExportType; - -const metricsResponseType = root.opentelemetry.proto.collector.metrics.v1 - .ExportMetricsServiceResponse as ExportType; - -const metricsRequestType = root.opentelemetry.proto.collector.metrics.v1 - .ExportMetricsServiceRequest as ExportType; - -const traceResponseType = root.opentelemetry.proto.collector.trace.v1 - .ExportTraceServiceResponse as ExportType; - -const traceRequestType = root.opentelemetry.proto.collector.trace.v1 - .ExportTraceServiceRequest as ExportType; - -/* - * @experimental this serializer may receive breaking changes in minor versions, pin this package's version when using this constant - */ -export const ProtobufLogsSerializer: ISerializer< - ReadableLogRecord[], - IExportLogsServiceResponse -> = { - serializeRequest: (arg: ReadableLogRecord[]) => { - const request = createExportLogsServiceRequest(arg); - return logsRequestType.encode(request).finish(); - }, - deserializeResponse: (arg: Uint8Array) => { - return logsResponseType.decode(arg); - }, -}; - -export const ProtobufMetricsSerializer: ISerializer< - ResourceMetrics, - IExportMetricsServiceResponse -> = { - serializeRequest: (arg: ResourceMetrics) => { - const request = createExportMetricsServiceRequest([arg]); - return metricsRequestType.encode(request).finish(); - }, - deserializeResponse: (arg: Uint8Array) => { - return metricsResponseType.decode(arg); - }, -}; - -export const ProtobufTraceSerializer: ISerializer< - ReadableSpan[], - IExportTraceServiceResponse -> = { - serializeRequest: (arg: ReadableSpan[]) => { - const request = createExportTraceServiceRequest(arg); - return traceRequestType.encode(request).finish(); - }, - deserializeResponse: (arg: Uint8Array) => { - return traceResponseType.decode(arg); - }, -}; diff --git a/experimental/packages/otlp-transformer/src/trace/export-response.ts b/experimental/packages/otlp-transformer/src/trace/export-response.ts new file mode 100644 index 00000000000..df8279f5764 --- /dev/null +++ b/experimental/packages/otlp-transformer/src/trace/export-response.ts @@ -0,0 +1,28 @@ +/* + * Copyright The OpenTelemetry Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export interface IExportTraceServiceResponse { + /** ExportTraceServiceResponse partialSuccess */ + partialSuccess?: IExportTracePartialSuccess; +} + +export interface IExportTracePartialSuccess { + /** ExportLogsServiceResponse rejectedLogRecords */ + rejectedSpans?: number; + + /** ExportLogsServiceResponse errorMessage */ + errorMessage?: string; +} diff --git a/experimental/packages/otlp-transformer/src/trace/index.ts b/experimental/packages/otlp-transformer/src/trace/index.ts index 9fef398c544..04ead47a2b9 100644 --- a/experimental/packages/otlp-transformer/src/trace/index.ts +++ b/experimental/packages/otlp-transformer/src/trace/index.ts @@ -13,97 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import type { IResource } from '@opentelemetry/resources'; -import type { ReadableSpan } from '@opentelemetry/sdk-trace-base'; -import type { OtlpEncodingOptions } from '../common/types'; -import { sdkSpanToOtlpSpan } from './internal'; -import { - IExportTraceServiceRequest, - IResourceSpans, - IScopeSpans, -} from './types'; -import { Encoder, getOtlpEncoder } from '../common'; -import { createInstrumentationScope } from '../common/internal'; -import { createResource } from '../resource/internal'; -export function createExportTraceServiceRequest( - spans: ReadableSpan[], - options?: OtlpEncodingOptions -): IExportTraceServiceRequest { - const encoder = getOtlpEncoder(options); - return { - resourceSpans: spanRecordsToResourceSpans(spans, encoder), - }; -} - -function createResourceMap(readableSpans: ReadableSpan[]) { - const resourceMap: Map> = new Map(); - for (const record of readableSpans) { - let ilmMap = resourceMap.get(record.resource); - - if (!ilmMap) { - ilmMap = new Map(); - resourceMap.set(record.resource, ilmMap); - } - - // TODO this is duplicated in basic tracer. Consolidate on a common helper in core - const instrumentationLibraryKey = `${record.instrumentationLibrary.name}@${ - record.instrumentationLibrary.version || '' - }:${record.instrumentationLibrary.schemaUrl || ''}`; - let records = ilmMap.get(instrumentationLibraryKey); - - if (!records) { - records = []; - ilmMap.set(instrumentationLibraryKey, records); - } - - records.push(record); - } - - return resourceMap; -} - -function spanRecordsToResourceSpans( - readableSpans: ReadableSpan[], - encoder: Encoder -): IResourceSpans[] { - const resourceMap = createResourceMap(readableSpans); - const out: IResourceSpans[] = []; - - const entryIterator = resourceMap.entries(); - let entry = entryIterator.next(); - while (!entry.done) { - const [resource, ilmMap] = entry.value; - const scopeResourceSpans: IScopeSpans[] = []; - const ilmIterator = ilmMap.values(); - let ilmEntry = ilmIterator.next(); - while (!ilmEntry.done) { - const scopeSpans = ilmEntry.value; - if (scopeSpans.length > 0) { - const spans = scopeSpans.map(readableSpan => - sdkSpanToOtlpSpan(readableSpan, encoder) - ); - - scopeResourceSpans.push({ - scope: createInstrumentationScope( - scopeSpans[0].instrumentationLibrary - ), - spans: spans, - schemaUrl: scopeSpans[0].instrumentationLibrary.schemaUrl, - }); - } - ilmEntry = ilmIterator.next(); - } - // TODO SDK types don't provide resource schema URL at this time - const transformedSpans: IResourceSpans = { - resource: createResource(resource), - scopeSpans: scopeResourceSpans, - schemaUrl: undefined, - }; - - out.push(transformedSpans); - entry = entryIterator.next(); - } - - return out; -} +// IMPORTANT: exports added here are public +export { + IExportTracePartialSuccess, + IExportTraceServiceResponse, +} from './export-response'; diff --git a/experimental/packages/otlp-transformer/src/trace/types.ts b/experimental/packages/otlp-transformer/src/trace/internal-types.ts similarity index 90% rename from experimental/packages/otlp-transformer/src/trace/types.ts rename to experimental/packages/otlp-transformer/src/trace/internal-types.ts index d32c85eb5a5..94e78072b27 100644 --- a/experimental/packages/otlp-transformer/src/trace/types.ts +++ b/experimental/packages/otlp-transformer/src/trace/internal-types.ts @@ -14,8 +14,12 @@ * limitations under the License. */ -import { Fixed64, IInstrumentationScope, IKeyValue } from '../common/types'; -import { IResource } from '../resource/types'; +import { + Fixed64, + IInstrumentationScope, + IKeyValue, + IResource, +} from '../common/internal-types'; /** Properties of an ExportTraceServiceRequest. */ export interface IExportTraceServiceRequest { @@ -23,19 +27,6 @@ export interface IExportTraceServiceRequest { resourceSpans?: IResourceSpans[]; } -export interface IExportTraceServiceResponse { - /** ExportTraceServiceResponse partialSuccess */ - partialSuccess?: IExportTracePartialSuccess; -} - -export interface IExportTracePartialSuccess { - /** ExportLogsServiceResponse rejectedLogRecords */ - rejectedSpans?: number; - - /** ExportLogsServiceResponse errorMessage */ - errorMessage?: string; -} - /** Properties of a ResourceSpans. */ export interface IResourceSpans { /** ResourceSpans resource */ diff --git a/experimental/packages/otlp-transformer/src/trace/internal.ts b/experimental/packages/otlp-transformer/src/trace/internal.ts index a4236e5dca4..06aab08bcc3 100644 --- a/experimental/packages/otlp-transformer/src/trace/internal.ts +++ b/experimental/packages/otlp-transformer/src/trace/internal.ts @@ -14,10 +14,25 @@ * limitations under the License. */ import type { Link } from '@opentelemetry/api'; +import { IResource } from '@opentelemetry/resources'; import type { ReadableSpan, TimedEvent } from '@opentelemetry/sdk-trace-base'; -import type { Encoder } from '../common'; -import { toAttributes } from '../common/internal'; -import { EStatusCode, IEvent, ILink, ISpan } from './types'; +import type { Encoder } from '../common/utils'; +import { + createInstrumentationScope, + createResource, + toAttributes, +} from '../common/internal'; +import { + EStatusCode, + IEvent, + IExportTraceServiceRequest, + ILink, + IResourceSpans, + IScopeSpans, + ISpan, +} from './internal-types'; +import { OtlpEncodingOptions } from '../common/internal-types'; +import { getOtlpEncoder } from '../common/utils'; export function sdkSpanToOtlpSpan(span: ReadableSpan, encoder: Encoder): ISpan { const ctx = span.spanContext(); @@ -69,3 +84,101 @@ export function toOtlpSpanEvent( droppedAttributesCount: timedEvent.droppedAttributesCount || 0, }; } + +/* + * Copyright The OpenTelemetry Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export function createExportTraceServiceRequest( + spans: ReadableSpan[], + options?: OtlpEncodingOptions +): IExportTraceServiceRequest { + const encoder = getOtlpEncoder(options); + return { + resourceSpans: spanRecordsToResourceSpans(spans, encoder), + }; +} + +function createResourceMap(readableSpans: ReadableSpan[]) { + const resourceMap: Map> = new Map(); + for (const record of readableSpans) { + let ilmMap = resourceMap.get(record.resource); + + if (!ilmMap) { + ilmMap = new Map(); + resourceMap.set(record.resource, ilmMap); + } + + // TODO this is duplicated in basic tracer. Consolidate on a common helper in core + const instrumentationLibraryKey = `${record.instrumentationLibrary.name}@${ + record.instrumentationLibrary.version || '' + }:${record.instrumentationLibrary.schemaUrl || ''}`; + let records = ilmMap.get(instrumentationLibraryKey); + + if (!records) { + records = []; + ilmMap.set(instrumentationLibraryKey, records); + } + + records.push(record); + } + + return resourceMap; +} + +function spanRecordsToResourceSpans( + readableSpans: ReadableSpan[], + encoder: Encoder +): IResourceSpans[] { + const resourceMap = createResourceMap(readableSpans); + const out: IResourceSpans[] = []; + + const entryIterator = resourceMap.entries(); + let entry = entryIterator.next(); + while (!entry.done) { + const [resource, ilmMap] = entry.value; + const scopeResourceSpans: IScopeSpans[] = []; + const ilmIterator = ilmMap.values(); + let ilmEntry = ilmIterator.next(); + while (!ilmEntry.done) { + const scopeSpans = ilmEntry.value; + if (scopeSpans.length > 0) { + const spans = scopeSpans.map(readableSpan => + sdkSpanToOtlpSpan(readableSpan, encoder) + ); + + scopeResourceSpans.push({ + scope: createInstrumentationScope( + scopeSpans[0].instrumentationLibrary + ), + spans: spans, + schemaUrl: scopeSpans[0].instrumentationLibrary.schemaUrl, + }); + } + ilmEntry = ilmIterator.next(); + } + // TODO SDK types don't provide resource schema URL at this time + const transformedSpans: IResourceSpans = { + resource: createResource(resource), + scopeSpans: scopeResourceSpans, + schemaUrl: undefined, + }; + + out.push(transformedSpans); + entry = entryIterator.next(); + } + + return out; +} diff --git a/experimental/packages/otlp-transformer/src/trace/json/index.ts b/experimental/packages/otlp-transformer/src/trace/json/index.ts new file mode 100644 index 00000000000..1a00b83b443 --- /dev/null +++ b/experimental/packages/otlp-transformer/src/trace/json/index.ts @@ -0,0 +1,18 @@ +/* + * Copyright The OpenTelemetry Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// IMPORTANT: exports added here are public +export { JsonTraceSerializer } from './trace'; diff --git a/experimental/packages/otlp-transformer/src/trace/json/trace.ts b/experimental/packages/otlp-transformer/src/trace/json/trace.ts new file mode 100644 index 00000000000..da188b090a5 --- /dev/null +++ b/experimental/packages/otlp-transformer/src/trace/json/trace.ts @@ -0,0 +1,37 @@ +/* + * Copyright The OpenTelemetry Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { ISerializer } from '../../i-serializer'; +import { ReadableSpan } from '@opentelemetry/sdk-trace-base'; +import { IExportTraceServiceResponse } from '../export-response'; +import { createExportTraceServiceRequest } from '../internal'; + +export const JsonTraceSerializer: ISerializer< + ReadableSpan[], + IExportTraceServiceResponse +> = { + serializeRequest: (arg: ReadableSpan[]) => { + const request = createExportTraceServiceRequest(arg, { + useHex: true, + useLongBits: false, + }); + const encoder = new TextEncoder(); + return encoder.encode(JSON.stringify(request)); + }, + deserializeResponse: (arg: Uint8Array) => { + const decoder = new TextDecoder(); + return JSON.parse(decoder.decode(arg)) as IExportTraceServiceResponse; + }, +}; diff --git a/experimental/packages/otlp-transformer/src/trace/protobuf/index.ts b/experimental/packages/otlp-transformer/src/trace/protobuf/index.ts new file mode 100644 index 00000000000..c3e4b868c32 --- /dev/null +++ b/experimental/packages/otlp-transformer/src/trace/protobuf/index.ts @@ -0,0 +1,18 @@ +/* + * Copyright The OpenTelemetry Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// IMPORTANT: exports added here are public +export { ProtobufTraceSerializer } from './trace'; diff --git a/experimental/packages/otlp-transformer/src/trace/protobuf/trace.ts b/experimental/packages/otlp-transformer/src/trace/protobuf/trace.ts new file mode 100644 index 00000000000..87d5f481fe0 --- /dev/null +++ b/experimental/packages/otlp-transformer/src/trace/protobuf/trace.ts @@ -0,0 +1,42 @@ +/* + * Copyright The OpenTelemetry Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import * as root from '../../generated/root'; +import { ISerializer } from '../../i-serializer'; +import { ExportType } from '../../common/protobuf/protobuf-export-type'; +import { IExportTraceServiceRequest } from '../internal-types'; +import { ReadableSpan } from '@opentelemetry/sdk-trace-base'; +import { createExportTraceServiceRequest } from '../internal'; +import { IExportTraceServiceResponse } from '../export-response'; + +const traceResponseType = root.opentelemetry.proto.collector.trace.v1 + .ExportTraceServiceResponse as ExportType; + +const traceRequestType = root.opentelemetry.proto.collector.trace.v1 + .ExportTraceServiceRequest as ExportType; + +export const ProtobufTraceSerializer: ISerializer< + ReadableSpan[], + IExportTraceServiceResponse +> = { + serializeRequest: (arg: ReadableSpan[]) => { + const request = createExportTraceServiceRequest(arg); + return traceRequestType.encode(request).finish(); + }, + deserializeResponse: (arg: Uint8Array) => { + return traceResponseType.decode(arg); + }, +}; diff --git a/experimental/packages/otlp-transformer/test/common.test.ts b/experimental/packages/otlp-transformer/test/common.test.ts index 9ab639c6029..a3d05aaa6a3 100644 --- a/experimental/packages/otlp-transformer/test/common.test.ts +++ b/experimental/packages/otlp-transformer/test/common.test.ts @@ -17,7 +17,7 @@ import { hexToBinary } from '@opentelemetry/core'; import { toAnyValue } from '../src/common/internal'; import * as assert from 'assert'; -import { getOtlpEncoder } from '../src/common'; +import { getOtlpEncoder } from '../src/common/utils'; const traceId = 'abcdef01234567890000000000000000'; const spanId = '12341234abcdabcd'; diff --git a/experimental/packages/otlp-transformer/test/logs.test.ts b/experimental/packages/otlp-transformer/test/logs.test.ts index b3c606d1b78..4cf3c93090a 100644 --- a/experimental/packages/otlp-transformer/test/logs.test.ts +++ b/experimental/packages/otlp-transformer/test/logs.test.ts @@ -17,14 +17,18 @@ import { HrTime, TraceFlags } from '@opentelemetry/api'; import { InstrumentationScope, hexToBinary } from '@opentelemetry/core'; import { Resource } from '@opentelemetry/resources'; import * as assert from 'assert'; -import { ProtobufLogsSerializer, JsonLogsSerializer } from '../src'; import { ReadableLogRecord } from '@opentelemetry/sdk-logs'; import { SeverityNumber } from '@opentelemetry/api-logs'; import { toBase64 } from './utils'; import * as root from '../src/generated/root'; -import { OtlpEncodingOptions } from '../src/common/types'; -import { ESeverityNumber, IExportLogsServiceRequest } from '../src/logs/types'; -import { createExportLogsServiceRequest } from '../src/logs'; +import { OtlpEncodingOptions } from '../src/common/internal-types'; +import { + ESeverityNumber, + IExportLogsServiceRequest, +} from '../src/logs/internal-types'; +import { createExportLogsServiceRequest } from '../src/logs/internal'; +import { ProtobufLogsSerializer } from '../src/logs/protobuf'; +import { JsonLogsSerializer } from '../src/logs/json'; function createExpectedLogJson( options: OtlpEncodingOptions diff --git a/experimental/packages/otlp-transformer/test/metrics.test.ts b/experimental/packages/otlp-transformer/test/metrics.test.ts index 6c8d332321e..5ad8615548b 100644 --- a/experimental/packages/otlp-transformer/test/metrics.test.ts +++ b/experimental/packages/otlp-transformer/test/metrics.test.ts @@ -23,12 +23,13 @@ import { ResourceMetrics, } from '@opentelemetry/sdk-metrics'; import * as assert from 'assert'; -import { createExportMetricsServiceRequest } from '../src/metrics'; -import { EAggregationTemporality } from '../src/metrics/types'; +import { createExportMetricsServiceRequest } from '../src/metrics/internal'; +import { EAggregationTemporality } from '../src/metrics/internal-types'; import { hrTime, hrTimeToNanoseconds } from '@opentelemetry/core'; -import { ProtobufMetricsSerializer, JsonMetricsSerializer } from '../src'; import * as root from '../src/generated/root'; -import { encodeAsLongBits, encodeAsString } from '../src/common'; +import { encodeAsLongBits, encodeAsString } from '../src/common/utils'; +import { ProtobufMetricsSerializer } from '../src/metrics/protobuf'; +import { JsonMetricsSerializer } from '../src/metrics/json'; const START_TIME = hrTime(); const END_TIME = hrTime(); diff --git a/experimental/packages/otlp-transformer/test/performance/benchmark/index.js b/experimental/packages/otlp-transformer/test/performance/benchmark/index.js index e110bbe7845..f79703ffe73 100644 --- a/experimental/packages/otlp-transformer/test/performance/benchmark/index.js +++ b/experimental/packages/otlp-transformer/test/performance/benchmark/index.js @@ -15,11 +15,13 @@ */ const Benchmark = require('benchmark'); -const { createExportTraceServiceRequest } = require('../../../build/src'); +const { + createExportTraceServiceRequest, +} = require('../../../build/src/trace/internal'); const { BasicTracerProvider } = require('@opentelemetry/sdk-trace-base'); const tracerProvider = new BasicTracerProvider(); -const tracer = tracerProvider.getTracer('test') +const tracer = tracerProvider.getTracer('test'); const suite = new Benchmark.Suite(); @@ -33,11 +35,11 @@ suite.on('cycle', event => { console.log(String(event.target)); }); -suite.add('transform 1 span', function() { +suite.add('transform 1 span', function () { createExportTraceServiceRequest([span]); }); -suite.add('transform 100 spans', function() { +suite.add('transform 100 spans', function () { createExportTraceServiceRequest(spans); }); diff --git a/experimental/packages/otlp-transformer/test/trace.test.ts b/experimental/packages/otlp-transformer/test/trace.test.ts index dd6354ea4d6..81ad9eb2cc3 100644 --- a/experimental/packages/otlp-transformer/test/trace.test.ts +++ b/experimental/packages/otlp-transformer/test/trace.test.ts @@ -19,11 +19,12 @@ import { TraceState, hexToBinary } from '@opentelemetry/core'; import { Resource } from '@opentelemetry/resources'; import { ReadableSpan } from '@opentelemetry/sdk-trace-base'; import * as assert from 'assert'; -import { ProtobufTraceSerializer, JsonTraceSerializer } from '../src'; import { toBase64 } from './utils'; -import { OtlpEncodingOptions } from '../src/common/types'; -import { ESpanKind, EStatusCode } from '../src/trace/types'; -import { createExportTraceServiceRequest } from '../src/trace'; +import { OtlpEncodingOptions } from '../src/common/internal-types'; +import { ESpanKind, EStatusCode } from '../src/trace/internal-types'; +import { createExportTraceServiceRequest } from '../src/trace/internal'; +import { ProtobufTraceSerializer } from '../src/trace/protobuf'; +import { JsonTraceSerializer } from '../src/trace/json'; function createExpectedSpanJson(options: OtlpEncodingOptions) { const useHex = options.useHex ?? false; From 8ab52d547990692e2f7a4dc5242ec61a3e42971e Mon Sep 17 00:00:00 2001 From: Marc Pichler Date: Tue, 17 Dec 2024 16:40:03 +0100 Subject: [PATCH 14/18] fix(ci): adapt workflow to use supported npm versions (#5277) --- .github/workflows/benchmark.yml | 2 +- .github/workflows/unit-test.yml | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 5227ce2b491..79dea2c71dc 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -10,7 +10,7 @@ jobs: fail-fast: false matrix: node_version: - - "18" + - "22" runs-on: self-hosted timeout-minutes: 10 env: diff --git a/.github/workflows/unit-test.yml b/.github/workflows/unit-test.yml index bba8e5347f7..32b62cfacfb 100644 --- a/.github/workflows/unit-test.yml +++ b/.github/workflows/unit-test.yml @@ -32,12 +32,16 @@ jobs: node-version: ${{ matrix.node_version }} - run: npm install -g npm@latest - if: ${{ matrix.node_version == '18' || matrix.node_version == '20' || matrix.node_version == '22' }} + if: ${{ matrix.node_version == '20' || matrix.node_version == '22' }} # npm@10.0.0 drops support for Node.js v14 and v16 - run: npm install -g npm@"<10.0.0" if: ${{ matrix.node_version == '14' || matrix.node_version == '16' }} + # npm@11.0.0 drops support for Node.js v18 + - run: npm install -g npm@"<11.0.0" + if: ${{ matrix.node_version == '18'}} + - name: Bootstrap run: npm ci @@ -65,7 +69,7 @@ jobs: cache: 'npm' cache-dependency-path: | package-lock.json - node-version: '18' + node-version: '20' - run: npm install -g npm@latest From 0c11fc6325a01e4c8e3f1d6fc9217362e02c8354 Mon Sep 17 00:00:00 2001 From: Godfrey Chan Date: Wed, 18 Dec 2024 00:56:01 -0800 Subject: [PATCH 15/18] Fix incorrect CHANGELOG entry on main (`v1.next`) (#5280) --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ab75b14a059..932fe0df50f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,7 +17,7 @@ For semantic convention package changes, see the [semconv CHANGELOG](packages/se ### :bug: (Bug Fix) -* fix(sdk-trace-base): do not load OTEL_ env vars on module load, but when needed [#5224](https://github.com/open-telemetry/opentelemetry-js/pull/5224) +* fix(sdk-trace-base): do not load OTEL_ env vars on module load, but when needed [#5233](https://github.com/open-telemetry/opentelemetry-js/pull/5233) * fix(instrumentation-xhr, instrumentation-fetch): content length attributes no longer get removed with `ignoreNetworkEvents: true` being set [#5229](https://github.com/open-telemetry/opentelemetry-js/issues/5229) From 67a0e9cb0c5257b0d0fbdc6a5efd310a1c37b493 Mon Sep 17 00:00:00 2001 From: David Ashpole Date: Wed, 18 Dec 2024 04:04:27 -0500 Subject: [PATCH 16/18] Update links to openmetrics to reference the v1.0.0 release (#5267) --- doc/metrics.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/metrics.md b/doc/metrics.md index 1eb873a11d6..661b495ddef 100644 --- a/doc/metrics.md +++ b/doc/metrics.md @@ -483,7 +483,7 @@ that are used are Prometheus and OTLP. The latter is the [OpenTelemetry protocol format](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/otlp.md) which is supported by the OpenTelemetry Collector. The former is based on the [OpenMetrics -format](https://github.com/OpenObservability/OpenMetrics/blob/main/specification/OpenMetrics.md) can be consumed by Prometheus and Thanos or other OpenMetrics compatible +format](https://github.com/prometheus/OpenMetrics/blob/v1.0.0/specification/OpenMetrics.md) can be consumed by Prometheus and Thanos or other OpenMetrics compatible backends. _Note_: Both OpenTelemetry JavaScript and OpenTelemetry Collector support From e524148b480366bb7ecc129828a64e00058bb84e Mon Sep 17 00:00:00 2001 From: Mingaudas Vagonis Date: Wed, 18 Dec 2024 11:08:09 +0200 Subject: [PATCH 17/18] chore: removed circular dependency from BasicTracerProvider (#5279) --- .../opentelemetry-sdk-trace-base/src/BasicTracerProvider.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/opentelemetry-sdk-trace-base/src/BasicTracerProvider.ts b/packages/opentelemetry-sdk-trace-base/src/BasicTracerProvider.ts index 13cdb8e9b6c..27188cbf049 100644 --- a/packages/opentelemetry-sdk-trace-base/src/BasicTracerProvider.ts +++ b/packages/opentelemetry-sdk-trace-base/src/BasicTracerProvider.ts @@ -30,7 +30,8 @@ import { merge, } from '@opentelemetry/core'; import { IResource, Resource } from '@opentelemetry/resources'; -import { SpanProcessor, Tracer } from '.'; +import { SpanProcessor } from './SpanProcessor'; +import { Tracer } from './Tracer'; import { loadDefaultConfig } from './config'; import { MultiSpanProcessor } from './MultiSpanProcessor'; import { NoopSpanProcessor } from './export/NoopSpanProcessor'; From 616d27a0a111c9b813d14c56d8d8f1ffbd7d7156 Mon Sep 17 00:00:00 2001 From: OpenTelemetry Bot <107717825+opentelemetrybot@users.noreply.github.com> Date: Wed, 18 Dec 2024 03:49:03 -0600 Subject: [PATCH 18/18] chore: prepare next release (#5274) Co-authored-by: Marc Pichler --- CHANGELOG.md | 15 +- examples/esm-http-ts/package.json | 14 +- examples/http/package.json | 16 +- examples/https/package.json | 16 +- examples/opentelemetry-web/package.json | 28 +- examples/otlp-exporter-node/package.json | 22 +- experimental/CHANGELOG.md | 10 +- .../node14/package.json | 6 +- .../node16/package.json | 6 +- experimental/examples/events/package.json | 12 +- experimental/examples/logs/package.json | 6 +- .../examples/opencensus-shim/package.json | 14 +- experimental/examples/prometheus/package.json | 6 +- experimental/packages/api-events/package.json | 4 +- experimental/packages/api-logs/package.json | 2 +- .../exporter-logs-otlp-grpc/package.json | 16 +- .../exporter-logs-otlp-http/package.json | 14 +- .../exporter-logs-otlp-proto/package.json | 16 +- .../exporter-trace-otlp-grpc/package.json | 14 +- .../exporter-trace-otlp-http/package.json | 12 +- .../exporter-trace-otlp-proto/package.json | 12 +- .../package.json | 4 +- .../package.json | 16 +- .../package.json | 12 +- .../package.json | 14 +- .../package.json | 8 +- .../package.json | 14 +- .../package.json | 12 +- .../package.json | 14 +- .../package.json | 14 +- .../package.json | 6 +- .../opentelemetry-sdk-node/package.json | 44 +- .../packages/otlp-exporter-base/package.json | 6 +- .../otlp-grpc-exporter-base/package.json | 12 +- .../packages/otlp-transformer/package.json | 14 +- .../sampler-jaeger-remote/package.json | 4 +- experimental/packages/sdk-events/package.json | 8 +- experimental/packages/sdk-logs/package.json | 8 +- .../packages/shim-opencensus/package.json | 12 +- experimental/packages/web-common/package.json | 10 +- integration-tests/api/package.json | 4 +- .../package.json | 8 +- package-lock.json | 1068 ++++++++--------- .../package.json | 2 +- .../package.json | 2 +- .../opentelemetry-context-zone/package.json | 4 +- packages/opentelemetry-core/package.json | 2 +- .../package.json | 8 +- .../package.json | 8 +- .../opentelemetry-propagator-b3/package.json | 4 +- .../package.json | 4 +- packages/opentelemetry-resources/package.json | 4 +- .../opentelemetry-sdk-trace-base/package.json | 6 +- .../opentelemetry-sdk-trace-node/package.json | 14 +- .../opentelemetry-sdk-trace-web/package.json | 12 +- .../package.json | 10 +- packages/sdk-metrics/package.json | 6 +- packages/template/package.json | 2 +- selenium-tests/package.json | 22 +- 59 files changed, 847 insertions(+), 836 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 932fe0df50f..3cb5db0cd66 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,18 +13,23 @@ For semantic convention package changes, see the [semconv CHANGELOG](packages/se ### :rocket: (Enhancement) +### :bug: (Bug Fix) + +### :books: (Refine Doc) + +### :house: (Internal) + +## 1.30.0 + +### :rocket: (Enhancement) + * feat(sdk-metrics): PeriodicExportingMetricReader now flushes pending tasks at shutdown [#5242](https://github.com/open-telemetry/opentelemetry-js/pull/5242) ### :bug: (Bug Fix) * fix(sdk-trace-base): do not load OTEL_ env vars on module load, but when needed [#5233](https://github.com/open-telemetry/opentelemetry-js/pull/5233) - * fix(instrumentation-xhr, instrumentation-fetch): content length attributes no longer get removed with `ignoreNetworkEvents: true` being set [#5229](https://github.com/open-telemetry/opentelemetry-js/issues/5229) -### :books: (Refine Doc) - -### :house: (Internal) - ## 1.29.0 ### :rocket: (Enhancement) diff --git a/examples/esm-http-ts/package.json b/examples/esm-http-ts/package.json index 1f22e085a3d..e7618704aba 100644 --- a/examples/esm-http-ts/package.json +++ b/examples/esm-http-ts/package.json @@ -1,7 +1,7 @@ { "name": "esm-http-ts", "private": true, - "version": "0.56.0", + "version": "0.57.0", "description": "Example of HTTP integration with OpenTelemetry using ESM and TypeScript", "main": "build/index.js", "type": "module", @@ -32,12 +32,12 @@ "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/examples/", "dependencies": { "@opentelemetry/api": "1.9.0", - "@opentelemetry/exporter-trace-otlp-proto": "0.56.0", - "@opentelemetry/instrumentation": "0.56.0", - "@opentelemetry/instrumentation-http": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", - "@opentelemetry/sdk-trace-node": "1.29.0", + "@opentelemetry/exporter-trace-otlp-proto": "0.57.0", + "@opentelemetry/instrumentation": "0.57.0", + "@opentelemetry/instrumentation-http": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", + "@opentelemetry/sdk-trace-node": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0" } } diff --git a/examples/http/package.json b/examples/http/package.json index 8a77a826979..18a9351bf3f 100644 --- a/examples/http/package.json +++ b/examples/http/package.json @@ -1,7 +1,7 @@ { "name": "http-example", "private": true, - "version": "0.56.0", + "version": "0.57.0", "description": "Example of HTTP integration with OpenTelemetry", "main": "index.js", "scripts": { @@ -30,13 +30,13 @@ }, "dependencies": { "@opentelemetry/api": "^1.3.0", - "@opentelemetry/exporter-jaeger": "1.29.0", - "@opentelemetry/exporter-zipkin": "1.29.0", - "@opentelemetry/instrumentation": "0.56.0", - "@opentelemetry/instrumentation-http": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", - "@opentelemetry/sdk-trace-node": "1.29.0", + "@opentelemetry/exporter-jaeger": "1.30.0", + "@opentelemetry/exporter-zipkin": "1.30.0", + "@opentelemetry/instrumentation": "0.57.0", + "@opentelemetry/instrumentation-http": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", + "@opentelemetry/sdk-trace-node": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/examples/http", diff --git a/examples/https/package.json b/examples/https/package.json index c5b04726ed5..5b8c56043e0 100644 --- a/examples/https/package.json +++ b/examples/https/package.json @@ -1,7 +1,7 @@ { "name": "https-example", "private": true, - "version": "0.56.0", + "version": "0.57.0", "description": "Example of HTTPs integration with OpenTelemetry", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -34,13 +34,13 @@ }, "dependencies": { "@opentelemetry/api": "^1.3.0", - "@opentelemetry/exporter-jaeger": "1.29.0", - "@opentelemetry/exporter-zipkin": "1.29.0", - "@opentelemetry/instrumentation": "0.56.0", - "@opentelemetry/instrumentation-http": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", - "@opentelemetry/sdk-trace-node": "1.29.0", + "@opentelemetry/exporter-jaeger": "1.30.0", + "@opentelemetry/exporter-zipkin": "1.30.0", + "@opentelemetry/instrumentation": "0.57.0", + "@opentelemetry/instrumentation-http": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", + "@opentelemetry/sdk-trace-node": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/examples/https", diff --git a/examples/opentelemetry-web/package.json b/examples/opentelemetry-web/package.json index 97e8c1ba6c7..578dff597e5 100644 --- a/examples/opentelemetry-web/package.json +++ b/examples/opentelemetry-web/package.json @@ -1,7 +1,7 @@ { "name": "web-opentelemetry-example", "private": true, - "version": "0.56.0", + "version": "0.57.0", "description": "Example of using @opentelemetry/sdk-trace-web and @opentelemetry/sdk-metrics in browser", "main": "index.js", "scripts": { @@ -45,19 +45,19 @@ }, "dependencies": { "@opentelemetry/api": "^1.3.0", - "@opentelemetry/context-zone": "1.29.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/exporter-metrics-otlp-http": "0.56.0", - "@opentelemetry/exporter-trace-otlp-http": "0.56.0", - "@opentelemetry/exporter-trace-otlp-proto": "0.56.0", - "@opentelemetry/exporter-zipkin": "1.29.0", - "@opentelemetry/instrumentation": "0.56.0", - "@opentelemetry/instrumentation-fetch": "0.56.0", - "@opentelemetry/instrumentation-xml-http-request": "0.56.0", - "@opentelemetry/propagator-b3": "1.29.0", - "@opentelemetry/sdk-metrics": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", - "@opentelemetry/sdk-trace-web": "1.29.0", + "@opentelemetry/context-zone": "1.30.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/exporter-metrics-otlp-http": "0.57.0", + "@opentelemetry/exporter-trace-otlp-http": "0.57.0", + "@opentelemetry/exporter-trace-otlp-proto": "0.57.0", + "@opentelemetry/exporter-zipkin": "1.30.0", + "@opentelemetry/instrumentation": "0.57.0", + "@opentelemetry/instrumentation-fetch": "0.57.0", + "@opentelemetry/instrumentation-xml-http-request": "0.57.0", + "@opentelemetry/propagator-b3": "1.30.0", + "@opentelemetry/sdk-metrics": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", + "@opentelemetry/sdk-trace-web": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/examples/tracer-web" diff --git a/examples/otlp-exporter-node/package.json b/examples/otlp-exporter-node/package.json index 9d38c2df411..351e1a173e9 100644 --- a/examples/otlp-exporter-node/package.json +++ b/examples/otlp-exporter-node/package.json @@ -1,7 +1,7 @@ { "name": "example-otlp-exporter-node", "private": true, - "version": "0.56.0", + "version": "0.57.0", "description": "Example of using @opentelemetry/collector-exporter in Node.js", "main": "index.js", "scripts": { @@ -30,16 +30,16 @@ }, "dependencies": { "@opentelemetry/api": "^1.3.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/exporter-metrics-otlp-grpc": "0.56.0", - "@opentelemetry/exporter-metrics-otlp-http": "0.56.0", - "@opentelemetry/exporter-metrics-otlp-proto": "0.56.0", - "@opentelemetry/exporter-trace-otlp-grpc": "0.56.0", - "@opentelemetry/exporter-trace-otlp-http": "0.56.0", - "@opentelemetry/exporter-trace-otlp-proto": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-metrics": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/exporter-metrics-otlp-grpc": "0.57.0", + "@opentelemetry/exporter-metrics-otlp-http": "0.57.0", + "@opentelemetry/exporter-metrics-otlp-proto": "0.57.0", + "@opentelemetry/exporter-trace-otlp-grpc": "0.57.0", + "@opentelemetry/exporter-trace-otlp-http": "0.57.0", + "@opentelemetry/exporter-trace-otlp-proto": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-metrics": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/examples/otlp-exporter-node" diff --git a/experimental/CHANGELOG.md b/experimental/CHANGELOG.md index 881b34576a8..d36f0c55c3c 100644 --- a/experimental/CHANGELOG.md +++ b/experimental/CHANGELOG.md @@ -9,14 +9,20 @@ All notable changes to experimental packages in this project will be documented ### :rocket: (Enhancement) -* feat(opentelemetry-sdk-node): automatically configure metrics exporter based on environment variables [#5168](https://github.com/open-telemetry/opentelemetry-js/pull/5168) @bhaskarbanerjee - ### :bug: (Bug Fix) ### :books: (Refine Doc) ### :house: (Internal) +## 0.57.0 + +### :rocket: (Enhancement) + +* feat(opentelemetry-sdk-node): automatically configure metrics exporter based on environment variables [#5168](https://github.com/open-telemetry/opentelemetry-js/pull/5168) @bhaskarbanerjee + +### :house: (Internal) + * refactor(otlp-transformer): re-structure package to prepare for separate entrypoints [#5264](https://github.com/open-telemetry/opentelemetry-js/pull/5264) @pichlermarc ## 0.56.0 diff --git a/experimental/backwards-compatibility/node14/package.json b/experimental/backwards-compatibility/node14/package.json index 5045eb59dd8..c228d6ab7d0 100644 --- a/experimental/backwards-compatibility/node14/package.json +++ b/experimental/backwards-compatibility/node14/package.json @@ -1,6 +1,6 @@ { "name": "backcompat-node14", - "version": "0.56.0", + "version": "0.57.0", "private": true, "description": "Backwards compatibility app for node 14 types and the OpenTelemetry Node.js SDK", "main": "index.js", @@ -10,8 +10,8 @@ "align-api-deps": "node ../../../scripts/align-api-deps.js" }, "dependencies": { - "@opentelemetry/sdk-node": "0.56.0", - "@opentelemetry/sdk-trace-base": "1.29.0" + "@opentelemetry/sdk-node": "0.57.0", + "@opentelemetry/sdk-trace-base": "1.30.0" }, "devDependencies": { "@types/node": "14.18.25", diff --git a/experimental/backwards-compatibility/node16/package.json b/experimental/backwards-compatibility/node16/package.json index 9db4f1e6bcf..a09f979094e 100644 --- a/experimental/backwards-compatibility/node16/package.json +++ b/experimental/backwards-compatibility/node16/package.json @@ -1,6 +1,6 @@ { "name": "backcompat-node16", - "version": "0.56.0", + "version": "0.57.0", "private": true, "description": "Backwards compatibility app for node 16 types and the OpenTelemetry Node.js SDK", "main": "index.js", @@ -10,8 +10,8 @@ "align-api-deps": "node ../../../scripts/align-api-deps.js" }, "dependencies": { - "@opentelemetry/sdk-node": "0.56.0", - "@opentelemetry/sdk-trace-base": "1.29.0" + "@opentelemetry/sdk-node": "0.57.0", + "@opentelemetry/sdk-trace-base": "1.30.0" }, "devDependencies": { "@types/node": "16.11.52", diff --git a/experimental/examples/events/package.json b/experimental/examples/events/package.json index 43cc31d212b..46ca8779ab6 100644 --- a/experimental/examples/events/package.json +++ b/experimental/examples/events/package.json @@ -1,17 +1,17 @@ { "name": "events-example", - "version": "0.56.0", + "version": "0.57.0", "private": true, "scripts": { "start": "ts-node index.ts" }, "dependencies": { "@opentelemetry/api": "^1.7.0", - "@opentelemetry/api-events": "0.56.0", - "@opentelemetry/api-logs": "0.56.0", - "@opentelemetry/exporter-logs-otlp-http": "0.56.0", - "@opentelemetry/sdk-events": "0.56.0", - "@opentelemetry/sdk-logs": "0.56.0" + "@opentelemetry/api-events": "0.57.0", + "@opentelemetry/api-logs": "0.57.0", + "@opentelemetry/exporter-logs-otlp-http": "0.57.0", + "@opentelemetry/sdk-events": "0.57.0", + "@opentelemetry/sdk-logs": "0.57.0" }, "devDependencies": { "@types/node": "18.6.5", diff --git a/experimental/examples/logs/package.json b/experimental/examples/logs/package.json index f914bdccec5..4d8a72ebf0d 100644 --- a/experimental/examples/logs/package.json +++ b/experimental/examples/logs/package.json @@ -1,6 +1,6 @@ { "name": "logs-example", - "version": "0.56.0", + "version": "0.57.0", "private": true, "scripts": { "start": "ts-node index.ts", @@ -8,8 +8,8 @@ }, "dependencies": { "@opentelemetry/api": "^1.7.0", - "@opentelemetry/api-logs": "0.56.0", - "@opentelemetry/sdk-logs": "0.56.0" + "@opentelemetry/api-logs": "0.57.0", + "@opentelemetry/sdk-logs": "0.57.0" }, "devDependencies": { "@types/node": "18.6.5", diff --git a/experimental/examples/opencensus-shim/package.json b/experimental/examples/opencensus-shim/package.json index df8a4b987c1..005ae818edc 100644 --- a/experimental/examples/opencensus-shim/package.json +++ b/experimental/examples/opencensus-shim/package.json @@ -1,7 +1,7 @@ { "name": "opencensus-shim", "private": true, - "version": "0.56.0", + "version": "0.57.0", "description": "Example of using @opentelemetry/shim-opencensus in Node.js", "main": "index.js", "scripts": { @@ -32,13 +32,13 @@ "@opencensus/instrumentation-http": "0.1.0", "@opencensus/nodejs-base": "0.1.0", "@opentelemetry/api": "1.9.0", - "@opentelemetry/exporter-prometheus": "0.56.0", - "@opentelemetry/exporter-trace-otlp-grpc": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-metrics": "1.29.0", - "@opentelemetry/sdk-trace-node": "1.29.0", + "@opentelemetry/exporter-prometheus": "0.57.0", + "@opentelemetry/exporter-trace-otlp-grpc": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-metrics": "1.30.0", + "@opentelemetry/sdk-trace-node": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0", - "@opentelemetry/shim-opencensus": "0.56.0" + "@opentelemetry/shim-opencensus": "0.57.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/examples/opencensus-shim" } diff --git a/experimental/examples/prometheus/package.json b/experimental/examples/prometheus/package.json index 72c3b430c10..9480f56c41c 100644 --- a/experimental/examples/prometheus/package.json +++ b/experimental/examples/prometheus/package.json @@ -1,6 +1,6 @@ { "name": "prometheus-example", - "version": "0.56.0", + "version": "0.57.0", "private": true, "description": "Example of using @opentelemetry/sdk-metrics and @opentelemetry/exporter-prometheus", "main": "index.js", @@ -12,7 +12,7 @@ "license": "Apache-2.0", "dependencies": { "@opentelemetry/api": "^1.3.0", - "@opentelemetry/exporter-prometheus": "0.56.0", - "@opentelemetry/sdk-metrics": "1.29.0" + "@opentelemetry/exporter-prometheus": "0.57.0", + "@opentelemetry/sdk-metrics": "1.30.0" } } diff --git a/experimental/packages/api-events/package.json b/experimental/packages/api-events/package.json index 44377a97b1a..9fa3220f6b6 100644 --- a/experimental/packages/api-events/package.json +++ b/experimental/packages/api-events/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/api-events", - "version": "0.56.0", + "version": "0.57.0", "description": "Public events API for OpenTelemetry", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -61,7 +61,7 @@ }, "dependencies": { "@opentelemetry/api": "^1.3.0", - "@opentelemetry/api-logs": "0.56.0" + "@opentelemetry/api-logs": "0.57.0" }, "devDependencies": { "@types/mocha": "10.0.10", diff --git a/experimental/packages/api-logs/package.json b/experimental/packages/api-logs/package.json index 723a9574efa..0c6ddee3f95 100644 --- a/experimental/packages/api-logs/package.json +++ b/experimental/packages/api-logs/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/api-logs", - "version": "0.56.0", + "version": "0.57.0", "description": "Public logs API for OpenTelemetry", "main": "build/src/index.js", "module": "build/esm/index.js", diff --git a/experimental/packages/exporter-logs-otlp-grpc/package.json b/experimental/packages/exporter-logs-otlp-grpc/package.json index 74562d6d621..1e7f1e5afc7 100644 --- a/experimental/packages/exporter-logs-otlp-grpc/package.json +++ b/experimental/packages/exporter-logs-otlp-grpc/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/exporter-logs-otlp-grpc", - "version": "0.56.0", + "version": "0.57.0", "description": "OpenTelemetry Collector Exporter allows user to send collected log records to the OpenTelemetry Collector", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -50,9 +50,9 @@ "devDependencies": { "@grpc/proto-loader": "^0.7.10", "@opentelemetry/api": "1.9.0", - "@opentelemetry/api-logs": "0.56.0", - "@opentelemetry/otlp-exporter-base": "0.56.0", - "@opentelemetry/resources": "1.29.0", + "@opentelemetry/api-logs": "0.57.0", + "@opentelemetry/otlp-exporter-base": "0.57.0", + "@opentelemetry/resources": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/sinon": "17.0.3", @@ -69,10 +69,10 @@ }, "dependencies": { "@grpc/grpc-js": "^1.7.1", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/otlp-grpc-exporter-base": "0.56.0", - "@opentelemetry/otlp-transformer": "0.56.0", - "@opentelemetry/sdk-logs": "0.56.0" + "@opentelemetry/core": "1.30.0", + "@opentelemetry/otlp-grpc-exporter-base": "0.57.0", + "@opentelemetry/otlp-transformer": "0.57.0", + "@opentelemetry/sdk-logs": "0.57.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/exporter-logs-otlp-grpc", "sideEffects": false diff --git a/experimental/packages/exporter-logs-otlp-http/package.json b/experimental/packages/exporter-logs-otlp-http/package.json index 8eae6957f4b..2027180c273 100644 --- a/experimental/packages/exporter-logs-otlp-http/package.json +++ b/experimental/packages/exporter-logs-otlp-http/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/exporter-logs-otlp-http", - "version": "0.56.0", + "version": "0.57.0", "publishConfig": { "access": "public" }, @@ -73,7 +73,7 @@ "@babel/core": "7.26.0", "@babel/preset-env": "7.26.0", "@opentelemetry/api": "1.9.0", - "@opentelemetry/resources": "1.29.0", + "@opentelemetry/resources": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/sinon": "17.0.3", @@ -101,10 +101,10 @@ "@opentelemetry/api": "^1.3.0" }, "dependencies": { - "@opentelemetry/api-logs": "0.56.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/otlp-exporter-base": "0.56.0", - "@opentelemetry/otlp-transformer": "0.56.0", - "@opentelemetry/sdk-logs": "0.56.0" + "@opentelemetry/api-logs": "0.57.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/otlp-exporter-base": "0.57.0", + "@opentelemetry/otlp-transformer": "0.57.0", + "@opentelemetry/sdk-logs": "0.57.0" } } diff --git a/experimental/packages/exporter-logs-otlp-proto/package.json b/experimental/packages/exporter-logs-otlp-proto/package.json index 92914e82d93..541e868d64a 100644 --- a/experimental/packages/exporter-logs-otlp-proto/package.json +++ b/experimental/packages/exporter-logs-otlp-proto/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/exporter-logs-otlp-proto", - "version": "0.56.0", + "version": "0.57.0", "description": "An OTLP exporter to send logs using protobuf over HTTP", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -91,13 +91,13 @@ "@opentelemetry/api": "^1.3.0" }, "dependencies": { - "@opentelemetry/api-logs": "0.56.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/otlp-exporter-base": "0.56.0", - "@opentelemetry/otlp-transformer": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-logs": "0.56.0", - "@opentelemetry/sdk-trace-base": "1.29.0" + "@opentelemetry/api-logs": "0.57.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/otlp-exporter-base": "0.57.0", + "@opentelemetry/otlp-transformer": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-logs": "0.57.0", + "@opentelemetry/sdk-trace-base": "1.30.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/exporter-logs-otlp-proto", "sideEffects": false diff --git a/experimental/packages/exporter-trace-otlp-grpc/package.json b/experimental/packages/exporter-trace-otlp-grpc/package.json index cdbf02da0e3..ec40620fcf1 100644 --- a/experimental/packages/exporter-trace-otlp-grpc/package.json +++ b/experimental/packages/exporter-trace-otlp-grpc/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/exporter-trace-otlp-grpc", - "version": "0.56.0", + "version": "0.57.0", "description": "OpenTelemetry Collector Exporter allows user to send collected traces to the OpenTelemetry Collector", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -49,7 +49,7 @@ "devDependencies": { "@grpc/proto-loader": "^0.7.10", "@opentelemetry/api": "1.9.0", - "@opentelemetry/otlp-exporter-base": "0.56.0", + "@opentelemetry/otlp-exporter-base": "0.57.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/sinon": "17.0.3", @@ -66,11 +66,11 @@ }, "dependencies": { "@grpc/grpc-js": "^1.7.1", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/otlp-grpc-exporter-base": "0.56.0", - "@opentelemetry/otlp-transformer": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0" + "@opentelemetry/core": "1.30.0", + "@opentelemetry/otlp-grpc-exporter-base": "0.57.0", + "@opentelemetry/otlp-transformer": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/exporter-trace-otlp-grpc", "sideEffects": false diff --git a/experimental/packages/exporter-trace-otlp-http/package.json b/experimental/packages/exporter-trace-otlp-http/package.json index c4e4d8b9e44..3fc0891f14d 100644 --- a/experimental/packages/exporter-trace-otlp-http/package.json +++ b/experimental/packages/exporter-trace-otlp-http/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/exporter-trace-otlp-http", - "version": "0.56.0", + "version": "0.57.0", "description": "OpenTelemetry Collector Trace Exporter allows user to send collected traces to the OpenTelemetry Collector", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -92,11 +92,11 @@ "@opentelemetry/api": "^1.3.0" }, "dependencies": { - "@opentelemetry/core": "1.29.0", - "@opentelemetry/otlp-exporter-base": "0.56.0", - "@opentelemetry/otlp-transformer": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0" + "@opentelemetry/core": "1.30.0", + "@opentelemetry/otlp-exporter-base": "0.57.0", + "@opentelemetry/otlp-transformer": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/exporter-trace-otlp-http", "sideEffects": false diff --git a/experimental/packages/exporter-trace-otlp-proto/package.json b/experimental/packages/exporter-trace-otlp-proto/package.json index 4785aed8365..a76fec33fcb 100644 --- a/experimental/packages/exporter-trace-otlp-proto/package.json +++ b/experimental/packages/exporter-trace-otlp-proto/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/exporter-trace-otlp-proto", - "version": "0.56.0", + "version": "0.57.0", "description": "OpenTelemetry Collector Exporter allows user to send collected traces to the OpenTelemetry Collector using protobuf over HTTP", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -90,11 +90,11 @@ "@opentelemetry/api": "^1.3.0" }, "dependencies": { - "@opentelemetry/core": "1.29.0", - "@opentelemetry/otlp-exporter-base": "0.56.0", - "@opentelemetry/otlp-transformer": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0" + "@opentelemetry/core": "1.30.0", + "@opentelemetry/otlp-exporter-base": "0.57.0", + "@opentelemetry/otlp-transformer": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/exporter-trace-otlp-proto", "sideEffects": false diff --git a/experimental/packages/opentelemetry-browser-detector/package.json b/experimental/packages/opentelemetry-browser-detector/package.json index fdd85bce0da..4f4d8290fca 100644 --- a/experimental/packages/opentelemetry-browser-detector/package.json +++ b/experimental/packages/opentelemetry-browser-detector/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/opentelemetry-browser-detector", - "version": "0.56.0", + "version": "0.57.0", "description": "OpenTelemetry Resource Detector for Browser", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -81,7 +81,7 @@ "@opentelemetry/api": "^1.3.0" }, "dependencies": { - "@opentelemetry/resources": "1.29.0" + "@opentelemetry/resources": "1.30.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/browser-detector" } diff --git a/experimental/packages/opentelemetry-exporter-metrics-otlp-grpc/package.json b/experimental/packages/opentelemetry-exporter-metrics-otlp-grpc/package.json index 99e5f83e868..885c7ebd2b2 100644 --- a/experimental/packages/opentelemetry-exporter-metrics-otlp-grpc/package.json +++ b/experimental/packages/opentelemetry-exporter-metrics-otlp-grpc/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/exporter-metrics-otlp-grpc", - "version": "0.56.0", + "version": "0.57.0", "description": "OpenTelemetry Collector Metrics Exporter allows user to send collected metrics to the OpenTelemetry Collector", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -65,13 +65,13 @@ }, "dependencies": { "@grpc/grpc-js": "^1.7.1", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/exporter-metrics-otlp-http": "0.56.0", - "@opentelemetry/otlp-exporter-base": "0.56.0", - "@opentelemetry/otlp-grpc-exporter-base": "0.56.0", - "@opentelemetry/otlp-transformer": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-metrics": "1.29.0" + "@opentelemetry/core": "1.30.0", + "@opentelemetry/exporter-metrics-otlp-http": "0.57.0", + "@opentelemetry/otlp-exporter-base": "0.57.0", + "@opentelemetry/otlp-grpc-exporter-base": "0.57.0", + "@opentelemetry/otlp-transformer": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-metrics": "1.30.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-exporter-metrics-otlp-grpc", "sideEffects": false diff --git a/experimental/packages/opentelemetry-exporter-metrics-otlp-http/package.json b/experimental/packages/opentelemetry-exporter-metrics-otlp-http/package.json index 374afbc3537..8185199d3c4 100644 --- a/experimental/packages/opentelemetry-exporter-metrics-otlp-http/package.json +++ b/experimental/packages/opentelemetry-exporter-metrics-otlp-http/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/exporter-metrics-otlp-http", - "version": "0.56.0", + "version": "0.57.0", "description": "OpenTelemetry Collector Metrics Exporter allows user to send collected metrics to the OpenTelemetry Collector", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -92,11 +92,11 @@ "@opentelemetry/api": "^1.3.0" }, "dependencies": { - "@opentelemetry/core": "1.29.0", - "@opentelemetry/otlp-exporter-base": "0.56.0", - "@opentelemetry/otlp-transformer": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-metrics": "1.29.0" + "@opentelemetry/core": "1.30.0", + "@opentelemetry/otlp-exporter-base": "0.57.0", + "@opentelemetry/otlp-transformer": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-metrics": "1.30.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-exporter-metrics-otlp-http", "sideEffects": false diff --git a/experimental/packages/opentelemetry-exporter-metrics-otlp-proto/package.json b/experimental/packages/opentelemetry-exporter-metrics-otlp-proto/package.json index 41aec91cc4e..3573f3b72cd 100644 --- a/experimental/packages/opentelemetry-exporter-metrics-otlp-proto/package.json +++ b/experimental/packages/opentelemetry-exporter-metrics-otlp-proto/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/exporter-metrics-otlp-proto", - "version": "0.56.0", + "version": "0.57.0", "description": "OpenTelemetry Collector Metrics Exporter allows user to send collected metrics to the OpenTelemetry Collector using protobuf over HTTP", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -71,12 +71,12 @@ "@opentelemetry/api": "^1.3.0" }, "dependencies": { - "@opentelemetry/core": "1.29.0", - "@opentelemetry/exporter-metrics-otlp-http": "0.56.0", - "@opentelemetry/otlp-exporter-base": "0.56.0", - "@opentelemetry/otlp-transformer": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-metrics": "1.29.0" + "@opentelemetry/core": "1.30.0", + "@opentelemetry/exporter-metrics-otlp-http": "0.57.0", + "@opentelemetry/otlp-exporter-base": "0.57.0", + "@opentelemetry/otlp-transformer": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-metrics": "1.30.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-exporter-metrics-otlp-proto", "sideEffects": false diff --git a/experimental/packages/opentelemetry-exporter-prometheus/package.json b/experimental/packages/opentelemetry-exporter-prometheus/package.json index 731ab772068..78d51dec0d8 100644 --- a/experimental/packages/opentelemetry-exporter-prometheus/package.json +++ b/experimental/packages/opentelemetry-exporter-prometheus/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/exporter-prometheus", - "version": "0.56.0", + "version": "0.57.0", "description": "OpenTelemetry Exporter Prometheus provides a metrics endpoint for Prometheus", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -59,9 +59,9 @@ "@opentelemetry/api": "^1.3.0" }, "dependencies": { - "@opentelemetry/core": "1.29.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-metrics": "1.29.0" + "@opentelemetry/core": "1.30.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-metrics": "1.30.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-exporter-prometheus", "sideEffects": false diff --git a/experimental/packages/opentelemetry-instrumentation-fetch/package.json b/experimental/packages/opentelemetry-instrumentation-fetch/package.json index c390d5a43c1..90fc46e9f61 100644 --- a/experimental/packages/opentelemetry-instrumentation-fetch/package.json +++ b/experimental/packages/opentelemetry-instrumentation-fetch/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/instrumentation-fetch", - "version": "0.56.0", + "version": "0.57.0", "description": "OpenTelemetry instrumentation for fetch http client in web browsers", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -57,9 +57,9 @@ "@babel/core": "7.26.0", "@babel/preset-env": "7.26.0", "@opentelemetry/api": "1.9.0", - "@opentelemetry/context-zone": "1.29.0", - "@opentelemetry/propagator-b3": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/context-zone": "1.30.0", + "@opentelemetry/propagator-b3": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/sinon": "17.0.3", @@ -87,9 +87,9 @@ "@opentelemetry/api": "^1.3.0" }, "dependencies": { - "@opentelemetry/core": "1.29.0", - "@opentelemetry/instrumentation": "0.56.0", - "@opentelemetry/sdk-trace-web": "1.29.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/instrumentation": "0.57.0", + "@opentelemetry/sdk-trace-web": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation-fetch", diff --git a/experimental/packages/opentelemetry-instrumentation-grpc/package.json b/experimental/packages/opentelemetry-instrumentation-grpc/package.json index eed6883fbeb..fa08d927633 100644 --- a/experimental/packages/opentelemetry-instrumentation-grpc/package.json +++ b/experimental/packages/opentelemetry-instrumentation-grpc/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/instrumentation-grpc", - "version": "0.56.0", + "version": "0.57.0", "description": "OpenTelemetry instrumentation for `@grpc/grpc-js` rpc client and server for gRPC framework", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -50,10 +50,10 @@ "@grpc/grpc-js": "^1.7.1", "@grpc/proto-loader": "^0.7.10", "@opentelemetry/api": "1.9.0", - "@opentelemetry/context-async-hooks": "1.29.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", - "@opentelemetry/sdk-trace-node": "1.29.0", + "@opentelemetry/context-async-hooks": "1.30.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", + "@opentelemetry/sdk-trace-node": "1.30.0", "@protobuf-ts/grpc-transport": "2.9.4", "@protobuf-ts/runtime": "2.9.4", "@protobuf-ts/runtime-rpc": "2.9.4", @@ -73,7 +73,7 @@ "@opentelemetry/api": "^1.3.0" }, "dependencies": { - "@opentelemetry/instrumentation": "0.56.0", + "@opentelemetry/instrumentation": "0.57.0", "@opentelemetry/semantic-conventions": "1.28.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation-grpc", diff --git a/experimental/packages/opentelemetry-instrumentation-http/package.json b/experimental/packages/opentelemetry-instrumentation-http/package.json index e19ba0b7d13..0f4b8ae1b89 100644 --- a/experimental/packages/opentelemetry-instrumentation-http/package.json +++ b/experimental/packages/opentelemetry-instrumentation-http/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/instrumentation-http", - "version": "0.56.0", + "version": "0.57.0", "description": "OpenTelemetry instrumentation for `node:http` and `node:https` http client and server modules", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -49,10 +49,10 @@ }, "devDependencies": { "@opentelemetry/api": "1.9.0", - "@opentelemetry/context-async-hooks": "1.29.0", - "@opentelemetry/sdk-metrics": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", - "@opentelemetry/sdk-trace-node": "1.29.0", + "@opentelemetry/context-async-hooks": "1.30.0", + "@opentelemetry/sdk-metrics": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", + "@opentelemetry/sdk-trace-node": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/request-promise-native": "1.0.21", @@ -75,8 +75,8 @@ "@opentelemetry/api": "^1.3.0" }, "dependencies": { - "@opentelemetry/core": "1.29.0", - "@opentelemetry/instrumentation": "0.56.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/instrumentation": "0.57.0", "@opentelemetry/semantic-conventions": "1.28.0", "forwarded-parse": "2.1.2", "semver": "^7.5.2" diff --git a/experimental/packages/opentelemetry-instrumentation-xml-http-request/package.json b/experimental/packages/opentelemetry-instrumentation-xml-http-request/package.json index fb02950c93e..ccb9b402b6b 100644 --- a/experimental/packages/opentelemetry-instrumentation-xml-http-request/package.json +++ b/experimental/packages/opentelemetry-instrumentation-xml-http-request/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/instrumentation-xml-http-request", - "version": "0.56.0", + "version": "0.57.0", "description": "OpenTelemetry instrumentation for XMLHttpRequest http client in web browsers", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -57,9 +57,9 @@ "@babel/core": "7.26.0", "@babel/preset-env": "7.26.0", "@opentelemetry/api": "1.9.0", - "@opentelemetry/context-zone": "1.29.0", - "@opentelemetry/propagator-b3": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/context-zone": "1.30.0", + "@opentelemetry/propagator-b3": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/sinon": "17.0.3", @@ -87,9 +87,9 @@ "@opentelemetry/api": "^1.3.0" }, "dependencies": { - "@opentelemetry/core": "1.29.0", - "@opentelemetry/instrumentation": "0.56.0", - "@opentelemetry/sdk-trace-web": "1.29.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/instrumentation": "0.57.0", + "@opentelemetry/sdk-trace-web": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation-xml-http-request", diff --git a/experimental/packages/opentelemetry-instrumentation/package.json b/experimental/packages/opentelemetry-instrumentation/package.json index 406032b1985..0c1dbc6bd2b 100644 --- a/experimental/packages/opentelemetry-instrumentation/package.json +++ b/experimental/packages/opentelemetry-instrumentation/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/instrumentation", - "version": "0.56.0", + "version": "0.57.0", "description": "Base class for node which OpenTelemetry instrumentation modules extend", "author": "OpenTelemetry Authors", "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation", @@ -70,7 +70,7 @@ "url": "https://github.com/open-telemetry/opentelemetry-js/issues" }, "dependencies": { - "@opentelemetry/api-logs": "0.56.0", + "@opentelemetry/api-logs": "0.57.0", "@types/shimmer": "^1.2.0", "import-in-the-middle": "^1.8.1", "require-in-the-middle": "^7.1.1", @@ -84,7 +84,7 @@ "@babel/core": "7.26.0", "@babel/preset-env": "7.26.0", "@opentelemetry/api": "1.9.0", - "@opentelemetry/sdk-metrics": "1.29.0", + "@opentelemetry/sdk-metrics": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/semver": "7.5.8", diff --git a/experimental/packages/opentelemetry-sdk-node/package.json b/experimental/packages/opentelemetry-sdk-node/package.json index bdfe19046ac..f75884aad9f 100644 --- a/experimental/packages/opentelemetry-sdk-node/package.json +++ b/experimental/packages/opentelemetry-sdk-node/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/sdk-node", - "version": "0.56.0", + "version": "0.57.0", "description": "OpenTelemetry SDK for Node.js", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -44,25 +44,25 @@ "access": "public" }, "dependencies": { - "@opentelemetry/api-logs": "0.56.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/exporter-logs-otlp-grpc": "0.56.0", - "@opentelemetry/exporter-logs-otlp-http": "0.56.0", - "@opentelemetry/exporter-logs-otlp-proto": "0.56.0", - "@opentelemetry/exporter-trace-otlp-grpc": "0.56.0", - "@opentelemetry/exporter-trace-otlp-http": "0.56.0", - "@opentelemetry/exporter-trace-otlp-proto": "0.56.0", - "@opentelemetry/exporter-zipkin": "1.29.0", - "@opentelemetry/instrumentation": "0.56.0", - "@opentelemetry/exporter-metrics-otlp-grpc": "0.56.0", - "@opentelemetry/exporter-metrics-otlp-proto": "0.56.0", - "@opentelemetry/exporter-metrics-otlp-http": "0.56.0", - "@opentelemetry/exporter-prometheus": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-logs": "0.56.0", - "@opentelemetry/sdk-metrics": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", - "@opentelemetry/sdk-trace-node": "1.29.0", + "@opentelemetry/api-logs": "0.57.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/exporter-logs-otlp-grpc": "0.57.0", + "@opentelemetry/exporter-logs-otlp-http": "0.57.0", + "@opentelemetry/exporter-logs-otlp-proto": "0.57.0", + "@opentelemetry/exporter-metrics-otlp-grpc": "0.57.0", + "@opentelemetry/exporter-metrics-otlp-http": "0.57.0", + "@opentelemetry/exporter-metrics-otlp-proto": "0.57.0", + "@opentelemetry/exporter-prometheus": "0.57.0", + "@opentelemetry/exporter-trace-otlp-grpc": "0.57.0", + "@opentelemetry/exporter-trace-otlp-http": "0.57.0", + "@opentelemetry/exporter-trace-otlp-proto": "0.57.0", + "@opentelemetry/exporter-zipkin": "1.30.0", + "@opentelemetry/instrumentation": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-logs": "0.57.0", + "@opentelemetry/sdk-metrics": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", + "@opentelemetry/sdk-trace-node": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0" }, "peerDependencies": { @@ -70,8 +70,8 @@ }, "devDependencies": { "@opentelemetry/api": "1.9.0", - "@opentelemetry/context-async-hooks": "1.29.0", - "@opentelemetry/exporter-jaeger": "1.29.0", + "@opentelemetry/context-async-hooks": "1.30.0", + "@opentelemetry/exporter-jaeger": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/semver": "7.5.8", diff --git a/experimental/packages/otlp-exporter-base/package.json b/experimental/packages/otlp-exporter-base/package.json index f3298ffb26c..8d54aa2eb4c 100644 --- a/experimental/packages/otlp-exporter-base/package.json +++ b/experimental/packages/otlp-exporter-base/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/otlp-exporter-base", - "version": "0.56.0", + "version": "0.57.0", "description": "OpenTelemetry OTLP Exporter base (for internal use only)", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -87,8 +87,8 @@ "access": "public" }, "dependencies": { - "@opentelemetry/core": "1.29.0", - "@opentelemetry/otlp-transformer": "0.56.0" + "@opentelemetry/core": "1.30.0", + "@opentelemetry/otlp-transformer": "0.57.0" }, "devDependencies": { "@babel/core": "7.26.0", diff --git a/experimental/packages/otlp-grpc-exporter-base/package.json b/experimental/packages/otlp-grpc-exporter-base/package.json index 23950987a79..645186c78ab 100644 --- a/experimental/packages/otlp-grpc-exporter-base/package.json +++ b/experimental/packages/otlp-grpc-exporter-base/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/otlp-grpc-exporter-base", - "version": "0.56.0", + "version": "0.57.0", "description": "OpenTelemetry OTLP-gRPC Exporter base (for internal use only)", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -47,8 +47,8 @@ }, "devDependencies": { "@opentelemetry/api": "1.9.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/sinon": "17.0.3", @@ -65,9 +65,9 @@ }, "dependencies": { "@grpc/grpc-js": "^1.7.1", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/otlp-exporter-base": "0.56.0", - "@opentelemetry/otlp-transformer": "0.56.0" + "@opentelemetry/core": "1.30.0", + "@opentelemetry/otlp-exporter-base": "0.57.0", + "@opentelemetry/otlp-transformer": "0.57.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/otlp-grpc-exporter-base", "sideEffects": false diff --git a/experimental/packages/otlp-transformer/package.json b/experimental/packages/otlp-transformer/package.json index a30da2fb32a..acb8853dac2 100644 --- a/experimental/packages/otlp-transformer/package.json +++ b/experimental/packages/otlp-transformer/package.json @@ -4,7 +4,7 @@ "publishConfig": { "access": "public" }, - "version": "0.56.0", + "version": "0.57.0", "description": "Transform OpenTelemetry SDK data into OTLP", "module": "build/esm/index.js", "esnext": "build/esnext/index.js", @@ -81,12 +81,12 @@ "webpack": "5.96.1" }, "dependencies": { - "@opentelemetry/api-logs": "0.56.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-logs": "0.56.0", - "@opentelemetry/sdk-metrics": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/api-logs": "0.57.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-logs": "0.57.0", + "@opentelemetry/sdk-metrics": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "protobufjs": "^7.3.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/otlp-transformer", diff --git a/experimental/packages/sampler-jaeger-remote/package.json b/experimental/packages/sampler-jaeger-remote/package.json index 4ec2b50e1a7..a30cf8f8c6e 100644 --- a/experimental/packages/sampler-jaeger-remote/package.json +++ b/experimental/packages/sampler-jaeger-remote/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/sampler-jaeger-remote", - "version": "0.56.0", + "version": "0.57.0", "description": "Jaeger Remote Sampler", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -42,7 +42,7 @@ "access": "public" }, "dependencies": { - "@opentelemetry/sdk-trace-base": "1.29.0" + "@opentelemetry/sdk-trace-base": "1.30.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" diff --git a/experimental/packages/sdk-events/package.json b/experimental/packages/sdk-events/package.json index b5638490af2..8d876f8b833 100644 --- a/experimental/packages/sdk-events/package.json +++ b/experimental/packages/sdk-events/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/sdk-events", - "version": "0.56.0", + "version": "0.57.0", "publishConfig": { "access": "public" }, @@ -92,8 +92,8 @@ "webpack-merge": "5.10.0" }, "dependencies": { - "@opentelemetry/api-events": "0.56.0", - "@opentelemetry/api-logs": "0.56.0", - "@opentelemetry/sdk-logs": "0.56.0" + "@opentelemetry/api-events": "0.57.0", + "@opentelemetry/api-logs": "0.57.0", + "@opentelemetry/sdk-logs": "0.57.0" } } diff --git a/experimental/packages/sdk-logs/package.json b/experimental/packages/sdk-logs/package.json index fb0a1c16c50..37ae70bd116 100644 --- a/experimental/packages/sdk-logs/package.json +++ b/experimental/packages/sdk-logs/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/sdk-logs", - "version": "0.56.0", + "version": "0.57.0", "publishConfig": { "access": "public" }, @@ -97,8 +97,8 @@ "webpack-merge": "5.10.0" }, "dependencies": { - "@opentelemetry/api-logs": "0.56.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/resources": "1.29.0" + "@opentelemetry/api-logs": "0.57.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/resources": "1.30.0" } } diff --git a/experimental/packages/shim-opencensus/package.json b/experimental/packages/shim-opencensus/package.json index f49980be283..b1b293091ad 100644 --- a/experimental/packages/shim-opencensus/package.json +++ b/experimental/packages/shim-opencensus/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/shim-opencensus", - "version": "0.56.0", + "version": "0.57.0", "description": "OpenCensus to OpenTelemetry shim", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -50,8 +50,8 @@ "devDependencies": { "@opencensus/core": "0.1.0", "@opentelemetry/api": "1.9.0", - "@opentelemetry/context-async-hooks": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/context-async-hooks": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/sinon": "17.0.3", @@ -67,9 +67,9 @@ "@opentelemetry/api": "^1.3.0" }, "dependencies": { - "@opentelemetry/core": "1.29.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-metrics": "1.29.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-metrics": "1.30.0", "require-in-the-middle": "^7.1.1", "semver": "^7.5.2" }, diff --git a/experimental/packages/web-common/package.json b/experimental/packages/web-common/package.json index 42a2e76666d..a28770f93f4 100644 --- a/experimental/packages/web-common/package.json +++ b/experimental/packages/web-common/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/web-common", - "version": "0.56.0", + "version": "0.57.0", "publishConfig": { "access": "public" }, @@ -66,15 +66,15 @@ "@opentelemetry/api": ">=1.4.0 <1.10.0" }, "dependencies": { - "@opentelemetry/sdk-logs": "0.56.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/sdk-logs": "0.57.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0" }, "devDependencies": { "@babel/core": "7.26.0", "@opentelemetry/api": "1.9.0", - "@opentelemetry/api-events": "0.56.0", - "@opentelemetry/api-logs": "0.56.0", + "@opentelemetry/api-events": "0.57.0", + "@opentelemetry/api-logs": "0.57.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/sinon": "10.0.20", diff --git a/integration-tests/api/package.json b/integration-tests/api/package.json index da41b9be6ba..c53ca45fdb5 100644 --- a/integration-tests/api/package.json +++ b/integration-tests/api/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/integration-tests-api", - "version": "1.29.0", + "version": "1.30.0", "private": true, "publishConfig": { "access": "restricted" @@ -28,7 +28,7 @@ }, "devDependencies": { "@opentelemetry/api": "^1.3.0", - "@opentelemetry/core": "1.29.0", + "@opentelemetry/core": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "cross-var": "1.1.0", diff --git a/integration-tests/propagation-validation-server/package.json b/integration-tests/propagation-validation-server/package.json index 9e499debc52..c02cc4cc494 100644 --- a/integration-tests/propagation-validation-server/package.json +++ b/integration-tests/propagation-validation-server/package.json @@ -1,6 +1,6 @@ { "name": "propagation-validation-server", - "version": "1.30.0", + "version": "1.31.0", "description": "server for w3c tests", "main": "validation_server.js", "private": true, @@ -12,9 +12,9 @@ }, "dependencies": { "@opentelemetry/api": "^1.3.0", - "@opentelemetry/context-async-hooks": "1.29.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/context-async-hooks": "1.30.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "axios": "1.7.9", "body-parser": "1.20.3", "express": "4.21.2" diff --git a/package-lock.json b/package-lock.json index 1a6fe32c131..66caf2a017a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -91,16 +91,16 @@ } }, "examples/esm-http-ts": { - "version": "0.56.0", + "version": "0.57.0", "license": "Apache-2.0", "dependencies": { "@opentelemetry/api": "1.9.0", - "@opentelemetry/exporter-trace-otlp-proto": "0.56.0", - "@opentelemetry/instrumentation": "0.56.0", - "@opentelemetry/instrumentation-http": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", - "@opentelemetry/sdk-trace-node": "1.29.0", + "@opentelemetry/exporter-trace-otlp-proto": "0.57.0", + "@opentelemetry/instrumentation": "0.57.0", + "@opentelemetry/instrumentation-http": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", + "@opentelemetry/sdk-trace-node": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0" }, "engines": { @@ -109,17 +109,17 @@ }, "examples/http": { "name": "http-example", - "version": "0.56.0", + "version": "0.57.0", "license": "Apache-2.0", "dependencies": { "@opentelemetry/api": "^1.3.0", - "@opentelemetry/exporter-jaeger": "1.29.0", - "@opentelemetry/exporter-zipkin": "1.29.0", - "@opentelemetry/instrumentation": "0.56.0", - "@opentelemetry/instrumentation-http": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", - "@opentelemetry/sdk-trace-node": "1.29.0", + "@opentelemetry/exporter-jaeger": "1.30.0", + "@opentelemetry/exporter-zipkin": "1.30.0", + "@opentelemetry/instrumentation": "0.57.0", + "@opentelemetry/instrumentation-http": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", + "@opentelemetry/sdk-trace-node": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0" }, "devDependencies": { @@ -131,17 +131,17 @@ }, "examples/https": { "name": "https-example", - "version": "0.56.0", + "version": "0.57.0", "license": "Apache-2.0", "dependencies": { "@opentelemetry/api": "^1.3.0", - "@opentelemetry/exporter-jaeger": "1.29.0", - "@opentelemetry/exporter-zipkin": "1.29.0", - "@opentelemetry/instrumentation": "0.56.0", - "@opentelemetry/instrumentation-http": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", - "@opentelemetry/sdk-trace-node": "1.29.0", + "@opentelemetry/exporter-jaeger": "1.30.0", + "@opentelemetry/exporter-zipkin": "1.30.0", + "@opentelemetry/instrumentation": "0.57.0", + "@opentelemetry/instrumentation-http": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", + "@opentelemetry/sdk-trace-node": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0" }, "devDependencies": { @@ -153,23 +153,23 @@ }, "examples/opentelemetry-web": { "name": "web-opentelemetry-example", - "version": "0.56.0", + "version": "0.57.0", "license": "Apache-2.0", "dependencies": { "@opentelemetry/api": "^1.3.0", - "@opentelemetry/context-zone": "1.29.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/exporter-metrics-otlp-http": "0.56.0", - "@opentelemetry/exporter-trace-otlp-http": "0.56.0", - "@opentelemetry/exporter-trace-otlp-proto": "0.56.0", - "@opentelemetry/exporter-zipkin": "1.29.0", - "@opentelemetry/instrumentation": "0.56.0", - "@opentelemetry/instrumentation-fetch": "0.56.0", - "@opentelemetry/instrumentation-xml-http-request": "0.56.0", - "@opentelemetry/propagator-b3": "1.29.0", - "@opentelemetry/sdk-metrics": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", - "@opentelemetry/sdk-trace-web": "1.29.0", + "@opentelemetry/context-zone": "1.30.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/exporter-metrics-otlp-http": "0.57.0", + "@opentelemetry/exporter-trace-otlp-http": "0.57.0", + "@opentelemetry/exporter-trace-otlp-proto": "0.57.0", + "@opentelemetry/exporter-zipkin": "1.30.0", + "@opentelemetry/instrumentation": "0.57.0", + "@opentelemetry/instrumentation-fetch": "0.57.0", + "@opentelemetry/instrumentation-xml-http-request": "0.57.0", + "@opentelemetry/propagator-b3": "1.30.0", + "@opentelemetry/sdk-metrics": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", + "@opentelemetry/sdk-trace-web": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0" }, "devDependencies": { @@ -202,20 +202,20 @@ }, "examples/otlp-exporter-node": { "name": "example-otlp-exporter-node", - "version": "0.56.0", + "version": "0.57.0", "license": "Apache-2.0", "dependencies": { "@opentelemetry/api": "^1.3.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/exporter-metrics-otlp-grpc": "0.56.0", - "@opentelemetry/exporter-metrics-otlp-http": "0.56.0", - "@opentelemetry/exporter-metrics-otlp-proto": "0.56.0", - "@opentelemetry/exporter-trace-otlp-grpc": "0.56.0", - "@opentelemetry/exporter-trace-otlp-http": "0.56.0", - "@opentelemetry/exporter-trace-otlp-proto": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-metrics": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/exporter-metrics-otlp-grpc": "0.57.0", + "@opentelemetry/exporter-metrics-otlp-http": "0.57.0", + "@opentelemetry/exporter-metrics-otlp-proto": "0.57.0", + "@opentelemetry/exporter-trace-otlp-grpc": "0.57.0", + "@opentelemetry/exporter-trace-otlp-http": "0.57.0", + "@opentelemetry/exporter-trace-otlp-proto": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-metrics": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0" }, "engines": { @@ -224,11 +224,11 @@ }, "experimental/backwards-compatibility/node14": { "name": "backcompat-node14", - "version": "0.56.0", + "version": "0.57.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/sdk-node": "0.56.0", - "@opentelemetry/sdk-trace-base": "1.29.0" + "@opentelemetry/sdk-node": "0.57.0", + "@opentelemetry/sdk-trace-base": "1.30.0" }, "devDependencies": { "@types/node": "14.18.25", @@ -246,11 +246,11 @@ }, "experimental/backwards-compatibility/node16": { "name": "backcompat-node16", - "version": "0.56.0", + "version": "0.57.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/sdk-node": "0.56.0", - "@opentelemetry/sdk-trace-base": "1.29.0" + "@opentelemetry/sdk-node": "0.57.0", + "@opentelemetry/sdk-trace-base": "1.30.0" }, "devDependencies": { "@types/node": "16.11.52", @@ -268,14 +268,14 @@ }, "experimental/examples/events": { "name": "events-example", - "version": "0.56.0", + "version": "0.57.0", "dependencies": { "@opentelemetry/api": "^1.7.0", - "@opentelemetry/api-events": "0.56.0", - "@opentelemetry/api-logs": "0.56.0", - "@opentelemetry/exporter-logs-otlp-http": "0.56.0", - "@opentelemetry/sdk-events": "0.56.0", - "@opentelemetry/sdk-logs": "0.56.0" + "@opentelemetry/api-events": "0.57.0", + "@opentelemetry/api-logs": "0.57.0", + "@opentelemetry/exporter-logs-otlp-http": "0.57.0", + "@opentelemetry/sdk-events": "0.57.0", + "@opentelemetry/sdk-logs": "0.57.0" }, "devDependencies": { "@types/node": "18.6.5", @@ -284,11 +284,11 @@ }, "experimental/examples/logs": { "name": "logs-example", - "version": "0.56.0", + "version": "0.57.0", "dependencies": { "@opentelemetry/api": "^1.7.0", - "@opentelemetry/api-logs": "0.56.0", - "@opentelemetry/sdk-logs": "0.56.0" + "@opentelemetry/api-logs": "0.57.0", + "@opentelemetry/sdk-logs": "0.57.0" }, "devDependencies": { "@types/node": "18.6.5", @@ -296,20 +296,20 @@ } }, "experimental/examples/opencensus-shim": { - "version": "0.56.0", + "version": "0.57.0", "license": "Apache-2.0", "dependencies": { "@opencensus/core": "0.1.0", "@opencensus/instrumentation-http": "0.1.0", "@opencensus/nodejs-base": "0.1.0", "@opentelemetry/api": "1.9.0", - "@opentelemetry/exporter-prometheus": "0.56.0", - "@opentelemetry/exporter-trace-otlp-grpc": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-metrics": "1.29.0", - "@opentelemetry/sdk-trace-node": "1.29.0", + "@opentelemetry/exporter-prometheus": "0.57.0", + "@opentelemetry/exporter-trace-otlp-grpc": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-metrics": "1.30.0", + "@opentelemetry/sdk-trace-node": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0", - "@opentelemetry/shim-opencensus": "0.56.0" + "@opentelemetry/shim-opencensus": "0.57.0" }, "engines": { "node": ">=14" @@ -317,21 +317,21 @@ }, "experimental/examples/prometheus": { "name": "prometheus-example", - "version": "0.56.0", + "version": "0.57.0", "license": "Apache-2.0", "dependencies": { "@opentelemetry/api": "^1.3.0", - "@opentelemetry/exporter-prometheus": "0.56.0", - "@opentelemetry/sdk-metrics": "1.29.0" + "@opentelemetry/exporter-prometheus": "0.57.0", + "@opentelemetry/sdk-metrics": "1.30.0" } }, "experimental/packages/api-events": { "name": "@opentelemetry/api-events", - "version": "0.56.0", + "version": "0.57.0", "license": "Apache-2.0", "dependencies": { "@opentelemetry/api": "^1.3.0", - "@opentelemetry/api-logs": "0.56.0" + "@opentelemetry/api-logs": "0.57.0" }, "devDependencies": { "@types/mocha": "10.0.10", @@ -358,7 +358,7 @@ }, "experimental/packages/api-logs": { "name": "@opentelemetry/api-logs", - "version": "0.56.0", + "version": "0.57.0", "license": "Apache-2.0", "dependencies": { "@opentelemetry/api": "^1.3.0" @@ -388,21 +388,21 @@ }, "experimental/packages/exporter-logs-otlp-grpc": { "name": "@opentelemetry/exporter-logs-otlp-grpc", - "version": "0.56.0", + "version": "0.57.0", "license": "Apache-2.0", "dependencies": { "@grpc/grpc-js": "^1.7.1", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/otlp-grpc-exporter-base": "0.56.0", - "@opentelemetry/otlp-transformer": "0.56.0", - "@opentelemetry/sdk-logs": "0.56.0" + "@opentelemetry/core": "1.30.0", + "@opentelemetry/otlp-grpc-exporter-base": "0.57.0", + "@opentelemetry/otlp-transformer": "0.57.0", + "@opentelemetry/sdk-logs": "0.57.0" }, "devDependencies": { "@grpc/proto-loader": "^0.7.10", "@opentelemetry/api": "1.9.0", - "@opentelemetry/api-logs": "0.56.0", - "@opentelemetry/otlp-exporter-base": "0.56.0", - "@opentelemetry/resources": "1.29.0", + "@opentelemetry/api-logs": "0.57.0", + "@opentelemetry/otlp-exporter-base": "0.57.0", + "@opentelemetry/resources": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/sinon": "17.0.3", @@ -423,20 +423,20 @@ }, "experimental/packages/exporter-logs-otlp-http": { "name": "@opentelemetry/exporter-logs-otlp-http", - "version": "0.56.0", + "version": "0.57.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/api-logs": "0.56.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/otlp-exporter-base": "0.56.0", - "@opentelemetry/otlp-transformer": "0.56.0", - "@opentelemetry/sdk-logs": "0.56.0" + "@opentelemetry/api-logs": "0.57.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/otlp-exporter-base": "0.57.0", + "@opentelemetry/otlp-transformer": "0.57.0", + "@opentelemetry/sdk-logs": "0.57.0" }, "devDependencies": { "@babel/core": "7.26.0", "@babel/preset-env": "7.26.0", "@opentelemetry/api": "1.9.0", - "@opentelemetry/resources": "1.29.0", + "@opentelemetry/resources": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/sinon": "17.0.3", @@ -469,16 +469,16 @@ }, "experimental/packages/exporter-logs-otlp-proto": { "name": "@opentelemetry/exporter-logs-otlp-proto", - "version": "0.56.0", + "version": "0.57.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/api-logs": "0.56.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/otlp-exporter-base": "0.56.0", - "@opentelemetry/otlp-transformer": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-logs": "0.56.0", - "@opentelemetry/sdk-trace-base": "1.29.0" + "@opentelemetry/api-logs": "0.57.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/otlp-exporter-base": "0.57.0", + "@opentelemetry/otlp-transformer": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-logs": "0.57.0", + "@opentelemetry/sdk-trace-base": "1.30.0" }, "devDependencies": { "@babel/core": "7.26.0", @@ -514,20 +514,20 @@ }, "experimental/packages/exporter-trace-otlp-grpc": { "name": "@opentelemetry/exporter-trace-otlp-grpc", - "version": "0.56.0", + "version": "0.57.0", "license": "Apache-2.0", "dependencies": { "@grpc/grpc-js": "^1.7.1", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/otlp-grpc-exporter-base": "0.56.0", - "@opentelemetry/otlp-transformer": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0" + "@opentelemetry/core": "1.30.0", + "@opentelemetry/otlp-grpc-exporter-base": "0.57.0", + "@opentelemetry/otlp-transformer": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0" }, "devDependencies": { "@grpc/proto-loader": "^0.7.10", "@opentelemetry/api": "1.9.0", - "@opentelemetry/otlp-exporter-base": "0.56.0", + "@opentelemetry/otlp-exporter-base": "0.57.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/sinon": "17.0.3", @@ -548,14 +548,14 @@ }, "experimental/packages/exporter-trace-otlp-http": { "name": "@opentelemetry/exporter-trace-otlp-http", - "version": "0.56.0", + "version": "0.57.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.29.0", - "@opentelemetry/otlp-exporter-base": "0.56.0", - "@opentelemetry/otlp-transformer": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0" + "@opentelemetry/core": "1.30.0", + "@opentelemetry/otlp-exporter-base": "0.57.0", + "@opentelemetry/otlp-transformer": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0" }, "devDependencies": { "@babel/core": "7.26.0", @@ -593,14 +593,14 @@ }, "experimental/packages/exporter-trace-otlp-proto": { "name": "@opentelemetry/exporter-trace-otlp-proto", - "version": "0.56.0", + "version": "0.57.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.29.0", - "@opentelemetry/otlp-exporter-base": "0.56.0", - "@opentelemetry/otlp-transformer": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0" + "@opentelemetry/core": "1.30.0", + "@opentelemetry/otlp-exporter-base": "0.57.0", + "@opentelemetry/otlp-transformer": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0" }, "devDependencies": { "@babel/core": "7.26.0", @@ -636,10 +636,10 @@ }, "experimental/packages/opentelemetry-browser-detector": { "name": "@opentelemetry/opentelemetry-browser-detector", - "version": "0.56.0", + "version": "0.57.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/resources": "1.29.0" + "@opentelemetry/resources": "1.30.0" }, "devDependencies": { "@babel/core": "7.26.0", @@ -675,17 +675,17 @@ }, "experimental/packages/opentelemetry-exporter-metrics-otlp-grpc": { "name": "@opentelemetry/exporter-metrics-otlp-grpc", - "version": "0.56.0", + "version": "0.57.0", "license": "Apache-2.0", "dependencies": { "@grpc/grpc-js": "^1.7.1", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/exporter-metrics-otlp-http": "0.56.0", - "@opentelemetry/otlp-exporter-base": "0.56.0", - "@opentelemetry/otlp-grpc-exporter-base": "0.56.0", - "@opentelemetry/otlp-transformer": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-metrics": "1.29.0" + "@opentelemetry/core": "1.30.0", + "@opentelemetry/exporter-metrics-otlp-http": "0.57.0", + "@opentelemetry/otlp-exporter-base": "0.57.0", + "@opentelemetry/otlp-grpc-exporter-base": "0.57.0", + "@opentelemetry/otlp-transformer": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-metrics": "1.30.0" }, "devDependencies": { "@grpc/proto-loader": "^0.7.10", @@ -710,14 +710,14 @@ }, "experimental/packages/opentelemetry-exporter-metrics-otlp-http": { "name": "@opentelemetry/exporter-metrics-otlp-http", - "version": "0.56.0", + "version": "0.57.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.29.0", - "@opentelemetry/otlp-exporter-base": "0.56.0", - "@opentelemetry/otlp-transformer": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-metrics": "1.29.0" + "@opentelemetry/core": "1.30.0", + "@opentelemetry/otlp-exporter-base": "0.57.0", + "@opentelemetry/otlp-transformer": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-metrics": "1.30.0" }, "devDependencies": { "@babel/core": "7.26.0", @@ -755,15 +755,15 @@ }, "experimental/packages/opentelemetry-exporter-metrics-otlp-proto": { "name": "@opentelemetry/exporter-metrics-otlp-proto", - "version": "0.56.0", + "version": "0.57.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.29.0", - "@opentelemetry/exporter-metrics-otlp-http": "0.56.0", - "@opentelemetry/otlp-exporter-base": "0.56.0", - "@opentelemetry/otlp-transformer": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-metrics": "1.29.0" + "@opentelemetry/core": "1.30.0", + "@opentelemetry/exporter-metrics-otlp-http": "0.57.0", + "@opentelemetry/otlp-exporter-base": "0.57.0", + "@opentelemetry/otlp-transformer": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-metrics": "1.30.0" }, "devDependencies": { "@opentelemetry/api": "1.9.0", @@ -787,12 +787,12 @@ }, "experimental/packages/opentelemetry-exporter-prometheus": { "name": "@opentelemetry/exporter-prometheus", - "version": "0.56.0", + "version": "0.57.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.29.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-metrics": "1.29.0" + "@opentelemetry/core": "1.30.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-metrics": "1.30.0" }, "devDependencies": { "@opentelemetry/api": "1.9.0", @@ -816,10 +816,10 @@ }, "experimental/packages/opentelemetry-instrumentation": { "name": "@opentelemetry/instrumentation", - "version": "0.56.0", + "version": "0.57.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/api-logs": "0.56.0", + "@opentelemetry/api-logs": "0.57.0", "@types/shimmer": "^1.2.0", "import-in-the-middle": "^1.8.1", "require-in-the-middle": "^7.1.1", @@ -830,7 +830,7 @@ "@babel/core": "7.26.0", "@babel/preset-env": "7.26.0", "@opentelemetry/api": "1.9.0", - "@opentelemetry/sdk-metrics": "1.29.0", + "@opentelemetry/sdk-metrics": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/semver": "7.5.8", @@ -865,21 +865,21 @@ }, "experimental/packages/opentelemetry-instrumentation-fetch": { "name": "@opentelemetry/instrumentation-fetch", - "version": "0.56.0", + "version": "0.57.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.29.0", - "@opentelemetry/instrumentation": "0.56.0", - "@opentelemetry/sdk-trace-web": "1.29.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/instrumentation": "0.57.0", + "@opentelemetry/sdk-trace-web": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0" }, "devDependencies": { "@babel/core": "7.26.0", "@babel/preset-env": "7.26.0", "@opentelemetry/api": "1.9.0", - "@opentelemetry/context-zone": "1.29.0", - "@opentelemetry/propagator-b3": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/context-zone": "1.30.0", + "@opentelemetry/propagator-b3": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/sinon": "17.0.3", @@ -912,10 +912,10 @@ }, "experimental/packages/opentelemetry-instrumentation-grpc": { "name": "@opentelemetry/instrumentation-grpc", - "version": "0.56.0", + "version": "0.57.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/instrumentation": "0.56.0", + "@opentelemetry/instrumentation": "0.57.0", "@opentelemetry/semantic-conventions": "1.28.0" }, "devDependencies": { @@ -923,10 +923,10 @@ "@grpc/grpc-js": "^1.7.1", "@grpc/proto-loader": "^0.7.10", "@opentelemetry/api": "1.9.0", - "@opentelemetry/context-async-hooks": "1.29.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", - "@opentelemetry/sdk-trace-node": "1.29.0", + "@opentelemetry/context-async-hooks": "1.30.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", + "@opentelemetry/sdk-trace-node": "1.30.0", "@protobuf-ts/grpc-transport": "2.9.4", "@protobuf-ts/runtime": "2.9.4", "@protobuf-ts/runtime-rpc": "2.9.4", @@ -951,21 +951,21 @@ }, "experimental/packages/opentelemetry-instrumentation-http": { "name": "@opentelemetry/instrumentation-http", - "version": "0.56.0", + "version": "0.57.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.29.0", - "@opentelemetry/instrumentation": "0.56.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/instrumentation": "0.57.0", "@opentelemetry/semantic-conventions": "1.28.0", "forwarded-parse": "2.1.2", "semver": "^7.5.2" }, "devDependencies": { "@opentelemetry/api": "1.9.0", - "@opentelemetry/context-async-hooks": "1.29.0", - "@opentelemetry/sdk-metrics": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", - "@opentelemetry/sdk-trace-node": "1.29.0", + "@opentelemetry/context-async-hooks": "1.30.0", + "@opentelemetry/sdk-metrics": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", + "@opentelemetry/sdk-trace-node": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/request-promise-native": "1.0.21", @@ -993,21 +993,21 @@ }, "experimental/packages/opentelemetry-instrumentation-xml-http-request": { "name": "@opentelemetry/instrumentation-xml-http-request", - "version": "0.56.0", + "version": "0.57.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.29.0", - "@opentelemetry/instrumentation": "0.56.0", - "@opentelemetry/sdk-trace-web": "1.29.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/instrumentation": "0.57.0", + "@opentelemetry/sdk-trace-web": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0" }, "devDependencies": { "@babel/core": "7.26.0", "@babel/preset-env": "7.26.0", "@opentelemetry/api": "1.9.0", - "@opentelemetry/context-zone": "1.29.0", - "@opentelemetry/propagator-b3": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/context-zone": "1.30.0", + "@opentelemetry/propagator-b3": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/sinon": "17.0.3", @@ -1040,34 +1040,34 @@ }, "experimental/packages/opentelemetry-sdk-node": { "name": "@opentelemetry/sdk-node", - "version": "0.56.0", + "version": "0.57.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/api-logs": "0.56.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/exporter-logs-otlp-grpc": "0.56.0", - "@opentelemetry/exporter-logs-otlp-http": "0.56.0", - "@opentelemetry/exporter-logs-otlp-proto": "0.56.0", - "@opentelemetry/exporter-metrics-otlp-grpc": "0.56.0", - "@opentelemetry/exporter-metrics-otlp-http": "0.56.0", - "@opentelemetry/exporter-metrics-otlp-proto": "0.56.0", - "@opentelemetry/exporter-prometheus": "0.56.0", - "@opentelemetry/exporter-trace-otlp-grpc": "0.56.0", - "@opentelemetry/exporter-trace-otlp-http": "0.56.0", - "@opentelemetry/exporter-trace-otlp-proto": "0.56.0", - "@opentelemetry/exporter-zipkin": "1.29.0", - "@opentelemetry/instrumentation": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-logs": "0.56.0", - "@opentelemetry/sdk-metrics": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", - "@opentelemetry/sdk-trace-node": "1.29.0", + "@opentelemetry/api-logs": "0.57.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/exporter-logs-otlp-grpc": "0.57.0", + "@opentelemetry/exporter-logs-otlp-http": "0.57.0", + "@opentelemetry/exporter-logs-otlp-proto": "0.57.0", + "@opentelemetry/exporter-metrics-otlp-grpc": "0.57.0", + "@opentelemetry/exporter-metrics-otlp-http": "0.57.0", + "@opentelemetry/exporter-metrics-otlp-proto": "0.57.0", + "@opentelemetry/exporter-prometheus": "0.57.0", + "@opentelemetry/exporter-trace-otlp-grpc": "0.57.0", + "@opentelemetry/exporter-trace-otlp-http": "0.57.0", + "@opentelemetry/exporter-trace-otlp-proto": "0.57.0", + "@opentelemetry/exporter-zipkin": "1.30.0", + "@opentelemetry/instrumentation": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-logs": "0.57.0", + "@opentelemetry/sdk-metrics": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", + "@opentelemetry/sdk-trace-node": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0" }, "devDependencies": { "@opentelemetry/api": "1.9.0", - "@opentelemetry/context-async-hooks": "1.29.0", - "@opentelemetry/exporter-jaeger": "1.29.0", + "@opentelemetry/context-async-hooks": "1.30.0", + "@opentelemetry/exporter-jaeger": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/semver": "7.5.8", @@ -1090,11 +1090,11 @@ }, "experimental/packages/otlp-exporter-base": { "name": "@opentelemetry/otlp-exporter-base", - "version": "0.56.0", + "version": "0.57.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.29.0", - "@opentelemetry/otlp-transformer": "0.56.0" + "@opentelemetry/core": "1.30.0", + "@opentelemetry/otlp-transformer": "0.57.0" }, "devDependencies": { "@babel/core": "7.26.0", @@ -1130,18 +1130,18 @@ }, "experimental/packages/otlp-grpc-exporter-base": { "name": "@opentelemetry/otlp-grpc-exporter-base", - "version": "0.56.0", + "version": "0.57.0", "license": "Apache-2.0", "dependencies": { "@grpc/grpc-js": "^1.7.1", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/otlp-exporter-base": "0.56.0", - "@opentelemetry/otlp-transformer": "0.56.0" + "@opentelemetry/core": "1.30.0", + "@opentelemetry/otlp-exporter-base": "0.57.0", + "@opentelemetry/otlp-transformer": "0.57.0" }, "devDependencies": { "@opentelemetry/api": "1.9.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/sinon": "17.0.3", @@ -1162,15 +1162,15 @@ }, "experimental/packages/otlp-transformer": { "name": "@opentelemetry/otlp-transformer", - "version": "0.56.0", + "version": "0.57.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/api-logs": "0.56.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-logs": "0.56.0", - "@opentelemetry/sdk-metrics": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/api-logs": "0.57.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-logs": "0.57.0", + "@opentelemetry/sdk-metrics": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "protobufjs": "^7.3.0" }, "devDependencies": { @@ -1202,10 +1202,10 @@ }, "experimental/packages/sampler-jaeger-remote": { "name": "@opentelemetry/sampler-jaeger-remote", - "version": "0.56.0", + "version": "0.57.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/sdk-trace-base": "1.29.0" + "@opentelemetry/sdk-trace-base": "1.30.0" }, "devDependencies": { "@types/mocha": "10.0.10", @@ -1281,12 +1281,12 @@ }, "experimental/packages/sdk-events": { "name": "@opentelemetry/sdk-events", - "version": "0.56.0", + "version": "0.57.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/api-events": "0.56.0", - "@opentelemetry/api-logs": "0.56.0", - "@opentelemetry/sdk-logs": "0.56.0" + "@opentelemetry/api-events": "0.57.0", + "@opentelemetry/api-logs": "0.57.0", + "@opentelemetry/sdk-logs": "0.57.0" }, "devDependencies": { "@babel/core": "7.26.0", @@ -1332,12 +1332,12 @@ }, "experimental/packages/sdk-logs": { "name": "@opentelemetry/sdk-logs", - "version": "0.56.0", + "version": "0.57.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/api-logs": "0.56.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/resources": "1.29.0" + "@opentelemetry/api-logs": "0.57.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/resources": "1.30.0" }, "devDependencies": { "@babel/core": "7.26.0", @@ -1424,20 +1424,20 @@ }, "experimental/packages/shim-opencensus": { "name": "@opentelemetry/shim-opencensus", - "version": "0.56.0", + "version": "0.57.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.29.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-metrics": "1.29.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-metrics": "1.30.0", "require-in-the-middle": "^7.1.1", "semver": "^7.5.2" }, "devDependencies": { "@opencensus/core": "0.1.0", "@opentelemetry/api": "1.9.0", - "@opentelemetry/context-async-hooks": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/context-async-hooks": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/sinon": "17.0.3", @@ -1458,18 +1458,18 @@ }, "experimental/packages/web-common": { "name": "@opentelemetry/web-common", - "version": "0.56.0", + "version": "0.57.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/sdk-logs": "0.56.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/sdk-logs": "0.57.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0" }, "devDependencies": { "@babel/core": "7.26.0", "@opentelemetry/api": "1.9.0", - "@opentelemetry/api-events": "0.56.0", - "@opentelemetry/api-logs": "0.56.0", + "@opentelemetry/api-events": "0.57.0", + "@opentelemetry/api-logs": "0.57.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -1511,11 +1511,11 @@ }, "integration-tests/api": { "name": "@opentelemetry/integration-tests-api", - "version": "1.29.0", + "version": "1.30.0", "license": "Apache-2.0", "devDependencies": { "@opentelemetry/api": "^1.3.0", - "@opentelemetry/core": "1.29.0", + "@opentelemetry/core": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "cross-var": "1.1.0", @@ -1528,13 +1528,13 @@ } }, "integration-tests/propagation-validation-server": { - "version": "1.30.0", + "version": "1.31.0", "license": "Apache-2.0", "dependencies": { "@opentelemetry/api": "^1.3.0", - "@opentelemetry/context-async-hooks": "1.29.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/context-async-hooks": "1.30.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "axios": "1.7.9", "body-parser": "1.20.3", "express": "4.21.2" @@ -27935,7 +27935,7 @@ }, "packages/opentelemetry-context-async-hooks": { "name": "@opentelemetry/context-async-hooks", - "version": "1.29.0", + "version": "1.30.0", "license": "Apache-2.0", "devDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0", @@ -27956,10 +27956,10 @@ }, "packages/opentelemetry-context-zone": { "name": "@opentelemetry/context-zone", - "version": "1.29.0", + "version": "1.30.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/context-zone-peer-dep": "1.29.0", + "@opentelemetry/context-zone-peer-dep": "1.30.0", "zone.js": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^0.14.0 || ^0.15.0" }, "devDependencies": { @@ -27973,7 +27973,7 @@ }, "packages/opentelemetry-context-zone-peer-dep": { "name": "@opentelemetry/context-zone-peer-dep", - "version": "1.29.0", + "version": "1.30.0", "license": "Apache-2.0", "devDependencies": { "@babel/core": "7.26.0", @@ -28013,7 +28013,7 @@ }, "packages/opentelemetry-core": { "name": "@opentelemetry/core", - "version": "1.29.0", + "version": "1.30.0", "license": "Apache-2.0", "dependencies": { "@opentelemetry/semantic-conventions": "1.28.0" @@ -28049,17 +28049,17 @@ }, "packages/opentelemetry-exporter-jaeger": { "name": "@opentelemetry/exporter-jaeger", - "version": "1.29.0", + "version": "1.30.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0", "jaeger-client": "^3.15.0" }, "devDependencies": { "@opentelemetry/api": "^1.0.0", - "@opentelemetry/resources": "1.29.0", + "@opentelemetry/resources": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/sinon": "17.0.3", @@ -28080,12 +28080,12 @@ }, "packages/opentelemetry-exporter-zipkin": { "name": "@opentelemetry/exporter-zipkin", - "version": "1.29.0", + "version": "1.30.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.29.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0" }, "devDependencies": { @@ -28125,10 +28125,10 @@ }, "packages/opentelemetry-propagator-b3": { "name": "@opentelemetry/propagator-b3", - "version": "1.29.0", + "version": "1.30.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.29.0" + "@opentelemetry/core": "1.30.0" }, "devDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0", @@ -28150,10 +28150,10 @@ }, "packages/opentelemetry-propagator-jaeger": { "name": "@opentelemetry/propagator-jaeger", - "version": "1.29.0", + "version": "1.30.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.29.0" + "@opentelemetry/core": "1.30.0" }, "devDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0", @@ -28186,10 +28186,10 @@ }, "packages/opentelemetry-resources": { "name": "@opentelemetry/resources", - "version": "1.29.0", + "version": "1.30.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.29.0", + "@opentelemetry/core": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0" }, "devDependencies": { @@ -28276,11 +28276,11 @@ }, "packages/opentelemetry-sdk-trace-base": { "name": "@opentelemetry/sdk-trace-base", - "version": "1.29.0", + "version": "1.30.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.29.0", - "@opentelemetry/resources": "1.29.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/resources": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0" }, "devDependencies": { @@ -28315,19 +28315,19 @@ }, "packages/opentelemetry-sdk-trace-node": { "name": "@opentelemetry/sdk-trace-node", - "version": "1.29.0", + "version": "1.30.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/context-async-hooks": "1.29.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/propagator-b3": "1.29.0", - "@opentelemetry/propagator-jaeger": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/context-async-hooks": "1.30.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/propagator-b3": "1.30.0", + "@opentelemetry/propagator-jaeger": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "semver": "^7.5.2" }, "devDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0", - "@opentelemetry/resources": "1.29.0", + "@opentelemetry/resources": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", @@ -28349,20 +28349,20 @@ }, "packages/opentelemetry-sdk-trace-web": { "name": "@opentelemetry/sdk-trace-web", - "version": "1.29.0", + "version": "1.30.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0" }, "devDependencies": { "@babel/core": "7.26.0", "@babel/preset-env": "7.26.0", "@opentelemetry/api": ">=1.0.0 <1.10.0", - "@opentelemetry/context-zone": "1.29.0", - "@opentelemetry/propagator-b3": "1.29.0", - "@opentelemetry/resources": "1.29.0", + "@opentelemetry/context-zone": "1.30.0", + "@opentelemetry/propagator-b3": "1.30.0", + "@opentelemetry/resources": "1.30.0", "@types/jquery": "3.5.32", "@types/mocha": "10.0.10", "@types/node": "18.6.5", @@ -28398,18 +28398,18 @@ }, "packages/opentelemetry-shim-opentracing": { "name": "@opentelemetry/shim-opentracing", - "version": "1.29.0", + "version": "1.30.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.29.0", + "@opentelemetry/core": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0", "opentracing": "^0.14.4" }, "devDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0", - "@opentelemetry/propagator-b3": "1.29.0", - "@opentelemetry/propagator-jaeger": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/propagator-b3": "1.30.0", + "@opentelemetry/propagator-jaeger": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "cross-var": "1.1.0", @@ -28427,11 +28427,11 @@ }, "packages/sdk-metrics": { "name": "@opentelemetry/sdk-metrics", - "version": "1.29.0", + "version": "1.30.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.29.0", - "@opentelemetry/resources": "1.29.0" + "@opentelemetry/core": "1.30.0", + "@opentelemetry/resources": "1.30.0" }, "devDependencies": { "@babel/core": "7.26.0", @@ -28467,7 +28467,7 @@ }, "packages/template": { "name": "@opentelemetry/template", - "version": "1.29.0", + "version": "1.30.0", "license": "Apache-2.0", "devDependencies": { "@types/node": "18.6.5", @@ -28481,19 +28481,19 @@ }, "selenium-tests": { "name": "@opentelemetry/selenium-tests", - "version": "1.30.0", + "version": "1.31.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/context-zone-peer-dep": "1.29.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/exporter-trace-otlp-http": "0.56.0", - "@opentelemetry/exporter-zipkin": "1.29.0", - "@opentelemetry/instrumentation": "0.56.0", - "@opentelemetry/instrumentation-fetch": "0.56.0", - "@opentelemetry/instrumentation-xml-http-request": "0.56.0", - "@opentelemetry/sdk-metrics": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", - "@opentelemetry/sdk-trace-web": "1.29.0", + "@opentelemetry/context-zone-peer-dep": "1.30.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/exporter-trace-otlp-http": "0.57.0", + "@opentelemetry/exporter-zipkin": "1.30.0", + "@opentelemetry/instrumentation": "0.57.0", + "@opentelemetry/instrumentation-fetch": "0.57.0", + "@opentelemetry/instrumentation-xml-http-request": "0.57.0", + "@opentelemetry/sdk-metrics": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", + "@opentelemetry/sdk-trace-web": "1.30.0", "zone.js": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^0.14.0 || ^0.15.0" }, "devDependencies": { @@ -31517,7 +31517,7 @@ "version": "file:experimental/packages/api-events", "requires": { "@opentelemetry/api": "^1.3.0", - "@opentelemetry/api-logs": "0.56.0", + "@opentelemetry/api-logs": "0.57.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/webpack-env": "1.16.3", @@ -31576,7 +31576,7 @@ "@opentelemetry/context-zone": { "version": "file:packages/opentelemetry-context-zone", "requires": { - "@opentelemetry/context-zone-peer-dep": "1.29.0", + "@opentelemetry/context-zone-peer-dep": "1.30.0", "cross-var": "1.1.0", "lerna": "6.6.2", "typescript": "4.4.4", @@ -31644,9 +31644,9 @@ "version": "file:packages/opentelemetry-exporter-jaeger", "requires": { "@opentelemetry/api": "^1.0.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", @@ -31667,13 +31667,13 @@ "@grpc/grpc-js": "^1.7.1", "@grpc/proto-loader": "^0.7.10", "@opentelemetry/api": "1.9.0", - "@opentelemetry/api-logs": "0.56.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/otlp-exporter-base": "0.56.0", - "@opentelemetry/otlp-grpc-exporter-base": "0.56.0", - "@opentelemetry/otlp-transformer": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-logs": "0.56.0", + "@opentelemetry/api-logs": "0.57.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/otlp-exporter-base": "0.57.0", + "@opentelemetry/otlp-grpc-exporter-base": "0.57.0", + "@opentelemetry/otlp-transformer": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-logs": "0.57.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/sinon": "17.0.3", @@ -31692,12 +31692,12 @@ "@babel/core": "7.26.0", "@babel/preset-env": "7.26.0", "@opentelemetry/api": "1.9.0", - "@opentelemetry/api-logs": "0.56.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/otlp-exporter-base": "0.56.0", - "@opentelemetry/otlp-transformer": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-logs": "0.56.0", + "@opentelemetry/api-logs": "0.57.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/otlp-exporter-base": "0.57.0", + "@opentelemetry/otlp-transformer": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-logs": "0.57.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/sinon": "17.0.3", @@ -31728,13 +31728,13 @@ "@babel/core": "7.26.0", "@babel/preset-env": "7.26.0", "@opentelemetry/api": "1.9.0", - "@opentelemetry/api-logs": "0.56.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/otlp-exporter-base": "0.56.0", - "@opentelemetry/otlp-transformer": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-logs": "0.56.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/api-logs": "0.57.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/otlp-exporter-base": "0.57.0", + "@opentelemetry/otlp-transformer": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-logs": "0.57.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/sinon": "17.0.3", @@ -31763,13 +31763,13 @@ "@grpc/grpc-js": "^1.7.1", "@grpc/proto-loader": "^0.7.10", "@opentelemetry/api": "1.9.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/exporter-metrics-otlp-http": "0.56.0", - "@opentelemetry/otlp-exporter-base": "0.56.0", - "@opentelemetry/otlp-grpc-exporter-base": "0.56.0", - "@opentelemetry/otlp-transformer": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-metrics": "1.29.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/exporter-metrics-otlp-http": "0.57.0", + "@opentelemetry/otlp-exporter-base": "0.57.0", + "@opentelemetry/otlp-grpc-exporter-base": "0.57.0", + "@opentelemetry/otlp-transformer": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-metrics": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/sinon": "17.0.3", @@ -31788,11 +31788,11 @@ "@babel/core": "7.26.0", "@babel/preset-env": "7.26.0", "@opentelemetry/api": "1.9.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/otlp-exporter-base": "0.56.0", - "@opentelemetry/otlp-transformer": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-metrics": "1.29.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/otlp-exporter-base": "0.57.0", + "@opentelemetry/otlp-transformer": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-metrics": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/sinon": "17.0.3", @@ -31821,12 +31821,12 @@ "version": "file:experimental/packages/opentelemetry-exporter-metrics-otlp-proto", "requires": { "@opentelemetry/api": "1.9.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/exporter-metrics-otlp-http": "0.56.0", - "@opentelemetry/otlp-exporter-base": "0.56.0", - "@opentelemetry/otlp-transformer": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-metrics": "1.29.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/exporter-metrics-otlp-http": "0.57.0", + "@opentelemetry/otlp-exporter-base": "0.57.0", + "@opentelemetry/otlp-transformer": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-metrics": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/sinon": "17.0.3", @@ -31843,9 +31843,9 @@ "version": "file:experimental/packages/opentelemetry-exporter-prometheus", "requires": { "@opentelemetry/api": "1.9.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-metrics": "1.29.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-metrics": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", @@ -31864,12 +31864,12 @@ "@grpc/grpc-js": "^1.7.1", "@grpc/proto-loader": "^0.7.10", "@opentelemetry/api": "1.9.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/otlp-exporter-base": "0.56.0", - "@opentelemetry/otlp-grpc-exporter-base": "0.56.0", - "@opentelemetry/otlp-transformer": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/otlp-exporter-base": "0.57.0", + "@opentelemetry/otlp-grpc-exporter-base": "0.57.0", + "@opentelemetry/otlp-transformer": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/sinon": "17.0.3", @@ -31888,11 +31888,11 @@ "@babel/core": "7.26.0", "@babel/preset-env": "7.26.0", "@opentelemetry/api": "1.9.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/otlp-exporter-base": "0.56.0", - "@opentelemetry/otlp-transformer": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/otlp-exporter-base": "0.57.0", + "@opentelemetry/otlp-transformer": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/sinon": "17.0.3", @@ -31923,11 +31923,11 @@ "@babel/core": "7.26.0", "@babel/preset-env": "7.26.0", "@opentelemetry/api": "1.9.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/otlp-exporter-base": "0.56.0", - "@opentelemetry/otlp-transformer": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/otlp-exporter-base": "0.57.0", + "@opentelemetry/otlp-transformer": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/sinon": "17.0.3", @@ -31956,9 +31956,9 @@ "@babel/core": "7.26.0", "@babel/preset-env": "7.26.0", "@opentelemetry/api": "^1.0.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", @@ -31991,8 +31991,8 @@ "@babel/core": "7.26.0", "@babel/preset-env": "7.26.0", "@opentelemetry/api": "1.9.0", - "@opentelemetry/api-logs": "0.56.0", - "@opentelemetry/sdk-metrics": "1.29.0", + "@opentelemetry/api-logs": "0.57.0", + "@opentelemetry/sdk-metrics": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/semver": "7.5.8", @@ -32030,12 +32030,12 @@ "@babel/core": "7.26.0", "@babel/preset-env": "7.26.0", "@opentelemetry/api": "1.9.0", - "@opentelemetry/context-zone": "1.29.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/instrumentation": "0.56.0", - "@opentelemetry/propagator-b3": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", - "@opentelemetry/sdk-trace-web": "1.29.0", + "@opentelemetry/context-zone": "1.30.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/instrumentation": "0.57.0", + "@opentelemetry/propagator-b3": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", + "@opentelemetry/sdk-trace-web": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", @@ -32068,11 +32068,11 @@ "@grpc/grpc-js": "^1.7.1", "@grpc/proto-loader": "^0.7.10", "@opentelemetry/api": "1.9.0", - "@opentelemetry/context-async-hooks": "1.29.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/instrumentation": "0.56.0", - "@opentelemetry/sdk-trace-base": "1.29.0", - "@opentelemetry/sdk-trace-node": "1.29.0", + "@opentelemetry/context-async-hooks": "1.30.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/instrumentation": "0.57.0", + "@opentelemetry/sdk-trace-base": "1.30.0", + "@opentelemetry/sdk-trace-node": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0", "@protobuf-ts/grpc-transport": "2.9.4", "@protobuf-ts/runtime": "2.9.4", @@ -32094,12 +32094,12 @@ "version": "file:experimental/packages/opentelemetry-instrumentation-http", "requires": { "@opentelemetry/api": "1.9.0", - "@opentelemetry/context-async-hooks": "1.29.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/instrumentation": "0.56.0", - "@opentelemetry/sdk-metrics": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", - "@opentelemetry/sdk-trace-node": "1.29.0", + "@opentelemetry/context-async-hooks": "1.30.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/instrumentation": "0.57.0", + "@opentelemetry/sdk-metrics": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", + "@opentelemetry/sdk-trace-node": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", @@ -32128,12 +32128,12 @@ "@babel/core": "7.26.0", "@babel/preset-env": "7.26.0", "@opentelemetry/api": "1.9.0", - "@opentelemetry/context-zone": "1.29.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/instrumentation": "0.56.0", - "@opentelemetry/propagator-b3": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", - "@opentelemetry/sdk-trace-web": "1.29.0", + "@opentelemetry/context-zone": "1.30.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/instrumentation": "0.57.0", + "@opentelemetry/propagator-b3": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", + "@opentelemetry/sdk-trace-web": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", @@ -32163,7 +32163,7 @@ "version": "file:integration-tests/api", "requires": { "@opentelemetry/api": "^1.3.0", - "@opentelemetry/core": "1.29.0", + "@opentelemetry/core": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "cross-var": "1.1.0", @@ -32178,7 +32178,7 @@ "@babel/core": "7.26.0", "@babel/preset-env": "7.26.0", "@opentelemetry/api": "1.9.0", - "@opentelemetry/resources": "1.29.0", + "@opentelemetry/resources": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/sinon": "17.0.3", @@ -32207,8 +32207,8 @@ "@babel/core": "7.26.0", "@babel/preset-env": "7.26.0", "@opentelemetry/api": "1.9.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/otlp-transformer": "0.56.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/otlp-transformer": "0.57.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/sinon": "17.0.3", @@ -32236,11 +32236,11 @@ "requires": { "@grpc/grpc-js": "^1.7.1", "@opentelemetry/api": "1.9.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/otlp-exporter-base": "0.56.0", - "@opentelemetry/otlp-transformer": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/otlp-exporter-base": "0.57.0", + "@opentelemetry/otlp-transformer": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/sinon": "17.0.3", @@ -32257,12 +32257,12 @@ "version": "file:experimental/packages/otlp-transformer", "requires": { "@opentelemetry/api": "1.9.0", - "@opentelemetry/api-logs": "0.56.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-logs": "0.56.0", - "@opentelemetry/sdk-metrics": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/api-logs": "0.57.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-logs": "0.57.0", + "@opentelemetry/sdk-metrics": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@types/mocha": "10.0.10", "@types/webpack-env": "1.16.3", "babel-plugin-istanbul": "7.0.0", @@ -32287,7 +32287,7 @@ "version": "file:packages/opentelemetry-propagator-b3", "requires": { "@opentelemetry/api": ">=1.0.0 <1.10.0", - "@opentelemetry/core": "1.29.0", + "@opentelemetry/core": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "cross-var": "1.1.0", @@ -32302,7 +32302,7 @@ "version": "file:packages/opentelemetry-propagator-jaeger", "requires": { "@opentelemetry/api": ">=1.0.0 <1.10.0", - "@opentelemetry/core": "1.29.0", + "@opentelemetry/core": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/sinon": "17.0.3", @@ -32328,7 +32328,7 @@ "version": "file:packages/opentelemetry-resources", "requires": { "@opentelemetry/api": ">=1.0.0 <1.10.0", - "@opentelemetry/core": "1.29.0", + "@opentelemetry/core": "1.30.0", "@opentelemetry/resources_1.9.0": "npm:@opentelemetry/resources@1.9.0", "@opentelemetry/semantic-conventions": "1.28.0", "@types/mocha": "10.0.10", @@ -32392,7 +32392,7 @@ "@opentelemetry/sampler-jaeger-remote": { "version": "file:experimental/packages/sampler-jaeger-remote", "requires": { - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/sinon": "17.0.3", @@ -32438,9 +32438,9 @@ "requires": { "@babel/core": "7.26.0", "@opentelemetry/api": "1.9.0", - "@opentelemetry/api-events": "0.56.0", - "@opentelemetry/api-logs": "0.56.0", - "@opentelemetry/sdk-logs": "0.56.0", + "@opentelemetry/api-events": "0.57.0", + "@opentelemetry/api-logs": "0.57.0", + "@opentelemetry/sdk-logs": "0.57.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -32482,9 +32482,9 @@ "@babel/core": "7.26.0", "@babel/preset-env": "7.26.0", "@opentelemetry/api": ">=1.4.0 <1.10.0", - "@opentelemetry/api-logs": "0.56.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/resources": "1.29.0", + "@opentelemetry/api-logs": "0.57.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/resources": "1.30.0", "@opentelemetry/resources_1.9.0": "npm:@opentelemetry/resources@1.9.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", @@ -32549,8 +32549,8 @@ "@babel/core": "7.26.0", "@babel/preset-env": "7.26.0", "@opentelemetry/api": ">=1.3.0 <1.10.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/resources": "1.29.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/resources": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/sinon": "17.0.3", @@ -32577,27 +32577,27 @@ "version": "file:experimental/packages/opentelemetry-sdk-node", "requires": { "@opentelemetry/api": "1.9.0", - "@opentelemetry/api-logs": "0.56.0", - "@opentelemetry/context-async-hooks": "1.29.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/exporter-jaeger": "1.29.0", - "@opentelemetry/exporter-logs-otlp-grpc": "0.56.0", - "@opentelemetry/exporter-logs-otlp-http": "0.56.0", - "@opentelemetry/exporter-logs-otlp-proto": "0.56.0", - "@opentelemetry/exporter-metrics-otlp-grpc": "0.56.0", - "@opentelemetry/exporter-metrics-otlp-http": "0.56.0", - "@opentelemetry/exporter-metrics-otlp-proto": "0.56.0", - "@opentelemetry/exporter-prometheus": "0.56.0", - "@opentelemetry/exporter-trace-otlp-grpc": "0.56.0", - "@opentelemetry/exporter-trace-otlp-http": "0.56.0", - "@opentelemetry/exporter-trace-otlp-proto": "0.56.0", - "@opentelemetry/exporter-zipkin": "1.29.0", - "@opentelemetry/instrumentation": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-logs": "0.56.0", - "@opentelemetry/sdk-metrics": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", - "@opentelemetry/sdk-trace-node": "1.29.0", + "@opentelemetry/api-logs": "0.57.0", + "@opentelemetry/context-async-hooks": "1.30.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/exporter-jaeger": "1.30.0", + "@opentelemetry/exporter-logs-otlp-grpc": "0.57.0", + "@opentelemetry/exporter-logs-otlp-http": "0.57.0", + "@opentelemetry/exporter-logs-otlp-proto": "0.57.0", + "@opentelemetry/exporter-metrics-otlp-grpc": "0.57.0", + "@opentelemetry/exporter-metrics-otlp-http": "0.57.0", + "@opentelemetry/exporter-metrics-otlp-proto": "0.57.0", + "@opentelemetry/exporter-prometheus": "0.57.0", + "@opentelemetry/exporter-trace-otlp-grpc": "0.57.0", + "@opentelemetry/exporter-trace-otlp-http": "0.57.0", + "@opentelemetry/exporter-trace-otlp-proto": "0.57.0", + "@opentelemetry/exporter-zipkin": "1.30.0", + "@opentelemetry/instrumentation": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-logs": "0.57.0", + "@opentelemetry/sdk-metrics": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", + "@opentelemetry/sdk-trace-node": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", @@ -32617,8 +32617,8 @@ "version": "file:packages/opentelemetry-sdk-trace-base", "requires": { "@opentelemetry/api": ">=1.0.0 <1.10.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/resources": "1.29.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/resources": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", @@ -32646,12 +32646,12 @@ "version": "file:packages/opentelemetry-sdk-trace-node", "requires": { "@opentelemetry/api": ">=1.0.0 <1.10.0", - "@opentelemetry/context-async-hooks": "1.29.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/propagator-b3": "1.29.0", - "@opentelemetry/propagator-jaeger": "1.29.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/context-async-hooks": "1.30.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/propagator-b3": "1.30.0", + "@opentelemetry/propagator-jaeger": "1.30.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", @@ -32672,11 +32672,11 @@ "@babel/core": "7.26.0", "@babel/preset-env": "7.26.0", "@opentelemetry/api": ">=1.0.0 <1.10.0", - "@opentelemetry/context-zone": "1.29.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/propagator-b3": "1.29.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/context-zone": "1.30.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/propagator-b3": "1.30.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0", "@types/jquery": "3.5.32", "@types/mocha": "10.0.10", @@ -32714,16 +32714,16 @@ "@babel/plugin-transform-runtime": "7.25.9", "@babel/preset-env": "7.26.0", "@opentelemetry/api": "1.9.0", - "@opentelemetry/context-zone-peer-dep": "1.29.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/exporter-trace-otlp-http": "0.56.0", - "@opentelemetry/exporter-zipkin": "1.29.0", - "@opentelemetry/instrumentation": "0.56.0", - "@opentelemetry/instrumentation-fetch": "0.56.0", - "@opentelemetry/instrumentation-xml-http-request": "0.56.0", - "@opentelemetry/sdk-metrics": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", - "@opentelemetry/sdk-trace-web": "1.29.0", + "@opentelemetry/context-zone-peer-dep": "1.30.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/exporter-trace-otlp-http": "0.57.0", + "@opentelemetry/exporter-zipkin": "1.30.0", + "@opentelemetry/instrumentation": "0.57.0", + "@opentelemetry/instrumentation-fetch": "0.57.0", + "@opentelemetry/instrumentation-xml-http-request": "0.57.0", + "@opentelemetry/sdk-metrics": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", + "@opentelemetry/sdk-trace-web": "1.30.0", "babel-loader": "8.4.1", "babel-polyfill": "6.26.0", "browserstack-local": "1.4.8", @@ -32848,11 +32848,11 @@ "requires": { "@opencensus/core": "0.1.0", "@opentelemetry/api": "1.9.0", - "@opentelemetry/context-async-hooks": "1.29.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-metrics": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/context-async-hooks": "1.30.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-metrics": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/sinon": "17.0.3", @@ -32870,10 +32870,10 @@ "version": "file:packages/opentelemetry-shim-opentracing", "requires": { "@opentelemetry/api": ">=1.0.0 <1.10.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/propagator-b3": "1.29.0", - "@opentelemetry/propagator-jaeger": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/propagator-b3": "1.30.0", + "@opentelemetry/propagator-jaeger": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", @@ -32899,10 +32899,10 @@ "requires": { "@babel/core": "7.26.0", "@opentelemetry/api": "1.9.0", - "@opentelemetry/api-events": "0.56.0", - "@opentelemetry/api-logs": "0.56.0", - "@opentelemetry/sdk-logs": "0.56.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/api-events": "0.57.0", + "@opentelemetry/api-logs": "0.57.0", + "@opentelemetry/sdk-logs": "0.57.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", @@ -35852,8 +35852,8 @@ "backcompat-node14": { "version": "file:experimental/backwards-compatibility/node14", "requires": { - "@opentelemetry/sdk-node": "0.56.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/sdk-node": "0.57.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@types/node": "14.18.25", "typescript": "4.4.4" }, @@ -35869,8 +35869,8 @@ "backcompat-node16": { "version": "file:experimental/backwards-compatibility/node16", "requires": { - "@opentelemetry/sdk-node": "0.56.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/sdk-node": "0.57.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@types/node": "16.11.52", "typescript": "4.4.4" }, @@ -38615,12 +38615,12 @@ "version": "file:examples/esm-http-ts", "requires": { "@opentelemetry/api": "1.9.0", - "@opentelemetry/exporter-trace-otlp-proto": "0.56.0", - "@opentelemetry/instrumentation": "0.56.0", - "@opentelemetry/instrumentation-http": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", - "@opentelemetry/sdk-trace-node": "1.29.0", + "@opentelemetry/exporter-trace-otlp-proto": "0.57.0", + "@opentelemetry/instrumentation": "0.57.0", + "@opentelemetry/instrumentation-http": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", + "@opentelemetry/sdk-trace-node": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0" } }, @@ -38767,11 +38767,11 @@ "version": "file:experimental/examples/events", "requires": { "@opentelemetry/api": "^1.7.0", - "@opentelemetry/api-events": "0.56.0", - "@opentelemetry/api-logs": "0.56.0", - "@opentelemetry/exporter-logs-otlp-http": "0.56.0", - "@opentelemetry/sdk-events": "0.56.0", - "@opentelemetry/sdk-logs": "0.56.0", + "@opentelemetry/api-events": "0.57.0", + "@opentelemetry/api-logs": "0.57.0", + "@opentelemetry/exporter-logs-otlp-http": "0.57.0", + "@opentelemetry/sdk-events": "0.57.0", + "@opentelemetry/sdk-logs": "0.57.0", "@types/node": "18.6.5", "ts-node": "^10.9.1" } @@ -38780,16 +38780,16 @@ "version": "file:examples/otlp-exporter-node", "requires": { "@opentelemetry/api": "^1.3.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/exporter-metrics-otlp-grpc": "0.56.0", - "@opentelemetry/exporter-metrics-otlp-http": "0.56.0", - "@opentelemetry/exporter-metrics-otlp-proto": "0.56.0", - "@opentelemetry/exporter-trace-otlp-grpc": "0.56.0", - "@opentelemetry/exporter-trace-otlp-http": "0.56.0", - "@opentelemetry/exporter-trace-otlp-proto": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-metrics": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/exporter-metrics-otlp-grpc": "0.57.0", + "@opentelemetry/exporter-metrics-otlp-http": "0.57.0", + "@opentelemetry/exporter-metrics-otlp-proto": "0.57.0", + "@opentelemetry/exporter-trace-otlp-grpc": "0.57.0", + "@opentelemetry/exporter-trace-otlp-http": "0.57.0", + "@opentelemetry/exporter-trace-otlp-proto": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-metrics": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0" } }, @@ -40241,13 +40241,13 @@ "version": "file:examples/http", "requires": { "@opentelemetry/api": "^1.3.0", - "@opentelemetry/exporter-jaeger": "1.29.0", - "@opentelemetry/exporter-zipkin": "1.29.0", - "@opentelemetry/instrumentation": "0.56.0", - "@opentelemetry/instrumentation-http": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", - "@opentelemetry/sdk-trace-node": "1.29.0", + "@opentelemetry/exporter-jaeger": "1.30.0", + "@opentelemetry/exporter-zipkin": "1.30.0", + "@opentelemetry/instrumentation": "0.57.0", + "@opentelemetry/instrumentation-http": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", + "@opentelemetry/sdk-trace-node": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0", "cross-env": "^6.0.0" } @@ -40337,13 +40337,13 @@ "version": "file:examples/https", "requires": { "@opentelemetry/api": "^1.3.0", - "@opentelemetry/exporter-jaeger": "1.29.0", - "@opentelemetry/exporter-zipkin": "1.29.0", - "@opentelemetry/instrumentation": "0.56.0", - "@opentelemetry/instrumentation-http": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", - "@opentelemetry/sdk-trace-node": "1.29.0", + "@opentelemetry/exporter-jaeger": "1.30.0", + "@opentelemetry/exporter-zipkin": "1.30.0", + "@opentelemetry/instrumentation": "0.57.0", + "@opentelemetry/instrumentation-http": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", + "@opentelemetry/sdk-trace-node": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0", "cross-env": "^6.0.0" } @@ -42450,8 +42450,8 @@ "version": "file:experimental/examples/logs", "requires": { "@opentelemetry/api": "^1.7.0", - "@opentelemetry/api-logs": "0.56.0", - "@opentelemetry/sdk-logs": "0.56.0", + "@opentelemetry/api-logs": "0.57.0", + "@opentelemetry/sdk-logs": "0.57.0", "@types/node": "18.6.5", "ts-node": "^10.9.1" } @@ -44935,13 +44935,13 @@ "@opencensus/instrumentation-http": "0.1.0", "@opencensus/nodejs-base": "0.1.0", "@opentelemetry/api": "1.9.0", - "@opentelemetry/exporter-prometheus": "0.56.0", - "@opentelemetry/exporter-trace-otlp-grpc": "0.56.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-metrics": "1.29.0", - "@opentelemetry/sdk-trace-node": "1.29.0", + "@opentelemetry/exporter-prometheus": "0.57.0", + "@opentelemetry/exporter-trace-otlp-grpc": "0.57.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-metrics": "1.30.0", + "@opentelemetry/sdk-trace-node": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0", - "@opentelemetry/shim-opencensus": "0.56.0" + "@opentelemetry/shim-opencensus": "0.57.0" } }, "opentracing": { @@ -45727,8 +45727,8 @@ "version": "file:experimental/examples/prometheus", "requires": { "@opentelemetry/api": "^1.3.0", - "@opentelemetry/exporter-prometheus": "0.56.0", - "@opentelemetry/sdk-metrics": "1.29.0" + "@opentelemetry/exporter-prometheus": "0.57.0", + "@opentelemetry/sdk-metrics": "1.30.0" } }, "promise-all-reject-late": { @@ -45778,9 +45778,9 @@ "version": "file:integration-tests/propagation-validation-server", "requires": { "@opentelemetry/api": "^1.3.0", - "@opentelemetry/context-async-hooks": "1.29.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/context-async-hooks": "1.30.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "axios": "1.7.9", "body-parser": "1.20.3", "express": "4.21.2", @@ -49539,19 +49539,19 @@ "@babel/core": "^7.23.6", "@babel/preset-env": "^7.22.20", "@opentelemetry/api": "^1.3.0", - "@opentelemetry/context-zone": "1.29.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/exporter-metrics-otlp-http": "0.56.0", - "@opentelemetry/exporter-trace-otlp-http": "0.56.0", - "@opentelemetry/exporter-trace-otlp-proto": "0.56.0", - "@opentelemetry/exporter-zipkin": "1.29.0", - "@opentelemetry/instrumentation": "0.56.0", - "@opentelemetry/instrumentation-fetch": "0.56.0", - "@opentelemetry/instrumentation-xml-http-request": "0.56.0", - "@opentelemetry/propagator-b3": "1.29.0", - "@opentelemetry/sdk-metrics": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", - "@opentelemetry/sdk-trace-web": "1.29.0", + "@opentelemetry/context-zone": "1.30.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/exporter-metrics-otlp-http": "0.57.0", + "@opentelemetry/exporter-trace-otlp-http": "0.57.0", + "@opentelemetry/exporter-trace-otlp-proto": "0.57.0", + "@opentelemetry/exporter-zipkin": "1.30.0", + "@opentelemetry/instrumentation": "0.57.0", + "@opentelemetry/instrumentation-fetch": "0.57.0", + "@opentelemetry/instrumentation-xml-http-request": "0.57.0", + "@opentelemetry/propagator-b3": "1.30.0", + "@opentelemetry/sdk-metrics": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", + "@opentelemetry/sdk-trace-web": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0", "babel-loader": "^8.0.6", "ts-loader": "^9.2.6", diff --git a/packages/opentelemetry-context-async-hooks/package.json b/packages/opentelemetry-context-async-hooks/package.json index 18dd0af4a26..f7c1f0cdb7b 100644 --- a/packages/opentelemetry-context-async-hooks/package.json +++ b/packages/opentelemetry-context-async-hooks/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/context-async-hooks", - "version": "1.29.0", + "version": "1.30.0", "description": "OpenTelemetry AsyncHooks-based Context Manager", "main": "build/src/index.js", "types": "build/src/index.d.ts", diff --git a/packages/opentelemetry-context-zone-peer-dep/package.json b/packages/opentelemetry-context-zone-peer-dep/package.json index 5b186b73dd1..c474b5d1cdb 100644 --- a/packages/opentelemetry-context-zone-peer-dep/package.json +++ b/packages/opentelemetry-context-zone-peer-dep/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/context-zone-peer-dep", - "version": "1.29.0", + "version": "1.30.0", "description": "OpenTelemetry Context Zone with peer dependency for zone.js", "main": "build/src/index.js", "module": "build/esm/index.js", diff --git a/packages/opentelemetry-context-zone/package.json b/packages/opentelemetry-context-zone/package.json index d90fe479923..8437a4c138b 100644 --- a/packages/opentelemetry-context-zone/package.json +++ b/packages/opentelemetry-context-zone/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/context-zone", - "version": "1.29.0", + "version": "1.30.0", "description": "OpenTelemetry Context Zone", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -56,7 +56,7 @@ "typescript": "4.4.4" }, "dependencies": { - "@opentelemetry/context-zone-peer-dep": "1.29.0", + "@opentelemetry/context-zone-peer-dep": "1.30.0", "zone.js": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^0.14.0 || ^0.15.0" }, "sideEffects": true, diff --git a/packages/opentelemetry-core/package.json b/packages/opentelemetry-core/package.json index d05cc38a160..f95c8f443f8 100644 --- a/packages/opentelemetry-core/package.json +++ b/packages/opentelemetry-core/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/core", - "version": "1.29.0", + "version": "1.30.0", "description": "OpenTelemetry Core provides constants and utilities shared by all OpenTelemetry SDK packages.", "main": "build/src/index.js", "module": "build/esm/index.js", diff --git a/packages/opentelemetry-exporter-jaeger/package.json b/packages/opentelemetry-exporter-jaeger/package.json index 94ac213af19..999d043920c 100644 --- a/packages/opentelemetry-exporter-jaeger/package.json +++ b/packages/opentelemetry-exporter-jaeger/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/exporter-jaeger", - "version": "1.29.0", + "version": "1.30.0", "description": "OpenTelemetry Exporter Jaeger allows user to send collected traces to Jaeger", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -45,7 +45,7 @@ }, "devDependencies": { "@opentelemetry/api": "^1.0.0", - "@opentelemetry/resources": "1.29.0", + "@opentelemetry/resources": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "@types/sinon": "17.0.3", @@ -61,8 +61,8 @@ "@opentelemetry/api": "^1.0.0" }, "dependencies": { - "@opentelemetry/core": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0", "jaeger-client": "^3.15.0" }, diff --git a/packages/opentelemetry-exporter-zipkin/package.json b/packages/opentelemetry-exporter-zipkin/package.json index 2d13f057aab..0b897b0c6a6 100644 --- a/packages/opentelemetry-exporter-zipkin/package.json +++ b/packages/opentelemetry-exporter-zipkin/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/exporter-zipkin", - "version": "1.29.0", + "version": "1.30.0", "description": "OpenTelemetry Zipkin Exporter allows the user to send collected traces to Zipkin.", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -90,9 +90,9 @@ "@opentelemetry/api": "^1.0.0" }, "dependencies": { - "@opentelemetry/core": "1.29.0", - "@opentelemetry/resources": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/resources": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-exporter-zipkin", diff --git a/packages/opentelemetry-propagator-b3/package.json b/packages/opentelemetry-propagator-b3/package.json index b30070b35e5..85ce8bc2ebf 100644 --- a/packages/opentelemetry-propagator-b3/package.json +++ b/packages/opentelemetry-propagator-b3/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/propagator-b3", - "version": "1.29.0", + "version": "1.30.0", "description": "OpenTelemetry B3 propagator provides context propagation for systems that are using the B3 header format", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -51,7 +51,7 @@ "access": "public" }, "dependencies": { - "@opentelemetry/core": "1.29.0" + "@opentelemetry/core": "1.30.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" diff --git a/packages/opentelemetry-propagator-jaeger/package.json b/packages/opentelemetry-propagator-jaeger/package.json index 1530b47614c..0de69ea26ce 100644 --- a/packages/opentelemetry-propagator-jaeger/package.json +++ b/packages/opentelemetry-propagator-jaeger/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/propagator-jaeger", - "version": "1.29.0", + "version": "1.30.0", "description": "OpenTelemetry Jaeger propagator provides HTTP header propagation for systems that are using Jaeger HTTP header format.", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -79,7 +79,7 @@ "@opentelemetry/api": ">=1.0.0 <1.10.0" }, "dependencies": { - "@opentelemetry/core": "1.29.0" + "@opentelemetry/core": "1.30.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-propagator-jaeger", "sideEffects": false diff --git a/packages/opentelemetry-resources/package.json b/packages/opentelemetry-resources/package.json index 6d013cf4973..4d763f731d6 100644 --- a/packages/opentelemetry-resources/package.json +++ b/packages/opentelemetry-resources/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/resources", - "version": "1.29.0", + "version": "1.30.0", "description": "OpenTelemetry SDK resources", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -91,7 +91,7 @@ "@opentelemetry/api": ">=1.0.0 <1.10.0" }, "dependencies": { - "@opentelemetry/core": "1.29.0", + "@opentelemetry/core": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-resources", diff --git a/packages/opentelemetry-sdk-trace-base/package.json b/packages/opentelemetry-sdk-trace-base/package.json index 30f952f11f0..7ab110bef9c 100644 --- a/packages/opentelemetry-sdk-trace-base/package.json +++ b/packages/opentelemetry-sdk-trace-base/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/sdk-trace-base", - "version": "1.29.0", + "version": "1.30.0", "description": "OpenTelemetry Tracing", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -90,8 +90,8 @@ "@opentelemetry/api": ">=1.0.0 <1.10.0" }, "dependencies": { - "@opentelemetry/core": "1.29.0", - "@opentelemetry/resources": "1.29.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/resources": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-sdk-trace-base", diff --git a/packages/opentelemetry-sdk-trace-node/package.json b/packages/opentelemetry-sdk-trace-node/package.json index b23908ee820..e4fff7efc2c 100644 --- a/packages/opentelemetry-sdk-trace-node/package.json +++ b/packages/opentelemetry-sdk-trace-node/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/sdk-trace-node", - "version": "1.29.0", + "version": "1.30.0", "description": "OpenTelemetry Node SDK provides automatic telemetry (tracing, metrics, etc) for Node.js applications", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -46,7 +46,7 @@ }, "devDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0", - "@opentelemetry/resources": "1.29.0", + "@opentelemetry/resources": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", @@ -63,11 +63,11 @@ "@opentelemetry/api": ">=1.0.0 <1.10.0" }, "dependencies": { - "@opentelemetry/context-async-hooks": "1.29.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/propagator-b3": "1.29.0", - "@opentelemetry/propagator-jaeger": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/context-async-hooks": "1.30.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/propagator-b3": "1.30.0", + "@opentelemetry/propagator-jaeger": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "semver": "^7.5.2" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-sdk-trace-node", diff --git a/packages/opentelemetry-sdk-trace-web/package.json b/packages/opentelemetry-sdk-trace-web/package.json index 51d4344200c..414b1c2cd42 100644 --- a/packages/opentelemetry-sdk-trace-web/package.json +++ b/packages/opentelemetry-sdk-trace-web/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/sdk-trace-web", - "version": "1.29.0", + "version": "1.30.0", "description": "OpenTelemetry Web Tracer", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -57,9 +57,9 @@ "@babel/core": "7.26.0", "@babel/preset-env": "7.26.0", "@opentelemetry/api": ">=1.0.0 <1.10.0", - "@opentelemetry/context-zone": "1.29.0", - "@opentelemetry/propagator-b3": "1.29.0", - "@opentelemetry/resources": "1.29.0", + "@opentelemetry/context-zone": "1.30.0", + "@opentelemetry/propagator-b3": "1.30.0", + "@opentelemetry/resources": "1.30.0", "@types/jquery": "3.5.32", "@types/mocha": "10.0.10", "@types/node": "18.6.5", @@ -90,8 +90,8 @@ "@opentelemetry/api": ">=1.0.0 <1.10.0" }, "dependencies": { - "@opentelemetry/core": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-sdk-trace-web", diff --git a/packages/opentelemetry-shim-opentracing/package.json b/packages/opentelemetry-shim-opentracing/package.json index 8ae83614607..0b404985970 100644 --- a/packages/opentelemetry-shim-opentracing/package.json +++ b/packages/opentelemetry-shim-opentracing/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/shim-opentracing", - "version": "1.29.0", + "version": "1.30.0", "description": "OpenTracing to OpenTelemetry shim", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -43,9 +43,9 @@ }, "devDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0", - "@opentelemetry/propagator-b3": "1.29.0", - "@opentelemetry/propagator-jaeger": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", + "@opentelemetry/propagator-b3": "1.30.0", + "@opentelemetry/propagator-jaeger": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", "@types/mocha": "10.0.10", "@types/node": "18.6.5", "cross-var": "1.1.0", @@ -58,7 +58,7 @@ "@opentelemetry/api": ">=1.0.0 <1.10.0" }, "dependencies": { - "@opentelemetry/core": "1.29.0", + "@opentelemetry/core": "1.30.0", "@opentelemetry/semantic-conventions": "1.28.0", "opentracing": "^0.14.4" }, diff --git a/packages/sdk-metrics/package.json b/packages/sdk-metrics/package.json index 6d4d494ef98..e68a482f98b 100644 --- a/packages/sdk-metrics/package.json +++ b/packages/sdk-metrics/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/sdk-metrics", - "version": "1.29.0", + "version": "1.30.0", "description": "OpenTelemetry metrics SDK", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -82,8 +82,8 @@ "@opentelemetry/api": ">=1.3.0 <1.10.0" }, "dependencies": { - "@opentelemetry/core": "1.29.0", - "@opentelemetry/resources": "1.29.0" + "@opentelemetry/core": "1.30.0", + "@opentelemetry/resources": "1.30.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/sdk-metrics", "sideEffects": false diff --git a/packages/template/package.json b/packages/template/package.json index 60c12ea5763..466ff392d21 100644 --- a/packages/template/package.json +++ b/packages/template/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/template", - "version": "1.29.0", + "version": "1.30.0", "private": true, "publishConfig": { "access": "restricted" diff --git a/selenium-tests/package.json b/selenium-tests/package.json index 85c84c1d7bb..db690472384 100644 --- a/selenium-tests/package.json +++ b/selenium-tests/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/selenium-tests", - "version": "1.30.0", + "version": "1.31.0", "private": true, "description": "OpenTelemetry Selenium Tests", "main": "index.js", @@ -57,16 +57,16 @@ "@opentelemetry/api": "^1.3.0" }, "dependencies": { - "@opentelemetry/context-zone-peer-dep": "1.29.0", - "@opentelemetry/core": "1.29.0", - "@opentelemetry/exporter-trace-otlp-http": "0.56.0", - "@opentelemetry/exporter-zipkin": "1.29.0", - "@opentelemetry/instrumentation": "0.56.0", - "@opentelemetry/instrumentation-fetch": "0.56.0", - "@opentelemetry/instrumentation-xml-http-request": "0.56.0", - "@opentelemetry/sdk-metrics": "1.29.0", - "@opentelemetry/sdk-trace-base": "1.29.0", - "@opentelemetry/sdk-trace-web": "1.29.0", + "@opentelemetry/context-zone-peer-dep": "1.30.0", + "@opentelemetry/core": "1.30.0", + "@opentelemetry/exporter-trace-otlp-http": "0.57.0", + "@opentelemetry/exporter-zipkin": "1.30.0", + "@opentelemetry/instrumentation": "0.57.0", + "@opentelemetry/instrumentation-fetch": "0.57.0", + "@opentelemetry/instrumentation-xml-http-request": "0.57.0", + "@opentelemetry/sdk-metrics": "1.30.0", + "@opentelemetry/sdk-trace-base": "1.30.0", + "@opentelemetry/sdk-trace-web": "1.30.0", "zone.js": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^0.14.0 || ^0.15.0" } }
Stable Packages Experimental Packages
1.23.x 0.50.x
1.22.x 0.49.x
1.21.x 0.48.x
1.20.x 0.47.x
1.19.x 0.46.x
1.18.x 0.45.x
1.17.x 0.43.x, 0.44.x
1.16.x 0.42.x
1.15.x 0.41.x
1.14.x 0.40.x