diff --git a/.github/component_owners.yml b/.github/component_owners.yml index 00ee2fc160..85120136a8 100644 --- a/.github/component_owners.yml +++ b/.github/component_owners.yml @@ -18,7 +18,7 @@ components: # Unmaintained packages/resource-detector-instana: - kirrg001 - incubator/opentelemetry-sampler-aws-xray: + packages/sampler-aws-xray: - jj22ee - yiyuan-he packages/auto-configuration-propagators: diff --git a/.release-please-manifest.json b/.release-please-manifest.json index f2a02d57aa..ec63ce8776 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -15,6 +15,7 @@ "packages/id-generator-aws-xray": "2.0.1", "packages/propagation-utils": "0.31.5", "packages/redis-common": "0.38.0", + "packages/sampler-aws-xray": "0.1.0", "packages/sql-common": "0.41.0", "packages/contrib-test-utils": "0.51.0", "packages/winston-transport": "0.16.0", diff --git a/incubator/opentelemetry-sampler-aws-xray/.eslintrc.js b/incubator/opentelemetry-sampler-aws-xray/.eslintrc.js deleted file mode 100644 index e198dc0f4d..0000000000 --- a/incubator/opentelemetry-sampler-aws-xray/.eslintrc.js +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = { - "env": { - "mocha": true, - "commonjs": true, - "node": true - }, - ...require('../../eslint.config.js') -} diff --git a/package-lock.json b/package-lock.json index a5af06c72e..cfba64ded7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9842,6 +9842,10 @@ "@opentelemetry/api": ">=1.3.0 <1.10.0" } }, + "node_modules/@opentelemetry/sampler-aws-xray": { + "resolved": "packages/sampler-aws-xray", + "link": true + }, "node_modules/@opentelemetry/sdk-logs": { "version": "0.205.0", "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.205.0.tgz", @@ -37580,6 +37584,62 @@ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", "dev": true }, + "packages/sampler-aws-xray": { + "name": "@opentelemetry/sampler-aws-xray", + "version": "0.1.0", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "^2.0.0", + "@opentelemetry/resources": "^2.0.0", + "@opentelemetry/sdk-trace-base": "^2.0.0", + "@opentelemetry/semantic-conventions": "^1.27.0" + }, + "devDependencies": { + "@opentelemetry/api": "^1.1.0", + "@opentelemetry/sdk-trace-node": "^2.0.0", + "@types/mocha": "10.0.10", + "@types/node": "18.18.14", + "@types/sinon": "17.0.4", + "@typescript-eslint/eslint-plugin": "5.62.0", + "@typescript-eslint/parser": "5.62.0", + "eslint": "8.7.0", + "expect": "29.2.0", + "nock": "13.3.3", + "nyc": "17.1.0", + "sinon": "15.2.0", + "typescript": "5.0.4" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0" + } + }, + "packages/sampler-aws-xray/node_modules/@opentelemetry/api": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.1.0.tgz", + "integrity": "sha512-hf+3bwuBwtXsugA2ULBc95qxrOqP2pOekLz34BJhcAKawt94vfeNyUKpYc0lZQ/3sCP6LqRa7UAdHA7i5UODzQ==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "packages/sampler-aws-xray/node_modules/@types/node": { + "version": "18.18.14", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.14.tgz", + "integrity": "sha512-iSOeNeXYNYNLLOMDSVPvIFojclvMZ/HDY2dU17kUlcsOsSQETbWIslJbYLZgA+ox8g2XQwSHKTkght1a5X26lQ==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "packages/sampler-aws-xray/node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, "packages/sql-common": { "name": "@opentelemetry/sql-common", "version": "0.41.0", @@ -48323,6 +48383,51 @@ "@opentelemetry/semantic-conventions": "^1.29.0" } }, + "@opentelemetry/sampler-aws-xray": { + "version": "file:packages/sampler-aws-xray", + "requires": { + "@opentelemetry/api": "^1.1.0", + "@opentelemetry/core": "^2.0.0", + "@opentelemetry/resources": "^2.0.0", + "@opentelemetry/sdk-trace-base": "^2.0.0", + "@opentelemetry/sdk-trace-node": "^2.0.0", + "@opentelemetry/semantic-conventions": "^1.27.0", + "@types/mocha": "10.0.10", + "@types/node": "18.18.14", + "@types/sinon": "17.0.4", + "@typescript-eslint/eslint-plugin": "5.62.0", + "@typescript-eslint/parser": "5.62.0", + "eslint": "8.7.0", + "expect": "29.2.0", + "nock": "13.3.3", + "nyc": "17.1.0", + "sinon": "15.2.0", + "typescript": "5.0.4" + }, + "dependencies": { + "@opentelemetry/api": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.1.0.tgz", + "integrity": "sha512-hf+3bwuBwtXsugA2ULBc95qxrOqP2pOekLz34BJhcAKawt94vfeNyUKpYc0lZQ/3sCP6LqRa7UAdHA7i5UODzQ==", + "dev": true + }, + "@types/node": { + "version": "18.18.14", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.14.tgz", + "integrity": "sha512-iSOeNeXYNYNLLOMDSVPvIFojclvMZ/HDY2dU17kUlcsOsSQETbWIslJbYLZgA+ox8g2XQwSHKTkght1a5X26lQ==", + "dev": true, + "requires": { + "undici-types": "~5.26.4" + } + }, + "undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + } + } + }, "@opentelemetry/sdk-logs": { "version": "0.205.0", "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.205.0.tgz", diff --git a/incubator/opentelemetry-sampler-aws-xray/.eslintignore b/packages/sampler-aws-xray/.eslintignore similarity index 100% rename from incubator/opentelemetry-sampler-aws-xray/.eslintignore rename to packages/sampler-aws-xray/.eslintignore diff --git a/packages/sampler-aws-xray/.eslintrc.js b/packages/sampler-aws-xray/.eslintrc.js new file mode 100644 index 0000000000..81c16c7416 --- /dev/null +++ b/packages/sampler-aws-xray/.eslintrc.js @@ -0,0 +1,23 @@ +/* + * 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. + */ +module.exports = { + env: { + mocha: true, + commonjs: true, + node: true, + }, + ...require('../../eslint.config.js'), +}; diff --git a/incubator/opentelemetry-sampler-aws-xray/LICENSE b/packages/sampler-aws-xray/LICENSE similarity index 100% rename from incubator/opentelemetry-sampler-aws-xray/LICENSE rename to packages/sampler-aws-xray/LICENSE diff --git a/incubator/opentelemetry-sampler-aws-xray/README.md b/packages/sampler-aws-xray/README.md similarity index 85% rename from incubator/opentelemetry-sampler-aws-xray/README.md rename to packages/sampler-aws-xray/README.md index ad8402ae12..95fda2099b 100644 --- a/incubator/opentelemetry-sampler-aws-xray/README.md +++ b/packages/sampler-aws-xray/README.md @@ -1,10 +1,13 @@ # AWS X-Ray Remote Sampler -> This component is still in development and has not been released as an npm package. +This module provides the remote/centralized sampler for AWS X-Ray. -[component owners](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/.github/component_owners.yml): @jj22ee, @yiyuan-he +## Status + +| Maturity | [Component Owner](../../.github/component_owners.yml) | Compatibility | +| -------------------------------------- | ----------------------------------------------------- | --------------------- | +| [Beta](../../CONTRIBUTING.md#beta) | @jj22ee @yiyuan-he | API 1.1+
SDK 2.0+ | -This module provides the remote/centralized sampler for AWS X-Ray. ## Usage diff --git a/incubator/opentelemetry-sampler-aws-xray/package.json b/packages/sampler-aws-xray/package.json similarity index 73% rename from incubator/opentelemetry-sampler-aws-xray/package.json rename to packages/sampler-aws-xray/package.json index 9d7d6c06d9..09fa70b7cb 100644 --- a/incubator/opentelemetry-sampler-aws-xray/package.json +++ b/packages/sampler-aws-xray/package.json @@ -1,8 +1,7 @@ { "name": "@opentelemetry/sampler-aws-xray", - "version": "0.34.0", - "private": true, - "description": "OpenTelemetry remote sampler for AWS X-Ray", + "version": "0.1.0", + "description": "OpenTelemetry Remote Sampler for AWS X-Ray", "keywords": [ "aws", "sampler", @@ -11,6 +10,7 @@ "AWS", "X-Ray" ], + "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/sampler-aws-xray#readme", "license": "Apache-2.0", "author": "OpenTelemetry Authors", "bugs": { @@ -19,17 +19,26 @@ "main": "build/src/index.js", "types": "build/src/index.d.ts", "files": [ + "build/esm/**/*.js", + "build/esm/**/*.js.map", + "build/esm/**/*.d.ts", "build/src/**/*.js", "build/src/**/*.js.map", "build/src/**/*.d.ts", - "doc", "LICENSE", "README.md" ], - "repository": "open-telemetry/opentelemetry-js-contrib", + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "https://github.com/open-telemetry/opentelemetry-js-contrib.git", + "directory": "packages/sampler-aws-xray" + }, "scripts": { "clean": "tsc --build --clean tsconfig.json tsconfig.esm.json", - "compile": "tsc -p .", + "compile": "tsc --build tsconfig.json tsconfig.esm.json", "compile:with-dependencies": "nx run-many -t compile -p @opentelemetry/sampler-aws-xray", "lint": "eslint . --ext=ts,js,mjs", "lint:fix": "eslint . --ext=ts,js,mjs --fix", @@ -40,7 +49,7 @@ "watch": "tsc --build --watch tsconfig.json tsconfig.esm.json" }, "peerDependencies": { - "@opentelemetry/api": "^1.9.0" + "@opentelemetry/api": "^1.1.0" }, "dependencies": { "@opentelemetry/core": "^2.0.0", @@ -49,7 +58,7 @@ "@opentelemetry/semantic-conventions": "^1.27.0" }, "devDependencies": { - "@opentelemetry/api": "^1.9.0", + "@opentelemetry/api": "^1.1.0", "@opentelemetry/sdk-trace-node": "^2.0.0", "@types/mocha": "10.0.10", "@types/node": "18.18.14", diff --git a/incubator/opentelemetry-sampler-aws-xray/src/aws-xray-sampling-client.ts b/packages/sampler-aws-xray/src/aws-xray-sampling-client.ts similarity index 100% rename from incubator/opentelemetry-sampler-aws-xray/src/aws-xray-sampling-client.ts rename to packages/sampler-aws-xray/src/aws-xray-sampling-client.ts diff --git a/incubator/opentelemetry-sampler-aws-xray/src/fallback-sampler.ts b/packages/sampler-aws-xray/src/fallback-sampler.ts similarity index 100% rename from incubator/opentelemetry-sampler-aws-xray/src/fallback-sampler.ts rename to packages/sampler-aws-xray/src/fallback-sampler.ts diff --git a/incubator/opentelemetry-sampler-aws-xray/src/index.ts b/packages/sampler-aws-xray/src/index.ts similarity index 100% rename from incubator/opentelemetry-sampler-aws-xray/src/index.ts rename to packages/sampler-aws-xray/src/index.ts diff --git a/incubator/opentelemetry-sampler-aws-xray/src/rate-limiter.ts b/packages/sampler-aws-xray/src/rate-limiter.ts similarity index 100% rename from incubator/opentelemetry-sampler-aws-xray/src/rate-limiter.ts rename to packages/sampler-aws-xray/src/rate-limiter.ts diff --git a/incubator/opentelemetry-sampler-aws-xray/src/rate-limiting-sampler.ts b/packages/sampler-aws-xray/src/rate-limiting-sampler.ts similarity index 100% rename from incubator/opentelemetry-sampler-aws-xray/src/rate-limiting-sampler.ts rename to packages/sampler-aws-xray/src/rate-limiting-sampler.ts diff --git a/incubator/opentelemetry-sampler-aws-xray/src/remote-sampler.ts b/packages/sampler-aws-xray/src/remote-sampler.ts similarity index 99% rename from incubator/opentelemetry-sampler-aws-xray/src/remote-sampler.ts rename to packages/sampler-aws-xray/src/remote-sampler.ts index d6876bf60e..e68c9d0004 100644 --- a/incubator/opentelemetry-sampler-aws-xray/src/remote-sampler.ts +++ b/packages/sampler-aws-xray/src/remote-sampler.ts @@ -46,8 +46,8 @@ import { DEFAULT_TARGET_POLLING_INTERVAL_SECONDS, RuleCache, } from './rule-cache'; - import { SamplingRuleApplier } from './sampling-rule-applier'; +/** @knipignore */ import { PACKAGE_NAME } from './version'; // 5 minute default sampling rules polling interval diff --git a/incubator/opentelemetry-sampler-aws-xray/src/rule-cache.ts b/packages/sampler-aws-xray/src/rule-cache.ts similarity index 100% rename from incubator/opentelemetry-sampler-aws-xray/src/rule-cache.ts rename to packages/sampler-aws-xray/src/rule-cache.ts diff --git a/incubator/opentelemetry-sampler-aws-xray/src/sampling-rule-applier.ts b/packages/sampler-aws-xray/src/sampling-rule-applier.ts similarity index 100% rename from incubator/opentelemetry-sampler-aws-xray/src/sampling-rule-applier.ts rename to packages/sampler-aws-xray/src/sampling-rule-applier.ts diff --git a/incubator/opentelemetry-sampler-aws-xray/src/sampling-rule.ts b/packages/sampler-aws-xray/src/sampling-rule.ts similarity index 100% rename from incubator/opentelemetry-sampler-aws-xray/src/sampling-rule.ts rename to packages/sampler-aws-xray/src/sampling-rule.ts diff --git a/incubator/opentelemetry-sampler-aws-xray/src/semconv.ts b/packages/sampler-aws-xray/src/semconv.ts similarity index 100% rename from incubator/opentelemetry-sampler-aws-xray/src/semconv.ts rename to packages/sampler-aws-xray/src/semconv.ts diff --git a/incubator/opentelemetry-sampler-aws-xray/src/statistics.ts b/packages/sampler-aws-xray/src/statistics.ts similarity index 100% rename from incubator/opentelemetry-sampler-aws-xray/src/statistics.ts rename to packages/sampler-aws-xray/src/statistics.ts diff --git a/incubator/opentelemetry-sampler-aws-xray/src/types.ts b/packages/sampler-aws-xray/src/types.ts similarity index 100% rename from incubator/opentelemetry-sampler-aws-xray/src/types.ts rename to packages/sampler-aws-xray/src/types.ts diff --git a/incubator/opentelemetry-sampler-aws-xray/src/utils.ts b/packages/sampler-aws-xray/src/utils.ts similarity index 100% rename from incubator/opentelemetry-sampler-aws-xray/src/utils.ts rename to packages/sampler-aws-xray/src/utils.ts diff --git a/incubator/opentelemetry-sampler-aws-xray/test/aws-xray-sampling-client.test.ts b/packages/sampler-aws-xray/test/aws-xray-sampling-client.test.ts similarity index 100% rename from incubator/opentelemetry-sampler-aws-xray/test/aws-xray-sampling-client.test.ts rename to packages/sampler-aws-xray/test/aws-xray-sampling-client.test.ts diff --git a/incubator/opentelemetry-sampler-aws-xray/test/data/get-sampling-rules-response-sample-2.json b/packages/sampler-aws-xray/test/data/get-sampling-rules-response-sample-2.json similarity index 100% rename from incubator/opentelemetry-sampler-aws-xray/test/data/get-sampling-rules-response-sample-2.json rename to packages/sampler-aws-xray/test/data/get-sampling-rules-response-sample-2.json diff --git a/incubator/opentelemetry-sampler-aws-xray/test/data/get-sampling-rules-response-sample-sample-all.json b/packages/sampler-aws-xray/test/data/get-sampling-rules-response-sample-sample-all.json similarity index 100% rename from incubator/opentelemetry-sampler-aws-xray/test/data/get-sampling-rules-response-sample-sample-all.json rename to packages/sampler-aws-xray/test/data/get-sampling-rules-response-sample-sample-all.json diff --git a/incubator/opentelemetry-sampler-aws-xray/test/data/get-sampling-rules-response-sample.json b/packages/sampler-aws-xray/test/data/get-sampling-rules-response-sample.json similarity index 100% rename from incubator/opentelemetry-sampler-aws-xray/test/data/get-sampling-rules-response-sample.json rename to packages/sampler-aws-xray/test/data/get-sampling-rules-response-sample.json diff --git a/incubator/opentelemetry-sampler-aws-xray/test/data/get-sampling-targets-response-sample.json b/packages/sampler-aws-xray/test/data/get-sampling-targets-response-sample.json similarity index 100% rename from incubator/opentelemetry-sampler-aws-xray/test/data/get-sampling-targets-response-sample.json rename to packages/sampler-aws-xray/test/data/get-sampling-targets-response-sample.json diff --git a/incubator/opentelemetry-sampler-aws-xray/test/data/test-remote-sampler_sampling-rules-response-sample.json b/packages/sampler-aws-xray/test/data/test-remote-sampler_sampling-rules-response-sample.json similarity index 100% rename from incubator/opentelemetry-sampler-aws-xray/test/data/test-remote-sampler_sampling-rules-response-sample.json rename to packages/sampler-aws-xray/test/data/test-remote-sampler_sampling-rules-response-sample.json diff --git a/incubator/opentelemetry-sampler-aws-xray/test/data/test-remote-sampler_sampling-targets-response-sample.json b/packages/sampler-aws-xray/test/data/test-remote-sampler_sampling-targets-response-sample.json similarity index 100% rename from incubator/opentelemetry-sampler-aws-xray/test/data/test-remote-sampler_sampling-targets-response-sample.json rename to packages/sampler-aws-xray/test/data/test-remote-sampler_sampling-targets-response-sample.json diff --git a/incubator/opentelemetry-sampler-aws-xray/test/fallback-sampler.test.ts b/packages/sampler-aws-xray/test/fallback-sampler.test.ts similarity index 100% rename from incubator/opentelemetry-sampler-aws-xray/test/fallback-sampler.test.ts rename to packages/sampler-aws-xray/test/fallback-sampler.test.ts diff --git a/incubator/opentelemetry-sampler-aws-xray/test/rate-limiter.test.ts b/packages/sampler-aws-xray/test/rate-limiter.test.ts similarity index 100% rename from incubator/opentelemetry-sampler-aws-xray/test/rate-limiter.test.ts rename to packages/sampler-aws-xray/test/rate-limiter.test.ts diff --git a/incubator/opentelemetry-sampler-aws-xray/test/rate-limiting-sampler.test.ts b/packages/sampler-aws-xray/test/rate-limiting-sampler.test.ts similarity index 100% rename from incubator/opentelemetry-sampler-aws-xray/test/rate-limiting-sampler.test.ts rename to packages/sampler-aws-xray/test/rate-limiting-sampler.test.ts diff --git a/incubator/opentelemetry-sampler-aws-xray/test/remote-sampler.test.ts b/packages/sampler-aws-xray/test/remote-sampler.test.ts similarity index 100% rename from incubator/opentelemetry-sampler-aws-xray/test/remote-sampler.test.ts rename to packages/sampler-aws-xray/test/remote-sampler.test.ts diff --git a/incubator/opentelemetry-sampler-aws-xray/test/rule-cache.test.ts b/packages/sampler-aws-xray/test/rule-cache.test.ts similarity index 100% rename from incubator/opentelemetry-sampler-aws-xray/test/rule-cache.test.ts rename to packages/sampler-aws-xray/test/rule-cache.test.ts diff --git a/incubator/opentelemetry-sampler-aws-xray/test/sampling-rule-applier.test.ts b/packages/sampler-aws-xray/test/sampling-rule-applier.test.ts similarity index 100% rename from incubator/opentelemetry-sampler-aws-xray/test/sampling-rule-applier.test.ts rename to packages/sampler-aws-xray/test/sampling-rule-applier.test.ts diff --git a/incubator/opentelemetry-sampler-aws-xray/test/sampling-rule.test.ts b/packages/sampler-aws-xray/test/sampling-rule.test.ts similarity index 100% rename from incubator/opentelemetry-sampler-aws-xray/test/sampling-rule.test.ts rename to packages/sampler-aws-xray/test/sampling-rule.test.ts diff --git a/incubator/opentelemetry-sampler-aws-xray/test/statistics.test.ts b/packages/sampler-aws-xray/test/statistics.test.ts similarity index 100% rename from incubator/opentelemetry-sampler-aws-xray/test/statistics.test.ts rename to packages/sampler-aws-xray/test/statistics.test.ts diff --git a/incubator/opentelemetry-sampler-aws-xray/test/utils.test.ts b/packages/sampler-aws-xray/test/utils.test.ts similarity index 100% rename from incubator/opentelemetry-sampler-aws-xray/test/utils.test.ts rename to packages/sampler-aws-xray/test/utils.test.ts diff --git a/incubator/opentelemetry-sampler-aws-xray/tsconfig.esm.json b/packages/sampler-aws-xray/tsconfig.esm.json similarity index 100% rename from incubator/opentelemetry-sampler-aws-xray/tsconfig.esm.json rename to packages/sampler-aws-xray/tsconfig.esm.json diff --git a/incubator/opentelemetry-sampler-aws-xray/tsconfig.json b/packages/sampler-aws-xray/tsconfig.json similarity index 100% rename from incubator/opentelemetry-sampler-aws-xray/tsconfig.json rename to packages/sampler-aws-xray/tsconfig.json diff --git a/release-please-config.json b/release-please-config.json index 19fa95ede8..3b1e3943d4 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -22,6 +22,7 @@ "packages/id-generator-aws-xray": {}, "packages/propagation-utils": {}, "packages/redis-common": {}, + "packages/sampler-aws-xray": {}, "packages/sql-common": {}, "packages/contrib-test-utils": {}, "packages/winston-transport": {},