From 5637e2a91c3ddb471d65684ec30998a4774ffb1f Mon Sep 17 00:00:00 2001 From: Nev <54870357+MSNev@users.noreply.github.com> Date: Fri, 23 Feb 2024 04:00:58 -0800 Subject: [PATCH] chore: Semantic Conventions export individual strings (#4298) * chore: Semantic Conventions export individual strings * Reduce to just emit full strings and add size-limit test output to review the results * Update generation to use createConstMap for enums where possible * Move changelog back to Unreleased -- merge shifted it --------- Co-authored-by: Marc Pichler --- CHANGELOG.md | 1 + .../test/util/resource-assertions.ts | 20 +- package-lock.json | 1800 +++++++++- .../detectors/browser/EnvDetector.test.ts | 7 +- .../test/resource-assertions.test.ts | 16 +- .../test/util/resource-assertions.ts | 20 +- .../package.json | 8 +- .../src/internal/utils.ts | 35 + .../resource/SemanticResourceAttributes.ts | 1555 ++++++++- .../src/trace/SemanticAttributes.ts | 3073 +++++++++++++++-- .../test/helpers/autoImports.ts | 202 ++ .../test/sizeLimit.test.ts | 318 ++ scripts/semconv/generate.sh | 16 +- .../templates/SemanticAttributes.ts.j2 | 150 +- 14 files changed, 6695 insertions(+), 526 deletions(-) create mode 100644 packages/opentelemetry-semantic-conventions/src/internal/utils.ts create mode 100644 packages/opentelemetry-semantic-conventions/test/helpers/autoImports.ts create mode 100644 packages/opentelemetry-semantic-conventions/test/sizeLimit.test.ts diff --git a/CHANGELOG.md b/CHANGELOG.md index e3a1497245..8292d5e186 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ For experimental package changes, see the [experimental CHANGELOG](experimental/ * feat(sdk-metrics): allow single bucket histograms [#4456](https://github.com/open-telemetry/opentelemetry-js/pull/4456) @pichlermarc * feat(instrumentation): Make `init()` method public [#4418](https://github.com/open-telemetry/opentelemetry-js/pull/4418) * feat(context-zone-peer-dep, context-zone): support zone.js 0.13.x, 0.14.x [#4469](https://github.com/open-telemetry/opentelemetry-js/pull/4469) @pichlermarc +* chore: Semantic Conventions export individual strings [4185](https://github.com/open-telemetry/opentelemetry-js/issues/4185) ### :bug: (Bug Fix) diff --git a/experimental/packages/opentelemetry-sdk-node/test/util/resource-assertions.ts b/experimental/packages/opentelemetry-sdk-node/test/util/resource-assertions.ts index bcbdceadc0..80c8c04ecc 100644 --- a/experimental/packages/opentelemetry-sdk-node/test/util/resource-assertions.ts +++ b/experimental/packages/opentelemetry-sdk-node/test/util/resource-assertions.ts @@ -17,7 +17,12 @@ import { SDK_INFO } from '@opentelemetry/core'; import * as assert from 'assert'; import { IResource, Resource } from '@opentelemetry/resources'; -import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions'; +import { + SEMRESATTRS_TELEMETRY_SDK_LANGUAGE, + SEMRESATTRS_TELEMETRY_SDK_NAME, + SEMRESATTRS_TELEMETRY_SDK_VERSION, + SemanticResourceAttributes, +} from '@opentelemetry/semantic-conventions'; /** * Test utility method to validate a cloud resource @@ -199,9 +204,9 @@ export const assertTelemetrySDKResource = ( } ) => { const defaults = { - name: SDK_INFO.NAME, - language: SDK_INFO.LANGUAGE, - version: SDK_INFO.VERSION, + name: SDK_INFO[SEMRESATTRS_TELEMETRY_SDK_NAME], + language: SDK_INFO[SEMRESATTRS_TELEMETRY_SDK_LANGUAGE], + version: SDK_INFO[SEMRESATTRS_TELEMETRY_SDK_VERSION], }; validations = { ...defaults, ...validations }; @@ -317,7 +322,9 @@ const assertHasOneLabel = (prefix: string, resource: Resource): void => { assert.ok( hasOne, - 'Resource must have one of the following attributes: ' + + 'Must have one node Resource(s) starting with [' + + prefix + + '] matching the following attributes: ' + Object.entries(SemanticResourceAttributes) .reduce((result, [key, value]) => { if (key.startsWith(prefix)) { @@ -325,6 +332,7 @@ const assertHasOneLabel = (prefix: string, resource: Resource): void => { } return result; }) - .join(', ') + .join(', ') + + JSON.stringify(Object.keys(SemanticResourceAttributes)) ); }; diff --git a/package-lock.json b/package-lock.json index 07bc80e1db..44dc92b09b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10300,6 +10300,27 @@ "version": "1.1.0", "license": "BSD-3-Clause" }, + "node_modules/@puppeteer/browsers": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.9.1.tgz", + "integrity": "sha512-PuvK6xZzGhKPvlx3fpfdM2kYY3P/hB1URtK8wA7XUJ6prn6pp22zvJHu48th0SGcHL9SutbPHrFuQgfXTFobWA==", + "dev": true, + "dependencies": { + "debug": "4.3.4", + "extract-zip": "2.0.1", + "progress": "2.0.3", + "proxy-agent": "6.3.1", + "tar-fs": "3.0.4", + "unbzip2-stream": "1.4.3", + "yargs": "17.7.2" + }, + "bin": { + "browsers": "lib/cjs/main-cli.js" + }, + "engines": { + "node": ">=16.3.0" + } + }, "node_modules/@sigstore/bundle": { "version": "1.1.0", "dev": true, @@ -10634,6 +10655,18 @@ "url": "https://github.com/sindresorhus/is?sponsor=1" } }, + "node_modules/@sindresorhus/merge-streams": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-1.0.0.tgz", + "integrity": "sha512-rUV5WyJrJLoloD4NDN1V1+LDMDWOa4OTsT4yYJwQNpTU6FWxkxHpL7eu4w+DmiH8x/EAM1otkPE1+LaspIbplw==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@sinonjs/commons": { "version": "3.0.0", "dev": true, @@ -10673,6 +10706,191 @@ "dev": true, "license": "(Unlicense OR Apache-2.0)" }, + "node_modules/@sitespeed.io/tracium": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@sitespeed.io/tracium/-/tracium-0.3.3.tgz", + "integrity": "sha512-dNZafjM93Y+F+sfwTO5gTpsGXlnc/0Q+c2+62ViqP3gkMWvHEMSKkaEHgVJLcLg3i/g19GSIPziiKpgyne07Bw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@size-limit/file": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/@size-limit/file/-/file-11.0.2.tgz", + "integrity": "sha512-874lrMtWYRL+xb/6xzejjwD+krfHTOo+2uFGpZfJScvuNv91Ni2O7k0o09zC70VzCYBGkXquV92ln/H+/ognGg==", + "dev": true, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "size-limit": "11.0.2" + } + }, + "node_modules/@size-limit/time": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/@size-limit/time/-/time-11.0.2.tgz", + "integrity": "sha512-5MLgwI6DHpOWTaILE/CnwXp6cHEz6leBkh6od+AyfulAnrWsDzz4XZ4JHu04RJiyAJKPxGVPtSZkTgxmpdlwSQ==", + "dev": true, + "dependencies": { + "estimo": "^3.0.1" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "size-limit": "11.0.2" + } + }, + "node_modules/@size-limit/webpack": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/@size-limit/webpack/-/webpack-11.0.2.tgz", + "integrity": "sha512-MWS/KuQWez6UOUveVKhlMSgeduUAIktRFIe6z/x9wiAOEF6tCF9iLVVkzhFen2wbVR0p3sT9eW9WLiulB6yPHg==", + "dev": true, + "dependencies": { + "nanoid": "^5.0.4", + "webpack": "^5.89.0" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "size-limit": "11.0.2" + } + }, + "node_modules/@size-limit/webpack/node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@size-limit/webpack/node_modules/nanoid": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.4.tgz", + "integrity": "sha512-vAjmBf13gsmhXSgBrtIclinISzFFy22WwCYoyilZlsrRXNIHSwgFQ1bEdjRwMT3aoadeIF6HMuDRlOxzfXV8ig==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.js" + }, + "engines": { + "node": "^18 || >=20" + } + }, + "node_modules/@size-limit/webpack/node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@size-limit/webpack/node_modules/terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/@size-limit/webpack/node_modules/webpack": { + "version": "5.90.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.0.tgz", + "integrity": "sha512-bdmyXRCXeeNIePv6R6tGPyy20aUobw4Zy8r0LUS2EWO+U+Ke/gYDgsCh7bl5rB6jPpr4r0SZa6dPxBxLooDT3w==", + "dev": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/@size-limit/webpack/node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/@socket.io/component-emitter": { "version": "3.1.0", "dev": true, @@ -10702,6 +10920,12 @@ "node": ">= 10" } }, + "node_modules/@tootallnate/quickjs-emscripten": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", + "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==", + "dev": true + }, "node_modules/@tsconfig/node10": { "version": "1.0.9", "dev": true, @@ -10856,9 +11080,10 @@ } }, "node_modules/@types/estree": { - "version": "1.0.4", - "dev": true, - "license": "MIT" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true }, "node_modules/@types/express": { "version": "4.17.20", @@ -12342,6 +12567,18 @@ "node": ">=0.10.0" } }, + "node_modules/ast-types": { + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", + "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", + "dev": true, + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/async": { "version": "3.2.4", "dev": true, @@ -12430,6 +12667,12 @@ "proxy-from-env": "^1.1.0" } }, + "node_modules/b4a": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", + "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==", + "dev": true + }, "node_modules/babel-code-frame": { "version": "6.26.0", "dev": true, @@ -13583,6 +13826,15 @@ "node": "^4.5.0 || >= 5.9" } }, + "node_modules/basic-ftp": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.4.tgz", + "integrity": "sha512-8PzkB0arJFV4jJWSGOYR+OEic6aeKMu/osRhBULN6RY0ykby6LKhbmuQ5ublvaas5BOwboah5D87nrHyuh8PPA==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/batch": { "version": "0.6.1", "dev": true, @@ -14172,6 +14424,15 @@ "node": ">= 0.8" } }, + "node_modules/bytes-iec": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/bytes-iec/-/bytes-iec-3.1.1.tgz", + "integrity": "sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/cacache": { "version": "12.0.4", "dev": true, @@ -14598,6 +14859,19 @@ "node": ">= 6" } }, + "node_modules/chromium-bidi": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.5.1.tgz", + "integrity": "sha512-dcCqOgq9fHKExc2R4JZs/oKbOghWpUNFAJODS8WKRtLhp3avtIH5UDCBrutdqZdh3pARogH8y1ObXm87emwb3g==", + "dev": true, + "dependencies": { + "mitt": "3.0.1", + "urlpattern-polyfill": "9.0.0" + }, + "peerDependencies": { + "devtools-protocol": "*" + } + }, "node_modules/ci-info": { "version": "2.0.0", "dev": true, @@ -15547,6 +15821,57 @@ "node": ">= 8" } }, + "node_modules/cross-fetch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", + "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", + "dev": true, + "dependencies": { + "node-fetch": "^2.6.12" + } + }, + "node_modules/cross-fetch/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/cross-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "node_modules/cross-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "node_modules/cross-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/cross-spawn": { "version": "5.1.0", "dev": true, @@ -15678,6 +16003,15 @@ "node": ">=0.10" } }, + "node_modules/data-uri-to-buffer": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.1.tgz", + "integrity": "sha512-MZd3VlchQkp8rdend6vrx7MmVDJzSNTBvghvKjirLkD+WTChA3KUf0jkE68Q4UyctNqI11zZO9/x2Yx+ub5Cvg==", + "dev": true, + "engines": { + "node": ">= 14" + } + }, "node_modules/data-urls": { "version": "3.0.2", "dev": true, @@ -16132,6 +16466,20 @@ "node": ">=0.10.0" } }, + "node_modules/degenerator": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", + "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", + "dev": true, + "dependencies": { + "ast-types": "^0.13.4", + "escodegen": "^2.1.0", + "esprima": "^4.0.1" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/del": { "version": "6.1.1", "dev": true, @@ -17298,6 +17646,52 @@ "node": ">=4.0" } }, + "node_modules/estimo": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/estimo/-/estimo-3.0.1.tgz", + "integrity": "sha512-xk0Gln+Ie+rfF3EDfa07wcq1n8u3tT6Hbt9UVAYBb3CMvYVfeljqlX9eJBSklbMhgV2BV3Hpcd22Q4T+jiC0fw==", + "dev": true, + "dependencies": { + "@sitespeed.io/tracium": "^0.3.3", + "commander": "^11.1.0", + "find-chrome-bin": "2.0.1", + "nanoid": "5.0.4", + "puppeteer-core": "21.6.0" + }, + "bin": { + "estimo": "scripts/cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/estimo/node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "dev": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/estimo/node_modules/nanoid": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.4.tgz", + "integrity": "sha512-vAjmBf13gsmhXSgBrtIclinISzFFy22WwCYoyilZlsrRXNIHSwgFQ1bEdjRwMT3aoadeIF6HMuDRlOxzfXV8ig==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.js" + }, + "engines": { + "node": "^18 || >=20" + } + }, "node_modules/estraverse": { "version": "4.3.0", "dev": true, @@ -17853,10 +18247,17 @@ "dev": true, "license": "Apache-2.0" }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "dev": true + }, "node_modules/fast-glob": { - "version": "3.3.1", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dev": true, - "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -18144,6 +18545,18 @@ "semver": "bin/semver" } }, + "node_modules/find-chrome-bin": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/find-chrome-bin/-/find-chrome-bin-2.0.1.tgz", + "integrity": "sha512-aDwC2y0dLxt0GFmQ+q8bqBCZ10VW9zYT/lNV806tRDqDAh5XpkTWulB96RKDHDuKu36m/dEvhmhD5IU237oOTg==", + "dev": true, + "dependencies": { + "@puppeteer/browsers": "^1.8.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/find-index": { "version": "0.1.1", "dev": true, @@ -18806,6 +19219,53 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/get-uri": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.2.tgz", + "integrity": "sha512-5KLucCJobh8vBY1K07EFV4+cPZH3mrV9YeAruUseCQKHB58SGjjT2l9/eA9LD082IiuMjSlFJEcdJ27TXvbZNw==", + "dev": true, + "dependencies": { + "basic-ftp": "^5.0.2", + "data-uri-to-buffer": "^6.0.0", + "debug": "^4.3.4", + "fs-extra": "^8.1.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/get-uri/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/get-uri/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/get-uri/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/get-value": { "version": "2.0.6", "dev": true, @@ -21851,6 +22311,15 @@ "immediate": "~3.0.5" } }, + "node_modules/lilconfig": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz", + "integrity": "sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==", + "dev": true, + "engines": { + "node": ">=14" + } + }, "node_modules/lines-and-columns": { "version": "2.0.3", "dev": true, @@ -23497,6 +23966,12 @@ "xtend": "~4.0.1" } }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "dev": true + }, "node_modules/mixin-deep": { "version": "1.3.2", "dev": true, @@ -23520,6 +23995,12 @@ "mkdirp": "bin/cmd.js" } }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true + }, "node_modules/mkdirp-infer-owner": { "version": "2.0.0", "dev": true, @@ -23967,6 +24448,15 @@ "node": ">=0.10.0" } }, + "node_modules/nanospinner": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/nanospinner/-/nanospinner-1.1.0.tgz", + "integrity": "sha512-yFvNYMig4AthKYfHFl1sLj7B2nkHL4lzdig4osvl9/LdGbXwrdFRoqBS98gsEsOakr0yH+r5NZ/1Y9gdVB8trA==", + "dev": true, + "dependencies": { + "picocolors": "^1.0.0" + } + }, "node_modules/natural-compare": { "version": "1.4.0", "dev": true, @@ -23989,6 +24479,15 @@ "dev": true, "license": "MIT" }, + "node_modules/netmask": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", + "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, "node_modules/nice-napi": { "version": "1.0.2", "dev": true, @@ -26102,6 +26601,97 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/pac-proxy-agent": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.1.tgz", + "integrity": "sha512-ASV8yU4LLKBAjqIPMbrgtaKIvxQri/yh2OpI+S6hVa9JRkUI3Y3NPFbfngDtY7oFtSMD3w31Xns89mDa3Feo5A==", + "dev": true, + "dependencies": { + "@tootallnate/quickjs-emscripten": "^0.23.0", + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "get-uri": "^6.0.1", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.2", + "pac-resolver": "^7.0.0", + "socks-proxy-agent": "^8.0.2" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/pac-proxy-agent/node_modules/agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "dev": true, + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/pac-proxy-agent/node_modules/http-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", + "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", + "dev": true, + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/pac-proxy-agent/node_modules/https-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", + "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", + "dev": true, + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/pac-proxy-agent/node_modules/socks-proxy-agent": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz", + "integrity": "sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==", + "dev": true, + "dependencies": { + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "socks": "^2.7.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/pac-resolver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.0.tgz", + "integrity": "sha512-Fd9lT9vJbHYRACT8OhCbZBbxr6KRSawSovFpy8nDGshaK99S/EBhVIHp9+crhxrsZOuvLpgL1n23iyPg6Rl2hg==", + "dev": true, + "dependencies": { + "degenerator": "^5.0.0", + "ip": "^1.1.8", + "netmask": "^2.0.2" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/pac-resolver/node_modules/ip": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", + "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==", + "dev": true + }, "node_modules/package-hash": { "version": "4.0.0", "dev": true, @@ -27012,6 +27602,15 @@ "node": ">=8" } }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/prometheus-example": { "resolved": "experimental/examples/prometheus", "link": true @@ -27259,6 +27858,86 @@ "node": ">= 0.10" } }, + "node_modules/proxy-agent": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.3.1.tgz", + "integrity": "sha512-Rb5RVBy1iyqOtNl15Cw/llpeLH8bsb37gM1FUfKQ+Wck6xHlbAhWGUFiTRHtkjqGTA5pSHz6+0hrPW/oECihPQ==", + "dev": true, + "dependencies": { + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.2", + "lru-cache": "^7.14.1", + "pac-proxy-agent": "^7.0.1", + "proxy-from-env": "^1.1.0", + "socks-proxy-agent": "^8.0.2" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/proxy-agent/node_modules/agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "dev": true, + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/proxy-agent/node_modules/http-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", + "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", + "dev": true, + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/proxy-agent/node_modules/https-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", + "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", + "dev": true, + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/proxy-agent/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/proxy-agent/node_modules/socks-proxy-agent": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz", + "integrity": "sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==", + "dev": true, + "dependencies": { + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "socks": "^2.7.1" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/proxy-from-env": { "version": "1.1.0", "license": "MIT" @@ -27347,6 +28026,50 @@ "dev": true, "license": "MIT" }, + "node_modules/puppeteer-core": { + "version": "21.6.0", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-21.6.0.tgz", + "integrity": "sha512-1vrzbp2E1JpBwtIIrriWkN+A0afUxkqRuFTC3uASc5ql6iuK9ppOdIU/CPGKwOyB4YFIQ16mRbK0PK19mbXnaQ==", + "dev": true, + "dependencies": { + "@puppeteer/browsers": "1.9.0", + "chromium-bidi": "0.5.1", + "cross-fetch": "4.0.0", + "debug": "4.3.4", + "devtools-protocol": "0.0.1203626", + "ws": "8.14.2" + }, + "engines": { + "node": ">=16.13.2" + } + }, + "node_modules/puppeteer-core/node_modules/@puppeteer/browsers": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.9.0.tgz", + "integrity": "sha512-QwguOLy44YBGC8vuPP2nmpX4MUN2FzWbsnvZJtiCzecU3lHmVZkaC1tq6rToi9a200m8RzlVtDyxCS0UIDrxUg==", + "dev": true, + "dependencies": { + "debug": "4.3.4", + "extract-zip": "2.0.1", + "progress": "2.0.3", + "proxy-agent": "6.3.1", + "tar-fs": "3.0.4", + "unbzip2-stream": "1.4.3", + "yargs": "17.7.2" + }, + "bin": { + "browsers": "lib/cjs/main-cli.js" + }, + "engines": { + "node": ">=16.3.0" + } + }, + "node_modules/puppeteer-core/node_modules/devtools-protocol": { + "version": "0.0.1203626", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1203626.tgz", + "integrity": "sha512-nEzHZteIUZfGCZtTiS1fRpC8UZmsfD1SiyPvaUNvS13dvKf666OAm8YTi0+Ca3n1nLEyu49Cy4+dPWpaHFJk9g==", + "dev": true + }, "node_modules/q": { "version": "1.5.1", "dev": true, @@ -27403,6 +28126,12 @@ ], "license": "MIT" }, + "node_modules/queue-tick": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", + "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", + "dev": true + }, "node_modules/quick-lru": { "version": "5.1.1", "dev": true, @@ -29149,6 +29878,156 @@ "node": ">=0.3.1" } }, + "node_modules/size-limit": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/size-limit/-/size-limit-11.0.2.tgz", + "integrity": "sha512-iFZ8iTR/3zPqxSwEIdGnTVYVU0F2nhodLQG/G6zpi/NxECYAK9ntq2lNr+prXH7h3gyBjx2Umt2D/oS2Qzz+eg==", + "dev": true, + "dependencies": { + "bytes-iec": "^3.1.1", + "chokidar": "^3.5.3", + "globby": "^14.0.0", + "lilconfig": "^3.0.0", + "nanospinner": "^1.1.0", + "picocolors": "^1.0.0" + }, + "bin": { + "size-limit": "bin.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + } + }, + "node_modules/size-limit/node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/size-limit/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/size-limit/node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/size-limit/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/size-limit/node_modules/globby": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.0.tgz", + "integrity": "sha512-/1WM/LNHRAOH9lZta77uGbq0dAEQM+XjNesWwhlERDVenqothRbnzTrL3/LrIoEPPjeUHC3vrS6TwoyxeHs7MQ==", + "dev": true, + "dependencies": { + "@sindresorhus/merge-streams": "^1.0.0", + "fast-glob": "^3.3.2", + "ignore": "^5.2.4", + "path-type": "^5.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/size-limit/node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/size-limit/node_modules/path-type": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", + "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/size-limit/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/size-limit/node_modules/slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "dev": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/slash": { "version": "1.0.0", "dev": true, @@ -29818,6 +30697,16 @@ "node": ">= 4.0.0" } }, + "node_modules/streamx": { + "version": "2.15.6", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.6.tgz", + "integrity": "sha512-q+vQL4AAz+FdfT137VF69Cc/APqUbxy+MDOImRrMvchJpigHj9GksgDU2LYbO9rx7RX6osWgxJB2WxhYv4SZAw==", + "dev": true, + "dependencies": { + "fast-fifo": "^1.1.0", + "queue-tick": "^1.0.1" + } + }, "node_modules/string_decoder": { "version": "1.3.0", "dev": true, @@ -30062,6 +30951,28 @@ "node": ">= 10" } }, + "node_modules/tar-fs": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz", + "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==", + "dev": true, + "dependencies": { + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^3.1.5" + } + }, + "node_modules/tar-fs/node_modules/tar-stream": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", + "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", + "dev": true, + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, "node_modules/tar-stream": { "version": "2.2.0", "dev": true, @@ -30277,9 +31188,10 @@ } }, "node_modules/terser": { - "version": "5.24.0", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.27.0.tgz", + "integrity": "sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -31477,6 +32389,40 @@ "node": ">=0.8.0" } }, + "node_modules/unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dev": true, + "dependencies": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "node_modules/unbzip2-stream/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "node_modules/underscore": { "version": "1.13.6", "dev": true, @@ -31518,6 +32464,18 @@ "node": ">=4" } }, + "node_modules/unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/union-value": { "version": "1.0.1", "dev": true, @@ -31745,6 +32703,12 @@ "fast-url-parser": "^1.1.3" } }, + "node_modules/urlpattern-polyfill": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-9.0.0.tgz", + "integrity": "sha512-WHN8KDQblxd32odxeIgo83rdVDE2bvdkb86it7bMhYZwWKJz0+O0RK/eZiHYnM+zgt/U7hAHOlCQGfjjvSkw2g==", + "dev": true + }, "node_modules/use": { "version": "3.1.1", "dev": true, @@ -35162,6 +36126,9 @@ "version": "1.21.0", "license": "Apache-2.0", "devDependencies": { + "@size-limit/file": "^11.0.1", + "@size-limit/time": "^11.0.1", + "@size-limit/webpack": "^11.0.1", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -35172,13 +36139,76 @@ "nock": "13.3.8", "nyc": "15.1.0", "sinon": "15.1.2", + "size-limit": "^11.0.1", "ts-mocha": "10.0.0", + "ts-node": "10.9.2", "typescript": "4.4.4" }, "engines": { "node": ">=14" } }, + "packages/opentelemetry-semantic-conventions/node_modules/acorn-walk": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "packages/opentelemetry-semantic-conventions/node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "packages/opentelemetry-semantic-conventions/node_modules/ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "dev": true, + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, "packages/opentelemetry-shim-opentracing": { "name": "@opentelemetry/shim-opentracing", "version": "1.21.0", @@ -43315,6 +44345,9 @@ "@opentelemetry/semantic-conventions": { "version": "file:packages/opentelemetry-semantic-conventions", "requires": { + "@size-limit/file": "^11.0.1", + "@size-limit/time": "^11.0.1", + "@size-limit/webpack": "^11.0.1", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -43325,8 +44358,45 @@ "nock": "13.3.8", "nyc": "15.1.0", "sinon": "15.1.2", + "size-limit": "^11.0.1", "ts-mocha": "10.0.0", + "ts-node": "10.9.2", "typescript": "4.4.4" + }, + "dependencies": { + "acorn-walk": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", + "dev": true + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true + }, + "ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "dev": true, + "requires": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + } + } } }, "@opentelemetry/shim-opencensus": { @@ -43518,6 +44588,21 @@ "@protobufjs/utf8": { "version": "1.1.0" }, + "@puppeteer/browsers": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.9.1.tgz", + "integrity": "sha512-PuvK6xZzGhKPvlx3fpfdM2kYY3P/hB1URtK8wA7XUJ6prn6pp22zvJHu48th0SGcHL9SutbPHrFuQgfXTFobWA==", + "dev": true, + "requires": { + "debug": "4.3.4", + "extract-zip": "2.0.1", + "progress": "2.0.3", + "proxy-agent": "6.3.1", + "tar-fs": "3.0.4", + "unbzip2-stream": "1.4.3", + "yargs": "17.7.2" + } + }, "@sigstore/bundle": { "version": "1.1.0", "dev": true, @@ -43731,6 +44816,12 @@ "version": "4.6.0", "dev": true }, + "@sindresorhus/merge-streams": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-1.0.0.tgz", + "integrity": "sha512-rUV5WyJrJLoloD4NDN1V1+LDMDWOa4OTsT4yYJwQNpTU6FWxkxHpL7eu4w+DmiH8x/EAM1otkPE1+LaspIbplw==", + "dev": true + }, "@sinonjs/commons": { "version": "3.0.0", "dev": true, @@ -43767,6 +44858,116 @@ "version": "0.7.2", "dev": true }, + "@sitespeed.io/tracium": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@sitespeed.io/tracium/-/tracium-0.3.3.tgz", + "integrity": "sha512-dNZafjM93Y+F+sfwTO5gTpsGXlnc/0Q+c2+62ViqP3gkMWvHEMSKkaEHgVJLcLg3i/g19GSIPziiKpgyne07Bw==", + "dev": true, + "requires": { + "debug": "^4.1.1" + } + }, + "@size-limit/file": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/@size-limit/file/-/file-11.0.2.tgz", + "integrity": "sha512-874lrMtWYRL+xb/6xzejjwD+krfHTOo+2uFGpZfJScvuNv91Ni2O7k0o09zC70VzCYBGkXquV92ln/H+/ognGg==", + "dev": true, + "requires": {} + }, + "@size-limit/time": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/@size-limit/time/-/time-11.0.2.tgz", + "integrity": "sha512-5MLgwI6DHpOWTaILE/CnwXp6cHEz6leBkh6od+AyfulAnrWsDzz4XZ4JHu04RJiyAJKPxGVPtSZkTgxmpdlwSQ==", + "dev": true, + "requires": { + "estimo": "^3.0.1" + } + }, + "@size-limit/webpack": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/@size-limit/webpack/-/webpack-11.0.2.tgz", + "integrity": "sha512-MWS/KuQWez6UOUveVKhlMSgeduUAIktRFIe6z/x9wiAOEF6tCF9iLVVkzhFen2wbVR0p3sT9eW9WLiulB6yPHg==", + "dev": true, + "requires": { + "nanoid": "^5.0.4", + "webpack": "^5.89.0" + }, + "dependencies": { + "enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "nanoid": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.4.tgz", + "integrity": "sha512-vAjmBf13gsmhXSgBrtIclinISzFFy22WwCYoyilZlsrRXNIHSwgFQ1bEdjRwMT3aoadeIF6HMuDRlOxzfXV8ig==", + "dev": true + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true + }, + "terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + } + }, + "webpack": { + "version": "5.90.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.0.tgz", + "integrity": "sha512-bdmyXRCXeeNIePv6R6tGPyy20aUobw4Zy8r0LUS2EWO+U+Ke/gYDgsCh7bl5rB6jPpr4r0SZa6dPxBxLooDT3w==", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + } + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true + } + } + }, "@socket.io/component-emitter": { "version": "3.1.0", "dev": true @@ -43786,6 +44987,12 @@ "version": "2.0.0", "dev": true }, + "@tootallnate/quickjs-emscripten": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", + "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==", + "dev": true + }, "@tsconfig/node10": { "version": "1.0.9", "dev": true @@ -43910,7 +45117,9 @@ } }, "@types/estree": { - "version": "1.0.4", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true }, "@types/express": { @@ -44983,6 +46192,15 @@ "version": "1.0.0", "dev": true }, + "ast-types": { + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", + "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", + "dev": true, + "requires": { + "tslib": "^2.0.1" + } + }, "async": { "version": "3.2.4", "dev": true @@ -45035,6 +46253,12 @@ "proxy-from-env": "^1.1.0" } }, + "b4a": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", + "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==", + "dev": true + }, "babel-code-frame": { "version": "6.26.0", "dev": true, @@ -46007,6 +47231,12 @@ "version": "2.0.0", "dev": true }, + "basic-ftp": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.4.tgz", + "integrity": "sha512-8PzkB0arJFV4jJWSGOYR+OEic6aeKMu/osRhBULN6RY0ykby6LKhbmuQ5ublvaas5BOwboah5D87nrHyuh8PPA==", + "dev": true + }, "batch": { "version": "0.6.1", "dev": true @@ -46430,6 +47660,12 @@ "bytes": { "version": "3.1.0" }, + "bytes-iec": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/bytes-iec/-/bytes-iec-3.1.1.tgz", + "integrity": "sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA==", + "dev": true + }, "cacache": { "version": "12.0.4", "dev": true, @@ -46726,6 +47962,16 @@ } } }, + "chromium-bidi": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.5.1.tgz", + "integrity": "sha512-dcCqOgq9fHKExc2R4JZs/oKbOghWpUNFAJODS8WKRtLhp3avtIH5UDCBrutdqZdh3pARogH8y1ObXm87emwb3g==", + "dev": true, + "requires": { + "mitt": "3.0.1", + "urlpattern-polyfill": "9.0.0" + } + }, "ci-info": { "version": "2.0.0", "dev": true @@ -47400,6 +48646,48 @@ } } }, + "cross-fetch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", + "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", + "dev": true, + "requires": { + "node-fetch": "^2.6.12" + }, + "dependencies": { + "node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + } + } + }, "cross-spawn": { "version": "5.1.0", "dev": true, @@ -47497,6 +48785,12 @@ "assert-plus": "^1.0.0" } }, + "data-uri-to-buffer": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.1.tgz", + "integrity": "sha512-MZd3VlchQkp8rdend6vrx7MmVDJzSNTBvghvKjirLkD+WTChA3KUf0jkE68Q4UyctNqI11zZO9/x2Yx+ub5Cvg==", + "dev": true + }, "data-urls": { "version": "3.0.2", "dev": true, @@ -47757,6 +49051,17 @@ "isobject": "^3.0.1" } }, + "degenerator": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", + "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", + "dev": true, + "requires": { + "ast-types": "^0.13.4", + "escodegen": "^2.1.0", + "esprima": "^4.0.1" + } + }, "del": { "version": "6.1.1", "dev": true, @@ -48509,6 +49814,33 @@ } } }, + "estimo": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/estimo/-/estimo-3.0.1.tgz", + "integrity": "sha512-xk0Gln+Ie+rfF3EDfa07wcq1n8u3tT6Hbt9UVAYBb3CMvYVfeljqlX9eJBSklbMhgV2BV3Hpcd22Q4T+jiC0fw==", + "dev": true, + "requires": { + "@sitespeed.io/tracium": "^0.3.3", + "commander": "^11.1.0", + "find-chrome-bin": "2.0.1", + "nanoid": "5.0.4", + "puppeteer-core": "21.6.0" + }, + "dependencies": { + "commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "dev": true + }, + "nanoid": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.4.tgz", + "integrity": "sha512-vAjmBf13gsmhXSgBrtIclinISzFFy22WwCYoyilZlsrRXNIHSwgFQ1bEdjRwMT3aoadeIF6HMuDRlOxzfXV8ig==", + "dev": true + } + } + }, "estraverse": { "version": "4.3.0", "dev": true @@ -48907,8 +50239,16 @@ "version": "1.3.0", "dev": true }, + "fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "dev": true + }, "fast-glob": { - "version": "3.3.1", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -49114,6 +50454,15 @@ } } }, + "find-chrome-bin": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/find-chrome-bin/-/find-chrome-bin-2.0.1.tgz", + "integrity": "sha512-aDwC2y0dLxt0GFmQ+q8bqBCZ10VW9zYT/lNV806tRDqDAh5XpkTWulB96RKDHDuKu36m/dEvhmhD5IU237oOTg==", + "dev": true, + "requires": { + "@puppeteer/browsers": "^1.8.0" + } + }, "find-index": { "version": "0.1.1", "dev": true @@ -49537,6 +50886,46 @@ "pump": "^3.0.0" } }, + "get-uri": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.2.tgz", + "integrity": "sha512-5KLucCJobh8vBY1K07EFV4+cPZH3mrV9YeAruUseCQKHB58SGjjT2l9/eA9LD082IiuMjSlFJEcdJ27TXvbZNw==", + "dev": true, + "requires": { + "basic-ftp": "^5.0.2", + "data-uri-to-buffer": "^6.0.0", + "debug": "^4.3.4", + "fs-extra": "^8.1.0" + }, + "dependencies": { + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + } + } + }, "get-value": { "version": "2.0.6", "dev": true @@ -51562,6 +52951,12 @@ "immediate": "~3.0.5" } }, + "lilconfig": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz", + "integrity": "sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==", + "dev": true + }, "lines-and-columns": { "version": "2.0.3", "dev": true @@ -52723,6 +54118,12 @@ } } }, + "mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "dev": true + }, "mixin-deep": { "version": "1.3.2", "dev": true, @@ -52738,6 +54139,12 @@ "minimist": "^1.2.6" } }, + "mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true + }, "mkdirp-infer-owner": { "version": "2.0.0", "dev": true, @@ -53032,6 +54439,15 @@ "to-regex": "^3.0.1" } }, + "nanospinner": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/nanospinner/-/nanospinner-1.1.0.tgz", + "integrity": "sha512-yFvNYMig4AthKYfHFl1sLj7B2nkHL4lzdig4osvl9/LdGbXwrdFRoqBS98gsEsOakr0yH+r5NZ/1Y9gdVB8trA==", + "dev": true, + "requires": { + "picocolors": "^1.0.0" + } + }, "natural-compare": { "version": "1.4.0", "dev": true @@ -53047,6 +54463,12 @@ "version": "2.6.2", "dev": true }, + "netmask": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", + "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", + "dev": true + }, "nice-napi": { "version": "1.0.2", "dev": true, @@ -54440,6 +55862,83 @@ "p-reduce": "^2.0.0" } }, + "pac-proxy-agent": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.1.tgz", + "integrity": "sha512-ASV8yU4LLKBAjqIPMbrgtaKIvxQri/yh2OpI+S6hVa9JRkUI3Y3NPFbfngDtY7oFtSMD3w31Xns89mDa3Feo5A==", + "dev": true, + "requires": { + "@tootallnate/quickjs-emscripten": "^0.23.0", + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "get-uri": "^6.0.1", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.2", + "pac-resolver": "^7.0.0", + "socks-proxy-agent": "^8.0.2" + }, + "dependencies": { + "agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "dev": true, + "requires": { + "debug": "^4.3.4" + } + }, + "http-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", + "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", + "dev": true, + "requires": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + } + }, + "https-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", + "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", + "dev": true, + "requires": { + "agent-base": "^7.0.2", + "debug": "4" + } + }, + "socks-proxy-agent": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz", + "integrity": "sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==", + "dev": true, + "requires": { + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "socks": "^2.7.1" + } + } + } + }, + "pac-resolver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.0.tgz", + "integrity": "sha512-Fd9lT9vJbHYRACT8OhCbZBbxr6KRSawSovFpy8nDGshaK99S/EBhVIHp9+crhxrsZOuvLpgL1n23iyPg6Rl2hg==", + "dev": true, + "requires": { + "degenerator": "^5.0.0", + "ip": "^1.1.8", + "netmask": "^2.0.2" + }, + "dependencies": { + "ip": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", + "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==", + "dev": true + } + } + }, "package-hash": { "version": "4.0.0", "dev": true, @@ -55035,6 +56534,12 @@ "fromentries": "^1.2.0" } }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, "prometheus-example": { "version": "file:experimental/examples/prometheus", "requires": { @@ -55224,6 +56729,70 @@ "ipaddr.js": "1.9.1" } }, + "proxy-agent": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.3.1.tgz", + "integrity": "sha512-Rb5RVBy1iyqOtNl15Cw/llpeLH8bsb37gM1FUfKQ+Wck6xHlbAhWGUFiTRHtkjqGTA5pSHz6+0hrPW/oECihPQ==", + "dev": true, + "requires": { + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.2", + "lru-cache": "^7.14.1", + "pac-proxy-agent": "^7.0.1", + "proxy-from-env": "^1.1.0", + "socks-proxy-agent": "^8.0.2" + }, + "dependencies": { + "agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "dev": true, + "requires": { + "debug": "^4.3.4" + } + }, + "http-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", + "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", + "dev": true, + "requires": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + } + }, + "https-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", + "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", + "dev": true, + "requires": { + "agent-base": "^7.0.2", + "debug": "4" + } + }, + "lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true + }, + "socks-proxy-agent": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz", + "integrity": "sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==", + "dev": true, + "requires": { + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "socks": "^2.7.1" + } + } + } + }, "proxy-from-env": { "version": "1.1.0" }, @@ -55299,6 +56868,43 @@ "version": "1.4.1", "dev": true }, + "puppeteer-core": { + "version": "21.6.0", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-21.6.0.tgz", + "integrity": "sha512-1vrzbp2E1JpBwtIIrriWkN+A0afUxkqRuFTC3uASc5ql6iuK9ppOdIU/CPGKwOyB4YFIQ16mRbK0PK19mbXnaQ==", + "dev": true, + "requires": { + "@puppeteer/browsers": "1.9.0", + "chromium-bidi": "0.5.1", + "cross-fetch": "4.0.0", + "debug": "4.3.4", + "devtools-protocol": "0.0.1203626", + "ws": "8.14.2" + }, + "dependencies": { + "@puppeteer/browsers": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.9.0.tgz", + "integrity": "sha512-QwguOLy44YBGC8vuPP2nmpX4MUN2FzWbsnvZJtiCzecU3lHmVZkaC1tq6rToi9a200m8RzlVtDyxCS0UIDrxUg==", + "dev": true, + "requires": { + "debug": "4.3.4", + "extract-zip": "2.0.1", + "progress": "2.0.3", + "proxy-agent": "6.3.1", + "tar-fs": "3.0.4", + "unbzip2-stream": "1.4.3", + "yargs": "17.7.2" + } + }, + "devtools-protocol": { + "version": "0.0.1203626", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1203626.tgz", + "integrity": "sha512-nEzHZteIUZfGCZtTiS1fRpC8UZmsfD1SiyPvaUNvS13dvKf666OAm8YTi0+Ca3n1nLEyu49Cy4+dPWpaHFJk9g==", + "dev": true + } + } + }, "q": { "version": "1.5.1", "dev": true @@ -55323,6 +56929,12 @@ "version": "1.2.3", "dev": true }, + "queue-tick": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", + "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", + "dev": true + }, "quick-lru": { "version": "5.1.1", "dev": true @@ -56502,6 +58114,104 @@ } } }, + "size-limit": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/size-limit/-/size-limit-11.0.2.tgz", + "integrity": "sha512-iFZ8iTR/3zPqxSwEIdGnTVYVU0F2nhodLQG/G6zpi/NxECYAK9ntq2lNr+prXH7h3gyBjx2Umt2D/oS2Qzz+eg==", + "dev": true, + "requires": { + "bytes-iec": "^3.1.1", + "chokidar": "^3.5.3", + "globby": "^14.0.0", + "lilconfig": "^3.0.0", + "nanospinner": "^1.1.0", + "picocolors": "^1.0.0" + }, + "dependencies": { + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "optional": true + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "globby": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.0.tgz", + "integrity": "sha512-/1WM/LNHRAOH9lZta77uGbq0dAEQM+XjNesWwhlERDVenqothRbnzTrL3/LrIoEPPjeUHC3vrS6TwoyxeHs7MQ==", + "dev": true, + "requires": { + "@sindresorhus/merge-streams": "^1.0.0", + "fast-glob": "^3.3.2", + "ignore": "^5.2.4", + "path-type": "^5.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.1.0" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "path-type": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", + "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", + "dev": true + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "dev": true + } + } + }, "slash": { "version": "1.0.0", "dev": true @@ -56983,6 +58693,16 @@ } } }, + "streamx": { + "version": "2.15.6", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.6.tgz", + "integrity": "sha512-q+vQL4AAz+FdfT137VF69Cc/APqUbxy+MDOImRrMvchJpigHj9GksgDU2LYbO9rx7RX6osWgxJB2WxhYv4SZAw==", + "dev": true, + "requires": { + "fast-fifo": "^1.1.0", + "queue-tick": "^1.0.1" + } + }, "string_decoder": { "version": "1.3.0", "dev": true, @@ -57159,6 +58879,30 @@ } } }, + "tar-fs": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz", + "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==", + "dev": true, + "requires": { + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^3.1.5" + }, + "dependencies": { + "tar-stream": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", + "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", + "dev": true, + "requires": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + } + } + }, "tar-stream": { "version": "2.2.0", "dev": true, @@ -57281,7 +59025,9 @@ } }, "terser": { - "version": "5.24.0", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.27.0.tgz", + "integrity": "sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==", "dev": true, "requires": { "@jridgewell/source-map": "^0.3.3", @@ -58041,6 +59787,28 @@ "version": "3.17.4", "dev": true }, + "unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dev": true, + "requires": { + "buffer": "^5.2.1", + "through": "^2.3.8" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + } + } + }, "underscore": { "version": "1.13.6", "dev": true @@ -58065,6 +59833,12 @@ "version": "2.1.0", "dev": true }, + "unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", + "dev": true + }, "union-value": { "version": "1.0.1", "dev": true, @@ -58217,6 +59991,12 @@ "fast-url-parser": "^1.1.3" } }, + "urlpattern-polyfill": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-9.0.0.tgz", + "integrity": "sha512-WHN8KDQblxd32odxeIgo83rdVDE2bvdkb86it7bMhYZwWKJz0+O0RK/eZiHYnM+zgt/U7hAHOlCQGfjjvSkw2g==", + "dev": true + }, "use": { "version": "3.1.1", "dev": true diff --git a/packages/opentelemetry-resources/test/detectors/browser/EnvDetector.test.ts b/packages/opentelemetry-resources/test/detectors/browser/EnvDetector.test.ts index 8901595773..0a263ce4b3 100644 --- a/packages/opentelemetry-resources/test/detectors/browser/EnvDetector.test.ts +++ b/packages/opentelemetry-resources/test/detectors/browser/EnvDetector.test.ts @@ -16,7 +16,6 @@ import * as assert from 'assert'; import { RAW_ENVIRONMENT } from '@opentelemetry/core'; -import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions'; import { envDetector, IResource } from '../../../src'; import { assertEmptyResource, @@ -41,9 +40,9 @@ describeBrowser('envDetector() on web browser', () => { it('should return resource information from environment variable', async () => { const resource: IResource = await envDetector.detect(); assertWebEngineResource(resource, { - [SemanticResourceAttributes.WEBENGINE_NAME]: 'chromium', - [SemanticResourceAttributes.WEBENGINE_VERSION]: '99', - [SemanticResourceAttributes.WEBENGINE_DESCRIPTION]: 'Chromium', + name: 'chromium', + version: '99', + description: 'Chromium', }); assert.strictEqual(resource.attributes['custom.key'], 'custom value'); }); diff --git a/packages/opentelemetry-resources/test/resource-assertions.test.ts b/packages/opentelemetry-resources/test/resource-assertions.test.ts index cde2b8a9f2..7dcb278f8a 100644 --- a/packages/opentelemetry-resources/test/resource-assertions.test.ts +++ b/packages/opentelemetry-resources/test/resource-assertions.test.ts @@ -15,7 +15,12 @@ */ import { SDK_INFO } from '@opentelemetry/core'; -import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions'; +import { + SEMRESATTRS_TELEMETRY_SDK_LANGUAGE, + SEMRESATTRS_TELEMETRY_SDK_NAME, + SEMRESATTRS_TELEMETRY_SDK_VERSION, + SemanticResourceAttributes, +} from '@opentelemetry/semantic-conventions'; import { Resource } from '../src/Resource'; import { assertCloudResource, @@ -132,9 +137,12 @@ describe('assertK8sResource', () => { describe('assertTelemetrySDKResource', () => { it('uses default validations', () => { const resource = new Resource({ - [SemanticResourceAttributes.TELEMETRY_SDK_NAME]: SDK_INFO.NAME, - [SemanticResourceAttributes.TELEMETRY_SDK_LANGUAGE]: SDK_INFO.LANGUAGE, - [SemanticResourceAttributes.TELEMETRY_SDK_VERSION]: SDK_INFO.VERSION, + [SemanticResourceAttributes.TELEMETRY_SDK_NAME]: + SDK_INFO[SEMRESATTRS_TELEMETRY_SDK_NAME], + [SemanticResourceAttributes.TELEMETRY_SDK_LANGUAGE]: + SDK_INFO[SEMRESATTRS_TELEMETRY_SDK_LANGUAGE], + [SemanticResourceAttributes.TELEMETRY_SDK_VERSION]: + SDK_INFO[SEMRESATTRS_TELEMETRY_SDK_VERSION], }); assertTelemetrySDKResource(resource, {}); }); diff --git a/packages/opentelemetry-resources/test/util/resource-assertions.ts b/packages/opentelemetry-resources/test/util/resource-assertions.ts index 02f1a70dd4..c9da0b36ac 100644 --- a/packages/opentelemetry-resources/test/util/resource-assertions.ts +++ b/packages/opentelemetry-resources/test/util/resource-assertions.ts @@ -17,7 +17,12 @@ import { SDK_INFO } from '@opentelemetry/core'; import * as assert from 'assert'; import { IResource } from '../../src/IResource'; -import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions'; +import { + SEMRESATTRS_TELEMETRY_SDK_LANGUAGE, + SEMRESATTRS_TELEMETRY_SDK_NAME, + SEMRESATTRS_TELEMETRY_SDK_VERSION, + SemanticResourceAttributes, +} from '@opentelemetry/semantic-conventions'; /** * Test utility method to validate a cloud resource @@ -199,9 +204,9 @@ export const assertTelemetrySDKResource = ( } ) => { const defaults = { - name: SDK_INFO.NAME, - language: SDK_INFO.LANGUAGE, - version: SDK_INFO.VERSION, + name: SDK_INFO[SEMRESATTRS_TELEMETRY_SDK_NAME], + language: SDK_INFO[SEMRESATTRS_TELEMETRY_SDK_LANGUAGE], + version: SDK_INFO[SEMRESATTRS_TELEMETRY_SDK_VERSION], }; validations = { ...defaults, ...validations }; @@ -382,7 +387,9 @@ const assertHasOneLabel = (prefix: string, resource: IResource): void => { assert.ok( hasOne, - 'Resource must have one of the following attributes: ' + + 'Must have one Resource(s) starting with [' + + prefix + + '] matching the following attributes: ' + Object.entries(SemanticResourceAttributes) .reduce((result, [key, value]) => { if (key.startsWith(prefix)) { @@ -390,6 +397,7 @@ const assertHasOneLabel = (prefix: string, resource: IResource): void => { } return result; }) - .join(', ') + .join(', ') + + JSON.stringify(Object.keys(SemanticResourceAttributes)) ); }; diff --git a/packages/opentelemetry-semantic-conventions/package.json b/packages/opentelemetry-semantic-conventions/package.json index 1ee7586da3..cb8be8ab6f 100644 --- a/packages/opentelemetry-semantic-conventions/package.json +++ b/packages/opentelemetry-semantic-conventions/package.json @@ -17,7 +17,8 @@ "watch": "tsc --build --watch tsconfig.json tsconfig.esm.json tsconfig.esnext.json", "precompile": "cross-var lerna run version --scope $npm_package_name --include-dependencies", "prewatch": "npm run precompile", - "peer-api-check": "node ../../scripts/peer-api-check.js" + "peer-api-check": "node ../../scripts/peer-api-check.js", + "size-check": "npm run compile && ts-mocha -p tsconfig.json 'test/**/*.test.ts'" }, "keywords": [ "opentelemetry", @@ -52,6 +53,9 @@ "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", + "@size-limit/file": "^11.0.1", + "@size-limit/time": "^11.0.1", + "@size-limit/webpack": "^11.0.1", "codecov": "3.8.3", "cross-var": "1.1.0", "lerna": "6.6.2", @@ -59,7 +63,9 @@ "nock": "13.3.8", "nyc": "15.1.0", "sinon": "15.1.2", + "size-limit": "^11.0.1", "ts-mocha": "10.0.0", + "ts-node": "10.9.2", "typescript": "4.4.4" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-semantic-conventions", diff --git a/packages/opentelemetry-semantic-conventions/src/internal/utils.ts b/packages/opentelemetry-semantic-conventions/src/internal/utils.ts new file mode 100644 index 0000000000..7c26585061 --- /dev/null +++ b/packages/opentelemetry-semantic-conventions/src/internal/utils.ts @@ -0,0 +1,35 @@ +/* + * 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. + */ + +/** + * Creates a const map from the given values + * @param values - An array of values to be used as keys and values in the map. + * @returns A populated version of the map with the values and keys derived from the values. + */ +/*#__NO_SIDE_EFFECTS__*/ +export function createConstMap(values: Array): T { + // eslint-disable-next-line prefer-const, @typescript-eslint/no-explicit-any + let res: any = {}; + const len = values.length; + for (let lp = 0; lp < len; lp++) { + const val = values[lp]; + if (val) { + res[String(val).toUpperCase().replace(/[-.]/g, '_')] = val; + } + } + + return res as T; +} diff --git a/packages/opentelemetry-semantic-conventions/src/resource/SemanticResourceAttributes.ts b/packages/opentelemetry-semantic-conventions/src/resource/SemanticResourceAttributes.ts index e123c3513e..dab5ad44d6 100644 --- a/packages/opentelemetry-semantic-conventions/src/resource/SemanticResourceAttributes.ts +++ b/packages/opentelemetry-semantic-conventions/src/resource/SemanticResourceAttributes.ts @@ -14,155 +14,714 @@ * limitations under the License. */ +import { createConstMap } from '../internal/utils'; + +//---------------------------------------------------------------------------------------------------------- // DO NOT EDIT, this is an Auto-generated file from scripts/semconv/templates//templates/SemanticAttributes.ts.j2 -export const SemanticResourceAttributes = { +//---------------------------------------------------------------------------------------------------------- + +//---------------------------------------------------------------------------------------------------------- +// Constant values for SemanticResourceAttributes +//---------------------------------------------------------------------------------------------------------- + +// Temporary local constants to assign to the individual exports and the namespaced version +// Required to avoid the namespace exports using the unminifable export names for some package types +const TMP_CLOUD_PROVIDER = 'cloud.provider'; +const TMP_CLOUD_ACCOUNT_ID = 'cloud.account.id'; +const TMP_CLOUD_REGION = 'cloud.region'; +const TMP_CLOUD_AVAILABILITY_ZONE = 'cloud.availability_zone'; +const TMP_CLOUD_PLATFORM = 'cloud.platform'; +const TMP_AWS_ECS_CONTAINER_ARN = 'aws.ecs.container.arn'; +const TMP_AWS_ECS_CLUSTER_ARN = 'aws.ecs.cluster.arn'; +const TMP_AWS_ECS_LAUNCHTYPE = 'aws.ecs.launchtype'; +const TMP_AWS_ECS_TASK_ARN = 'aws.ecs.task.arn'; +const TMP_AWS_ECS_TASK_FAMILY = 'aws.ecs.task.family'; +const TMP_AWS_ECS_TASK_REVISION = 'aws.ecs.task.revision'; +const TMP_AWS_EKS_CLUSTER_ARN = 'aws.eks.cluster.arn'; +const TMP_AWS_LOG_GROUP_NAMES = 'aws.log.group.names'; +const TMP_AWS_LOG_GROUP_ARNS = 'aws.log.group.arns'; +const TMP_AWS_LOG_STREAM_NAMES = 'aws.log.stream.names'; +const TMP_AWS_LOG_STREAM_ARNS = 'aws.log.stream.arns'; +const TMP_CONTAINER_NAME = 'container.name'; +const TMP_CONTAINER_ID = 'container.id'; +const TMP_CONTAINER_RUNTIME = 'container.runtime'; +const TMP_CONTAINER_IMAGE_NAME = 'container.image.name'; +const TMP_CONTAINER_IMAGE_TAG = 'container.image.tag'; +const TMP_DEPLOYMENT_ENVIRONMENT = 'deployment.environment'; +const TMP_DEVICE_ID = 'device.id'; +const TMP_DEVICE_MODEL_IDENTIFIER = 'device.model.identifier'; +const TMP_DEVICE_MODEL_NAME = 'device.model.name'; +const TMP_FAAS_NAME = 'faas.name'; +const TMP_FAAS_ID = 'faas.id'; +const TMP_FAAS_VERSION = 'faas.version'; +const TMP_FAAS_INSTANCE = 'faas.instance'; +const TMP_FAAS_MAX_MEMORY = 'faas.max_memory'; +const TMP_HOST_ID = 'host.id'; +const TMP_HOST_NAME = 'host.name'; +const TMP_HOST_TYPE = 'host.type'; +const TMP_HOST_ARCH = 'host.arch'; +const TMP_HOST_IMAGE_NAME = 'host.image.name'; +const TMP_HOST_IMAGE_ID = 'host.image.id'; +const TMP_HOST_IMAGE_VERSION = 'host.image.version'; +const TMP_K8S_CLUSTER_NAME = 'k8s.cluster.name'; +const TMP_K8S_NODE_NAME = 'k8s.node.name'; +const TMP_K8S_NODE_UID = 'k8s.node.uid'; +const TMP_K8S_NAMESPACE_NAME = 'k8s.namespace.name'; +const TMP_K8S_POD_UID = 'k8s.pod.uid'; +const TMP_K8S_POD_NAME = 'k8s.pod.name'; +const TMP_K8S_CONTAINER_NAME = 'k8s.container.name'; +const TMP_K8S_REPLICASET_UID = 'k8s.replicaset.uid'; +const TMP_K8S_REPLICASET_NAME = 'k8s.replicaset.name'; +const TMP_K8S_DEPLOYMENT_UID = 'k8s.deployment.uid'; +const TMP_K8S_DEPLOYMENT_NAME = 'k8s.deployment.name'; +const TMP_K8S_STATEFULSET_UID = 'k8s.statefulset.uid'; +const TMP_K8S_STATEFULSET_NAME = 'k8s.statefulset.name'; +const TMP_K8S_DAEMONSET_UID = 'k8s.daemonset.uid'; +const TMP_K8S_DAEMONSET_NAME = 'k8s.daemonset.name'; +const TMP_K8S_JOB_UID = 'k8s.job.uid'; +const TMP_K8S_JOB_NAME = 'k8s.job.name'; +const TMP_K8S_CRONJOB_UID = 'k8s.cronjob.uid'; +const TMP_K8S_CRONJOB_NAME = 'k8s.cronjob.name'; +const TMP_OS_TYPE = 'os.type'; +const TMP_OS_DESCRIPTION = 'os.description'; +const TMP_OS_NAME = 'os.name'; +const TMP_OS_VERSION = 'os.version'; +const TMP_PROCESS_PID = 'process.pid'; +const TMP_PROCESS_EXECUTABLE_NAME = 'process.executable.name'; +const TMP_PROCESS_EXECUTABLE_PATH = 'process.executable.path'; +const TMP_PROCESS_COMMAND = 'process.command'; +const TMP_PROCESS_COMMAND_LINE = 'process.command_line'; +const TMP_PROCESS_COMMAND_ARGS = 'process.command_args'; +const TMP_PROCESS_OWNER = 'process.owner'; +const TMP_PROCESS_RUNTIME_NAME = 'process.runtime.name'; +const TMP_PROCESS_RUNTIME_VERSION = 'process.runtime.version'; +const TMP_PROCESS_RUNTIME_DESCRIPTION = 'process.runtime.description'; +const TMP_SERVICE_NAME = 'service.name'; +const TMP_SERVICE_NAMESPACE = 'service.namespace'; +const TMP_SERVICE_INSTANCE_ID = 'service.instance.id'; +const TMP_SERVICE_VERSION = 'service.version'; +const TMP_TELEMETRY_SDK_NAME = 'telemetry.sdk.name'; +const TMP_TELEMETRY_SDK_LANGUAGE = 'telemetry.sdk.language'; +const TMP_TELEMETRY_SDK_VERSION = 'telemetry.sdk.version'; +const TMP_TELEMETRY_AUTO_VERSION = 'telemetry.auto.version'; +const TMP_WEBENGINE_NAME = 'webengine.name'; +const TMP_WEBENGINE_VERSION = 'webengine.version'; +const TMP_WEBENGINE_DESCRIPTION = 'webengine.description'; + +/** + * Name of the cloud provider. + */ +export const SEMRESATTRS_CLOUD_PROVIDER = TMP_CLOUD_PROVIDER; + +/** + * The cloud account ID the resource is assigned to. + */ +export const SEMRESATTRS_CLOUD_ACCOUNT_ID = TMP_CLOUD_ACCOUNT_ID; + +/** + * The geographical region the resource is running. Refer to your provider's docs to see the available regions, for example [Alibaba Cloud regions](https://www.alibabacloud.com/help/doc-detail/40654.htm), [AWS regions](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/), [Azure regions](https://azure.microsoft.com/en-us/global-infrastructure/geographies/), or [Google Cloud regions](https://cloud.google.com/about/locations). + */ +export const SEMRESATTRS_CLOUD_REGION = TMP_CLOUD_REGION; + +/** + * Cloud regions often have multiple, isolated locations known as zones to increase availability. Availability zone represents the zone where the resource is running. + * + * Note: Availability zones are called "zones" on Alibaba Cloud and Google Cloud. + */ +export const SEMRESATTRS_CLOUD_AVAILABILITY_ZONE = TMP_CLOUD_AVAILABILITY_ZONE; + +/** + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ +export const SEMRESATTRS_CLOUD_PLATFORM = TMP_CLOUD_PLATFORM; + +/** + * The Amazon Resource Name (ARN) of an [ECS container instance](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html). + */ +export const SEMRESATTRS_AWS_ECS_CONTAINER_ARN = TMP_AWS_ECS_CONTAINER_ARN; + +/** + * The ARN of an [ECS cluster](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/clusters.html). + */ +export const SEMRESATTRS_AWS_ECS_CLUSTER_ARN = TMP_AWS_ECS_CLUSTER_ARN; + +/** + * The [launch type](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) for an ECS task. + */ +export const SEMRESATTRS_AWS_ECS_LAUNCHTYPE = TMP_AWS_ECS_LAUNCHTYPE; + +/** + * The ARN of an [ECS task definition](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html). + */ +export const SEMRESATTRS_AWS_ECS_TASK_ARN = TMP_AWS_ECS_TASK_ARN; + +/** + * The task definition family this task definition is a member of. + */ +export const SEMRESATTRS_AWS_ECS_TASK_FAMILY = TMP_AWS_ECS_TASK_FAMILY; + +/** + * The revision for this task definition. + */ +export const SEMRESATTRS_AWS_ECS_TASK_REVISION = TMP_AWS_ECS_TASK_REVISION; + +/** + * The ARN of an EKS cluster. + */ +export const SEMRESATTRS_AWS_EKS_CLUSTER_ARN = TMP_AWS_EKS_CLUSTER_ARN; + +/** + * The name(s) of the AWS log group(s) an application is writing to. + * + * Note: Multiple log groups must be supported for cases like multi-container applications, where a single application has sidecar containers, and each write to their own log group. + */ +export const SEMRESATTRS_AWS_LOG_GROUP_NAMES = TMP_AWS_LOG_GROUP_NAMES; + +/** + * The Amazon Resource Name(s) (ARN) of the AWS log group(s). + * + * Note: See the [log group ARN format documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format). + */ +export const SEMRESATTRS_AWS_LOG_GROUP_ARNS = TMP_AWS_LOG_GROUP_ARNS; + +/** + * The name(s) of the AWS log stream(s) an application is writing to. + */ +export const SEMRESATTRS_AWS_LOG_STREAM_NAMES = TMP_AWS_LOG_STREAM_NAMES; + +/** + * The ARN(s) of the AWS log stream(s). + * + * Note: See the [log stream ARN format documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format). One log group can contain several log streams, so these ARNs necessarily identify both a log group and a log stream. + */ +export const SEMRESATTRS_AWS_LOG_STREAM_ARNS = TMP_AWS_LOG_STREAM_ARNS; + +/** + * Container name. + */ +export const SEMRESATTRS_CONTAINER_NAME = TMP_CONTAINER_NAME; + +/** + * Container ID. Usually a UUID, as for example used to [identify Docker containers](https://docs.docker.com/engine/reference/run/#container-identification). The UUID might be abbreviated. + */ +export const SEMRESATTRS_CONTAINER_ID = TMP_CONTAINER_ID; + +/** + * The container runtime managing this container. + */ +export const SEMRESATTRS_CONTAINER_RUNTIME = TMP_CONTAINER_RUNTIME; + +/** + * Name of the image the container was built on. + */ +export const SEMRESATTRS_CONTAINER_IMAGE_NAME = TMP_CONTAINER_IMAGE_NAME; + +/** + * Container image tag. + */ +export const SEMRESATTRS_CONTAINER_IMAGE_TAG = TMP_CONTAINER_IMAGE_TAG; + +/** + * Name of the [deployment environment](https://en.wikipedia.org/wiki/Deployment_environment) (aka deployment tier). + */ +export const SEMRESATTRS_DEPLOYMENT_ENVIRONMENT = TMP_DEPLOYMENT_ENVIRONMENT; + +/** + * A unique identifier representing the device. + * + * Note: The device identifier MUST only be defined using the values outlined below. This value is not an advertising identifier and MUST NOT be used as such. On iOS (Swift or Objective-C), this value MUST be equal to the [vendor identifier](https://developer.apple.com/documentation/uikit/uidevice/1620059-identifierforvendor). On Android (Java or Kotlin), this value MUST be equal to the Firebase Installation ID or a globally unique UUID which is persisted across sessions in your application. More information can be found [here](https://developer.android.com/training/articles/user-data-ids) on best practices and exact implementation details. Caution should be taken when storing personal data or anything which can identify a user. GDPR and data protection laws may apply, ensure you do your own due diligence. + */ +export const SEMRESATTRS_DEVICE_ID = TMP_DEVICE_ID; + +/** + * The model identifier for the device. + * + * Note: It's recommended this value represents a machine readable version of the model identifier rather than the market or consumer-friendly name of the device. + */ +export const SEMRESATTRS_DEVICE_MODEL_IDENTIFIER = TMP_DEVICE_MODEL_IDENTIFIER; + +/** + * The marketing name for the device model. + * + * Note: It's recommended this value represents a human readable version of the device model rather than a machine readable alternative. + */ +export const SEMRESATTRS_DEVICE_MODEL_NAME = TMP_DEVICE_MODEL_NAME; + +/** + * The name of the single function that this runtime instance executes. + * + * Note: This is the name of the function as configured/deployed on the FaaS platform and is usually different from the name of the callback function (which may be stored in the [`code.namespace`/`code.function`](../../trace/semantic_conventions/span-general.md#source-code-attributes) span attributes). + */ +export const SEMRESATTRS_FAAS_NAME = TMP_FAAS_NAME; + +/** +* The unique ID of the single function that this runtime instance executes. +* +* Note: Depending on the cloud provider, use: + +* **AWS Lambda:** The function [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). +Take care not to use the "invoked ARN" directly but replace any +[alias suffix](https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html) with the resolved function version, as the same runtime instance may be invokable with multiple +different aliases. +* **GCP:** The [URI of the resource](https://cloud.google.com/iam/docs/full-resource-names) +* **Azure:** The [Fully Qualified Resource ID](https://docs.microsoft.com/en-us/rest/api/resources/resources/get-by-id). + +On some providers, it may not be possible to determine the full ID at startup, +which is why this field cannot be made required. For example, on AWS the account ID +part of the ARN is not available without calling another AWS API +which may be deemed too slow for a short-running lambda function. +As an alternative, consider setting `faas.id` as a span attribute instead. +*/ +export const SEMRESATTRS_FAAS_ID = TMP_FAAS_ID; + +/** +* The immutable version of the function being executed. +* +* Note: Depending on the cloud provider and platform, use: + +* **AWS Lambda:** The [function version](https://docs.aws.amazon.com/lambda/latest/dg/configuration-versions.html) + (an integer represented as a decimal string). +* **Google Cloud Run:** The [revision](https://cloud.google.com/run/docs/managing/revisions) + (i.e., the function name plus the revision suffix). +* **Google Cloud Functions:** The value of the + [`K_REVISION` environment variable](https://cloud.google.com/functions/docs/env-var#runtime_environment_variables_set_automatically). +* **Azure Functions:** Not applicable. Do not set this attribute. +*/ +export const SEMRESATTRS_FAAS_VERSION = TMP_FAAS_VERSION; + +/** + * The execution environment ID as a string, that will be potentially reused for other invocations to the same function/function version. + * + * Note: * **AWS Lambda:** Use the (full) log stream name. + */ +export const SEMRESATTRS_FAAS_INSTANCE = TMP_FAAS_INSTANCE; + +/** + * The amount of memory available to the serverless function in MiB. + * + * Note: It's recommended to set this attribute since e.g. too little memory can easily stop a Java AWS Lambda function from working correctly. On AWS Lambda, the environment variable `AWS_LAMBDA_FUNCTION_MEMORY_SIZE` provides this information. + */ +export const SEMRESATTRS_FAAS_MAX_MEMORY = TMP_FAAS_MAX_MEMORY; + +/** + * Unique host ID. For Cloud, this must be the instance_id assigned by the cloud provider. + */ +export const SEMRESATTRS_HOST_ID = TMP_HOST_ID; + +/** + * Name of the host. On Unix systems, it may contain what the hostname command returns, or the fully qualified hostname, or another name specified by the user. + */ +export const SEMRESATTRS_HOST_NAME = TMP_HOST_NAME; + +/** + * Type of host. For Cloud, this must be the machine type. + */ +export const SEMRESATTRS_HOST_TYPE = TMP_HOST_TYPE; + +/** + * The CPU architecture the host system is running on. + */ +export const SEMRESATTRS_HOST_ARCH = TMP_HOST_ARCH; + +/** + * Name of the VM image or OS install the host was instantiated from. + */ +export const SEMRESATTRS_HOST_IMAGE_NAME = TMP_HOST_IMAGE_NAME; + +/** + * VM image ID. For Cloud, this value is from the provider. + */ +export const SEMRESATTRS_HOST_IMAGE_ID = TMP_HOST_IMAGE_ID; + +/** + * The version string of the VM image as defined in [Version Attributes](README.md#version-attributes). + */ +export const SEMRESATTRS_HOST_IMAGE_VERSION = TMP_HOST_IMAGE_VERSION; + +/** + * The name of the cluster. + */ +export const SEMRESATTRS_K8S_CLUSTER_NAME = TMP_K8S_CLUSTER_NAME; + +/** + * The name of the Node. + */ +export const SEMRESATTRS_K8S_NODE_NAME = TMP_K8S_NODE_NAME; + +/** + * The UID of the Node. + */ +export const SEMRESATTRS_K8S_NODE_UID = TMP_K8S_NODE_UID; + +/** + * The name of the namespace that the pod is running in. + */ +export const SEMRESATTRS_K8S_NAMESPACE_NAME = TMP_K8S_NAMESPACE_NAME; + +/** + * The UID of the Pod. + */ +export const SEMRESATTRS_K8S_POD_UID = TMP_K8S_POD_UID; + +/** + * The name of the Pod. + */ +export const SEMRESATTRS_K8S_POD_NAME = TMP_K8S_POD_NAME; + +/** + * The name of the Container in a Pod template. + */ +export const SEMRESATTRS_K8S_CONTAINER_NAME = TMP_K8S_CONTAINER_NAME; + +/** + * The UID of the ReplicaSet. + */ +export const SEMRESATTRS_K8S_REPLICASET_UID = TMP_K8S_REPLICASET_UID; + +/** + * The name of the ReplicaSet. + */ +export const SEMRESATTRS_K8S_REPLICASET_NAME = TMP_K8S_REPLICASET_NAME; + +/** + * The UID of the Deployment. + */ +export const SEMRESATTRS_K8S_DEPLOYMENT_UID = TMP_K8S_DEPLOYMENT_UID; + +/** + * The name of the Deployment. + */ +export const SEMRESATTRS_K8S_DEPLOYMENT_NAME = TMP_K8S_DEPLOYMENT_NAME; + +/** + * The UID of the StatefulSet. + */ +export const SEMRESATTRS_K8S_STATEFULSET_UID = TMP_K8S_STATEFULSET_UID; + +/** + * The name of the StatefulSet. + */ +export const SEMRESATTRS_K8S_STATEFULSET_NAME = TMP_K8S_STATEFULSET_NAME; + +/** + * The UID of the DaemonSet. + */ +export const SEMRESATTRS_K8S_DAEMONSET_UID = TMP_K8S_DAEMONSET_UID; + +/** + * The name of the DaemonSet. + */ +export const SEMRESATTRS_K8S_DAEMONSET_NAME = TMP_K8S_DAEMONSET_NAME; + +/** + * The UID of the Job. + */ +export const SEMRESATTRS_K8S_JOB_UID = TMP_K8S_JOB_UID; + +/** + * The name of the Job. + */ +export const SEMRESATTRS_K8S_JOB_NAME = TMP_K8S_JOB_NAME; + +/** + * The UID of the CronJob. + */ +export const SEMRESATTRS_K8S_CRONJOB_UID = TMP_K8S_CRONJOB_UID; + +/** + * The name of the CronJob. + */ +export const SEMRESATTRS_K8S_CRONJOB_NAME = TMP_K8S_CRONJOB_NAME; + +/** + * The operating system type. + */ +export const SEMRESATTRS_OS_TYPE = TMP_OS_TYPE; + +/** + * Human readable (not intended to be parsed) OS version information, like e.g. reported by `ver` or `lsb_release -a` commands. + */ +export const SEMRESATTRS_OS_DESCRIPTION = TMP_OS_DESCRIPTION; + +/** + * Human readable operating system name. + */ +export const SEMRESATTRS_OS_NAME = TMP_OS_NAME; + +/** + * The version string of the operating system as defined in [Version Attributes](../../resource/semantic_conventions/README.md#version-attributes). + */ +export const SEMRESATTRS_OS_VERSION = TMP_OS_VERSION; + +/** + * Process identifier (PID). + */ +export const SEMRESATTRS_PROCESS_PID = TMP_PROCESS_PID; + +/** + * The name of the process executable. On Linux based systems, can be set to the `Name` in `proc/[pid]/status`. On Windows, can be set to the base name of `GetProcessImageFileNameW`. + */ +export const SEMRESATTRS_PROCESS_EXECUTABLE_NAME = TMP_PROCESS_EXECUTABLE_NAME; + +/** + * The full path to the process executable. On Linux based systems, can be set to the target of `proc/[pid]/exe`. On Windows, can be set to the result of `GetProcessImageFileNameW`. + */ +export const SEMRESATTRS_PROCESS_EXECUTABLE_PATH = TMP_PROCESS_EXECUTABLE_PATH; + +/** + * The command used to launch the process (i.e. the command name). On Linux based systems, can be set to the zeroth string in `proc/[pid]/cmdline`. On Windows, can be set to the first parameter extracted from `GetCommandLineW`. + */ +export const SEMRESATTRS_PROCESS_COMMAND = TMP_PROCESS_COMMAND; + +/** + * The full command used to launch the process as a single string representing the full command. On Windows, can be set to the result of `GetCommandLineW`. Do not set this if you have to assemble it just for monitoring; use `process.command_args` instead. + */ +export const SEMRESATTRS_PROCESS_COMMAND_LINE = TMP_PROCESS_COMMAND_LINE; + +/** + * All the command arguments (including the command/executable itself) as received by the process. On Linux-based systems (and some other Unixoid systems supporting procfs), can be set according to the list of null-delimited strings extracted from `proc/[pid]/cmdline`. For libc-based executables, this would be the full argv vector passed to `main`. + */ +export const SEMRESATTRS_PROCESS_COMMAND_ARGS = TMP_PROCESS_COMMAND_ARGS; + +/** + * The username of the user that owns the process. + */ +export const SEMRESATTRS_PROCESS_OWNER = TMP_PROCESS_OWNER; + +/** + * The name of the runtime of this process. For compiled native binaries, this SHOULD be the name of the compiler. + */ +export const SEMRESATTRS_PROCESS_RUNTIME_NAME = TMP_PROCESS_RUNTIME_NAME; + +/** + * The version of the runtime of this process, as returned by the runtime without modification. + */ +export const SEMRESATTRS_PROCESS_RUNTIME_VERSION = TMP_PROCESS_RUNTIME_VERSION; + +/** + * An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment. + */ +export const SEMRESATTRS_PROCESS_RUNTIME_DESCRIPTION = + TMP_PROCESS_RUNTIME_DESCRIPTION; + +/** + * Logical name of the service. + * + * Note: MUST be the same for all instances of horizontally scaled services. If the value was not specified, SDKs MUST fallback to `unknown_service:` concatenated with [`process.executable.name`](process.md#process), e.g. `unknown_service:bash`. If `process.executable.name` is not available, the value MUST be set to `unknown_service`. + */ +export const SEMRESATTRS_SERVICE_NAME = TMP_SERVICE_NAME; + +/** + * A namespace for `service.name`. + * + * Note: A string value having a meaning that helps to distinguish a group of services, for example the team name that owns a group of services. `service.name` is expected to be unique within the same namespace. If `service.namespace` is not specified in the Resource then `service.name` is expected to be unique for all services that have no explicit namespace defined (so the empty/unspecified namespace is simply one more valid namespace). Zero-length namespace string is assumed equal to unspecified namespace. + */ +export const SEMRESATTRS_SERVICE_NAMESPACE = TMP_SERVICE_NAMESPACE; + +/** + * The string ID of the service instance. + * + * Note: MUST be unique for each instance of the same `service.namespace,service.name` pair (in other words `service.namespace,service.name,service.instance.id` triplet MUST be globally unique). The ID helps to distinguish instances of the same service that exist at the same time (e.g. instances of a horizontally scaled service). It is preferable for the ID to be persistent and stay the same for the lifetime of the service instance, however it is acceptable that the ID is ephemeral and changes during important lifetime events for the service (e.g. service restarts). If the service has no inherent unique ID that can be used as the value of this attribute it is recommended to generate a random Version 1 or Version 4 RFC 4122 UUID (services aiming for reproducible UUIDs may also use Version 5, see RFC 4122 for more recommendations). + */ +export const SEMRESATTRS_SERVICE_INSTANCE_ID = TMP_SERVICE_INSTANCE_ID; + +/** + * The version string of the service API or implementation. + */ +export const SEMRESATTRS_SERVICE_VERSION = TMP_SERVICE_VERSION; + +/** + * The name of the telemetry SDK as defined above. + */ +export const SEMRESATTRS_TELEMETRY_SDK_NAME = TMP_TELEMETRY_SDK_NAME; + +/** + * The language of the telemetry SDK. + */ +export const SEMRESATTRS_TELEMETRY_SDK_LANGUAGE = TMP_TELEMETRY_SDK_LANGUAGE; + +/** + * The version string of the telemetry SDK. + */ +export const SEMRESATTRS_TELEMETRY_SDK_VERSION = TMP_TELEMETRY_SDK_VERSION; + +/** + * The version string of the auto instrumentation agent, if used. + */ +export const SEMRESATTRS_TELEMETRY_AUTO_VERSION = TMP_TELEMETRY_AUTO_VERSION; + +/** + * The name of the web engine. + */ +export const SEMRESATTRS_WEBENGINE_NAME = TMP_WEBENGINE_NAME; + +/** + * The version of the web engine. + */ +export const SEMRESATTRS_WEBENGINE_VERSION = TMP_WEBENGINE_VERSION; + +/** + * Additional description of the web engine (e.g. detailed version and edition information). + */ +export const SEMRESATTRS_WEBENGINE_DESCRIPTION = TMP_WEBENGINE_DESCRIPTION; + +/** + * Definition of available values for SemanticResourceAttributes + * This type is used for backward compatibility, you should use the individual exported + * constants SemanticResourceAttributes_XXXXX rather than the exported constant map. As any single reference + * to a constant map value will result in all strings being included into your bundle. + * @deprecated Use the SEMRESATTRS_XXXXX constants rather than the SemanticResourceAttributes.XXXXX for bundle minification. + */ +export type SemanticResourceAttributes = { /** * Name of the cloud provider. */ - CLOUD_PROVIDER: 'cloud.provider', + CLOUD_PROVIDER: 'cloud.provider'; /** * The cloud account ID the resource is assigned to. */ - CLOUD_ACCOUNT_ID: 'cloud.account.id', + CLOUD_ACCOUNT_ID: 'cloud.account.id'; /** * The geographical region the resource is running. Refer to your provider's docs to see the available regions, for example [Alibaba Cloud regions](https://www.alibabacloud.com/help/doc-detail/40654.htm), [AWS regions](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/), [Azure regions](https://azure.microsoft.com/en-us/global-infrastructure/geographies/), or [Google Cloud regions](https://cloud.google.com/about/locations). */ - CLOUD_REGION: 'cloud.region', + CLOUD_REGION: 'cloud.region'; /** * Cloud regions often have multiple, isolated locations known as zones to increase availability. Availability zone represents the zone where the resource is running. * * Note: Availability zones are called "zones" on Alibaba Cloud and Google Cloud. */ - CLOUD_AVAILABILITY_ZONE: 'cloud.availability_zone', + CLOUD_AVAILABILITY_ZONE: 'cloud.availability_zone'; /** * The cloud platform in use. * * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. */ - CLOUD_PLATFORM: 'cloud.platform', + CLOUD_PLATFORM: 'cloud.platform'; /** * The Amazon Resource Name (ARN) of an [ECS container instance](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html). */ - AWS_ECS_CONTAINER_ARN: 'aws.ecs.container.arn', + AWS_ECS_CONTAINER_ARN: 'aws.ecs.container.arn'; /** * The ARN of an [ECS cluster](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/clusters.html). */ - AWS_ECS_CLUSTER_ARN: 'aws.ecs.cluster.arn', + AWS_ECS_CLUSTER_ARN: 'aws.ecs.cluster.arn'; /** * The [launch type](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) for an ECS task. */ - AWS_ECS_LAUNCHTYPE: 'aws.ecs.launchtype', + AWS_ECS_LAUNCHTYPE: 'aws.ecs.launchtype'; /** * The ARN of an [ECS task definition](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html). */ - AWS_ECS_TASK_ARN: 'aws.ecs.task.arn', + AWS_ECS_TASK_ARN: 'aws.ecs.task.arn'; /** * The task definition family this task definition is a member of. */ - AWS_ECS_TASK_FAMILY: 'aws.ecs.task.family', + AWS_ECS_TASK_FAMILY: 'aws.ecs.task.family'; /** * The revision for this task definition. */ - AWS_ECS_TASK_REVISION: 'aws.ecs.task.revision', + AWS_ECS_TASK_REVISION: 'aws.ecs.task.revision'; /** * The ARN of an EKS cluster. */ - AWS_EKS_CLUSTER_ARN: 'aws.eks.cluster.arn', + AWS_EKS_CLUSTER_ARN: 'aws.eks.cluster.arn'; /** * The name(s) of the AWS log group(s) an application is writing to. * * Note: Multiple log groups must be supported for cases like multi-container applications, where a single application has sidecar containers, and each write to their own log group. */ - AWS_LOG_GROUP_NAMES: 'aws.log.group.names', + AWS_LOG_GROUP_NAMES: 'aws.log.group.names'; /** * The Amazon Resource Name(s) (ARN) of the AWS log group(s). * * Note: See the [log group ARN format documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format). */ - AWS_LOG_GROUP_ARNS: 'aws.log.group.arns', + AWS_LOG_GROUP_ARNS: 'aws.log.group.arns'; /** * The name(s) of the AWS log stream(s) an application is writing to. */ - AWS_LOG_STREAM_NAMES: 'aws.log.stream.names', + AWS_LOG_STREAM_NAMES: 'aws.log.stream.names'; /** * The ARN(s) of the AWS log stream(s). * * Note: See the [log stream ARN format documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format). One log group can contain several log streams, so these ARNs necessarily identify both a log group and a log stream. */ - AWS_LOG_STREAM_ARNS: 'aws.log.stream.arns', + AWS_LOG_STREAM_ARNS: 'aws.log.stream.arns'; /** * Container name. */ - CONTAINER_NAME: 'container.name', + CONTAINER_NAME: 'container.name'; /** * Container ID. Usually a UUID, as for example used to [identify Docker containers](https://docs.docker.com/engine/reference/run/#container-identification). The UUID might be abbreviated. */ - CONTAINER_ID: 'container.id', + CONTAINER_ID: 'container.id'; /** * The container runtime managing this container. */ - CONTAINER_RUNTIME: 'container.runtime', + CONTAINER_RUNTIME: 'container.runtime'; /** * Name of the image the container was built on. */ - CONTAINER_IMAGE_NAME: 'container.image.name', + CONTAINER_IMAGE_NAME: 'container.image.name'; /** * Container image tag. */ - CONTAINER_IMAGE_TAG: 'container.image.tag', + CONTAINER_IMAGE_TAG: 'container.image.tag'; /** * Name of the [deployment environment](https://en.wikipedia.org/wiki/Deployment_environment) (aka deployment tier). */ - DEPLOYMENT_ENVIRONMENT: 'deployment.environment', + DEPLOYMENT_ENVIRONMENT: 'deployment.environment'; /** * A unique identifier representing the device. * * Note: The device identifier MUST only be defined using the values outlined below. This value is not an advertising identifier and MUST NOT be used as such. On iOS (Swift or Objective-C), this value MUST be equal to the [vendor identifier](https://developer.apple.com/documentation/uikit/uidevice/1620059-identifierforvendor). On Android (Java or Kotlin), this value MUST be equal to the Firebase Installation ID or a globally unique UUID which is persisted across sessions in your application. More information can be found [here](https://developer.android.com/training/articles/user-data-ids) on best practices and exact implementation details. Caution should be taken when storing personal data or anything which can identify a user. GDPR and data protection laws may apply, ensure you do your own due diligence. */ - DEVICE_ID: 'device.id', + DEVICE_ID: 'device.id'; /** * The model identifier for the device. * * Note: It's recommended this value represents a machine readable version of the model identifier rather than the market or consumer-friendly name of the device. */ - DEVICE_MODEL_IDENTIFIER: 'device.model.identifier', + DEVICE_MODEL_IDENTIFIER: 'device.model.identifier'; /** * The marketing name for the device model. * * Note: It's recommended this value represents a human readable version of the device model rather than a machine readable alternative. */ - DEVICE_MODEL_NAME: 'device.model.name', + DEVICE_MODEL_NAME: 'device.model.name'; /** * The name of the single function that this runtime instance executes. * * Note: This is the name of the function as configured/deployed on the FaaS platform and is usually different from the name of the callback function (which may be stored in the [`code.namespace`/`code.function`](../../trace/semantic_conventions/span-general.md#source-code-attributes) span attributes). */ - FAAS_NAME: 'faas.name', + FAAS_NAME: 'faas.name'; /** * The unique ID of the single function that this runtime instance executes. @@ -182,7 +741,7 @@ part of the ARN is not available without calling another AWS API which may be deemed too slow for a short-running lambda function. As an alternative, consider setting `faas.id` as a span attribute instead. */ - FAAS_ID: 'faas.id', + FAAS_ID: 'faas.id'; /** * The immutable version of the function being executed. @@ -197,411 +756,1091 @@ As an alternative, consider setting `faas.id` as a span attribute instead. [`K_REVISION` environment variable](https://cloud.google.com/functions/docs/env-var#runtime_environment_variables_set_automatically). * **Azure Functions:** Not applicable. Do not set this attribute. */ - FAAS_VERSION: 'faas.version', + FAAS_VERSION: 'faas.version'; /** * The execution environment ID as a string, that will be potentially reused for other invocations to the same function/function version. * * Note: * **AWS Lambda:** Use the (full) log stream name. */ - FAAS_INSTANCE: 'faas.instance', + FAAS_INSTANCE: 'faas.instance'; /** * The amount of memory available to the serverless function in MiB. * * Note: It's recommended to set this attribute since e.g. too little memory can easily stop a Java AWS Lambda function from working correctly. On AWS Lambda, the environment variable `AWS_LAMBDA_FUNCTION_MEMORY_SIZE` provides this information. */ - FAAS_MAX_MEMORY: 'faas.max_memory', + FAAS_MAX_MEMORY: 'faas.max_memory'; /** * Unique host ID. For Cloud, this must be the instance_id assigned by the cloud provider. */ - HOST_ID: 'host.id', + HOST_ID: 'host.id'; /** * Name of the host. On Unix systems, it may contain what the hostname command returns, or the fully qualified hostname, or another name specified by the user. */ - HOST_NAME: 'host.name', + HOST_NAME: 'host.name'; /** * Type of host. For Cloud, this must be the machine type. */ - HOST_TYPE: 'host.type', + HOST_TYPE: 'host.type'; /** * The CPU architecture the host system is running on. */ - HOST_ARCH: 'host.arch', + HOST_ARCH: 'host.arch'; /** * Name of the VM image or OS install the host was instantiated from. */ - HOST_IMAGE_NAME: 'host.image.name', + HOST_IMAGE_NAME: 'host.image.name'; /** * VM image ID. For Cloud, this value is from the provider. */ - HOST_IMAGE_ID: 'host.image.id', + HOST_IMAGE_ID: 'host.image.id'; /** - * The version string of the VM image as defined in [Version SpanAttributes](README.md#version-attributes). + * The version string of the VM image as defined in [Version Attributes](README.md#version-attributes). */ - HOST_IMAGE_VERSION: 'host.image.version', + HOST_IMAGE_VERSION: 'host.image.version'; /** * The name of the cluster. */ - K8S_CLUSTER_NAME: 'k8s.cluster.name', + K8S_CLUSTER_NAME: 'k8s.cluster.name'; /** * The name of the Node. */ - K8S_NODE_NAME: 'k8s.node.name', + K8S_NODE_NAME: 'k8s.node.name'; /** * The UID of the Node. */ - K8S_NODE_UID: 'k8s.node.uid', + K8S_NODE_UID: 'k8s.node.uid'; /** * The name of the namespace that the pod is running in. */ - K8S_NAMESPACE_NAME: 'k8s.namespace.name', + K8S_NAMESPACE_NAME: 'k8s.namespace.name'; /** * The UID of the Pod. */ - K8S_POD_UID: 'k8s.pod.uid', + K8S_POD_UID: 'k8s.pod.uid'; /** * The name of the Pod. */ - K8S_POD_NAME: 'k8s.pod.name', + K8S_POD_NAME: 'k8s.pod.name'; /** * The name of the Container in a Pod template. */ - K8S_CONTAINER_NAME: 'k8s.container.name', + K8S_CONTAINER_NAME: 'k8s.container.name'; /** * The UID of the ReplicaSet. */ - K8S_REPLICASET_UID: 'k8s.replicaset.uid', + K8S_REPLICASET_UID: 'k8s.replicaset.uid'; /** * The name of the ReplicaSet. */ - K8S_REPLICASET_NAME: 'k8s.replicaset.name', + K8S_REPLICASET_NAME: 'k8s.replicaset.name'; /** * The UID of the Deployment. */ - K8S_DEPLOYMENT_UID: 'k8s.deployment.uid', + K8S_DEPLOYMENT_UID: 'k8s.deployment.uid'; /** * The name of the Deployment. */ - K8S_DEPLOYMENT_NAME: 'k8s.deployment.name', + K8S_DEPLOYMENT_NAME: 'k8s.deployment.name'; /** * The UID of the StatefulSet. */ - K8S_STATEFULSET_UID: 'k8s.statefulset.uid', + K8S_STATEFULSET_UID: 'k8s.statefulset.uid'; /** * The name of the StatefulSet. */ - K8S_STATEFULSET_NAME: 'k8s.statefulset.name', + K8S_STATEFULSET_NAME: 'k8s.statefulset.name'; /** * The UID of the DaemonSet. */ - K8S_DAEMONSET_UID: 'k8s.daemonset.uid', + K8S_DAEMONSET_UID: 'k8s.daemonset.uid'; /** * The name of the DaemonSet. */ - K8S_DAEMONSET_NAME: 'k8s.daemonset.name', + K8S_DAEMONSET_NAME: 'k8s.daemonset.name'; /** * The UID of the Job. */ - K8S_JOB_UID: 'k8s.job.uid', + K8S_JOB_UID: 'k8s.job.uid'; /** * The name of the Job. */ - K8S_JOB_NAME: 'k8s.job.name', + K8S_JOB_NAME: 'k8s.job.name'; /** * The UID of the CronJob. */ - K8S_CRONJOB_UID: 'k8s.cronjob.uid', + K8S_CRONJOB_UID: 'k8s.cronjob.uid'; /** * The name of the CronJob. */ - K8S_CRONJOB_NAME: 'k8s.cronjob.name', + K8S_CRONJOB_NAME: 'k8s.cronjob.name'; /** * The operating system type. */ - OS_TYPE: 'os.type', + OS_TYPE: 'os.type'; /** * Human readable (not intended to be parsed) OS version information, like e.g. reported by `ver` or `lsb_release -a` commands. */ - OS_DESCRIPTION: 'os.description', + OS_DESCRIPTION: 'os.description'; /** * Human readable operating system name. */ - OS_NAME: 'os.name', + OS_NAME: 'os.name'; /** - * The version string of the operating system as defined in [Version SpanAttributes](../../resource/semantic_conventions/README.md#version-attributes). + * The version string of the operating system as defined in [Version Attributes](../../resource/semantic_conventions/README.md#version-attributes). */ - OS_VERSION: 'os.version', + OS_VERSION: 'os.version'; /** * Process identifier (PID). */ - PROCESS_PID: 'process.pid', + PROCESS_PID: 'process.pid'; /** * The name of the process executable. On Linux based systems, can be set to the `Name` in `proc/[pid]/status`. On Windows, can be set to the base name of `GetProcessImageFileNameW`. */ - PROCESS_EXECUTABLE_NAME: 'process.executable.name', + PROCESS_EXECUTABLE_NAME: 'process.executable.name'; /** * The full path to the process executable. On Linux based systems, can be set to the target of `proc/[pid]/exe`. On Windows, can be set to the result of `GetProcessImageFileNameW`. */ - PROCESS_EXECUTABLE_PATH: 'process.executable.path', + PROCESS_EXECUTABLE_PATH: 'process.executable.path'; /** * The command used to launch the process (i.e. the command name). On Linux based systems, can be set to the zeroth string in `proc/[pid]/cmdline`. On Windows, can be set to the first parameter extracted from `GetCommandLineW`. */ - PROCESS_COMMAND: 'process.command', + PROCESS_COMMAND: 'process.command'; /** * The full command used to launch the process as a single string representing the full command. On Windows, can be set to the result of `GetCommandLineW`. Do not set this if you have to assemble it just for monitoring; use `process.command_args` instead. */ - PROCESS_COMMAND_LINE: 'process.command_line', + PROCESS_COMMAND_LINE: 'process.command_line'; /** * All the command arguments (including the command/executable itself) as received by the process. On Linux-based systems (and some other Unixoid systems supporting procfs), can be set according to the list of null-delimited strings extracted from `proc/[pid]/cmdline`. For libc-based executables, this would be the full argv vector passed to `main`. */ - PROCESS_COMMAND_ARGS: 'process.command_args', + PROCESS_COMMAND_ARGS: 'process.command_args'; /** * The username of the user that owns the process. */ - PROCESS_OWNER: 'process.owner', + PROCESS_OWNER: 'process.owner'; /** * The name of the runtime of this process. For compiled native binaries, this SHOULD be the name of the compiler. */ - PROCESS_RUNTIME_NAME: 'process.runtime.name', + PROCESS_RUNTIME_NAME: 'process.runtime.name'; /** * The version of the runtime of this process, as returned by the runtime without modification. */ - PROCESS_RUNTIME_VERSION: 'process.runtime.version', + PROCESS_RUNTIME_VERSION: 'process.runtime.version'; /** * An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment. */ - PROCESS_RUNTIME_DESCRIPTION: 'process.runtime.description', + PROCESS_RUNTIME_DESCRIPTION: 'process.runtime.description'; /** * Logical name of the service. * * Note: MUST be the same for all instances of horizontally scaled services. If the value was not specified, SDKs MUST fallback to `unknown_service:` concatenated with [`process.executable.name`](process.md#process), e.g. `unknown_service:bash`. If `process.executable.name` is not available, the value MUST be set to `unknown_service`. */ - SERVICE_NAME: 'service.name', + SERVICE_NAME: 'service.name'; /** * A namespace for `service.name`. * * Note: A string value having a meaning that helps to distinguish a group of services, for example the team name that owns a group of services. `service.name` is expected to be unique within the same namespace. If `service.namespace` is not specified in the Resource then `service.name` is expected to be unique for all services that have no explicit namespace defined (so the empty/unspecified namespace is simply one more valid namespace). Zero-length namespace string is assumed equal to unspecified namespace. */ - SERVICE_NAMESPACE: 'service.namespace', + SERVICE_NAMESPACE: 'service.namespace'; /** * The string ID of the service instance. * * Note: MUST be unique for each instance of the same `service.namespace,service.name` pair (in other words `service.namespace,service.name,service.instance.id` triplet MUST be globally unique). The ID helps to distinguish instances of the same service that exist at the same time (e.g. instances of a horizontally scaled service). It is preferable for the ID to be persistent and stay the same for the lifetime of the service instance, however it is acceptable that the ID is ephemeral and changes during important lifetime events for the service (e.g. service restarts). If the service has no inherent unique ID that can be used as the value of this attribute it is recommended to generate a random Version 1 or Version 4 RFC 4122 UUID (services aiming for reproducible UUIDs may also use Version 5, see RFC 4122 for more recommendations). */ - SERVICE_INSTANCE_ID: 'service.instance.id', + SERVICE_INSTANCE_ID: 'service.instance.id'; /** * The version string of the service API or implementation. */ - SERVICE_VERSION: 'service.version', + SERVICE_VERSION: 'service.version'; /** * The name of the telemetry SDK as defined above. */ - TELEMETRY_SDK_NAME: 'telemetry.sdk.name', + TELEMETRY_SDK_NAME: 'telemetry.sdk.name'; /** * The language of the telemetry SDK. */ - TELEMETRY_SDK_LANGUAGE: 'telemetry.sdk.language', + TELEMETRY_SDK_LANGUAGE: 'telemetry.sdk.language'; /** * The version string of the telemetry SDK. */ - TELEMETRY_SDK_VERSION: 'telemetry.sdk.version', + TELEMETRY_SDK_VERSION: 'telemetry.sdk.version'; /** * The version string of the auto instrumentation agent, if used. */ - TELEMETRY_AUTO_VERSION: 'telemetry.auto.version', + TELEMETRY_AUTO_VERSION: 'telemetry.auto.version'; /** * The name of the web engine. */ - WEBENGINE_NAME: 'webengine.name', + WEBENGINE_NAME: 'webengine.name'; /** * The version of the web engine. */ - WEBENGINE_VERSION: 'webengine.version', + WEBENGINE_VERSION: 'webengine.version'; /** * Additional description of the web engine (e.g. detailed version and edition information). */ - WEBENGINE_DESCRIPTION: 'webengine.description', + WEBENGINE_DESCRIPTION: 'webengine.description'; }; -export const CloudProviderValues = { +/** + * Create exported Value Map for SemanticResourceAttributes values + * @deprecated Use the SEMRESATTRS_XXXXX constants rather than the SemanticResourceAttributes.XXXXX for bundle minification + */ +export const SemanticResourceAttributes: SemanticResourceAttributes = + /*#__PURE__*/ createConstMap([ + TMP_CLOUD_PROVIDER, + TMP_CLOUD_ACCOUNT_ID, + TMP_CLOUD_REGION, + TMP_CLOUD_AVAILABILITY_ZONE, + TMP_CLOUD_PLATFORM, + TMP_AWS_ECS_CONTAINER_ARN, + TMP_AWS_ECS_CLUSTER_ARN, + TMP_AWS_ECS_LAUNCHTYPE, + TMP_AWS_ECS_TASK_ARN, + TMP_AWS_ECS_TASK_FAMILY, + TMP_AWS_ECS_TASK_REVISION, + TMP_AWS_EKS_CLUSTER_ARN, + TMP_AWS_LOG_GROUP_NAMES, + TMP_AWS_LOG_GROUP_ARNS, + TMP_AWS_LOG_STREAM_NAMES, + TMP_AWS_LOG_STREAM_ARNS, + TMP_CONTAINER_NAME, + TMP_CONTAINER_ID, + TMP_CONTAINER_RUNTIME, + TMP_CONTAINER_IMAGE_NAME, + TMP_CONTAINER_IMAGE_TAG, + TMP_DEPLOYMENT_ENVIRONMENT, + TMP_DEVICE_ID, + TMP_DEVICE_MODEL_IDENTIFIER, + TMP_DEVICE_MODEL_NAME, + TMP_FAAS_NAME, + TMP_FAAS_ID, + TMP_FAAS_VERSION, + TMP_FAAS_INSTANCE, + TMP_FAAS_MAX_MEMORY, + TMP_HOST_ID, + TMP_HOST_NAME, + TMP_HOST_TYPE, + TMP_HOST_ARCH, + TMP_HOST_IMAGE_NAME, + TMP_HOST_IMAGE_ID, + TMP_HOST_IMAGE_VERSION, + TMP_K8S_CLUSTER_NAME, + TMP_K8S_NODE_NAME, + TMP_K8S_NODE_UID, + TMP_K8S_NAMESPACE_NAME, + TMP_K8S_POD_UID, + TMP_K8S_POD_NAME, + TMP_K8S_CONTAINER_NAME, + TMP_K8S_REPLICASET_UID, + TMP_K8S_REPLICASET_NAME, + TMP_K8S_DEPLOYMENT_UID, + TMP_K8S_DEPLOYMENT_NAME, + TMP_K8S_STATEFULSET_UID, + TMP_K8S_STATEFULSET_NAME, + TMP_K8S_DAEMONSET_UID, + TMP_K8S_DAEMONSET_NAME, + TMP_K8S_JOB_UID, + TMP_K8S_JOB_NAME, + TMP_K8S_CRONJOB_UID, + TMP_K8S_CRONJOB_NAME, + TMP_OS_TYPE, + TMP_OS_DESCRIPTION, + TMP_OS_NAME, + TMP_OS_VERSION, + TMP_PROCESS_PID, + TMP_PROCESS_EXECUTABLE_NAME, + TMP_PROCESS_EXECUTABLE_PATH, + TMP_PROCESS_COMMAND, + TMP_PROCESS_COMMAND_LINE, + TMP_PROCESS_COMMAND_ARGS, + TMP_PROCESS_OWNER, + TMP_PROCESS_RUNTIME_NAME, + TMP_PROCESS_RUNTIME_VERSION, + TMP_PROCESS_RUNTIME_DESCRIPTION, + TMP_SERVICE_NAME, + TMP_SERVICE_NAMESPACE, + TMP_SERVICE_INSTANCE_ID, + TMP_SERVICE_VERSION, + TMP_TELEMETRY_SDK_NAME, + TMP_TELEMETRY_SDK_LANGUAGE, + TMP_TELEMETRY_SDK_VERSION, + TMP_TELEMETRY_AUTO_VERSION, + TMP_WEBENGINE_NAME, + TMP_WEBENGINE_VERSION, + TMP_WEBENGINE_DESCRIPTION, + ]); + +/* ---------------------------------------------------------------------------------------------------------- + * Constant values for CloudProviderValues enum definition + * + * Name of the cloud provider. + * ---------------------------------------------------------------------------------------------------------- */ + +// Temporary local constants to assign to the individual exports and the namespaced version +// Required to avoid the namespace exports using the unminifable export names for some package types +const TMP_CLOUDPROVIDERVALUES_ALIBABA_CLOUD = 'alibaba_cloud'; +const TMP_CLOUDPROVIDERVALUES_AWS = 'aws'; +const TMP_CLOUDPROVIDERVALUES_AZURE = 'azure'; +const TMP_CLOUDPROVIDERVALUES_GCP = 'gcp'; + +/** + * Name of the cloud provider. + */ +export const CLOUDPROVIDERVALUES_ALIBABA_CLOUD = + TMP_CLOUDPROVIDERVALUES_ALIBABA_CLOUD; + +/** + * Name of the cloud provider. + */ +export const CLOUDPROVIDERVALUES_AWS = TMP_CLOUDPROVIDERVALUES_AWS; + +/** + * Name of the cloud provider. + */ +export const CLOUDPROVIDERVALUES_AZURE = TMP_CLOUDPROVIDERVALUES_AZURE; + +/** + * Name of the cloud provider. + */ +export const CLOUDPROVIDERVALUES_GCP = TMP_CLOUDPROVIDERVALUES_GCP; + +/** + * Identifies the Values for CloudProviderValues enum definition + * + * Name of the cloud provider. + * @deprecated Use the CLOUDPROVIDERVALUES_XXXXX constants rather than the CloudProviderValues.XXXXX for bundle minification. + */ +export type CloudProviderValues = { /** Alibaba Cloud. */ - ALIBABA_CLOUD: 'alibaba_cloud', + ALIBABA_CLOUD: 'alibaba_cloud'; + /** Amazon Web Services. */ - AWS: 'aws', + AWS: 'aws'; + /** Microsoft Azure. */ - AZURE: 'azure', + AZURE: 'azure'; + /** Google Cloud Platform. */ - GCP: 'gcp', -} as const; -export type CloudProviderValues = - (typeof CloudProviderValues)[keyof typeof CloudProviderValues]; + GCP: 'gcp'; +}; + +/** + * The constant map of values for CloudProviderValues. + * @deprecated Use the CLOUDPROVIDERVALUES_XXXXX constants rather than the CloudProviderValues.XXXXX for bundle minification. + */ +export const CloudProviderValues: CloudProviderValues = + /*#__PURE__*/ createConstMap([ + TMP_CLOUDPROVIDERVALUES_ALIBABA_CLOUD, + TMP_CLOUDPROVIDERVALUES_AWS, + TMP_CLOUDPROVIDERVALUES_AZURE, + TMP_CLOUDPROVIDERVALUES_GCP, + ]); + +/* ---------------------------------------------------------------------------------------------------------- + * Constant values for CloudPlatformValues enum definition + * + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + * ---------------------------------------------------------------------------------------------------------- */ + +// Temporary local constants to assign to the individual exports and the namespaced version +// Required to avoid the namespace exports using the unminifable export names for some package types +const TMP_CLOUDPLATFORMVALUES_ALIBABA_CLOUD_ECS = 'alibaba_cloud_ecs'; +const TMP_CLOUDPLATFORMVALUES_ALIBABA_CLOUD_FC = 'alibaba_cloud_fc'; +const TMP_CLOUDPLATFORMVALUES_AWS_EC2 = 'aws_ec2'; +const TMP_CLOUDPLATFORMVALUES_AWS_ECS = 'aws_ecs'; +const TMP_CLOUDPLATFORMVALUES_AWS_EKS = 'aws_eks'; +const TMP_CLOUDPLATFORMVALUES_AWS_LAMBDA = 'aws_lambda'; +const TMP_CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK = 'aws_elastic_beanstalk'; +const TMP_CLOUDPLATFORMVALUES_AZURE_VM = 'azure_vm'; +const TMP_CLOUDPLATFORMVALUES_AZURE_CONTAINER_INSTANCES = + 'azure_container_instances'; +const TMP_CLOUDPLATFORMVALUES_AZURE_AKS = 'azure_aks'; +const TMP_CLOUDPLATFORMVALUES_AZURE_FUNCTIONS = 'azure_functions'; +const TMP_CLOUDPLATFORMVALUES_AZURE_APP_SERVICE = 'azure_app_service'; +const TMP_CLOUDPLATFORMVALUES_GCP_COMPUTE_ENGINE = 'gcp_compute_engine'; +const TMP_CLOUDPLATFORMVALUES_GCP_CLOUD_RUN = 'gcp_cloud_run'; +const TMP_CLOUDPLATFORMVALUES_GCP_KUBERNETES_ENGINE = 'gcp_kubernetes_engine'; +const TMP_CLOUDPLATFORMVALUES_GCP_CLOUD_FUNCTIONS = 'gcp_cloud_functions'; +const TMP_CLOUDPLATFORMVALUES_GCP_APP_ENGINE = 'gcp_app_engine'; + +/** + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ +export const CLOUDPLATFORMVALUES_ALIBABA_CLOUD_ECS = + TMP_CLOUDPLATFORMVALUES_ALIBABA_CLOUD_ECS; + +/** + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ +export const CLOUDPLATFORMVALUES_ALIBABA_CLOUD_FC = + TMP_CLOUDPLATFORMVALUES_ALIBABA_CLOUD_FC; + +/** + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ +export const CLOUDPLATFORMVALUES_AWS_EC2 = TMP_CLOUDPLATFORMVALUES_AWS_EC2; + +/** + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ +export const CLOUDPLATFORMVALUES_AWS_ECS = TMP_CLOUDPLATFORMVALUES_AWS_ECS; + +/** + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ +export const CLOUDPLATFORMVALUES_AWS_EKS = TMP_CLOUDPLATFORMVALUES_AWS_EKS; + +/** + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ +export const CLOUDPLATFORMVALUES_AWS_LAMBDA = + TMP_CLOUDPLATFORMVALUES_AWS_LAMBDA; + +/** + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ +export const CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK = + TMP_CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK; + +/** + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ +export const CLOUDPLATFORMVALUES_AZURE_VM = TMP_CLOUDPLATFORMVALUES_AZURE_VM; + +/** + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ +export const CLOUDPLATFORMVALUES_AZURE_CONTAINER_INSTANCES = + TMP_CLOUDPLATFORMVALUES_AZURE_CONTAINER_INSTANCES; + +/** + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ +export const CLOUDPLATFORMVALUES_AZURE_AKS = TMP_CLOUDPLATFORMVALUES_AZURE_AKS; + +/** + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ +export const CLOUDPLATFORMVALUES_AZURE_FUNCTIONS = + TMP_CLOUDPLATFORMVALUES_AZURE_FUNCTIONS; -export const CloudPlatformValues = { +/** + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ +export const CLOUDPLATFORMVALUES_AZURE_APP_SERVICE = + TMP_CLOUDPLATFORMVALUES_AZURE_APP_SERVICE; + +/** + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ +export const CLOUDPLATFORMVALUES_GCP_COMPUTE_ENGINE = + TMP_CLOUDPLATFORMVALUES_GCP_COMPUTE_ENGINE; + +/** + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ +export const CLOUDPLATFORMVALUES_GCP_CLOUD_RUN = + TMP_CLOUDPLATFORMVALUES_GCP_CLOUD_RUN; + +/** + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ +export const CLOUDPLATFORMVALUES_GCP_KUBERNETES_ENGINE = + TMP_CLOUDPLATFORMVALUES_GCP_KUBERNETES_ENGINE; + +/** + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ +export const CLOUDPLATFORMVALUES_GCP_CLOUD_FUNCTIONS = + TMP_CLOUDPLATFORMVALUES_GCP_CLOUD_FUNCTIONS; + +/** + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ +export const CLOUDPLATFORMVALUES_GCP_APP_ENGINE = + TMP_CLOUDPLATFORMVALUES_GCP_APP_ENGINE; + +/** + * Identifies the Values for CloudPlatformValues enum definition + * + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + * @deprecated Use the CLOUDPLATFORMVALUES_XXXXX constants rather than the CloudPlatformValues.XXXXX for bundle minification. + */ +export type CloudPlatformValues = { /** Alibaba Cloud Elastic Compute Service. */ - ALIBABA_CLOUD_ECS: 'alibaba_cloud_ecs', + ALIBABA_CLOUD_ECS: 'alibaba_cloud_ecs'; + /** Alibaba Cloud Function Compute. */ - ALIBABA_CLOUD_FC: 'alibaba_cloud_fc', + ALIBABA_CLOUD_FC: 'alibaba_cloud_fc'; + /** AWS Elastic Compute Cloud. */ - AWS_EC2: 'aws_ec2', + AWS_EC2: 'aws_ec2'; + /** AWS Elastic Container Service. */ - AWS_ECS: 'aws_ecs', + AWS_ECS: 'aws_ecs'; + /** AWS Elastic Kubernetes Service. */ - AWS_EKS: 'aws_eks', + AWS_EKS: 'aws_eks'; + /** AWS Lambda. */ - AWS_LAMBDA: 'aws_lambda', + AWS_LAMBDA: 'aws_lambda'; + /** AWS Elastic Beanstalk. */ - AWS_ELASTIC_BEANSTALK: 'aws_elastic_beanstalk', + AWS_ELASTIC_BEANSTALK: 'aws_elastic_beanstalk'; + /** Azure Virtual Machines. */ - AZURE_VM: 'azure_vm', + AZURE_VM: 'azure_vm'; + /** Azure Container Instances. */ - AZURE_CONTAINER_INSTANCES: 'azure_container_instances', + AZURE_CONTAINER_INSTANCES: 'azure_container_instances'; + /** Azure Kubernetes Service. */ - AZURE_AKS: 'azure_aks', + AZURE_AKS: 'azure_aks'; + /** Azure Functions. */ - AZURE_FUNCTIONS: 'azure_functions', + AZURE_FUNCTIONS: 'azure_functions'; + /** Azure App Service. */ - AZURE_APP_SERVICE: 'azure_app_service', + AZURE_APP_SERVICE: 'azure_app_service'; + /** Google Cloud Compute Engine (GCE). */ - GCP_COMPUTE_ENGINE: 'gcp_compute_engine', + GCP_COMPUTE_ENGINE: 'gcp_compute_engine'; + /** Google Cloud Run. */ - GCP_CLOUD_RUN: 'gcp_cloud_run', + GCP_CLOUD_RUN: 'gcp_cloud_run'; + /** Google Cloud Kubernetes Engine (GKE). */ - GCP_KUBERNETES_ENGINE: 'gcp_kubernetes_engine', + GCP_KUBERNETES_ENGINE: 'gcp_kubernetes_engine'; + /** Google Cloud Functions (GCF). */ - GCP_CLOUD_FUNCTIONS: 'gcp_cloud_functions', + GCP_CLOUD_FUNCTIONS: 'gcp_cloud_functions'; + /** Google Cloud App Engine (GAE). */ - GCP_APP_ENGINE: 'gcp_app_engine', -} as const; -export type CloudPlatformValues = - (typeof CloudPlatformValues)[keyof typeof CloudPlatformValues]; + GCP_APP_ENGINE: 'gcp_app_engine'; +}; + +/** + * The constant map of values for CloudPlatformValues. + * @deprecated Use the CLOUDPLATFORMVALUES_XXXXX constants rather than the CloudPlatformValues.XXXXX for bundle minification. + */ +export const CloudPlatformValues: CloudPlatformValues = + /*#__PURE__*/ createConstMap([ + TMP_CLOUDPLATFORMVALUES_ALIBABA_CLOUD_ECS, + TMP_CLOUDPLATFORMVALUES_ALIBABA_CLOUD_FC, + TMP_CLOUDPLATFORMVALUES_AWS_EC2, + TMP_CLOUDPLATFORMVALUES_AWS_ECS, + TMP_CLOUDPLATFORMVALUES_AWS_EKS, + TMP_CLOUDPLATFORMVALUES_AWS_LAMBDA, + TMP_CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK, + TMP_CLOUDPLATFORMVALUES_AZURE_VM, + TMP_CLOUDPLATFORMVALUES_AZURE_CONTAINER_INSTANCES, + TMP_CLOUDPLATFORMVALUES_AZURE_AKS, + TMP_CLOUDPLATFORMVALUES_AZURE_FUNCTIONS, + TMP_CLOUDPLATFORMVALUES_AZURE_APP_SERVICE, + TMP_CLOUDPLATFORMVALUES_GCP_COMPUTE_ENGINE, + TMP_CLOUDPLATFORMVALUES_GCP_CLOUD_RUN, + TMP_CLOUDPLATFORMVALUES_GCP_KUBERNETES_ENGINE, + TMP_CLOUDPLATFORMVALUES_GCP_CLOUD_FUNCTIONS, + TMP_CLOUDPLATFORMVALUES_GCP_APP_ENGINE, + ]); + +/* ---------------------------------------------------------------------------------------------------------- + * Constant values for AwsEcsLaunchtypeValues enum definition + * + * The [launch type](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) for an ECS task. + * ---------------------------------------------------------------------------------------------------------- */ + +// Temporary local constants to assign to the individual exports and the namespaced version +// Required to avoid the namespace exports using the unminifable export names for some package types +const TMP_AWSECSLAUNCHTYPEVALUES_EC2 = 'ec2'; +const TMP_AWSECSLAUNCHTYPEVALUES_FARGATE = 'fargate'; + +/** + * The [launch type](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) for an ECS task. + */ +export const AWSECSLAUNCHTYPEVALUES_EC2 = TMP_AWSECSLAUNCHTYPEVALUES_EC2; + +/** + * The [launch type](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) for an ECS task. + */ +export const AWSECSLAUNCHTYPEVALUES_FARGATE = + TMP_AWSECSLAUNCHTYPEVALUES_FARGATE; -export const AwsEcsLaunchtypeValues = { +/** + * Identifies the Values for AwsEcsLaunchtypeValues enum definition + * + * The [launch type](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) for an ECS task. + * @deprecated Use the AWSECSLAUNCHTYPEVALUES_XXXXX constants rather than the AwsEcsLaunchtypeValues.XXXXX for bundle minification. + */ +export type AwsEcsLaunchtypeValues = { /** ec2. */ - EC2: 'ec2', + EC2: 'ec2'; + /** fargate. */ - FARGATE: 'fargate', -} as const; -export type AwsEcsLaunchtypeValues = - (typeof AwsEcsLaunchtypeValues)[keyof typeof AwsEcsLaunchtypeValues]; + FARGATE: 'fargate'; +}; + +/** + * The constant map of values for AwsEcsLaunchtypeValues. + * @deprecated Use the AWSECSLAUNCHTYPEVALUES_XXXXX constants rather than the AwsEcsLaunchtypeValues.XXXXX for bundle minification. + */ +export const AwsEcsLaunchtypeValues: AwsEcsLaunchtypeValues = + /*#__PURE__*/ createConstMap([ + TMP_AWSECSLAUNCHTYPEVALUES_EC2, + TMP_AWSECSLAUNCHTYPEVALUES_FARGATE, + ]); + +/* ---------------------------------------------------------------------------------------------------------- + * Constant values for HostArchValues enum definition + * + * The CPU architecture the host system is running on. + * ---------------------------------------------------------------------------------------------------------- */ + +// Temporary local constants to assign to the individual exports and the namespaced version +// Required to avoid the namespace exports using the unminifable export names for some package types +const TMP_HOSTARCHVALUES_AMD64 = 'amd64'; +const TMP_HOSTARCHVALUES_ARM32 = 'arm32'; +const TMP_HOSTARCHVALUES_ARM64 = 'arm64'; +const TMP_HOSTARCHVALUES_IA64 = 'ia64'; +const TMP_HOSTARCHVALUES_PPC32 = 'ppc32'; +const TMP_HOSTARCHVALUES_PPC64 = 'ppc64'; +const TMP_HOSTARCHVALUES_X86 = 'x86'; + +/** + * The CPU architecture the host system is running on. + */ +export const HOSTARCHVALUES_AMD64 = TMP_HOSTARCHVALUES_AMD64; + +/** + * The CPU architecture the host system is running on. + */ +export const HOSTARCHVALUES_ARM32 = TMP_HOSTARCHVALUES_ARM32; + +/** + * The CPU architecture the host system is running on. + */ +export const HOSTARCHVALUES_ARM64 = TMP_HOSTARCHVALUES_ARM64; + +/** + * The CPU architecture the host system is running on. + */ +export const HOSTARCHVALUES_IA64 = TMP_HOSTARCHVALUES_IA64; + +/** + * The CPU architecture the host system is running on. + */ +export const HOSTARCHVALUES_PPC32 = TMP_HOSTARCHVALUES_PPC32; -export const HostArchValues = { +/** + * The CPU architecture the host system is running on. + */ +export const HOSTARCHVALUES_PPC64 = TMP_HOSTARCHVALUES_PPC64; + +/** + * The CPU architecture the host system is running on. + */ +export const HOSTARCHVALUES_X86 = TMP_HOSTARCHVALUES_X86; + +/** + * Identifies the Values for HostArchValues enum definition + * + * The CPU architecture the host system is running on. + * @deprecated Use the HOSTARCHVALUES_XXXXX constants rather than the HostArchValues.XXXXX for bundle minification. + */ +export type HostArchValues = { /** AMD64. */ - AMD64: 'amd64', + AMD64: 'amd64'; + /** ARM32. */ - ARM32: 'arm32', + ARM32: 'arm32'; + /** ARM64. */ - ARM64: 'arm64', + ARM64: 'arm64'; + /** Itanium. */ - IA64: 'ia64', + IA64: 'ia64'; + /** 32-bit PowerPC. */ - PPC32: 'ppc32', + PPC32: 'ppc32'; + /** 64-bit PowerPC. */ - PPC64: 'ppc64', + PPC64: 'ppc64'; + /** 32-bit x86. */ - X86: 'x86', -} as const; -export type HostArchValues = - (typeof HostArchValues)[keyof typeof HostArchValues]; + X86: 'x86'; +}; + +/** + * The constant map of values for HostArchValues. + * @deprecated Use the HOSTARCHVALUES_XXXXX constants rather than the HostArchValues.XXXXX for bundle minification. + */ +export const HostArchValues: HostArchValues = + /*#__PURE__*/ createConstMap([ + TMP_HOSTARCHVALUES_AMD64, + TMP_HOSTARCHVALUES_ARM32, + TMP_HOSTARCHVALUES_ARM64, + TMP_HOSTARCHVALUES_IA64, + TMP_HOSTARCHVALUES_PPC32, + TMP_HOSTARCHVALUES_PPC64, + TMP_HOSTARCHVALUES_X86, + ]); + +/* ---------------------------------------------------------------------------------------------------------- + * Constant values for OsTypeValues enum definition + * + * The operating system type. + * ---------------------------------------------------------------------------------------------------------- */ + +// Temporary local constants to assign to the individual exports and the namespaced version +// Required to avoid the namespace exports using the unminifable export names for some package types +const TMP_OSTYPEVALUES_WINDOWS = 'windows'; +const TMP_OSTYPEVALUES_LINUX = 'linux'; +const TMP_OSTYPEVALUES_DARWIN = 'darwin'; +const TMP_OSTYPEVALUES_FREEBSD = 'freebsd'; +const TMP_OSTYPEVALUES_NETBSD = 'netbsd'; +const TMP_OSTYPEVALUES_OPENBSD = 'openbsd'; +const TMP_OSTYPEVALUES_DRAGONFLYBSD = 'dragonflybsd'; +const TMP_OSTYPEVALUES_HPUX = 'hpux'; +const TMP_OSTYPEVALUES_AIX = 'aix'; +const TMP_OSTYPEVALUES_SOLARIS = 'solaris'; +const TMP_OSTYPEVALUES_Z_OS = 'z_os'; + +/** + * The operating system type. + */ +export const OSTYPEVALUES_WINDOWS = TMP_OSTYPEVALUES_WINDOWS; + +/** + * The operating system type. + */ +export const OSTYPEVALUES_LINUX = TMP_OSTYPEVALUES_LINUX; + +/** + * The operating system type. + */ +export const OSTYPEVALUES_DARWIN = TMP_OSTYPEVALUES_DARWIN; + +/** + * The operating system type. + */ +export const OSTYPEVALUES_FREEBSD = TMP_OSTYPEVALUES_FREEBSD; + +/** + * The operating system type. + */ +export const OSTYPEVALUES_NETBSD = TMP_OSTYPEVALUES_NETBSD; + +/** + * The operating system type. + */ +export const OSTYPEVALUES_OPENBSD = TMP_OSTYPEVALUES_OPENBSD; + +/** + * The operating system type. + */ +export const OSTYPEVALUES_DRAGONFLYBSD = TMP_OSTYPEVALUES_DRAGONFLYBSD; + +/** + * The operating system type. + */ +export const OSTYPEVALUES_HPUX = TMP_OSTYPEVALUES_HPUX; + +/** + * The operating system type. + */ +export const OSTYPEVALUES_AIX = TMP_OSTYPEVALUES_AIX; + +/** + * The operating system type. + */ +export const OSTYPEVALUES_SOLARIS = TMP_OSTYPEVALUES_SOLARIS; + +/** + * The operating system type. + */ +export const OSTYPEVALUES_Z_OS = TMP_OSTYPEVALUES_Z_OS; -export const OsTypeValues = { +/** + * Identifies the Values for OsTypeValues enum definition + * + * The operating system type. + * @deprecated Use the OSTYPEVALUES_XXXXX constants rather than the OsTypeValues.XXXXX for bundle minification. + */ +export type OsTypeValues = { /** Microsoft Windows. */ - WINDOWS: 'windows', + WINDOWS: 'windows'; + /** Linux. */ - LINUX: 'linux', + LINUX: 'linux'; + /** Apple Darwin. */ - DARWIN: 'darwin', + DARWIN: 'darwin'; + /** FreeBSD. */ - FREEBSD: 'freebsd', + FREEBSD: 'freebsd'; + /** NetBSD. */ - NETBSD: 'netbsd', + NETBSD: 'netbsd'; + /** OpenBSD. */ - OPENBSD: 'openbsd', + OPENBSD: 'openbsd'; + /** DragonFly BSD. */ - DRAGONFLYBSD: 'dragonflybsd', + DRAGONFLYBSD: 'dragonflybsd'; + /** HP-UX (Hewlett Packard Unix). */ - HPUX: 'hpux', + HPUX: 'hpux'; + /** AIX (Advanced Interactive eXecutive). */ - AIX: 'aix', + AIX: 'aix'; + /** Oracle Solaris. */ - SOLARIS: 'solaris', + SOLARIS: 'solaris'; + /** IBM z/OS. */ - Z_OS: 'z_os', -} as const; -export type OsTypeValues = (typeof OsTypeValues)[keyof typeof OsTypeValues]; + Z_OS: 'z_os'; +}; + +/** + * The constant map of values for OsTypeValues. + * @deprecated Use the OSTYPEVALUES_XXXXX constants rather than the OsTypeValues.XXXXX for bundle minification. + */ +export const OsTypeValues: OsTypeValues = + /*#__PURE__*/ createConstMap([ + TMP_OSTYPEVALUES_WINDOWS, + TMP_OSTYPEVALUES_LINUX, + TMP_OSTYPEVALUES_DARWIN, + TMP_OSTYPEVALUES_FREEBSD, + TMP_OSTYPEVALUES_NETBSD, + TMP_OSTYPEVALUES_OPENBSD, + TMP_OSTYPEVALUES_DRAGONFLYBSD, + TMP_OSTYPEVALUES_HPUX, + TMP_OSTYPEVALUES_AIX, + TMP_OSTYPEVALUES_SOLARIS, + TMP_OSTYPEVALUES_Z_OS, + ]); + +/* ---------------------------------------------------------------------------------------------------------- + * Constant values for TelemetrySdkLanguageValues enum definition + * + * The language of the telemetry SDK. + * ---------------------------------------------------------------------------------------------------------- */ + +// Temporary local constants to assign to the individual exports and the namespaced version +// Required to avoid the namespace exports using the unminifable export names for some package types +const TMP_TELEMETRYSDKLANGUAGEVALUES_CPP = 'cpp'; +const TMP_TELEMETRYSDKLANGUAGEVALUES_DOTNET = 'dotnet'; +const TMP_TELEMETRYSDKLANGUAGEVALUES_ERLANG = 'erlang'; +const TMP_TELEMETRYSDKLANGUAGEVALUES_GO = 'go'; +const TMP_TELEMETRYSDKLANGUAGEVALUES_JAVA = 'java'; +const TMP_TELEMETRYSDKLANGUAGEVALUES_NODEJS = 'nodejs'; +const TMP_TELEMETRYSDKLANGUAGEVALUES_PHP = 'php'; +const TMP_TELEMETRYSDKLANGUAGEVALUES_PYTHON = 'python'; +const TMP_TELEMETRYSDKLANGUAGEVALUES_RUBY = 'ruby'; +const TMP_TELEMETRYSDKLANGUAGEVALUES_WEBJS = 'webjs'; + +/** + * The language of the telemetry SDK. + */ +export const TELEMETRYSDKLANGUAGEVALUES_CPP = + TMP_TELEMETRYSDKLANGUAGEVALUES_CPP; + +/** + * The language of the telemetry SDK. + */ +export const TELEMETRYSDKLANGUAGEVALUES_DOTNET = + TMP_TELEMETRYSDKLANGUAGEVALUES_DOTNET; + +/** + * The language of the telemetry SDK. + */ +export const TELEMETRYSDKLANGUAGEVALUES_ERLANG = + TMP_TELEMETRYSDKLANGUAGEVALUES_ERLANG; + +/** + * The language of the telemetry SDK. + */ +export const TELEMETRYSDKLANGUAGEVALUES_GO = TMP_TELEMETRYSDKLANGUAGEVALUES_GO; + +/** + * The language of the telemetry SDK. + */ +export const TELEMETRYSDKLANGUAGEVALUES_JAVA = + TMP_TELEMETRYSDKLANGUAGEVALUES_JAVA; -export const TelemetrySdkLanguageValues = { +/** + * The language of the telemetry SDK. + */ +export const TELEMETRYSDKLANGUAGEVALUES_NODEJS = + TMP_TELEMETRYSDKLANGUAGEVALUES_NODEJS; + +/** + * The language of the telemetry SDK. + */ +export const TELEMETRYSDKLANGUAGEVALUES_PHP = + TMP_TELEMETRYSDKLANGUAGEVALUES_PHP; + +/** + * The language of the telemetry SDK. + */ +export const TELEMETRYSDKLANGUAGEVALUES_PYTHON = + TMP_TELEMETRYSDKLANGUAGEVALUES_PYTHON; + +/** + * The language of the telemetry SDK. + */ +export const TELEMETRYSDKLANGUAGEVALUES_RUBY = + TMP_TELEMETRYSDKLANGUAGEVALUES_RUBY; + +/** + * The language of the telemetry SDK. + */ +export const TELEMETRYSDKLANGUAGEVALUES_WEBJS = + TMP_TELEMETRYSDKLANGUAGEVALUES_WEBJS; + +/** + * Identifies the Values for TelemetrySdkLanguageValues enum definition + * + * The language of the telemetry SDK. + * @deprecated Use the TELEMETRYSDKLANGUAGEVALUES_XXXXX constants rather than the TelemetrySdkLanguageValues.XXXXX for bundle minification. + */ +export type TelemetrySdkLanguageValues = { /** cpp. */ - CPP: 'cpp', + CPP: 'cpp'; + /** dotnet. */ - DOTNET: 'dotnet', + DOTNET: 'dotnet'; + /** erlang. */ - ERLANG: 'erlang', + ERLANG: 'erlang'; + /** go. */ - GO: 'go', + GO: 'go'; + /** java. */ - JAVA: 'java', + JAVA: 'java'; + /** nodejs. */ - NODEJS: 'nodejs', + NODEJS: 'nodejs'; + /** php. */ - PHP: 'php', + PHP: 'php'; + /** python. */ - PYTHON: 'python', + PYTHON: 'python'; + /** ruby. */ - RUBY: 'ruby', + RUBY: 'ruby'; + /** webjs. */ - WEBJS: 'webjs', -} as const; -export type TelemetrySdkLanguageValues = - (typeof TelemetrySdkLanguageValues)[keyof typeof TelemetrySdkLanguageValues]; + WEBJS: 'webjs'; +}; + +/** + * The constant map of values for TelemetrySdkLanguageValues. + * @deprecated Use the TELEMETRYSDKLANGUAGEVALUES_XXXXX constants rather than the TelemetrySdkLanguageValues.XXXXX for bundle minification. + */ +export const TelemetrySdkLanguageValues: TelemetrySdkLanguageValues = + /*#__PURE__*/ createConstMap([ + TMP_TELEMETRYSDKLANGUAGEVALUES_CPP, + TMP_TELEMETRYSDKLANGUAGEVALUES_DOTNET, + TMP_TELEMETRYSDKLANGUAGEVALUES_ERLANG, + TMP_TELEMETRYSDKLANGUAGEVALUES_GO, + TMP_TELEMETRYSDKLANGUAGEVALUES_JAVA, + TMP_TELEMETRYSDKLANGUAGEVALUES_NODEJS, + TMP_TELEMETRYSDKLANGUAGEVALUES_PHP, + TMP_TELEMETRYSDKLANGUAGEVALUES_PYTHON, + TMP_TELEMETRYSDKLANGUAGEVALUES_RUBY, + TMP_TELEMETRYSDKLANGUAGEVALUES_WEBJS, + ]); diff --git a/packages/opentelemetry-semantic-conventions/src/trace/SemanticAttributes.ts b/packages/opentelemetry-semantic-conventions/src/trace/SemanticAttributes.ts index 6d12b0f89a..cc87977a82 100644 --- a/packages/opentelemetry-semantic-conventions/src/trace/SemanticAttributes.ts +++ b/packages/opentelemetry-semantic-conventions/src/trace/SemanticAttributes.ts @@ -14,142 +14,1036 @@ * limitations under the License. */ +import { createConstMap } from '../internal/utils'; + +//---------------------------------------------------------------------------------------------------------- // DO NOT EDIT, this is an Auto-generated file from scripts/semconv/templates//templates/SemanticAttributes.ts.j2 -export const SemanticAttributes = { +//---------------------------------------------------------------------------------------------------------- + +//---------------------------------------------------------------------------------------------------------- +// Constant values for SemanticAttributes +//---------------------------------------------------------------------------------------------------------- + +// Temporary local constants to assign to the individual exports and the namespaced version +// Required to avoid the namespace exports using the unminifable export names for some package types +const TMP_AWS_LAMBDA_INVOKED_ARN = 'aws.lambda.invoked_arn'; +const TMP_DB_SYSTEM = 'db.system'; +const TMP_DB_CONNECTION_STRING = 'db.connection_string'; +const TMP_DB_USER = 'db.user'; +const TMP_DB_JDBC_DRIVER_CLASSNAME = 'db.jdbc.driver_classname'; +const TMP_DB_NAME = 'db.name'; +const TMP_DB_STATEMENT = 'db.statement'; +const TMP_DB_OPERATION = 'db.operation'; +const TMP_DB_MSSQL_INSTANCE_NAME = 'db.mssql.instance_name'; +const TMP_DB_CASSANDRA_KEYSPACE = 'db.cassandra.keyspace'; +const TMP_DB_CASSANDRA_PAGE_SIZE = 'db.cassandra.page_size'; +const TMP_DB_CASSANDRA_CONSISTENCY_LEVEL = 'db.cassandra.consistency_level'; +const TMP_DB_CASSANDRA_TABLE = 'db.cassandra.table'; +const TMP_DB_CASSANDRA_IDEMPOTENCE = 'db.cassandra.idempotence'; +const TMP_DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT = + 'db.cassandra.speculative_execution_count'; +const TMP_DB_CASSANDRA_COORDINATOR_ID = 'db.cassandra.coordinator.id'; +const TMP_DB_CASSANDRA_COORDINATOR_DC = 'db.cassandra.coordinator.dc'; +const TMP_DB_HBASE_NAMESPACE = 'db.hbase.namespace'; +const TMP_DB_REDIS_DATABASE_INDEX = 'db.redis.database_index'; +const TMP_DB_MONGODB_COLLECTION = 'db.mongodb.collection'; +const TMP_DB_SQL_TABLE = 'db.sql.table'; +const TMP_EXCEPTION_TYPE = 'exception.type'; +const TMP_EXCEPTION_MESSAGE = 'exception.message'; +const TMP_EXCEPTION_STACKTRACE = 'exception.stacktrace'; +const TMP_EXCEPTION_ESCAPED = 'exception.escaped'; +const TMP_FAAS_TRIGGER = 'faas.trigger'; +const TMP_FAAS_EXECUTION = 'faas.execution'; +const TMP_FAAS_DOCUMENT_COLLECTION = 'faas.document.collection'; +const TMP_FAAS_DOCUMENT_OPERATION = 'faas.document.operation'; +const TMP_FAAS_DOCUMENT_TIME = 'faas.document.time'; +const TMP_FAAS_DOCUMENT_NAME = 'faas.document.name'; +const TMP_FAAS_TIME = 'faas.time'; +const TMP_FAAS_CRON = 'faas.cron'; +const TMP_FAAS_COLDSTART = 'faas.coldstart'; +const TMP_FAAS_INVOKED_NAME = 'faas.invoked_name'; +const TMP_FAAS_INVOKED_PROVIDER = 'faas.invoked_provider'; +const TMP_FAAS_INVOKED_REGION = 'faas.invoked_region'; +const TMP_NET_TRANSPORT = 'net.transport'; +const TMP_NET_PEER_IP = 'net.peer.ip'; +const TMP_NET_PEER_PORT = 'net.peer.port'; +const TMP_NET_PEER_NAME = 'net.peer.name'; +const TMP_NET_HOST_IP = 'net.host.ip'; +const TMP_NET_HOST_PORT = 'net.host.port'; +const TMP_NET_HOST_NAME = 'net.host.name'; +const TMP_NET_HOST_CONNECTION_TYPE = 'net.host.connection.type'; +const TMP_NET_HOST_CONNECTION_SUBTYPE = 'net.host.connection.subtype'; +const TMP_NET_HOST_CARRIER_NAME = 'net.host.carrier.name'; +const TMP_NET_HOST_CARRIER_MCC = 'net.host.carrier.mcc'; +const TMP_NET_HOST_CARRIER_MNC = 'net.host.carrier.mnc'; +const TMP_NET_HOST_CARRIER_ICC = 'net.host.carrier.icc'; +const TMP_PEER_SERVICE = 'peer.service'; +const TMP_ENDUSER_ID = 'enduser.id'; +const TMP_ENDUSER_ROLE = 'enduser.role'; +const TMP_ENDUSER_SCOPE = 'enduser.scope'; +const TMP_THREAD_ID = 'thread.id'; +const TMP_THREAD_NAME = 'thread.name'; +const TMP_CODE_FUNCTION = 'code.function'; +const TMP_CODE_NAMESPACE = 'code.namespace'; +const TMP_CODE_FILEPATH = 'code.filepath'; +const TMP_CODE_LINENO = 'code.lineno'; +const TMP_HTTP_METHOD = 'http.method'; +const TMP_HTTP_URL = 'http.url'; +const TMP_HTTP_TARGET = 'http.target'; +const TMP_HTTP_HOST = 'http.host'; +const TMP_HTTP_SCHEME = 'http.scheme'; +const TMP_HTTP_STATUS_CODE = 'http.status_code'; +const TMP_HTTP_FLAVOR = 'http.flavor'; +const TMP_HTTP_USER_AGENT = 'http.user_agent'; +const TMP_HTTP_REQUEST_CONTENT_LENGTH = 'http.request_content_length'; +const TMP_HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED = + 'http.request_content_length_uncompressed'; +const TMP_HTTP_RESPONSE_CONTENT_LENGTH = 'http.response_content_length'; +const TMP_HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED = + 'http.response_content_length_uncompressed'; +const TMP_HTTP_SERVER_NAME = 'http.server_name'; +const TMP_HTTP_ROUTE = 'http.route'; +const TMP_HTTP_CLIENT_IP = 'http.client_ip'; +const TMP_AWS_DYNAMODB_TABLE_NAMES = 'aws.dynamodb.table_names'; +const TMP_AWS_DYNAMODB_CONSUMED_CAPACITY = 'aws.dynamodb.consumed_capacity'; +const TMP_AWS_DYNAMODB_ITEM_COLLECTION_METRICS = + 'aws.dynamodb.item_collection_metrics'; +const TMP_AWS_DYNAMODB_PROVISIONED_READ_CAPACITY = + 'aws.dynamodb.provisioned_read_capacity'; +const TMP_AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY = + 'aws.dynamodb.provisioned_write_capacity'; +const TMP_AWS_DYNAMODB_CONSISTENT_READ = 'aws.dynamodb.consistent_read'; +const TMP_AWS_DYNAMODB_PROJECTION = 'aws.dynamodb.projection'; +const TMP_AWS_DYNAMODB_LIMIT = 'aws.dynamodb.limit'; +const TMP_AWS_DYNAMODB_ATTRIBUTES_TO_GET = 'aws.dynamodb.attributes_to_get'; +const TMP_AWS_DYNAMODB_INDEX_NAME = 'aws.dynamodb.index_name'; +const TMP_AWS_DYNAMODB_SELECT = 'aws.dynamodb.select'; +const TMP_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES = + 'aws.dynamodb.global_secondary_indexes'; +const TMP_AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES = + 'aws.dynamodb.local_secondary_indexes'; +const TMP_AWS_DYNAMODB_EXCLUSIVE_START_TABLE = + 'aws.dynamodb.exclusive_start_table'; +const TMP_AWS_DYNAMODB_TABLE_COUNT = 'aws.dynamodb.table_count'; +const TMP_AWS_DYNAMODB_SCAN_FORWARD = 'aws.dynamodb.scan_forward'; +const TMP_AWS_DYNAMODB_SEGMENT = 'aws.dynamodb.segment'; +const TMP_AWS_DYNAMODB_TOTAL_SEGMENTS = 'aws.dynamodb.total_segments'; +const TMP_AWS_DYNAMODB_COUNT = 'aws.dynamodb.count'; +const TMP_AWS_DYNAMODB_SCANNED_COUNT = 'aws.dynamodb.scanned_count'; +const TMP_AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS = + 'aws.dynamodb.attribute_definitions'; +const TMP_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES = + 'aws.dynamodb.global_secondary_index_updates'; +const TMP_MESSAGING_SYSTEM = 'messaging.system'; +const TMP_MESSAGING_DESTINATION = 'messaging.destination'; +const TMP_MESSAGING_DESTINATION_KIND = 'messaging.destination_kind'; +const TMP_MESSAGING_TEMP_DESTINATION = 'messaging.temp_destination'; +const TMP_MESSAGING_PROTOCOL = 'messaging.protocol'; +const TMP_MESSAGING_PROTOCOL_VERSION = 'messaging.protocol_version'; +const TMP_MESSAGING_URL = 'messaging.url'; +const TMP_MESSAGING_MESSAGE_ID = 'messaging.message_id'; +const TMP_MESSAGING_CONVERSATION_ID = 'messaging.conversation_id'; +const TMP_MESSAGING_MESSAGE_PAYLOAD_SIZE_BYTES = + 'messaging.message_payload_size_bytes'; +const TMP_MESSAGING_MESSAGE_PAYLOAD_COMPRESSED_SIZE_BYTES = + 'messaging.message_payload_compressed_size_bytes'; +const TMP_MESSAGING_OPERATION = 'messaging.operation'; +const TMP_MESSAGING_CONSUMER_ID = 'messaging.consumer_id'; +const TMP_MESSAGING_RABBITMQ_ROUTING_KEY = 'messaging.rabbitmq.routing_key'; +const TMP_MESSAGING_KAFKA_MESSAGE_KEY = 'messaging.kafka.message_key'; +const TMP_MESSAGING_KAFKA_CONSUMER_GROUP = 'messaging.kafka.consumer_group'; +const TMP_MESSAGING_KAFKA_CLIENT_ID = 'messaging.kafka.client_id'; +const TMP_MESSAGING_KAFKA_PARTITION = 'messaging.kafka.partition'; +const TMP_MESSAGING_KAFKA_TOMBSTONE = 'messaging.kafka.tombstone'; +const TMP_RPC_SYSTEM = 'rpc.system'; +const TMP_RPC_SERVICE = 'rpc.service'; +const TMP_RPC_METHOD = 'rpc.method'; +const TMP_RPC_GRPC_STATUS_CODE = 'rpc.grpc.status_code'; +const TMP_RPC_JSONRPC_VERSION = 'rpc.jsonrpc.version'; +const TMP_RPC_JSONRPC_REQUEST_ID = 'rpc.jsonrpc.request_id'; +const TMP_RPC_JSONRPC_ERROR_CODE = 'rpc.jsonrpc.error_code'; +const TMP_RPC_JSONRPC_ERROR_MESSAGE = 'rpc.jsonrpc.error_message'; +const TMP_MESSAGE_TYPE = 'message.type'; +const TMP_MESSAGE_ID = 'message.id'; +const TMP_MESSAGE_COMPRESSED_SIZE = 'message.compressed_size'; +const TMP_MESSAGE_UNCOMPRESSED_SIZE = 'message.uncompressed_size'; + +/** + * The full invoked ARN as provided on the `Context` passed to the function (`Lambda-Runtime-Invoked-Function-Arn` header on the `/runtime/invocation/next` applicable). + * + * Note: This may be different from `faas.id` if an alias is involved. + */ +export const SEMATTRS_AWS_LAMBDA_INVOKED_ARN = TMP_AWS_LAMBDA_INVOKED_ARN; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const SEMATTRS_DB_SYSTEM = TMP_DB_SYSTEM; + +/** + * The connection string used to connect to the database. It is recommended to remove embedded credentials. + */ +export const SEMATTRS_DB_CONNECTION_STRING = TMP_DB_CONNECTION_STRING; + +/** + * Username for accessing the database. + */ +export const SEMATTRS_DB_USER = TMP_DB_USER; + +/** + * The fully-qualified class name of the [Java Database Connectivity (JDBC)](https://docs.oracle.com/javase/8/docs/technotes/guides/jdbc/) driver used to connect. + */ +export const SEMATTRS_DB_JDBC_DRIVER_CLASSNAME = TMP_DB_JDBC_DRIVER_CLASSNAME; + +/** + * If no [tech-specific attribute](#call-level-attributes-for-specific-technologies) is defined, this attribute is used to report the name of the database being accessed. For commands that switch the database, this should be set to the target database (even if the command fails). + * + * Note: In some SQL databases, the database name to be used is called "schema name". + */ +export const SEMATTRS_DB_NAME = TMP_DB_NAME; + +/** + * The database statement being executed. + * + * Note: The value may be sanitized to exclude sensitive information. + */ +export const SEMATTRS_DB_STATEMENT = TMP_DB_STATEMENT; + +/** + * The name of the operation being executed, e.g. the [MongoDB command name](https://docs.mongodb.com/manual/reference/command/#database-operations) such as `findAndModify`, or the SQL keyword. + * + * Note: When setting this to an SQL keyword, it is not recommended to attempt any client-side parsing of `db.statement` just to get this property, but it should be set if the operation name is provided by the library being instrumented. If the SQL statement has an ambiguous operation, or performs more than one operation, this value may be omitted. + */ +export const SEMATTRS_DB_OPERATION = TMP_DB_OPERATION; + +/** + * The Microsoft SQL Server [instance name](https://docs.microsoft.com/en-us/sql/connect/jdbc/building-the-connection-url?view=sql-server-ver15) connecting to. This name is used to determine the port of a named instance. + * + * Note: If setting a `db.mssql.instance_name`, `net.peer.port` is no longer required (but still recommended if non-standard). + */ +export const SEMATTRS_DB_MSSQL_INSTANCE_NAME = TMP_DB_MSSQL_INSTANCE_NAME; + +/** + * The name of the keyspace being accessed. To be used instead of the generic `db.name` attribute. + */ +export const SEMATTRS_DB_CASSANDRA_KEYSPACE = TMP_DB_CASSANDRA_KEYSPACE; + +/** + * The fetch size used for paging, i.e. how many rows will be returned at once. + */ +export const SEMATTRS_DB_CASSANDRA_PAGE_SIZE = TMP_DB_CASSANDRA_PAGE_SIZE; + +/** + * The consistency level of the query. Based on consistency values from [CQL](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html). + */ +export const SEMATTRS_DB_CASSANDRA_CONSISTENCY_LEVEL = + TMP_DB_CASSANDRA_CONSISTENCY_LEVEL; + +/** + * The name of the primary table that the operation is acting upon, including the schema name (if applicable). + * + * Note: This mirrors the db.sql.table attribute but references cassandra rather than sql. It is not recommended to attempt any client-side parsing of `db.statement` just to get this property, but it should be set if it is provided by the library being instrumented. If the operation is acting upon an anonymous table, or more than one table, this value MUST NOT be set. + */ +export const SEMATTRS_DB_CASSANDRA_TABLE = TMP_DB_CASSANDRA_TABLE; + +/** + * Whether or not the query is idempotent. + */ +export const SEMATTRS_DB_CASSANDRA_IDEMPOTENCE = TMP_DB_CASSANDRA_IDEMPOTENCE; + +/** + * The number of times a query was speculatively executed. Not set or `0` if the query was not executed speculatively. + */ +export const SEMATTRS_DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT = + TMP_DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT; + +/** + * The ID of the coordinating node for a query. + */ +export const SEMATTRS_DB_CASSANDRA_COORDINATOR_ID = + TMP_DB_CASSANDRA_COORDINATOR_ID; + +/** + * The data center of the coordinating node for a query. + */ +export const SEMATTRS_DB_CASSANDRA_COORDINATOR_DC = + TMP_DB_CASSANDRA_COORDINATOR_DC; + +/** + * The [HBase namespace](https://hbase.apache.org/book.html#_namespace) being accessed. To be used instead of the generic `db.name` attribute. + */ +export const SEMATTRS_DB_HBASE_NAMESPACE = TMP_DB_HBASE_NAMESPACE; + +/** + * The index of the database being accessed as used in the [`SELECT` command](https://redis.io/commands/select), provided as an integer. To be used instead of the generic `db.name` attribute. + */ +export const SEMATTRS_DB_REDIS_DATABASE_INDEX = TMP_DB_REDIS_DATABASE_INDEX; + +/** + * The collection being accessed within the database stated in `db.name`. + */ +export const SEMATTRS_DB_MONGODB_COLLECTION = TMP_DB_MONGODB_COLLECTION; + +/** + * The name of the primary table that the operation is acting upon, including the schema name (if applicable). + * + * Note: It is not recommended to attempt any client-side parsing of `db.statement` just to get this property, but it should be set if it is provided by the library being instrumented. If the operation is acting upon an anonymous table, or more than one table, this value MUST NOT be set. + */ +export const SEMATTRS_DB_SQL_TABLE = TMP_DB_SQL_TABLE; + +/** + * The type of the exception (its fully-qualified class name, if applicable). The dynamic type of the exception should be preferred over the static type in languages that support it. + */ +export const SEMATTRS_EXCEPTION_TYPE = TMP_EXCEPTION_TYPE; + +/** + * The exception message. + */ +export const SEMATTRS_EXCEPTION_MESSAGE = TMP_EXCEPTION_MESSAGE; + +/** + * A stacktrace as a string in the natural representation for the language runtime. The representation is to be determined and documented by each language SIG. + */ +export const SEMATTRS_EXCEPTION_STACKTRACE = TMP_EXCEPTION_STACKTRACE; + +/** +* SHOULD be set to true if the exception event is recorded at a point where it is known that the exception is escaping the scope of the span. +* +* Note: An exception is considered to have escaped (or left) the scope of a span, +if that span is ended while the exception is still logically "in flight". +This may be actually "in flight" in some languages (e.g. if the exception +is passed to a Context manager's `__exit__` method in Python) but will +usually be caught at the point of recording the exception in most languages. + +It is usually not possible to determine at the point where an exception is thrown +whether it will escape the scope of a span. +However, it is trivial to know that an exception +will escape, if one checks for an active exception just before ending the span, +as done in the [example above](#exception-end-example). + +It follows that an exception may still escape the scope of the span +even if the `exception.escaped` attribute was not set or set to false, +since the event might have been recorded at a time where it was not +clear whether the exception will escape. +*/ +export const SEMATTRS_EXCEPTION_ESCAPED = TMP_EXCEPTION_ESCAPED; + +/** + * Type of the trigger on which the function is executed. + */ +export const SEMATTRS_FAAS_TRIGGER = TMP_FAAS_TRIGGER; + +/** + * The execution ID of the current function execution. + */ +export const SEMATTRS_FAAS_EXECUTION = TMP_FAAS_EXECUTION; + +/** + * The name of the source on which the triggering operation was performed. For example, in Cloud Storage or S3 corresponds to the bucket name, and in Cosmos DB to the database name. + */ +export const SEMATTRS_FAAS_DOCUMENT_COLLECTION = TMP_FAAS_DOCUMENT_COLLECTION; + +/** + * Describes the type of the operation that was performed on the data. + */ +export const SEMATTRS_FAAS_DOCUMENT_OPERATION = TMP_FAAS_DOCUMENT_OPERATION; + +/** + * A string containing the time when the data was accessed in the [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format expressed in [UTC](https://www.w3.org/TR/NOTE-datetime). + */ +export const SEMATTRS_FAAS_DOCUMENT_TIME = TMP_FAAS_DOCUMENT_TIME; + +/** + * The document name/table subjected to the operation. For example, in Cloud Storage or S3 is the name of the file, and in Cosmos DB the table name. + */ +export const SEMATTRS_FAAS_DOCUMENT_NAME = TMP_FAAS_DOCUMENT_NAME; + +/** + * A string containing the function invocation time in the [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format expressed in [UTC](https://www.w3.org/TR/NOTE-datetime). + */ +export const SEMATTRS_FAAS_TIME = TMP_FAAS_TIME; + +/** + * A string containing the schedule period as [Cron Expression](https://docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm). + */ +export const SEMATTRS_FAAS_CRON = TMP_FAAS_CRON; + +/** + * A boolean that is true if the serverless function is executed for the first time (aka cold-start). + */ +export const SEMATTRS_FAAS_COLDSTART = TMP_FAAS_COLDSTART; + +/** + * The name of the invoked function. + * + * Note: SHOULD be equal to the `faas.name` resource attribute of the invoked function. + */ +export const SEMATTRS_FAAS_INVOKED_NAME = TMP_FAAS_INVOKED_NAME; + +/** + * The cloud provider of the invoked function. + * + * Note: SHOULD be equal to the `cloud.provider` resource attribute of the invoked function. + */ +export const SEMATTRS_FAAS_INVOKED_PROVIDER = TMP_FAAS_INVOKED_PROVIDER; + +/** + * The cloud region of the invoked function. + * + * Note: SHOULD be equal to the `cloud.region` resource attribute of the invoked function. + */ +export const SEMATTRS_FAAS_INVOKED_REGION = TMP_FAAS_INVOKED_REGION; + +/** + * Transport protocol used. See note below. + */ +export const SEMATTRS_NET_TRANSPORT = TMP_NET_TRANSPORT; + +/** + * Remote address of the peer (dotted decimal for IPv4 or [RFC5952](https://tools.ietf.org/html/rfc5952) for IPv6). + */ +export const SEMATTRS_NET_PEER_IP = TMP_NET_PEER_IP; + +/** + * Remote port number. + */ +export const SEMATTRS_NET_PEER_PORT = TMP_NET_PEER_PORT; + +/** + * Remote hostname or similar, see note below. + */ +export const SEMATTRS_NET_PEER_NAME = TMP_NET_PEER_NAME; + +/** + * Like `net.peer.ip` but for the host IP. Useful in case of a multi-IP host. + */ +export const SEMATTRS_NET_HOST_IP = TMP_NET_HOST_IP; + +/** + * Like `net.peer.port` but for the host port. + */ +export const SEMATTRS_NET_HOST_PORT = TMP_NET_HOST_PORT; + +/** + * Local hostname or similar, see note below. + */ +export const SEMATTRS_NET_HOST_NAME = TMP_NET_HOST_NAME; + +/** + * The internet connection type currently being used by the host. + */ +export const SEMATTRS_NET_HOST_CONNECTION_TYPE = TMP_NET_HOST_CONNECTION_TYPE; + +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +export const SEMATTRS_NET_HOST_CONNECTION_SUBTYPE = + TMP_NET_HOST_CONNECTION_SUBTYPE; + +/** + * The name of the mobile carrier. + */ +export const SEMATTRS_NET_HOST_CARRIER_NAME = TMP_NET_HOST_CARRIER_NAME; + +/** + * The mobile carrier country code. + */ +export const SEMATTRS_NET_HOST_CARRIER_MCC = TMP_NET_HOST_CARRIER_MCC; + +/** + * The mobile carrier network code. + */ +export const SEMATTRS_NET_HOST_CARRIER_MNC = TMP_NET_HOST_CARRIER_MNC; + +/** + * The ISO 3166-1 alpha-2 2-character country code associated with the mobile carrier network. + */ +export const SEMATTRS_NET_HOST_CARRIER_ICC = TMP_NET_HOST_CARRIER_ICC; + +/** + * The [`service.name`](../../resource/semantic_conventions/README.md#service) of the remote service. SHOULD be equal to the actual `service.name` resource attribute of the remote service if any. + */ +export const SEMATTRS_PEER_SERVICE = TMP_PEER_SERVICE; + +/** + * Username or client_id extracted from the access token or [Authorization](https://tools.ietf.org/html/rfc7235#section-4.2) header in the inbound request from outside the system. + */ +export const SEMATTRS_ENDUSER_ID = TMP_ENDUSER_ID; + +/** + * Actual/assumed role the client is making the request under extracted from token or application security context. + */ +export const SEMATTRS_ENDUSER_ROLE = TMP_ENDUSER_ROLE; + +/** + * Scopes or granted authorities the client currently possesses extracted from token or application security context. The value would come from the scope associated with an [OAuth 2.0 Access Token](https://tools.ietf.org/html/rfc6749#section-3.3) or an attribute value in a [SAML 2.0 Assertion](http://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-tech-overview-2.0.html). + */ +export const SEMATTRS_ENDUSER_SCOPE = TMP_ENDUSER_SCOPE; + +/** + * Current "managed" thread ID (as opposed to OS thread ID). + */ +export const SEMATTRS_THREAD_ID = TMP_THREAD_ID; + +/** + * Current thread name. + */ +export const SEMATTRS_THREAD_NAME = TMP_THREAD_NAME; + +/** + * The method or function name, or equivalent (usually rightmost part of the code unit's name). + */ +export const SEMATTRS_CODE_FUNCTION = TMP_CODE_FUNCTION; + +/** + * The "namespace" within which `code.function` is defined. Usually the qualified class or module name, such that `code.namespace` + some separator + `code.function` form a unique identifier for the code unit. + */ +export const SEMATTRS_CODE_NAMESPACE = TMP_CODE_NAMESPACE; + +/** + * The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path). + */ +export const SEMATTRS_CODE_FILEPATH = TMP_CODE_FILEPATH; + +/** + * The line number in `code.filepath` best representing the operation. It SHOULD point within the code unit named in `code.function`. + */ +export const SEMATTRS_CODE_LINENO = TMP_CODE_LINENO; + +/** + * HTTP request method. + */ +export const SEMATTRS_HTTP_METHOD = TMP_HTTP_METHOD; + +/** + * Full HTTP request URL in the form `scheme://host[:port]/path?query[#fragment]`. Usually the fragment is not transmitted over HTTP, but if it is known, it should be included nevertheless. + * + * Note: `http.url` MUST NOT contain credentials passed via URL in form of `https://username:password@www.example.com/`. In such case the attribute's value should be `https://www.example.com/`. + */ +export const SEMATTRS_HTTP_URL = TMP_HTTP_URL; + +/** + * The full request target as passed in a HTTP request line or equivalent. + */ +export const SEMATTRS_HTTP_TARGET = TMP_HTTP_TARGET; + +/** + * The value of the [HTTP host header](https://tools.ietf.org/html/rfc7230#section-5.4). An empty Host header should also be reported, see note. + * + * Note: When the header is present but empty the attribute SHOULD be set to the empty string. Note that this is a valid situation that is expected in certain cases, according the aforementioned [section of RFC 7230](https://tools.ietf.org/html/rfc7230#section-5.4). When the header is not set the attribute MUST NOT be set. + */ +export const SEMATTRS_HTTP_HOST = TMP_HTTP_HOST; + +/** + * The URI scheme identifying the used protocol. + */ +export const SEMATTRS_HTTP_SCHEME = TMP_HTTP_SCHEME; + +/** + * [HTTP response status code](https://tools.ietf.org/html/rfc7231#section-6). + */ +export const SEMATTRS_HTTP_STATUS_CODE = TMP_HTTP_STATUS_CODE; + +/** + * Kind of HTTP protocol used. + * + * Note: If `net.transport` is not specified, it can be assumed to be `IP.TCP` except if `http.flavor` is `QUIC`, in which case `IP.UDP` is assumed. + */ +export const SEMATTRS_HTTP_FLAVOR = TMP_HTTP_FLAVOR; + +/** + * Value of the [HTTP User-Agent](https://tools.ietf.org/html/rfc7231#section-5.5.3) header sent by the client. + */ +export const SEMATTRS_HTTP_USER_AGENT = TMP_HTTP_USER_AGENT; + +/** + * The size of the request payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the [Content-Length](https://tools.ietf.org/html/rfc7230#section-3.3.2) header. For requests using transport encoding, this should be the compressed size. + */ +export const SEMATTRS_HTTP_REQUEST_CONTENT_LENGTH = + TMP_HTTP_REQUEST_CONTENT_LENGTH; + +/** + * The size of the uncompressed request payload body after transport decoding. Not set if transport encoding not used. + */ +export const SEMATTRS_HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED = + TMP_HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED; + +/** + * The size of the response payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the [Content-Length](https://tools.ietf.org/html/rfc7230#section-3.3.2) header. For requests using transport encoding, this should be the compressed size. + */ +export const SEMATTRS_HTTP_RESPONSE_CONTENT_LENGTH = + TMP_HTTP_RESPONSE_CONTENT_LENGTH; + +/** + * The size of the uncompressed response payload body after transport decoding. Not set if transport encoding not used. + */ +export const SEMATTRS_HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED = + TMP_HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED; + +/** + * The primary server name of the matched virtual host. This should be obtained via configuration. If no such configuration can be obtained, this attribute MUST NOT be set ( `net.host.name` should be used instead). + * + * Note: `http.url` is usually not readily available on the server side but would have to be assembled in a cumbersome and sometimes lossy process from other information (see e.g. open-telemetry/opentelemetry-python/pull/148). It is thus preferred to supply the raw data that is available. + */ +export const SEMATTRS_HTTP_SERVER_NAME = TMP_HTTP_SERVER_NAME; + +/** + * The matched route (path template). + */ +export const SEMATTRS_HTTP_ROUTE = TMP_HTTP_ROUTE; + +/** +* The IP address of the original client behind all proxies, if known (e.g. from [X-Forwarded-For](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For)). +* +* Note: This is not necessarily the same as `net.peer.ip`, which would +identify the network-level peer, which may be a proxy. + +This attribute should be set when a source of information different +from the one used for `net.peer.ip`, is available even if that other +source just confirms the same value as `net.peer.ip`. +Rationale: For `net.peer.ip`, one typically does not know if it +comes from a proxy, reverse proxy, or the actual client. Setting +`http.client_ip` when it's the same as `net.peer.ip` means that +one is at least somewhat confident that the address is not that of +the closest proxy. +*/ +export const SEMATTRS_HTTP_CLIENT_IP = TMP_HTTP_CLIENT_IP; + +/** + * The keys in the `RequestItems` object field. + */ +export const SEMATTRS_AWS_DYNAMODB_TABLE_NAMES = TMP_AWS_DYNAMODB_TABLE_NAMES; + +/** + * The JSON-serialized value of each item in the `ConsumedCapacity` response field. + */ +export const SEMATTRS_AWS_DYNAMODB_CONSUMED_CAPACITY = + TMP_AWS_DYNAMODB_CONSUMED_CAPACITY; + +/** + * The JSON-serialized value of the `ItemCollectionMetrics` response field. + */ +export const SEMATTRS_AWS_DYNAMODB_ITEM_COLLECTION_METRICS = + TMP_AWS_DYNAMODB_ITEM_COLLECTION_METRICS; + +/** + * The value of the `ProvisionedThroughput.ReadCapacityUnits` request parameter. + */ +export const SEMATTRS_AWS_DYNAMODB_PROVISIONED_READ_CAPACITY = + TMP_AWS_DYNAMODB_PROVISIONED_READ_CAPACITY; + +/** + * The value of the `ProvisionedThroughput.WriteCapacityUnits` request parameter. + */ +export const SEMATTRS_AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY = + TMP_AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY; + +/** + * The value of the `ConsistentRead` request parameter. + */ +export const SEMATTRS_AWS_DYNAMODB_CONSISTENT_READ = + TMP_AWS_DYNAMODB_CONSISTENT_READ; + +/** + * The value of the `ProjectionExpression` request parameter. + */ +export const SEMATTRS_AWS_DYNAMODB_PROJECTION = TMP_AWS_DYNAMODB_PROJECTION; + +/** + * The value of the `Limit` request parameter. + */ +export const SEMATTRS_AWS_DYNAMODB_LIMIT = TMP_AWS_DYNAMODB_LIMIT; + +/** + * The value of the `AttributesToGet` request parameter. + */ +export const SEMATTRS_AWS_DYNAMODB_ATTRIBUTES_TO_GET = + TMP_AWS_DYNAMODB_ATTRIBUTES_TO_GET; + +/** + * The value of the `IndexName` request parameter. + */ +export const SEMATTRS_AWS_DYNAMODB_INDEX_NAME = TMP_AWS_DYNAMODB_INDEX_NAME; + +/** + * The value of the `Select` request parameter. + */ +export const SEMATTRS_AWS_DYNAMODB_SELECT = TMP_AWS_DYNAMODB_SELECT; + +/** + * The JSON-serialized value of each item of the `GlobalSecondaryIndexes` request field. + */ +export const SEMATTRS_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES = + TMP_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES; + +/** + * The JSON-serialized value of each item of the `LocalSecondaryIndexes` request field. + */ +export const SEMATTRS_AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES = + TMP_AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES; + +/** + * The value of the `ExclusiveStartTableName` request parameter. + */ +export const SEMATTRS_AWS_DYNAMODB_EXCLUSIVE_START_TABLE = + TMP_AWS_DYNAMODB_EXCLUSIVE_START_TABLE; + +/** + * The the number of items in the `TableNames` response parameter. + */ +export const SEMATTRS_AWS_DYNAMODB_TABLE_COUNT = TMP_AWS_DYNAMODB_TABLE_COUNT; + +/** + * The value of the `ScanIndexForward` request parameter. + */ +export const SEMATTRS_AWS_DYNAMODB_SCAN_FORWARD = TMP_AWS_DYNAMODB_SCAN_FORWARD; + +/** + * The value of the `Segment` request parameter. + */ +export const SEMATTRS_AWS_DYNAMODB_SEGMENT = TMP_AWS_DYNAMODB_SEGMENT; + +/** + * The value of the `TotalSegments` request parameter. + */ +export const SEMATTRS_AWS_DYNAMODB_TOTAL_SEGMENTS = + TMP_AWS_DYNAMODB_TOTAL_SEGMENTS; + +/** + * The value of the `Count` response parameter. + */ +export const SEMATTRS_AWS_DYNAMODB_COUNT = TMP_AWS_DYNAMODB_COUNT; + +/** + * The value of the `ScannedCount` response parameter. + */ +export const SEMATTRS_AWS_DYNAMODB_SCANNED_COUNT = + TMP_AWS_DYNAMODB_SCANNED_COUNT; + +/** + * The JSON-serialized value of each item in the `AttributeDefinitions` request field. + */ +export const SEMATTRS_AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS = + TMP_AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS; + +/** + * The JSON-serialized value of each item in the the `GlobalSecondaryIndexUpdates` request field. + */ +export const SEMATTRS_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES = + TMP_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES; + +/** + * A string identifying the messaging system. + */ +export const SEMATTRS_MESSAGING_SYSTEM = TMP_MESSAGING_SYSTEM; + +/** + * The message destination name. This might be equal to the span name but is required nevertheless. + */ +export const SEMATTRS_MESSAGING_DESTINATION = TMP_MESSAGING_DESTINATION; + +/** + * The kind of message destination. + */ +export const SEMATTRS_MESSAGING_DESTINATION_KIND = + TMP_MESSAGING_DESTINATION_KIND; + +/** + * A boolean that is true if the message destination is temporary. + */ +export const SEMATTRS_MESSAGING_TEMP_DESTINATION = + TMP_MESSAGING_TEMP_DESTINATION; + +/** + * The name of the transport protocol. + */ +export const SEMATTRS_MESSAGING_PROTOCOL = TMP_MESSAGING_PROTOCOL; + +/** + * The version of the transport protocol. + */ +export const SEMATTRS_MESSAGING_PROTOCOL_VERSION = + TMP_MESSAGING_PROTOCOL_VERSION; + +/** + * Connection string. + */ +export const SEMATTRS_MESSAGING_URL = TMP_MESSAGING_URL; + +/** + * A value used by the messaging system as an identifier for the message, represented as a string. + */ +export const SEMATTRS_MESSAGING_MESSAGE_ID = TMP_MESSAGING_MESSAGE_ID; + +/** + * The [conversation ID](#conversations) identifying the conversation to which the message belongs, represented as a string. Sometimes called "Correlation ID". + */ +export const SEMATTRS_MESSAGING_CONVERSATION_ID = TMP_MESSAGING_CONVERSATION_ID; + +/** + * The (uncompressed) size of the message payload in bytes. Also use this attribute if it is unknown whether the compressed or uncompressed payload size is reported. + */ +export const SEMATTRS_MESSAGING_MESSAGE_PAYLOAD_SIZE_BYTES = + TMP_MESSAGING_MESSAGE_PAYLOAD_SIZE_BYTES; + +/** + * The compressed size of the message payload in bytes. + */ +export const SEMATTRS_MESSAGING_MESSAGE_PAYLOAD_COMPRESSED_SIZE_BYTES = + TMP_MESSAGING_MESSAGE_PAYLOAD_COMPRESSED_SIZE_BYTES; + +/** + * A string identifying the kind of message consumption as defined in the [Operation names](#operation-names) section above. If the operation is "send", this attribute MUST NOT be set, since the operation can be inferred from the span kind in that case. + */ +export const SEMATTRS_MESSAGING_OPERATION = TMP_MESSAGING_OPERATION; + +/** + * The identifier for the consumer receiving a message. For Kafka, set it to `{messaging.kafka.consumer_group} - {messaging.kafka.client_id}`, if both are present, or only `messaging.kafka.consumer_group`. For brokers, such as RabbitMQ and Artemis, set it to the `client_id` of the client consuming the message. + */ +export const SEMATTRS_MESSAGING_CONSUMER_ID = TMP_MESSAGING_CONSUMER_ID; + +/** + * RabbitMQ message routing key. + */ +export const SEMATTRS_MESSAGING_RABBITMQ_ROUTING_KEY = + TMP_MESSAGING_RABBITMQ_ROUTING_KEY; + +/** + * Message keys in Kafka are used for grouping alike messages to ensure they're processed on the same partition. They differ from `messaging.message_id` in that they're not unique. If the key is `null`, the attribute MUST NOT be set. + * + * Note: If the key type is not string, it's string representation has to be supplied for the attribute. If the key has no unambiguous, canonical string form, don't include its value. + */ +export const SEMATTRS_MESSAGING_KAFKA_MESSAGE_KEY = + TMP_MESSAGING_KAFKA_MESSAGE_KEY; + +/** + * Name of the Kafka Consumer Group that is handling the message. Only applies to consumers, not producers. + */ +export const SEMATTRS_MESSAGING_KAFKA_CONSUMER_GROUP = + TMP_MESSAGING_KAFKA_CONSUMER_GROUP; + +/** + * Client Id for the Consumer or Producer that is handling the message. + */ +export const SEMATTRS_MESSAGING_KAFKA_CLIENT_ID = TMP_MESSAGING_KAFKA_CLIENT_ID; + +/** + * Partition the message is sent to. + */ +export const SEMATTRS_MESSAGING_KAFKA_PARTITION = TMP_MESSAGING_KAFKA_PARTITION; + +/** + * A boolean that is true if the message is a tombstone. + */ +export const SEMATTRS_MESSAGING_KAFKA_TOMBSTONE = TMP_MESSAGING_KAFKA_TOMBSTONE; + +/** + * A string identifying the remoting system. + */ +export const SEMATTRS_RPC_SYSTEM = TMP_RPC_SYSTEM; + +/** + * The full (logical) name of the service being called, including its package name, if applicable. + * + * Note: This is the logical name of the service from the RPC interface perspective, which can be different from the name of any implementing class. The `code.namespace` attribute may be used to store the latter (despite the attribute name, it may include a class name; e.g., class with method actually executing the call on the server side, RPC client stub class on the client side). + */ +export const SEMATTRS_RPC_SERVICE = TMP_RPC_SERVICE; + +/** + * The name of the (logical) method being called, must be equal to the $method part in the span name. + * + * Note: This is the logical name of the method from the RPC interface perspective, which can be different from the name of any implementing method/function. The `code.function` attribute may be used to store the latter (e.g., method actually executing the call on the server side, RPC client stub method on the client side). + */ +export const SEMATTRS_RPC_METHOD = TMP_RPC_METHOD; + +/** + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + */ +export const SEMATTRS_RPC_GRPC_STATUS_CODE = TMP_RPC_GRPC_STATUS_CODE; + +/** + * Protocol version as in `jsonrpc` property of request/response. Since JSON-RPC 1.0 does not specify this, the value can be omitted. + */ +export const SEMATTRS_RPC_JSONRPC_VERSION = TMP_RPC_JSONRPC_VERSION; + +/** + * `id` property of request or response. Since protocol allows id to be int, string, `null` or missing (for notifications), value is expected to be cast to string for simplicity. Use empty string in case of `null` value. Omit entirely if this is a notification. + */ +export const SEMATTRS_RPC_JSONRPC_REQUEST_ID = TMP_RPC_JSONRPC_REQUEST_ID; + +/** + * `error.code` property of response if it is an error response. + */ +export const SEMATTRS_RPC_JSONRPC_ERROR_CODE = TMP_RPC_JSONRPC_ERROR_CODE; + +/** + * `error.message` property of response if it is an error response. + */ +export const SEMATTRS_RPC_JSONRPC_ERROR_MESSAGE = TMP_RPC_JSONRPC_ERROR_MESSAGE; + +/** + * Whether this is a received or sent message. + */ +export const SEMATTRS_MESSAGE_TYPE = TMP_MESSAGE_TYPE; + +/** + * MUST be calculated as two different counters starting from `1` one for sent messages and one for received message. + * + * Note: This way we guarantee that the values will be consistent between different implementations. + */ +export const SEMATTRS_MESSAGE_ID = TMP_MESSAGE_ID; + +/** + * Compressed size of the message in bytes. + */ +export const SEMATTRS_MESSAGE_COMPRESSED_SIZE = TMP_MESSAGE_COMPRESSED_SIZE; + +/** + * Uncompressed size of the message in bytes. + */ +export const SEMATTRS_MESSAGE_UNCOMPRESSED_SIZE = TMP_MESSAGE_UNCOMPRESSED_SIZE; + +/** + * Definition of available values for SemanticAttributes + * This type is used for backward compatibility, you should use the individual exported + * constants SemanticAttributes_XXXXX rather than the exported constant map. As any single reference + * to a constant map value will result in all strings being included into your bundle. + * @deprecated Use the SEMATTRS_XXXXX constants rather than the SemanticAttributes.XXXXX for bundle minification. + */ +export type SemanticAttributes = { /** * The full invoked ARN as provided on the `Context` passed to the function (`Lambda-Runtime-Invoked-Function-Arn` header on the `/runtime/invocation/next` applicable). * * Note: This may be different from `faas.id` if an alias is involved. */ - AWS_LAMBDA_INVOKED_ARN: 'aws.lambda.invoked_arn', + AWS_LAMBDA_INVOKED_ARN: 'aws.lambda.invoked_arn'; /** * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. */ - DB_SYSTEM: 'db.system', + DB_SYSTEM: 'db.system'; /** * The connection string used to connect to the database. It is recommended to remove embedded credentials. */ - DB_CONNECTION_STRING: 'db.connection_string', + DB_CONNECTION_STRING: 'db.connection_string'; /** * Username for accessing the database. */ - DB_USER: 'db.user', + DB_USER: 'db.user'; /** * The fully-qualified class name of the [Java Database Connectivity (JDBC)](https://docs.oracle.com/javase/8/docs/technotes/guides/jdbc/) driver used to connect. */ - DB_JDBC_DRIVER_CLASSNAME: 'db.jdbc.driver_classname', + DB_JDBC_DRIVER_CLASSNAME: 'db.jdbc.driver_classname'; /** * If no [tech-specific attribute](#call-level-attributes-for-specific-technologies) is defined, this attribute is used to report the name of the database being accessed. For commands that switch the database, this should be set to the target database (even if the command fails). * * Note: In some SQL databases, the database name to be used is called "schema name". */ - DB_NAME: 'db.name', + DB_NAME: 'db.name'; /** * The database statement being executed. * * Note: The value may be sanitized to exclude sensitive information. */ - DB_STATEMENT: 'db.statement', + DB_STATEMENT: 'db.statement'; /** * The name of the operation being executed, e.g. the [MongoDB command name](https://docs.mongodb.com/manual/reference/command/#database-operations) such as `findAndModify`, or the SQL keyword. * * Note: When setting this to an SQL keyword, it is not recommended to attempt any client-side parsing of `db.statement` just to get this property, but it should be set if the operation name is provided by the library being instrumented. If the SQL statement has an ambiguous operation, or performs more than one operation, this value may be omitted. */ - DB_OPERATION: 'db.operation', + DB_OPERATION: 'db.operation'; /** * The Microsoft SQL Server [instance name](https://docs.microsoft.com/en-us/sql/connect/jdbc/building-the-connection-url?view=sql-server-ver15) connecting to. This name is used to determine the port of a named instance. * * Note: If setting a `db.mssql.instance_name`, `net.peer.port` is no longer required (but still recommended if non-standard). */ - DB_MSSQL_INSTANCE_NAME: 'db.mssql.instance_name', + DB_MSSQL_INSTANCE_NAME: 'db.mssql.instance_name'; /** * The name of the keyspace being accessed. To be used instead of the generic `db.name` attribute. */ - DB_CASSANDRA_KEYSPACE: 'db.cassandra.keyspace', + DB_CASSANDRA_KEYSPACE: 'db.cassandra.keyspace'; /** * The fetch size used for paging, i.e. how many rows will be returned at once. */ - DB_CASSANDRA_PAGE_SIZE: 'db.cassandra.page_size', + DB_CASSANDRA_PAGE_SIZE: 'db.cassandra.page_size'; /** * The consistency level of the query. Based on consistency values from [CQL](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html). */ - DB_CASSANDRA_CONSISTENCY_LEVEL: 'db.cassandra.consistency_level', + DB_CASSANDRA_CONSISTENCY_LEVEL: 'db.cassandra.consistency_level'; /** * The name of the primary table that the operation is acting upon, including the schema name (if applicable). * * Note: This mirrors the db.sql.table attribute but references cassandra rather than sql. It is not recommended to attempt any client-side parsing of `db.statement` just to get this property, but it should be set if it is provided by the library being instrumented. If the operation is acting upon an anonymous table, or more than one table, this value MUST NOT be set. */ - DB_CASSANDRA_TABLE: 'db.cassandra.table', + DB_CASSANDRA_TABLE: 'db.cassandra.table'; /** * Whether or not the query is idempotent. */ - DB_CASSANDRA_IDEMPOTENCE: 'db.cassandra.idempotence', + DB_CASSANDRA_IDEMPOTENCE: 'db.cassandra.idempotence'; /** * The number of times a query was speculatively executed. Not set or `0` if the query was not executed speculatively. */ - DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT: - 'db.cassandra.speculative_execution_count', + DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT: 'db.cassandra.speculative_execution_count'; /** * The ID of the coordinating node for a query. */ - DB_CASSANDRA_COORDINATOR_ID: 'db.cassandra.coordinator.id', + DB_CASSANDRA_COORDINATOR_ID: 'db.cassandra.coordinator.id'; /** * The data center of the coordinating node for a query. */ - DB_CASSANDRA_COORDINATOR_DC: 'db.cassandra.coordinator.dc', + DB_CASSANDRA_COORDINATOR_DC: 'db.cassandra.coordinator.dc'; /** * The [HBase namespace](https://hbase.apache.org/book.html#_namespace) being accessed. To be used instead of the generic `db.name` attribute. */ - DB_HBASE_NAMESPACE: 'db.hbase.namespace', + DB_HBASE_NAMESPACE: 'db.hbase.namespace'; /** * The index of the database being accessed as used in the [`SELECT` command](https://redis.io/commands/select), provided as an integer. To be used instead of the generic `db.name` attribute. */ - DB_REDIS_DATABASE_INDEX: 'db.redis.database_index', + DB_REDIS_DATABASE_INDEX: 'db.redis.database_index'; /** * The collection being accessed within the database stated in `db.name`. */ - DB_MONGODB_COLLECTION: 'db.mongodb.collection', + DB_MONGODB_COLLECTION: 'db.mongodb.collection'; /** * The name of the primary table that the operation is acting upon, including the schema name (if applicable). * * Note: It is not recommended to attempt any client-side parsing of `db.statement` just to get this property, but it should be set if it is provided by the library being instrumented. If the operation is acting upon an anonymous table, or more than one table, this value MUST NOT be set. */ - DB_SQL_TABLE: 'db.sql.table', + DB_SQL_TABLE: 'db.sql.table'; /** * The type of the exception (its fully-qualified class name, if applicable). The dynamic type of the exception should be preferred over the static type in languages that support it. */ - EXCEPTION_TYPE: 'exception.type', + EXCEPTION_TYPE: 'exception.type'; /** * The exception message. */ - EXCEPTION_MESSAGE: 'exception.message', + EXCEPTION_MESSAGE: 'exception.message'; /** * A stacktrace as a string in the natural representation for the language runtime. The representation is to be determined and documented by each language SIG. */ - EXCEPTION_STACKTRACE: 'exception.stacktrace', + EXCEPTION_STACKTRACE: 'exception.stacktrace'; /** * SHOULD be set to true if the exception event is recorded at a point where it is known that the exception is escaping the scope of the span. @@ -171,268 +1065,266 @@ even if the `exception.escaped` attribute was not set or set to false, since the event might have been recorded at a time where it was not clear whether the exception will escape. */ - EXCEPTION_ESCAPED: 'exception.escaped', + EXCEPTION_ESCAPED: 'exception.escaped'; /** * Type of the trigger on which the function is executed. */ - FAAS_TRIGGER: 'faas.trigger', + FAAS_TRIGGER: 'faas.trigger'; /** * The execution ID of the current function execution. */ - FAAS_EXECUTION: 'faas.execution', + FAAS_EXECUTION: 'faas.execution'; /** * The name of the source on which the triggering operation was performed. For example, in Cloud Storage or S3 corresponds to the bucket name, and in Cosmos DB to the database name. */ - FAAS_DOCUMENT_COLLECTION: 'faas.document.collection', + FAAS_DOCUMENT_COLLECTION: 'faas.document.collection'; /** * Describes the type of the operation that was performed on the data. */ - FAAS_DOCUMENT_OPERATION: 'faas.document.operation', + FAAS_DOCUMENT_OPERATION: 'faas.document.operation'; /** * A string containing the time when the data was accessed in the [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format expressed in [UTC](https://www.w3.org/TR/NOTE-datetime). */ - FAAS_DOCUMENT_TIME: 'faas.document.time', + FAAS_DOCUMENT_TIME: 'faas.document.time'; /** * The document name/table subjected to the operation. For example, in Cloud Storage or S3 is the name of the file, and in Cosmos DB the table name. */ - FAAS_DOCUMENT_NAME: 'faas.document.name', + FAAS_DOCUMENT_NAME: 'faas.document.name'; /** * A string containing the function invocation time in the [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format expressed in [UTC](https://www.w3.org/TR/NOTE-datetime). */ - FAAS_TIME: 'faas.time', + FAAS_TIME: 'faas.time'; /** * A string containing the schedule period as [Cron Expression](https://docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm). */ - FAAS_CRON: 'faas.cron', + FAAS_CRON: 'faas.cron'; /** * A boolean that is true if the serverless function is executed for the first time (aka cold-start). */ - FAAS_COLDSTART: 'faas.coldstart', + FAAS_COLDSTART: 'faas.coldstart'; /** * The name of the invoked function. * * Note: SHOULD be equal to the `faas.name` resource attribute of the invoked function. */ - FAAS_INVOKED_NAME: 'faas.invoked_name', + FAAS_INVOKED_NAME: 'faas.invoked_name'; /** * The cloud provider of the invoked function. * * Note: SHOULD be equal to the `cloud.provider` resource attribute of the invoked function. */ - FAAS_INVOKED_PROVIDER: 'faas.invoked_provider', + FAAS_INVOKED_PROVIDER: 'faas.invoked_provider'; /** * The cloud region of the invoked function. * * Note: SHOULD be equal to the `cloud.region` resource attribute of the invoked function. */ - FAAS_INVOKED_REGION: 'faas.invoked_region', + FAAS_INVOKED_REGION: 'faas.invoked_region'; /** * Transport protocol used. See note below. */ - NET_TRANSPORT: 'net.transport', + NET_TRANSPORT: 'net.transport'; /** * Remote address of the peer (dotted decimal for IPv4 or [RFC5952](https://tools.ietf.org/html/rfc5952) for IPv6). */ - NET_PEER_IP: 'net.peer.ip', + NET_PEER_IP: 'net.peer.ip'; /** * Remote port number. */ - NET_PEER_PORT: 'net.peer.port', + NET_PEER_PORT: 'net.peer.port'; /** * Remote hostname or similar, see note below. */ - NET_PEER_NAME: 'net.peer.name', + NET_PEER_NAME: 'net.peer.name'; /** * Like `net.peer.ip` but for the host IP. Useful in case of a multi-IP host. */ - NET_HOST_IP: 'net.host.ip', + NET_HOST_IP: 'net.host.ip'; /** * Like `net.peer.port` but for the host port. */ - NET_HOST_PORT: 'net.host.port', + NET_HOST_PORT: 'net.host.port'; /** * Local hostname or similar, see note below. */ - NET_HOST_NAME: 'net.host.name', + NET_HOST_NAME: 'net.host.name'; /** * The internet connection type currently being used by the host. */ - NET_HOST_CONNECTION_TYPE: 'net.host.connection.type', + NET_HOST_CONNECTION_TYPE: 'net.host.connection.type'; /** * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. */ - NET_HOST_CONNECTION_SUBTYPE: 'net.host.connection.subtype', + NET_HOST_CONNECTION_SUBTYPE: 'net.host.connection.subtype'; /** * The name of the mobile carrier. */ - NET_HOST_CARRIER_NAME: 'net.host.carrier.name', + NET_HOST_CARRIER_NAME: 'net.host.carrier.name'; /** * The mobile carrier country code. */ - NET_HOST_CARRIER_MCC: 'net.host.carrier.mcc', + NET_HOST_CARRIER_MCC: 'net.host.carrier.mcc'; /** * The mobile carrier network code. */ - NET_HOST_CARRIER_MNC: 'net.host.carrier.mnc', + NET_HOST_CARRIER_MNC: 'net.host.carrier.mnc'; /** * The ISO 3166-1 alpha-2 2-character country code associated with the mobile carrier network. */ - NET_HOST_CARRIER_ICC: 'net.host.carrier.icc', + NET_HOST_CARRIER_ICC: 'net.host.carrier.icc'; /** * The [`service.name`](../../resource/semantic_conventions/README.md#service) of the remote service. SHOULD be equal to the actual `service.name` resource attribute of the remote service if any. */ - PEER_SERVICE: 'peer.service', + PEER_SERVICE: 'peer.service'; /** * Username or client_id extracted from the access token or [Authorization](https://tools.ietf.org/html/rfc7235#section-4.2) header in the inbound request from outside the system. */ - ENDUSER_ID: 'enduser.id', + ENDUSER_ID: 'enduser.id'; /** * Actual/assumed role the client is making the request under extracted from token or application security context. */ - ENDUSER_ROLE: 'enduser.role', + ENDUSER_ROLE: 'enduser.role'; /** * Scopes or granted authorities the client currently possesses extracted from token or application security context. The value would come from the scope associated with an [OAuth 2.0 Access Token](https://tools.ietf.org/html/rfc6749#section-3.3) or an attribute value in a [SAML 2.0 Assertion](http://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-tech-overview-2.0.html). */ - ENDUSER_SCOPE: 'enduser.scope', + ENDUSER_SCOPE: 'enduser.scope'; /** * Current "managed" thread ID (as opposed to OS thread ID). */ - THREAD_ID: 'thread.id', + THREAD_ID: 'thread.id'; /** * Current thread name. */ - THREAD_NAME: 'thread.name', + THREAD_NAME: 'thread.name'; /** * The method or function name, or equivalent (usually rightmost part of the code unit's name). */ - CODE_FUNCTION: 'code.function', + CODE_FUNCTION: 'code.function'; /** * The "namespace" within which `code.function` is defined. Usually the qualified class or module name, such that `code.namespace` + some separator + `code.function` form a unique identifier for the code unit. */ - CODE_NAMESPACE: 'code.namespace', + CODE_NAMESPACE: 'code.namespace'; /** * The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path). */ - CODE_FILEPATH: 'code.filepath', + CODE_FILEPATH: 'code.filepath'; /** * The line number in `code.filepath` best representing the operation. It SHOULD point within the code unit named in `code.function`. */ - CODE_LINENO: 'code.lineno', + CODE_LINENO: 'code.lineno'; /** * HTTP request method. */ - HTTP_METHOD: 'http.method', + HTTP_METHOD: 'http.method'; /** * Full HTTP request URL in the form `scheme://host[:port]/path?query[#fragment]`. Usually the fragment is not transmitted over HTTP, but if it is known, it should be included nevertheless. * * Note: `http.url` MUST NOT contain credentials passed via URL in form of `https://username:password@www.example.com/`. In such case the attribute's value should be `https://www.example.com/`. */ - HTTP_URL: 'http.url', + HTTP_URL: 'http.url'; /** * The full request target as passed in a HTTP request line or equivalent. */ - HTTP_TARGET: 'http.target', + HTTP_TARGET: 'http.target'; /** * The value of the [HTTP host header](https://tools.ietf.org/html/rfc7230#section-5.4). An empty Host header should also be reported, see note. * * Note: When the header is present but empty the attribute SHOULD be set to the empty string. Note that this is a valid situation that is expected in certain cases, according the aforementioned [section of RFC 7230](https://tools.ietf.org/html/rfc7230#section-5.4). When the header is not set the attribute MUST NOT be set. */ - HTTP_HOST: 'http.host', + HTTP_HOST: 'http.host'; /** * The URI scheme identifying the used protocol. */ - HTTP_SCHEME: 'http.scheme', + HTTP_SCHEME: 'http.scheme'; /** * [HTTP response status code](https://tools.ietf.org/html/rfc7231#section-6). */ - HTTP_STATUS_CODE: 'http.status_code', + HTTP_STATUS_CODE: 'http.status_code'; /** * Kind of HTTP protocol used. * * Note: If `net.transport` is not specified, it can be assumed to be `IP.TCP` except if `http.flavor` is `QUIC`, in which case `IP.UDP` is assumed. */ - HTTP_FLAVOR: 'http.flavor', + HTTP_FLAVOR: 'http.flavor'; /** * Value of the [HTTP User-Agent](https://tools.ietf.org/html/rfc7231#section-5.5.3) header sent by the client. */ - HTTP_USER_AGENT: 'http.user_agent', + HTTP_USER_AGENT: 'http.user_agent'; /** * The size of the request payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the [Content-Length](https://tools.ietf.org/html/rfc7230#section-3.3.2) header. For requests using transport encoding, this should be the compressed size. */ - HTTP_REQUEST_CONTENT_LENGTH: 'http.request_content_length', + HTTP_REQUEST_CONTENT_LENGTH: 'http.request_content_length'; /** * The size of the uncompressed request payload body after transport decoding. Not set if transport encoding not used. */ - HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED: - 'http.request_content_length_uncompressed', + HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED: 'http.request_content_length_uncompressed'; /** * The size of the response payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the [Content-Length](https://tools.ietf.org/html/rfc7230#section-3.3.2) header. For requests using transport encoding, this should be the compressed size. */ - HTTP_RESPONSE_CONTENT_LENGTH: 'http.response_content_length', + HTTP_RESPONSE_CONTENT_LENGTH: 'http.response_content_length'; /** * The size of the uncompressed response payload body after transport decoding. Not set if transport encoding not used. */ - HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED: - 'http.response_content_length_uncompressed', + HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED: 'http.response_content_length_uncompressed'; /** * The primary server name of the matched virtual host. This should be obtained via configuration. If no such configuration can be obtained, this attribute MUST NOT be set ( `net.host.name` should be used instead). * * Note: `http.url` is usually not readily available on the server side but would have to be assembled in a cumbersome and sometimes lossy process from other information (see e.g. open-telemetry/opentelemetry-python/pull/148). It is thus preferred to supply the raw data that is available. */ - HTTP_SERVER_NAME: 'http.server_name', + HTTP_SERVER_NAME: 'http.server_name'; /** * The matched route (path template). */ - HTTP_ROUTE: 'http.route', + HTTP_ROUTE: 'http.route'; /** * The IP address of the original client behind all proxies, if known (e.g. from [X-Forwarded-For](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For)). @@ -449,610 +1341,2135 @@ comes from a proxy, reverse proxy, or the actual client. Setting one is at least somewhat confident that the address is not that of the closest proxy. */ - HTTP_CLIENT_IP: 'http.client_ip', + HTTP_CLIENT_IP: 'http.client_ip'; /** * The keys in the `RequestItems` object field. */ - AWS_DYNAMODB_TABLE_NAMES: 'aws.dynamodb.table_names', + AWS_DYNAMODB_TABLE_NAMES: 'aws.dynamodb.table_names'; /** * The JSON-serialized value of each item in the `ConsumedCapacity` response field. */ - AWS_DYNAMODB_CONSUMED_CAPACITY: 'aws.dynamodb.consumed_capacity', + AWS_DYNAMODB_CONSUMED_CAPACITY: 'aws.dynamodb.consumed_capacity'; /** * The JSON-serialized value of the `ItemCollectionMetrics` response field. */ - AWS_DYNAMODB_ITEM_COLLECTION_METRICS: 'aws.dynamodb.item_collection_metrics', + AWS_DYNAMODB_ITEM_COLLECTION_METRICS: 'aws.dynamodb.item_collection_metrics'; /** * The value of the `ProvisionedThroughput.ReadCapacityUnits` request parameter. */ - AWS_DYNAMODB_PROVISIONED_READ_CAPACITY: - 'aws.dynamodb.provisioned_read_capacity', + AWS_DYNAMODB_PROVISIONED_READ_CAPACITY: 'aws.dynamodb.provisioned_read_capacity'; /** * The value of the `ProvisionedThroughput.WriteCapacityUnits` request parameter. */ - AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY: - 'aws.dynamodb.provisioned_write_capacity', + AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY: 'aws.dynamodb.provisioned_write_capacity'; /** * The value of the `ConsistentRead` request parameter. */ - AWS_DYNAMODB_CONSISTENT_READ: 'aws.dynamodb.consistent_read', + AWS_DYNAMODB_CONSISTENT_READ: 'aws.dynamodb.consistent_read'; /** * The value of the `ProjectionExpression` request parameter. */ - AWS_DYNAMODB_PROJECTION: 'aws.dynamodb.projection', + AWS_DYNAMODB_PROJECTION: 'aws.dynamodb.projection'; /** * The value of the `Limit` request parameter. */ - AWS_DYNAMODB_LIMIT: 'aws.dynamodb.limit', + AWS_DYNAMODB_LIMIT: 'aws.dynamodb.limit'; /** * The value of the `AttributesToGet` request parameter. */ - AWS_DYNAMODB_ATTRIBUTES_TO_GET: 'aws.dynamodb.attributes_to_get', + AWS_DYNAMODB_ATTRIBUTES_TO_GET: 'aws.dynamodb.attributes_to_get'; /** * The value of the `IndexName` request parameter. */ - AWS_DYNAMODB_INDEX_NAME: 'aws.dynamodb.index_name', + AWS_DYNAMODB_INDEX_NAME: 'aws.dynamodb.index_name'; /** * The value of the `Select` request parameter. */ - AWS_DYNAMODB_SELECT: 'aws.dynamodb.select', + AWS_DYNAMODB_SELECT: 'aws.dynamodb.select'; /** * The JSON-serialized value of each item of the `GlobalSecondaryIndexes` request field. */ - AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES: - 'aws.dynamodb.global_secondary_indexes', + AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES: 'aws.dynamodb.global_secondary_indexes'; /** * The JSON-serialized value of each item of the `LocalSecondaryIndexes` request field. */ - AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES: 'aws.dynamodb.local_secondary_indexes', + AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES: 'aws.dynamodb.local_secondary_indexes'; /** * The value of the `ExclusiveStartTableName` request parameter. */ - AWS_DYNAMODB_EXCLUSIVE_START_TABLE: 'aws.dynamodb.exclusive_start_table', + AWS_DYNAMODB_EXCLUSIVE_START_TABLE: 'aws.dynamodb.exclusive_start_table'; /** * The the number of items in the `TableNames` response parameter. */ - AWS_DYNAMODB_TABLE_COUNT: 'aws.dynamodb.table_count', + AWS_DYNAMODB_TABLE_COUNT: 'aws.dynamodb.table_count'; /** * The value of the `ScanIndexForward` request parameter. */ - AWS_DYNAMODB_SCAN_FORWARD: 'aws.dynamodb.scan_forward', + AWS_DYNAMODB_SCAN_FORWARD: 'aws.dynamodb.scan_forward'; /** * The value of the `Segment` request parameter. */ - AWS_DYNAMODB_SEGMENT: 'aws.dynamodb.segment', + AWS_DYNAMODB_SEGMENT: 'aws.dynamodb.segment'; /** * The value of the `TotalSegments` request parameter. */ - AWS_DYNAMODB_TOTAL_SEGMENTS: 'aws.dynamodb.total_segments', + AWS_DYNAMODB_TOTAL_SEGMENTS: 'aws.dynamodb.total_segments'; /** * The value of the `Count` response parameter. */ - AWS_DYNAMODB_COUNT: 'aws.dynamodb.count', + AWS_DYNAMODB_COUNT: 'aws.dynamodb.count'; /** * The value of the `ScannedCount` response parameter. */ - AWS_DYNAMODB_SCANNED_COUNT: 'aws.dynamodb.scanned_count', + AWS_DYNAMODB_SCANNED_COUNT: 'aws.dynamodb.scanned_count'; /** * The JSON-serialized value of each item in the `AttributeDefinitions` request field. */ - AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS: 'aws.dynamodb.attribute_definitions', + AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS: 'aws.dynamodb.attribute_definitions'; /** * The JSON-serialized value of each item in the the `GlobalSecondaryIndexUpdates` request field. */ - AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES: - 'aws.dynamodb.global_secondary_index_updates', + AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES: 'aws.dynamodb.global_secondary_index_updates'; /** * A string identifying the messaging system. */ - MESSAGING_SYSTEM: 'messaging.system', + MESSAGING_SYSTEM: 'messaging.system'; /** * The message destination name. This might be equal to the span name but is required nevertheless. */ - MESSAGING_DESTINATION: 'messaging.destination', + MESSAGING_DESTINATION: 'messaging.destination'; /** * The kind of message destination. */ - MESSAGING_DESTINATION_KIND: 'messaging.destination_kind', + MESSAGING_DESTINATION_KIND: 'messaging.destination_kind'; /** * A boolean that is true if the message destination is temporary. */ - MESSAGING_TEMP_DESTINATION: 'messaging.temp_destination', + MESSAGING_TEMP_DESTINATION: 'messaging.temp_destination'; /** * The name of the transport protocol. */ - MESSAGING_PROTOCOL: 'messaging.protocol', + MESSAGING_PROTOCOL: 'messaging.protocol'; /** * The version of the transport protocol. */ - MESSAGING_PROTOCOL_VERSION: 'messaging.protocol_version', + MESSAGING_PROTOCOL_VERSION: 'messaging.protocol_version'; /** * Connection string. */ - MESSAGING_URL: 'messaging.url', + MESSAGING_URL: 'messaging.url'; /** * A value used by the messaging system as an identifier for the message, represented as a string. */ - MESSAGING_MESSAGE_ID: 'messaging.message_id', + MESSAGING_MESSAGE_ID: 'messaging.message_id'; /** * The [conversation ID](#conversations) identifying the conversation to which the message belongs, represented as a string. Sometimes called "Correlation ID". */ - MESSAGING_CONVERSATION_ID: 'messaging.conversation_id', + MESSAGING_CONVERSATION_ID: 'messaging.conversation_id'; /** * The (uncompressed) size of the message payload in bytes. Also use this attribute if it is unknown whether the compressed or uncompressed payload size is reported. */ - MESSAGING_MESSAGE_PAYLOAD_SIZE_BYTES: 'messaging.message_payload_size_bytes', + MESSAGING_MESSAGE_PAYLOAD_SIZE_BYTES: 'messaging.message_payload_size_bytes'; /** * The compressed size of the message payload in bytes. */ - MESSAGING_MESSAGE_PAYLOAD_COMPRESSED_SIZE_BYTES: - 'messaging.message_payload_compressed_size_bytes', + MESSAGING_MESSAGE_PAYLOAD_COMPRESSED_SIZE_BYTES: 'messaging.message_payload_compressed_size_bytes'; /** * A string identifying the kind of message consumption as defined in the [Operation names](#operation-names) section above. If the operation is "send", this attribute MUST NOT be set, since the operation can be inferred from the span kind in that case. */ - MESSAGING_OPERATION: 'messaging.operation', + MESSAGING_OPERATION: 'messaging.operation'; /** * The identifier for the consumer receiving a message. For Kafka, set it to `{messaging.kafka.consumer_group} - {messaging.kafka.client_id}`, if both are present, or only `messaging.kafka.consumer_group`. For brokers, such as RabbitMQ and Artemis, set it to the `client_id` of the client consuming the message. */ - MESSAGING_CONSUMER_ID: 'messaging.consumer_id', + MESSAGING_CONSUMER_ID: 'messaging.consumer_id'; /** * RabbitMQ message routing key. */ - MESSAGING_RABBITMQ_ROUTING_KEY: 'messaging.rabbitmq.routing_key', + MESSAGING_RABBITMQ_ROUTING_KEY: 'messaging.rabbitmq.routing_key'; /** * Message keys in Kafka are used for grouping alike messages to ensure they're processed on the same partition. They differ from `messaging.message_id` in that they're not unique. If the key is `null`, the attribute MUST NOT be set. * * Note: If the key type is not string, it's string representation has to be supplied for the attribute. If the key has no unambiguous, canonical string form, don't include its value. */ - MESSAGING_KAFKA_MESSAGE_KEY: 'messaging.kafka.message_key', + MESSAGING_KAFKA_MESSAGE_KEY: 'messaging.kafka.message_key'; /** * Name of the Kafka Consumer Group that is handling the message. Only applies to consumers, not producers. */ - MESSAGING_KAFKA_CONSUMER_GROUP: 'messaging.kafka.consumer_group', + MESSAGING_KAFKA_CONSUMER_GROUP: 'messaging.kafka.consumer_group'; /** * Client Id for the Consumer or Producer that is handling the message. */ - MESSAGING_KAFKA_CLIENT_ID: 'messaging.kafka.client_id', + MESSAGING_KAFKA_CLIENT_ID: 'messaging.kafka.client_id'; /** * Partition the message is sent to. */ - MESSAGING_KAFKA_PARTITION: 'messaging.kafka.partition', + MESSAGING_KAFKA_PARTITION: 'messaging.kafka.partition'; /** * A boolean that is true if the message is a tombstone. */ - MESSAGING_KAFKA_TOMBSTONE: 'messaging.kafka.tombstone', + MESSAGING_KAFKA_TOMBSTONE: 'messaging.kafka.tombstone'; /** * A string identifying the remoting system. */ - RPC_SYSTEM: 'rpc.system', + RPC_SYSTEM: 'rpc.system'; /** * The full (logical) name of the service being called, including its package name, if applicable. * * Note: This is the logical name of the service from the RPC interface perspective, which can be different from the name of any implementing class. The `code.namespace` attribute may be used to store the latter (despite the attribute name, it may include a class name; e.g., class with method actually executing the call on the server side, RPC client stub class on the client side). */ - RPC_SERVICE: 'rpc.service', + RPC_SERVICE: 'rpc.service'; /** * The name of the (logical) method being called, must be equal to the $method part in the span name. * * Note: This is the logical name of the method from the RPC interface perspective, which can be different from the name of any implementing method/function. The `code.function` attribute may be used to store the latter (e.g., method actually executing the call on the server side, RPC client stub method on the client side). */ - RPC_METHOD: 'rpc.method', + RPC_METHOD: 'rpc.method'; /** * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. */ - RPC_GRPC_STATUS_CODE: 'rpc.grpc.status_code', + RPC_GRPC_STATUS_CODE: 'rpc.grpc.status_code'; /** * Protocol version as in `jsonrpc` property of request/response. Since JSON-RPC 1.0 does not specify this, the value can be omitted. */ - RPC_JSONRPC_VERSION: 'rpc.jsonrpc.version', + RPC_JSONRPC_VERSION: 'rpc.jsonrpc.version'; /** * `id` property of request or response. Since protocol allows id to be int, string, `null` or missing (for notifications), value is expected to be cast to string for simplicity. Use empty string in case of `null` value. Omit entirely if this is a notification. */ - RPC_JSONRPC_REQUEST_ID: 'rpc.jsonrpc.request_id', + RPC_JSONRPC_REQUEST_ID: 'rpc.jsonrpc.request_id'; /** * `error.code` property of response if it is an error response. */ - RPC_JSONRPC_ERROR_CODE: 'rpc.jsonrpc.error_code', + RPC_JSONRPC_ERROR_CODE: 'rpc.jsonrpc.error_code'; /** * `error.message` property of response if it is an error response. */ - RPC_JSONRPC_ERROR_MESSAGE: 'rpc.jsonrpc.error_message', + RPC_JSONRPC_ERROR_MESSAGE: 'rpc.jsonrpc.error_message'; /** * Whether this is a received or sent message. */ - MESSAGE_TYPE: 'message.type', + MESSAGE_TYPE: 'message.type'; /** * MUST be calculated as two different counters starting from `1` one for sent messages and one for received message. * * Note: This way we guarantee that the values will be consistent between different implementations. */ - MESSAGE_ID: 'message.id', + MESSAGE_ID: 'message.id'; /** * Compressed size of the message in bytes. */ - MESSAGE_COMPRESSED_SIZE: 'message.compressed_size', + MESSAGE_COMPRESSED_SIZE: 'message.compressed_size'; /** * Uncompressed size of the message in bytes. */ - MESSAGE_UNCOMPRESSED_SIZE: 'message.uncompressed_size', + MESSAGE_UNCOMPRESSED_SIZE: 'message.uncompressed_size'; }; -export const DbSystemValues = { +/** + * Create exported Value Map for SemanticAttributes values + * @deprecated Use the SEMATTRS_XXXXX constants rather than the SemanticAttributes.XXXXX for bundle minification + */ +export const SemanticAttributes: SemanticAttributes = + /*#__PURE__*/ createConstMap([ + TMP_AWS_LAMBDA_INVOKED_ARN, + TMP_DB_SYSTEM, + TMP_DB_CONNECTION_STRING, + TMP_DB_USER, + TMP_DB_JDBC_DRIVER_CLASSNAME, + TMP_DB_NAME, + TMP_DB_STATEMENT, + TMP_DB_OPERATION, + TMP_DB_MSSQL_INSTANCE_NAME, + TMP_DB_CASSANDRA_KEYSPACE, + TMP_DB_CASSANDRA_PAGE_SIZE, + TMP_DB_CASSANDRA_CONSISTENCY_LEVEL, + TMP_DB_CASSANDRA_TABLE, + TMP_DB_CASSANDRA_IDEMPOTENCE, + TMP_DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT, + TMP_DB_CASSANDRA_COORDINATOR_ID, + TMP_DB_CASSANDRA_COORDINATOR_DC, + TMP_DB_HBASE_NAMESPACE, + TMP_DB_REDIS_DATABASE_INDEX, + TMP_DB_MONGODB_COLLECTION, + TMP_DB_SQL_TABLE, + TMP_EXCEPTION_TYPE, + TMP_EXCEPTION_MESSAGE, + TMP_EXCEPTION_STACKTRACE, + TMP_EXCEPTION_ESCAPED, + TMP_FAAS_TRIGGER, + TMP_FAAS_EXECUTION, + TMP_FAAS_DOCUMENT_COLLECTION, + TMP_FAAS_DOCUMENT_OPERATION, + TMP_FAAS_DOCUMENT_TIME, + TMP_FAAS_DOCUMENT_NAME, + TMP_FAAS_TIME, + TMP_FAAS_CRON, + TMP_FAAS_COLDSTART, + TMP_FAAS_INVOKED_NAME, + TMP_FAAS_INVOKED_PROVIDER, + TMP_FAAS_INVOKED_REGION, + TMP_NET_TRANSPORT, + TMP_NET_PEER_IP, + TMP_NET_PEER_PORT, + TMP_NET_PEER_NAME, + TMP_NET_HOST_IP, + TMP_NET_HOST_PORT, + TMP_NET_HOST_NAME, + TMP_NET_HOST_CONNECTION_TYPE, + TMP_NET_HOST_CONNECTION_SUBTYPE, + TMP_NET_HOST_CARRIER_NAME, + TMP_NET_HOST_CARRIER_MCC, + TMP_NET_HOST_CARRIER_MNC, + TMP_NET_HOST_CARRIER_ICC, + TMP_PEER_SERVICE, + TMP_ENDUSER_ID, + TMP_ENDUSER_ROLE, + TMP_ENDUSER_SCOPE, + TMP_THREAD_ID, + TMP_THREAD_NAME, + TMP_CODE_FUNCTION, + TMP_CODE_NAMESPACE, + TMP_CODE_FILEPATH, + TMP_CODE_LINENO, + TMP_HTTP_METHOD, + TMP_HTTP_URL, + TMP_HTTP_TARGET, + TMP_HTTP_HOST, + TMP_HTTP_SCHEME, + TMP_HTTP_STATUS_CODE, + TMP_HTTP_FLAVOR, + TMP_HTTP_USER_AGENT, + TMP_HTTP_REQUEST_CONTENT_LENGTH, + TMP_HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED, + TMP_HTTP_RESPONSE_CONTENT_LENGTH, + TMP_HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED, + TMP_HTTP_SERVER_NAME, + TMP_HTTP_ROUTE, + TMP_HTTP_CLIENT_IP, + TMP_AWS_DYNAMODB_TABLE_NAMES, + TMP_AWS_DYNAMODB_CONSUMED_CAPACITY, + TMP_AWS_DYNAMODB_ITEM_COLLECTION_METRICS, + TMP_AWS_DYNAMODB_PROVISIONED_READ_CAPACITY, + TMP_AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY, + TMP_AWS_DYNAMODB_CONSISTENT_READ, + TMP_AWS_DYNAMODB_PROJECTION, + TMP_AWS_DYNAMODB_LIMIT, + TMP_AWS_DYNAMODB_ATTRIBUTES_TO_GET, + TMP_AWS_DYNAMODB_INDEX_NAME, + TMP_AWS_DYNAMODB_SELECT, + TMP_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES, + TMP_AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES, + TMP_AWS_DYNAMODB_EXCLUSIVE_START_TABLE, + TMP_AWS_DYNAMODB_TABLE_COUNT, + TMP_AWS_DYNAMODB_SCAN_FORWARD, + TMP_AWS_DYNAMODB_SEGMENT, + TMP_AWS_DYNAMODB_TOTAL_SEGMENTS, + TMP_AWS_DYNAMODB_COUNT, + TMP_AWS_DYNAMODB_SCANNED_COUNT, + TMP_AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS, + TMP_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES, + TMP_MESSAGING_SYSTEM, + TMP_MESSAGING_DESTINATION, + TMP_MESSAGING_DESTINATION_KIND, + TMP_MESSAGING_TEMP_DESTINATION, + TMP_MESSAGING_PROTOCOL, + TMP_MESSAGING_PROTOCOL_VERSION, + TMP_MESSAGING_URL, + TMP_MESSAGING_MESSAGE_ID, + TMP_MESSAGING_CONVERSATION_ID, + TMP_MESSAGING_MESSAGE_PAYLOAD_SIZE_BYTES, + TMP_MESSAGING_MESSAGE_PAYLOAD_COMPRESSED_SIZE_BYTES, + TMP_MESSAGING_OPERATION, + TMP_MESSAGING_CONSUMER_ID, + TMP_MESSAGING_RABBITMQ_ROUTING_KEY, + TMP_MESSAGING_KAFKA_MESSAGE_KEY, + TMP_MESSAGING_KAFKA_CONSUMER_GROUP, + TMP_MESSAGING_KAFKA_CLIENT_ID, + TMP_MESSAGING_KAFKA_PARTITION, + TMP_MESSAGING_KAFKA_TOMBSTONE, + TMP_RPC_SYSTEM, + TMP_RPC_SERVICE, + TMP_RPC_METHOD, + TMP_RPC_GRPC_STATUS_CODE, + TMP_RPC_JSONRPC_VERSION, + TMP_RPC_JSONRPC_REQUEST_ID, + TMP_RPC_JSONRPC_ERROR_CODE, + TMP_RPC_JSONRPC_ERROR_MESSAGE, + TMP_MESSAGE_TYPE, + TMP_MESSAGE_ID, + TMP_MESSAGE_COMPRESSED_SIZE, + TMP_MESSAGE_UNCOMPRESSED_SIZE, + ]); + +/* ---------------------------------------------------------------------------------------------------------- + * Constant values for DbSystemValues enum definition + * + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + * ---------------------------------------------------------------------------------------------------------- */ + +// Temporary local constants to assign to the individual exports and the namespaced version +// Required to avoid the namespace exports using the unminifable export names for some package types +const TMP_DBSYSTEMVALUES_OTHER_SQL = 'other_sql'; +const TMP_DBSYSTEMVALUES_MSSQL = 'mssql'; +const TMP_DBSYSTEMVALUES_MYSQL = 'mysql'; +const TMP_DBSYSTEMVALUES_ORACLE = 'oracle'; +const TMP_DBSYSTEMVALUES_DB2 = 'db2'; +const TMP_DBSYSTEMVALUES_POSTGRESQL = 'postgresql'; +const TMP_DBSYSTEMVALUES_REDSHIFT = 'redshift'; +const TMP_DBSYSTEMVALUES_HIVE = 'hive'; +const TMP_DBSYSTEMVALUES_CLOUDSCAPE = 'cloudscape'; +const TMP_DBSYSTEMVALUES_HSQLDB = 'hsqldb'; +const TMP_DBSYSTEMVALUES_PROGRESS = 'progress'; +const TMP_DBSYSTEMVALUES_MAXDB = 'maxdb'; +const TMP_DBSYSTEMVALUES_HANADB = 'hanadb'; +const TMP_DBSYSTEMVALUES_INGRES = 'ingres'; +const TMP_DBSYSTEMVALUES_FIRSTSQL = 'firstsql'; +const TMP_DBSYSTEMVALUES_EDB = 'edb'; +const TMP_DBSYSTEMVALUES_CACHE = 'cache'; +const TMP_DBSYSTEMVALUES_ADABAS = 'adabas'; +const TMP_DBSYSTEMVALUES_FIREBIRD = 'firebird'; +const TMP_DBSYSTEMVALUES_DERBY = 'derby'; +const TMP_DBSYSTEMVALUES_FILEMAKER = 'filemaker'; +const TMP_DBSYSTEMVALUES_INFORMIX = 'informix'; +const TMP_DBSYSTEMVALUES_INSTANTDB = 'instantdb'; +const TMP_DBSYSTEMVALUES_INTERBASE = 'interbase'; +const TMP_DBSYSTEMVALUES_MARIADB = 'mariadb'; +const TMP_DBSYSTEMVALUES_NETEZZA = 'netezza'; +const TMP_DBSYSTEMVALUES_PERVASIVE = 'pervasive'; +const TMP_DBSYSTEMVALUES_POINTBASE = 'pointbase'; +const TMP_DBSYSTEMVALUES_SQLITE = 'sqlite'; +const TMP_DBSYSTEMVALUES_SYBASE = 'sybase'; +const TMP_DBSYSTEMVALUES_TERADATA = 'teradata'; +const TMP_DBSYSTEMVALUES_VERTICA = 'vertica'; +const TMP_DBSYSTEMVALUES_H2 = 'h2'; +const TMP_DBSYSTEMVALUES_COLDFUSION = 'coldfusion'; +const TMP_DBSYSTEMVALUES_CASSANDRA = 'cassandra'; +const TMP_DBSYSTEMVALUES_HBASE = 'hbase'; +const TMP_DBSYSTEMVALUES_MONGODB = 'mongodb'; +const TMP_DBSYSTEMVALUES_REDIS = 'redis'; +const TMP_DBSYSTEMVALUES_COUCHBASE = 'couchbase'; +const TMP_DBSYSTEMVALUES_COUCHDB = 'couchdb'; +const TMP_DBSYSTEMVALUES_COSMOSDB = 'cosmosdb'; +const TMP_DBSYSTEMVALUES_DYNAMODB = 'dynamodb'; +const TMP_DBSYSTEMVALUES_NEO4J = 'neo4j'; +const TMP_DBSYSTEMVALUES_GEODE = 'geode'; +const TMP_DBSYSTEMVALUES_ELASTICSEARCH = 'elasticsearch'; +const TMP_DBSYSTEMVALUES_MEMCACHED = 'memcached'; +const TMP_DBSYSTEMVALUES_COCKROACHDB = 'cockroachdb'; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_OTHER_SQL = TMP_DBSYSTEMVALUES_OTHER_SQL; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_MSSQL = TMP_DBSYSTEMVALUES_MSSQL; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_MYSQL = TMP_DBSYSTEMVALUES_MYSQL; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_ORACLE = TMP_DBSYSTEMVALUES_ORACLE; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_DB2 = TMP_DBSYSTEMVALUES_DB2; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_POSTGRESQL = TMP_DBSYSTEMVALUES_POSTGRESQL; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_REDSHIFT = TMP_DBSYSTEMVALUES_REDSHIFT; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_HIVE = TMP_DBSYSTEMVALUES_HIVE; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_CLOUDSCAPE = TMP_DBSYSTEMVALUES_CLOUDSCAPE; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_HSQLDB = TMP_DBSYSTEMVALUES_HSQLDB; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_PROGRESS = TMP_DBSYSTEMVALUES_PROGRESS; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_MAXDB = TMP_DBSYSTEMVALUES_MAXDB; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_HANADB = TMP_DBSYSTEMVALUES_HANADB; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_INGRES = TMP_DBSYSTEMVALUES_INGRES; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_FIRSTSQL = TMP_DBSYSTEMVALUES_FIRSTSQL; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_EDB = TMP_DBSYSTEMVALUES_EDB; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_CACHE = TMP_DBSYSTEMVALUES_CACHE; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_ADABAS = TMP_DBSYSTEMVALUES_ADABAS; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_FIREBIRD = TMP_DBSYSTEMVALUES_FIREBIRD; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_DERBY = TMP_DBSYSTEMVALUES_DERBY; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_FILEMAKER = TMP_DBSYSTEMVALUES_FILEMAKER; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_INFORMIX = TMP_DBSYSTEMVALUES_INFORMIX; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_INSTANTDB = TMP_DBSYSTEMVALUES_INSTANTDB; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_INTERBASE = TMP_DBSYSTEMVALUES_INTERBASE; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_MARIADB = TMP_DBSYSTEMVALUES_MARIADB; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_NETEZZA = TMP_DBSYSTEMVALUES_NETEZZA; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_PERVASIVE = TMP_DBSYSTEMVALUES_PERVASIVE; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_POINTBASE = TMP_DBSYSTEMVALUES_POINTBASE; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_SQLITE = TMP_DBSYSTEMVALUES_SQLITE; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_SYBASE = TMP_DBSYSTEMVALUES_SYBASE; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_TERADATA = TMP_DBSYSTEMVALUES_TERADATA; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_VERTICA = TMP_DBSYSTEMVALUES_VERTICA; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_H2 = TMP_DBSYSTEMVALUES_H2; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_COLDFUSION = TMP_DBSYSTEMVALUES_COLDFUSION; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_CASSANDRA = TMP_DBSYSTEMVALUES_CASSANDRA; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_HBASE = TMP_DBSYSTEMVALUES_HBASE; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_MONGODB = TMP_DBSYSTEMVALUES_MONGODB; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_REDIS = TMP_DBSYSTEMVALUES_REDIS; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_COUCHBASE = TMP_DBSYSTEMVALUES_COUCHBASE; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_COUCHDB = TMP_DBSYSTEMVALUES_COUCHDB; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_COSMOSDB = TMP_DBSYSTEMVALUES_COSMOSDB; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_DYNAMODB = TMP_DBSYSTEMVALUES_DYNAMODB; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_NEO4J = TMP_DBSYSTEMVALUES_NEO4J; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_GEODE = TMP_DBSYSTEMVALUES_GEODE; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_ELASTICSEARCH = TMP_DBSYSTEMVALUES_ELASTICSEARCH; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_MEMCACHED = TMP_DBSYSTEMVALUES_MEMCACHED; + +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +export const DBSYSTEMVALUES_COCKROACHDB = TMP_DBSYSTEMVALUES_COCKROACHDB; + +/** + * Identifies the Values for DbSystemValues enum definition + * + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + * @deprecated Use the DBSYSTEMVALUES_XXXXX constants rather than the DbSystemValues.XXXXX for bundle minification. + */ +export type DbSystemValues = { /** Some other SQL database. Fallback only. See notes. */ - OTHER_SQL: 'other_sql', + OTHER_SQL: 'other_sql'; + /** Microsoft SQL Server. */ - MSSQL: 'mssql', + MSSQL: 'mssql'; + /** MySQL. */ - MYSQL: 'mysql', + MYSQL: 'mysql'; + /** Oracle Database. */ - ORACLE: 'oracle', + ORACLE: 'oracle'; + /** IBM Db2. */ - DB2: 'db2', + DB2: 'db2'; + /** PostgreSQL. */ - POSTGRESQL: 'postgresql', + POSTGRESQL: 'postgresql'; + /** Amazon Redshift. */ - REDSHIFT: 'redshift', + REDSHIFT: 'redshift'; + /** Apache Hive. */ - HIVE: 'hive', + HIVE: 'hive'; + /** Cloudscape. */ - CLOUDSCAPE: 'cloudscape', + CLOUDSCAPE: 'cloudscape'; + /** HyperSQL DataBase. */ - HSQLDB: 'hsqldb', + HSQLDB: 'hsqldb'; + /** Progress Database. */ - PROGRESS: 'progress', + PROGRESS: 'progress'; + /** SAP MaxDB. */ - MAXDB: 'maxdb', + MAXDB: 'maxdb'; + /** SAP HANA. */ - HANADB: 'hanadb', + HANADB: 'hanadb'; + /** Ingres. */ - INGRES: 'ingres', + INGRES: 'ingres'; + /** FirstSQL. */ - FIRSTSQL: 'firstsql', + FIRSTSQL: 'firstsql'; + /** EnterpriseDB. */ - EDB: 'edb', + EDB: 'edb'; + /** InterSystems Caché. */ - CACHE: 'cache', + CACHE: 'cache'; + /** Adabas (Adaptable Database System). */ - ADABAS: 'adabas', + ADABAS: 'adabas'; + /** Firebird. */ - FIREBIRD: 'firebird', + FIREBIRD: 'firebird'; + /** Apache Derby. */ - DERBY: 'derby', + DERBY: 'derby'; + /** FileMaker. */ - FILEMAKER: 'filemaker', + FILEMAKER: 'filemaker'; + /** Informix. */ - INFORMIX: 'informix', + INFORMIX: 'informix'; + /** InstantDB. */ - INSTANTDB: 'instantdb', + INSTANTDB: 'instantdb'; + /** InterBase. */ - INTERBASE: 'interbase', + INTERBASE: 'interbase'; + /** MariaDB. */ - MARIADB: 'mariadb', + MARIADB: 'mariadb'; + /** Netezza. */ - NETEZZA: 'netezza', + NETEZZA: 'netezza'; + /** Pervasive PSQL. */ - PERVASIVE: 'pervasive', + PERVASIVE: 'pervasive'; + /** PointBase. */ - POINTBASE: 'pointbase', + POINTBASE: 'pointbase'; + /** SQLite. */ - SQLITE: 'sqlite', + SQLITE: 'sqlite'; + /** Sybase. */ - SYBASE: 'sybase', + SYBASE: 'sybase'; + /** Teradata. */ - TERADATA: 'teradata', + TERADATA: 'teradata'; + /** Vertica. */ - VERTICA: 'vertica', + VERTICA: 'vertica'; + /** H2. */ - H2: 'h2', + H2: 'h2'; + /** ColdFusion IMQ. */ - COLDFUSION: 'coldfusion', + COLDFUSION: 'coldfusion'; + /** Apache Cassandra. */ - CASSANDRA: 'cassandra', + CASSANDRA: 'cassandra'; + /** Apache HBase. */ - HBASE: 'hbase', + HBASE: 'hbase'; + /** MongoDB. */ - MONGODB: 'mongodb', + MONGODB: 'mongodb'; + /** Redis. */ - REDIS: 'redis', + REDIS: 'redis'; + /** Couchbase. */ - COUCHBASE: 'couchbase', + COUCHBASE: 'couchbase'; + /** CouchDB. */ - COUCHDB: 'couchdb', + COUCHDB: 'couchdb'; + /** Microsoft Azure Cosmos DB. */ - COSMOSDB: 'cosmosdb', + COSMOSDB: 'cosmosdb'; + /** Amazon DynamoDB. */ - DYNAMODB: 'dynamodb', + DYNAMODB: 'dynamodb'; + /** Neo4j. */ - NEO4J: 'neo4j', + NEO4J: 'neo4j'; + /** Apache Geode. */ - GEODE: 'geode', + GEODE: 'geode'; + /** Elasticsearch. */ - ELASTICSEARCH: 'elasticsearch', + ELASTICSEARCH: 'elasticsearch'; + /** Memcached. */ - MEMCACHED: 'memcached', + MEMCACHED: 'memcached'; + /** CockroachDB. */ - COCKROACHDB: 'cockroachdb', -} as const; -export type DbSystemValues = - (typeof DbSystemValues)[keyof typeof DbSystemValues]; + COCKROACHDB: 'cockroachdb'; +}; + +/** + * The constant map of values for DbSystemValues. + * @deprecated Use the DBSYSTEMVALUES_XXXXX constants rather than the DbSystemValues.XXXXX for bundle minification. + */ +export const DbSystemValues: DbSystemValues = + /*#__PURE__*/ createConstMap([ + TMP_DBSYSTEMVALUES_OTHER_SQL, + TMP_DBSYSTEMVALUES_MSSQL, + TMP_DBSYSTEMVALUES_MYSQL, + TMP_DBSYSTEMVALUES_ORACLE, + TMP_DBSYSTEMVALUES_DB2, + TMP_DBSYSTEMVALUES_POSTGRESQL, + TMP_DBSYSTEMVALUES_REDSHIFT, + TMP_DBSYSTEMVALUES_HIVE, + TMP_DBSYSTEMVALUES_CLOUDSCAPE, + TMP_DBSYSTEMVALUES_HSQLDB, + TMP_DBSYSTEMVALUES_PROGRESS, + TMP_DBSYSTEMVALUES_MAXDB, + TMP_DBSYSTEMVALUES_HANADB, + TMP_DBSYSTEMVALUES_INGRES, + TMP_DBSYSTEMVALUES_FIRSTSQL, + TMP_DBSYSTEMVALUES_EDB, + TMP_DBSYSTEMVALUES_CACHE, + TMP_DBSYSTEMVALUES_ADABAS, + TMP_DBSYSTEMVALUES_FIREBIRD, + TMP_DBSYSTEMVALUES_DERBY, + TMP_DBSYSTEMVALUES_FILEMAKER, + TMP_DBSYSTEMVALUES_INFORMIX, + TMP_DBSYSTEMVALUES_INSTANTDB, + TMP_DBSYSTEMVALUES_INTERBASE, + TMP_DBSYSTEMVALUES_MARIADB, + TMP_DBSYSTEMVALUES_NETEZZA, + TMP_DBSYSTEMVALUES_PERVASIVE, + TMP_DBSYSTEMVALUES_POINTBASE, + TMP_DBSYSTEMVALUES_SQLITE, + TMP_DBSYSTEMVALUES_SYBASE, + TMP_DBSYSTEMVALUES_TERADATA, + TMP_DBSYSTEMVALUES_VERTICA, + TMP_DBSYSTEMVALUES_H2, + TMP_DBSYSTEMVALUES_COLDFUSION, + TMP_DBSYSTEMVALUES_CASSANDRA, + TMP_DBSYSTEMVALUES_HBASE, + TMP_DBSYSTEMVALUES_MONGODB, + TMP_DBSYSTEMVALUES_REDIS, + TMP_DBSYSTEMVALUES_COUCHBASE, + TMP_DBSYSTEMVALUES_COUCHDB, + TMP_DBSYSTEMVALUES_COSMOSDB, + TMP_DBSYSTEMVALUES_DYNAMODB, + TMP_DBSYSTEMVALUES_NEO4J, + TMP_DBSYSTEMVALUES_GEODE, + TMP_DBSYSTEMVALUES_ELASTICSEARCH, + TMP_DBSYSTEMVALUES_MEMCACHED, + TMP_DBSYSTEMVALUES_COCKROACHDB, + ]); + +/* ---------------------------------------------------------------------------------------------------------- + * Constant values for DbCassandraConsistencyLevelValues enum definition + * + * The consistency level of the query. Based on consistency values from [CQL](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html). + * ---------------------------------------------------------------------------------------------------------- */ + +// Temporary local constants to assign to the individual exports and the namespaced version +// Required to avoid the namespace exports using the unminifable export names for some package types +const TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ALL = 'all'; +const TMP_DBCASSANDRACONSISTENCYLEVELVALUES_EACH_QUORUM = 'each_quorum'; +const TMP_DBCASSANDRACONSISTENCYLEVELVALUES_QUORUM = 'quorum'; +const TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_QUORUM = 'local_quorum'; +const TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ONE = 'one'; +const TMP_DBCASSANDRACONSISTENCYLEVELVALUES_TWO = 'two'; +const TMP_DBCASSANDRACONSISTENCYLEVELVALUES_THREE = 'three'; +const TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_ONE = 'local_one'; +const TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ANY = 'any'; +const TMP_DBCASSANDRACONSISTENCYLEVELVALUES_SERIAL = 'serial'; +const TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_SERIAL = 'local_serial'; + +/** + * The consistency level of the query. Based on consistency values from [CQL](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html). + */ +export const DBCASSANDRACONSISTENCYLEVELVALUES_ALL = + TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ALL; + +/** + * The consistency level of the query. Based on consistency values from [CQL](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html). + */ +export const DBCASSANDRACONSISTENCYLEVELVALUES_EACH_QUORUM = + TMP_DBCASSANDRACONSISTENCYLEVELVALUES_EACH_QUORUM; + +/** + * The consistency level of the query. Based on consistency values from [CQL](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html). + */ +export const DBCASSANDRACONSISTENCYLEVELVALUES_QUORUM = + TMP_DBCASSANDRACONSISTENCYLEVELVALUES_QUORUM; + +/** + * The consistency level of the query. Based on consistency values from [CQL](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html). + */ +export const DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_QUORUM = + TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_QUORUM; + +/** + * The consistency level of the query. Based on consistency values from [CQL](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html). + */ +export const DBCASSANDRACONSISTENCYLEVELVALUES_ONE = + TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ONE; + +/** + * The consistency level of the query. Based on consistency values from [CQL](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html). + */ +export const DBCASSANDRACONSISTENCYLEVELVALUES_TWO = + TMP_DBCASSANDRACONSISTENCYLEVELVALUES_TWO; + +/** + * The consistency level of the query. Based on consistency values from [CQL](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html). + */ +export const DBCASSANDRACONSISTENCYLEVELVALUES_THREE = + TMP_DBCASSANDRACONSISTENCYLEVELVALUES_THREE; + +/** + * The consistency level of the query. Based on consistency values from [CQL](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html). + */ +export const DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_ONE = + TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_ONE; + +/** + * The consistency level of the query. Based on consistency values from [CQL](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html). + */ +export const DBCASSANDRACONSISTENCYLEVELVALUES_ANY = + TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ANY; + +/** + * The consistency level of the query. Based on consistency values from [CQL](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html). + */ +export const DBCASSANDRACONSISTENCYLEVELVALUES_SERIAL = + TMP_DBCASSANDRACONSISTENCYLEVELVALUES_SERIAL; + +/** + * The consistency level of the query. Based on consistency values from [CQL](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html). + */ +export const DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_SERIAL = + TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_SERIAL; -export const DbCassandraConsistencyLevelValues = { +/** + * Identifies the Values for DbCassandraConsistencyLevelValues enum definition + * + * The consistency level of the query. Based on consistency values from [CQL](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html). + * @deprecated Use the DBCASSANDRACONSISTENCYLEVELVALUES_XXXXX constants rather than the DbCassandraConsistencyLevelValues.XXXXX for bundle minification. + */ +export type DbCassandraConsistencyLevelValues = { /** all. */ - ALL: 'all', + ALL: 'all'; + /** each_quorum. */ - EACH_QUORUM: 'each_quorum', + EACH_QUORUM: 'each_quorum'; + /** quorum. */ - QUORUM: 'quorum', + QUORUM: 'quorum'; + /** local_quorum. */ - LOCAL_QUORUM: 'local_quorum', + LOCAL_QUORUM: 'local_quorum'; + /** one. */ - ONE: 'one', + ONE: 'one'; + /** two. */ - TWO: 'two', + TWO: 'two'; + /** three. */ - THREE: 'three', + THREE: 'three'; + /** local_one. */ - LOCAL_ONE: 'local_one', + LOCAL_ONE: 'local_one'; + /** any. */ - ANY: 'any', + ANY: 'any'; + /** serial. */ - SERIAL: 'serial', + SERIAL: 'serial'; + /** local_serial. */ - LOCAL_SERIAL: 'local_serial', -} as const; -export type DbCassandraConsistencyLevelValues = - (typeof DbCassandraConsistencyLevelValues)[keyof typeof DbCassandraConsistencyLevelValues]; + LOCAL_SERIAL: 'local_serial'; +}; + +/** + * The constant map of values for DbCassandraConsistencyLevelValues. + * @deprecated Use the DBCASSANDRACONSISTENCYLEVELVALUES_XXXXX constants rather than the DbCassandraConsistencyLevelValues.XXXXX for bundle minification. + */ +export const DbCassandraConsistencyLevelValues: DbCassandraConsistencyLevelValues = + /*#__PURE__*/ createConstMap([ + TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ALL, + TMP_DBCASSANDRACONSISTENCYLEVELVALUES_EACH_QUORUM, + TMP_DBCASSANDRACONSISTENCYLEVELVALUES_QUORUM, + TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_QUORUM, + TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ONE, + TMP_DBCASSANDRACONSISTENCYLEVELVALUES_TWO, + TMP_DBCASSANDRACONSISTENCYLEVELVALUES_THREE, + TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_ONE, + TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ANY, + TMP_DBCASSANDRACONSISTENCYLEVELVALUES_SERIAL, + TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_SERIAL, + ]); + +/* ---------------------------------------------------------------------------------------------------------- + * Constant values for FaasTriggerValues enum definition + * + * Type of the trigger on which the function is executed. + * ---------------------------------------------------------------------------------------------------------- */ + +// Temporary local constants to assign to the individual exports and the namespaced version +// Required to avoid the namespace exports using the unminifable export names for some package types +const TMP_FAASTRIGGERVALUES_DATASOURCE = 'datasource'; +const TMP_FAASTRIGGERVALUES_HTTP = 'http'; +const TMP_FAASTRIGGERVALUES_PUBSUB = 'pubsub'; +const TMP_FAASTRIGGERVALUES_TIMER = 'timer'; +const TMP_FAASTRIGGERVALUES_OTHER = 'other'; + +/** + * Type of the trigger on which the function is executed. + */ +export const FAASTRIGGERVALUES_DATASOURCE = TMP_FAASTRIGGERVALUES_DATASOURCE; + +/** + * Type of the trigger on which the function is executed. + */ +export const FAASTRIGGERVALUES_HTTP = TMP_FAASTRIGGERVALUES_HTTP; + +/** + * Type of the trigger on which the function is executed. + */ +export const FAASTRIGGERVALUES_PUBSUB = TMP_FAASTRIGGERVALUES_PUBSUB; + +/** + * Type of the trigger on which the function is executed. + */ +export const FAASTRIGGERVALUES_TIMER = TMP_FAASTRIGGERVALUES_TIMER; + +/** + * Type of the trigger on which the function is executed. + */ +export const FAASTRIGGERVALUES_OTHER = TMP_FAASTRIGGERVALUES_OTHER; + +/** + * Identifies the Values for FaasTriggerValues enum definition + * + * Type of the trigger on which the function is executed. + * @deprecated Use the FAASTRIGGERVALUES_XXXXX constants rather than the FaasTriggerValues.XXXXX for bundle minification. + */ +export type FaasTriggerValues = { + /** A response to some data source operation such as a database or filesystem read/write. */ + DATASOURCE: 'datasource'; + + /** To provide an answer to an inbound HTTP request. */ + HTTP: 'http'; + + /** A function is set to be executed when messages are sent to a messaging system. */ + PUBSUB: 'pubsub'; + + /** A function is scheduled to be executed regularly. */ + TIMER: 'timer'; + + /** If none of the others apply. */ + OTHER: 'other'; +}; + +/** + * The constant map of values for FaasTriggerValues. + * @deprecated Use the FAASTRIGGERVALUES_XXXXX constants rather than the FaasTriggerValues.XXXXX for bundle minification. + */ +export const FaasTriggerValues: FaasTriggerValues = + /*#__PURE__*/ createConstMap([ + TMP_FAASTRIGGERVALUES_DATASOURCE, + TMP_FAASTRIGGERVALUES_HTTP, + TMP_FAASTRIGGERVALUES_PUBSUB, + TMP_FAASTRIGGERVALUES_TIMER, + TMP_FAASTRIGGERVALUES_OTHER, + ]); + +/* ---------------------------------------------------------------------------------------------------------- + * Constant values for FaasDocumentOperationValues enum definition + * + * Describes the type of the operation that was performed on the data. + * ---------------------------------------------------------------------------------------------------------- */ + +// Temporary local constants to assign to the individual exports and the namespaced version +// Required to avoid the namespace exports using the unminifable export names for some package types +const TMP_FAASDOCUMENTOPERATIONVALUES_INSERT = 'insert'; +const TMP_FAASDOCUMENTOPERATIONVALUES_EDIT = 'edit'; +const TMP_FAASDOCUMENTOPERATIONVALUES_DELETE = 'delete'; + +/** + * Describes the type of the operation that was performed on the data. + */ +export const FAASDOCUMENTOPERATIONVALUES_INSERT = + TMP_FAASDOCUMENTOPERATIONVALUES_INSERT; + +/** + * Describes the type of the operation that was performed on the data. + */ +export const FAASDOCUMENTOPERATIONVALUES_EDIT = + TMP_FAASDOCUMENTOPERATIONVALUES_EDIT; + +/** + * Describes the type of the operation that was performed on the data. + */ +export const FAASDOCUMENTOPERATIONVALUES_DELETE = + TMP_FAASDOCUMENTOPERATIONVALUES_DELETE; + +/** + * Identifies the Values for FaasDocumentOperationValues enum definition + * + * Describes the type of the operation that was performed on the data. + * @deprecated Use the FAASDOCUMENTOPERATIONVALUES_XXXXX constants rather than the FaasDocumentOperationValues.XXXXX for bundle minification. + */ +export type FaasDocumentOperationValues = { + /** When a new object is created. */ + INSERT: 'insert'; + + /** When an object is modified. */ + EDIT: 'edit'; + + /** When an object is deleted. */ + DELETE: 'delete'; +}; + +/** + * The constant map of values for FaasDocumentOperationValues. + * @deprecated Use the FAASDOCUMENTOPERATIONVALUES_XXXXX constants rather than the FaasDocumentOperationValues.XXXXX for bundle minification. + */ +export const FaasDocumentOperationValues: FaasDocumentOperationValues = + /*#__PURE__*/ createConstMap([ + TMP_FAASDOCUMENTOPERATIONVALUES_INSERT, + TMP_FAASDOCUMENTOPERATIONVALUES_EDIT, + TMP_FAASDOCUMENTOPERATIONVALUES_DELETE, + ]); + +/* ---------------------------------------------------------------------------------------------------------- + * Constant values for FaasInvokedProviderValues enum definition + * + * The cloud provider of the invoked function. + * + * Note: SHOULD be equal to the `cloud.provider` resource attribute of the invoked function. + * ---------------------------------------------------------------------------------------------------------- */ + +// Temporary local constants to assign to the individual exports and the namespaced version +// Required to avoid the namespace exports using the unminifable export names for some package types +const TMP_FAASINVOKEDPROVIDERVALUES_ALIBABA_CLOUD = 'alibaba_cloud'; +const TMP_FAASINVOKEDPROVIDERVALUES_AWS = 'aws'; +const TMP_FAASINVOKEDPROVIDERVALUES_AZURE = 'azure'; +const TMP_FAASINVOKEDPROVIDERVALUES_GCP = 'gcp'; + +/** + * The cloud provider of the invoked function. + * + * Note: SHOULD be equal to the `cloud.provider` resource attribute of the invoked function. + */ +export const FAASINVOKEDPROVIDERVALUES_ALIBABA_CLOUD = + TMP_FAASINVOKEDPROVIDERVALUES_ALIBABA_CLOUD; -export const FaasTriggerValues = { - /** A response to some data source operation such as a database or filesystem read/write. */ - DATASOURCE: 'datasource', - /** To provide an answer to an inbound HTTP request. */ - HTTP: 'http', - /** A function is set to be executed when messages are sent to a messaging system. */ - PUBSUB: 'pubsub', - /** A function is scheduled to be executed regularly. */ - TIMER: 'timer', - /** If none of the others apply. */ - OTHER: 'other', -} as const; -export type FaasTriggerValues = - (typeof FaasTriggerValues)[keyof typeof FaasTriggerValues]; +/** + * The cloud provider of the invoked function. + * + * Note: SHOULD be equal to the `cloud.provider` resource attribute of the invoked function. + */ +export const FAASINVOKEDPROVIDERVALUES_AWS = TMP_FAASINVOKEDPROVIDERVALUES_AWS; -export const FaasDocumentOperationValues = { - /** When a new object is created. */ - INSERT: 'insert', - /** When an object is modified. */ - EDIT: 'edit', - /** When an object is deleted. */ - DELETE: 'delete', -} as const; -export type FaasDocumentOperationValues = - (typeof FaasDocumentOperationValues)[keyof typeof FaasDocumentOperationValues]; +/** + * The cloud provider of the invoked function. + * + * Note: SHOULD be equal to the `cloud.provider` resource attribute of the invoked function. + */ +export const FAASINVOKEDPROVIDERVALUES_AZURE = + TMP_FAASINVOKEDPROVIDERVALUES_AZURE; -export const FaasInvokedProviderValues = { +/** + * The cloud provider of the invoked function. + * + * Note: SHOULD be equal to the `cloud.provider` resource attribute of the invoked function. + */ +export const FAASINVOKEDPROVIDERVALUES_GCP = TMP_FAASINVOKEDPROVIDERVALUES_GCP; + +/** + * Identifies the Values for FaasInvokedProviderValues enum definition + * + * The cloud provider of the invoked function. + * + * Note: SHOULD be equal to the `cloud.provider` resource attribute of the invoked function. + * @deprecated Use the FAASINVOKEDPROVIDERVALUES_XXXXX constants rather than the FaasInvokedProviderValues.XXXXX for bundle minification. + */ +export type FaasInvokedProviderValues = { /** Alibaba Cloud. */ - ALIBABA_CLOUD: 'alibaba_cloud', + ALIBABA_CLOUD: 'alibaba_cloud'; + /** Amazon Web Services. */ - AWS: 'aws', + AWS: 'aws'; + /** Microsoft Azure. */ - AZURE: 'azure', + AZURE: 'azure'; + /** Google Cloud Platform. */ - GCP: 'gcp', -} as const; -export type FaasInvokedProviderValues = - (typeof FaasInvokedProviderValues)[keyof typeof FaasInvokedProviderValues]; + GCP: 'gcp'; +}; + +/** + * The constant map of values for FaasInvokedProviderValues. + * @deprecated Use the FAASINVOKEDPROVIDERVALUES_XXXXX constants rather than the FaasInvokedProviderValues.XXXXX for bundle minification. + */ +export const FaasInvokedProviderValues: FaasInvokedProviderValues = + /*#__PURE__*/ createConstMap([ + TMP_FAASINVOKEDPROVIDERVALUES_ALIBABA_CLOUD, + TMP_FAASINVOKEDPROVIDERVALUES_AWS, + TMP_FAASINVOKEDPROVIDERVALUES_AZURE, + TMP_FAASINVOKEDPROVIDERVALUES_GCP, + ]); + +/* ---------------------------------------------------------------------------------------------------------- + * Constant values for NetTransportValues enum definition + * + * Transport protocol used. See note below. + * ---------------------------------------------------------------------------------------------------------- */ + +// Temporary local constants to assign to the individual exports and the namespaced version +// Required to avoid the namespace exports using the unminifable export names for some package types +const TMP_NETTRANSPORTVALUES_IP_TCP = 'ip_tcp'; +const TMP_NETTRANSPORTVALUES_IP_UDP = 'ip_udp'; +const TMP_NETTRANSPORTVALUES_IP = 'ip'; +const TMP_NETTRANSPORTVALUES_UNIX = 'unix'; +const TMP_NETTRANSPORTVALUES_PIPE = 'pipe'; +const TMP_NETTRANSPORTVALUES_INPROC = 'inproc'; +const TMP_NETTRANSPORTVALUES_OTHER = 'other'; + +/** + * Transport protocol used. See note below. + */ +export const NETTRANSPORTVALUES_IP_TCP = TMP_NETTRANSPORTVALUES_IP_TCP; + +/** + * Transport protocol used. See note below. + */ +export const NETTRANSPORTVALUES_IP_UDP = TMP_NETTRANSPORTVALUES_IP_UDP; + +/** + * Transport protocol used. See note below. + */ +export const NETTRANSPORTVALUES_IP = TMP_NETTRANSPORTVALUES_IP; + +/** + * Transport protocol used. See note below. + */ +export const NETTRANSPORTVALUES_UNIX = TMP_NETTRANSPORTVALUES_UNIX; -export const NetTransportValues = { +/** + * Transport protocol used. See note below. + */ +export const NETTRANSPORTVALUES_PIPE = TMP_NETTRANSPORTVALUES_PIPE; + +/** + * Transport protocol used. See note below. + */ +export const NETTRANSPORTVALUES_INPROC = TMP_NETTRANSPORTVALUES_INPROC; + +/** + * Transport protocol used. See note below. + */ +export const NETTRANSPORTVALUES_OTHER = TMP_NETTRANSPORTVALUES_OTHER; + +/** + * Identifies the Values for NetTransportValues enum definition + * + * Transport protocol used. See note below. + * @deprecated Use the NETTRANSPORTVALUES_XXXXX constants rather than the NetTransportValues.XXXXX for bundle minification. + */ +export type NetTransportValues = { /** ip_tcp. */ - IP_TCP: 'ip_tcp', + IP_TCP: 'ip_tcp'; + /** ip_udp. */ - IP_UDP: 'ip_udp', + IP_UDP: 'ip_udp'; + /** Another IP-based protocol. */ - IP: 'ip', + IP: 'ip'; + /** Unix Domain socket. See below. */ - UNIX: 'unix', + UNIX: 'unix'; + /** Named or anonymous pipe. See note below. */ - PIPE: 'pipe', + PIPE: 'pipe'; + /** In-process communication. */ - INPROC: 'inproc', + INPROC: 'inproc'; + /** Something else (non IP-based). */ - OTHER: 'other', -} as const; -export type NetTransportValues = - (typeof NetTransportValues)[keyof typeof NetTransportValues]; + OTHER: 'other'; +}; + +/** + * The constant map of values for NetTransportValues. + * @deprecated Use the NETTRANSPORTVALUES_XXXXX constants rather than the NetTransportValues.XXXXX for bundle minification. + */ +export const NetTransportValues: NetTransportValues = + /*#__PURE__*/ createConstMap([ + TMP_NETTRANSPORTVALUES_IP_TCP, + TMP_NETTRANSPORTVALUES_IP_UDP, + TMP_NETTRANSPORTVALUES_IP, + TMP_NETTRANSPORTVALUES_UNIX, + TMP_NETTRANSPORTVALUES_PIPE, + TMP_NETTRANSPORTVALUES_INPROC, + TMP_NETTRANSPORTVALUES_OTHER, + ]); + +/* ---------------------------------------------------------------------------------------------------------- + * Constant values for NetHostConnectionTypeValues enum definition + * + * The internet connection type currently being used by the host. + * ---------------------------------------------------------------------------------------------------------- */ + +// Temporary local constants to assign to the individual exports and the namespaced version +// Required to avoid the namespace exports using the unminifable export names for some package types +const TMP_NETHOSTCONNECTIONTYPEVALUES_WIFI = 'wifi'; +const TMP_NETHOSTCONNECTIONTYPEVALUES_WIRED = 'wired'; +const TMP_NETHOSTCONNECTIONTYPEVALUES_CELL = 'cell'; +const TMP_NETHOSTCONNECTIONTYPEVALUES_UNAVAILABLE = 'unavailable'; +const TMP_NETHOSTCONNECTIONTYPEVALUES_UNKNOWN = 'unknown'; + +/** + * The internet connection type currently being used by the host. + */ +export const NETHOSTCONNECTIONTYPEVALUES_WIFI = + TMP_NETHOSTCONNECTIONTYPEVALUES_WIFI; + +/** + * The internet connection type currently being used by the host. + */ +export const NETHOSTCONNECTIONTYPEVALUES_WIRED = + TMP_NETHOSTCONNECTIONTYPEVALUES_WIRED; + +/** + * The internet connection type currently being used by the host. + */ +export const NETHOSTCONNECTIONTYPEVALUES_CELL = + TMP_NETHOSTCONNECTIONTYPEVALUES_CELL; + +/** + * The internet connection type currently being used by the host. + */ +export const NETHOSTCONNECTIONTYPEVALUES_UNAVAILABLE = + TMP_NETHOSTCONNECTIONTYPEVALUES_UNAVAILABLE; + +/** + * The internet connection type currently being used by the host. + */ +export const NETHOSTCONNECTIONTYPEVALUES_UNKNOWN = + TMP_NETHOSTCONNECTIONTYPEVALUES_UNKNOWN; -export const NetHostConnectionTypeValues = { +/** + * Identifies the Values for NetHostConnectionTypeValues enum definition + * + * The internet connection type currently being used by the host. + * @deprecated Use the NETHOSTCONNECTIONTYPEVALUES_XXXXX constants rather than the NetHostConnectionTypeValues.XXXXX for bundle minification. + */ +export type NetHostConnectionTypeValues = { /** wifi. */ - WIFI: 'wifi', + WIFI: 'wifi'; + /** wired. */ - WIRED: 'wired', + WIRED: 'wired'; + /** cell. */ - CELL: 'cell', + CELL: 'cell'; + /** unavailable. */ - UNAVAILABLE: 'unavailable', + UNAVAILABLE: 'unavailable'; + /** unknown. */ - UNKNOWN: 'unknown', -} as const; -export type NetHostConnectionTypeValues = - (typeof NetHostConnectionTypeValues)[keyof typeof NetHostConnectionTypeValues]; + UNKNOWN: 'unknown'; +}; + +/** + * The constant map of values for NetHostConnectionTypeValues. + * @deprecated Use the NETHOSTCONNECTIONTYPEVALUES_XXXXX constants rather than the NetHostConnectionTypeValues.XXXXX for bundle minification. + */ +export const NetHostConnectionTypeValues: NetHostConnectionTypeValues = + /*#__PURE__*/ createConstMap([ + TMP_NETHOSTCONNECTIONTYPEVALUES_WIFI, + TMP_NETHOSTCONNECTIONTYPEVALUES_WIRED, + TMP_NETHOSTCONNECTIONTYPEVALUES_CELL, + TMP_NETHOSTCONNECTIONTYPEVALUES_UNAVAILABLE, + TMP_NETHOSTCONNECTIONTYPEVALUES_UNKNOWN, + ]); + +/* ---------------------------------------------------------------------------------------------------------- + * Constant values for NetHostConnectionSubtypeValues enum definition + * + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + * ---------------------------------------------------------------------------------------------------------- */ + +// Temporary local constants to assign to the individual exports and the namespaced version +// Required to avoid the namespace exports using the unminifable export names for some package types +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_GPRS = 'gprs'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EDGE = 'edge'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_UMTS = 'umts'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_CDMA = 'cdma'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_0 = 'evdo_0'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_A = 'evdo_a'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_CDMA2000_1XRTT = 'cdma2000_1xrtt'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSDPA = 'hsdpa'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSUPA = 'hsupa'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSPA = 'hspa'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_IDEN = 'iden'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_B = 'evdo_b'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_LTE = 'lte'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EHRPD = 'ehrpd'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSPAP = 'hspap'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_GSM = 'gsm'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_TD_SCDMA = 'td_scdma'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_IWLAN = 'iwlan'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_NR = 'nr'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_NRNSA = 'nrnsa'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_LTE_CA = 'lte_ca'; + +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +export const NETHOSTCONNECTIONSUBTYPEVALUES_GPRS = + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_GPRS; + +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +export const NETHOSTCONNECTIONSUBTYPEVALUES_EDGE = + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EDGE; + +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +export const NETHOSTCONNECTIONSUBTYPEVALUES_UMTS = + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_UMTS; + +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +export const NETHOSTCONNECTIONSUBTYPEVALUES_CDMA = + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_CDMA; + +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +export const NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_0 = + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_0; + +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +export const NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_A = + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_A; + +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +export const NETHOSTCONNECTIONSUBTYPEVALUES_CDMA2000_1XRTT = + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_CDMA2000_1XRTT; + +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +export const NETHOSTCONNECTIONSUBTYPEVALUES_HSDPA = + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSDPA; + +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +export const NETHOSTCONNECTIONSUBTYPEVALUES_HSUPA = + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSUPA; + +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +export const NETHOSTCONNECTIONSUBTYPEVALUES_HSPA = + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSPA; + +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +export const NETHOSTCONNECTIONSUBTYPEVALUES_IDEN = + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_IDEN; + +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +export const NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_B = + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_B; + +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +export const NETHOSTCONNECTIONSUBTYPEVALUES_LTE = + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_LTE; + +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +export const NETHOSTCONNECTIONSUBTYPEVALUES_EHRPD = + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EHRPD; -export const NetHostConnectionSubtypeValues = { +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +export const NETHOSTCONNECTIONSUBTYPEVALUES_HSPAP = + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSPAP; + +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +export const NETHOSTCONNECTIONSUBTYPEVALUES_GSM = + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_GSM; + +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +export const NETHOSTCONNECTIONSUBTYPEVALUES_TD_SCDMA = + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_TD_SCDMA; + +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +export const NETHOSTCONNECTIONSUBTYPEVALUES_IWLAN = + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_IWLAN; + +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +export const NETHOSTCONNECTIONSUBTYPEVALUES_NR = + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_NR; + +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +export const NETHOSTCONNECTIONSUBTYPEVALUES_NRNSA = + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_NRNSA; + +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +export const NETHOSTCONNECTIONSUBTYPEVALUES_LTE_CA = + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_LTE_CA; + +/** + * Identifies the Values for NetHostConnectionSubtypeValues enum definition + * + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + * @deprecated Use the NETHOSTCONNECTIONSUBTYPEVALUES_XXXXX constants rather than the NetHostConnectionSubtypeValues.XXXXX for bundle minification. + */ +export type NetHostConnectionSubtypeValues = { /** GPRS. */ - GPRS: 'gprs', + GPRS: 'gprs'; + /** EDGE. */ - EDGE: 'edge', + EDGE: 'edge'; + /** UMTS. */ - UMTS: 'umts', + UMTS: 'umts'; + /** CDMA. */ - CDMA: 'cdma', + CDMA: 'cdma'; + /** EVDO Rel. 0. */ - EVDO_0: 'evdo_0', + EVDO_0: 'evdo_0'; + /** EVDO Rev. A. */ - EVDO_A: 'evdo_a', + EVDO_A: 'evdo_a'; + /** CDMA2000 1XRTT. */ - CDMA2000_1XRTT: 'cdma2000_1xrtt', + CDMA2000_1XRTT: 'cdma2000_1xrtt'; + /** HSDPA. */ - HSDPA: 'hsdpa', + HSDPA: 'hsdpa'; + /** HSUPA. */ - HSUPA: 'hsupa', + HSUPA: 'hsupa'; + /** HSPA. */ - HSPA: 'hspa', + HSPA: 'hspa'; + /** IDEN. */ - IDEN: 'iden', + IDEN: 'iden'; + /** EVDO Rev. B. */ - EVDO_B: 'evdo_b', + EVDO_B: 'evdo_b'; + /** LTE. */ - LTE: 'lte', + LTE: 'lte'; + /** EHRPD. */ - EHRPD: 'ehrpd', + EHRPD: 'ehrpd'; + /** HSPAP. */ - HSPAP: 'hspap', + HSPAP: 'hspap'; + /** GSM. */ - GSM: 'gsm', + GSM: 'gsm'; + /** TD-SCDMA. */ - TD_SCDMA: 'td_scdma', + TD_SCDMA: 'td_scdma'; + /** IWLAN. */ - IWLAN: 'iwlan', + IWLAN: 'iwlan'; + /** 5G NR (New Radio). */ - NR: 'nr', + NR: 'nr'; + /** 5G NRNSA (New Radio Non-Standalone). */ - NRNSA: 'nrnsa', + NRNSA: 'nrnsa'; + /** LTE CA. */ - LTE_CA: 'lte_ca', -} as const; -export type NetHostConnectionSubtypeValues = - (typeof NetHostConnectionSubtypeValues)[keyof typeof NetHostConnectionSubtypeValues]; + LTE_CA: 'lte_ca'; +}; + +/** + * The constant map of values for NetHostConnectionSubtypeValues. + * @deprecated Use the NETHOSTCONNECTIONSUBTYPEVALUES_XXXXX constants rather than the NetHostConnectionSubtypeValues.XXXXX for bundle minification. + */ +export const NetHostConnectionSubtypeValues: NetHostConnectionSubtypeValues = + /*#__PURE__*/ createConstMap([ + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_GPRS, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EDGE, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_UMTS, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_CDMA, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_0, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_A, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_CDMA2000_1XRTT, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSDPA, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSUPA, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSPA, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_IDEN, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_B, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_LTE, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EHRPD, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSPAP, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_GSM, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_TD_SCDMA, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_IWLAN, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_NR, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_NRNSA, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_LTE_CA, + ]); + +/* ---------------------------------------------------------------------------------------------------------- + * Constant values for HttpFlavorValues enum definition + * + * Kind of HTTP protocol used. + * + * Note: If `net.transport` is not specified, it can be assumed to be `IP.TCP` except if `http.flavor` is `QUIC`, in which case `IP.UDP` is assumed. + * ---------------------------------------------------------------------------------------------------------- */ + +// Temporary local constants to assign to the individual exports and the namespaced version +// Required to avoid the namespace exports using the unminifable export names for some package types +const TMP_HTTPFLAVORVALUES_HTTP_1_0 = '1.0'; +const TMP_HTTPFLAVORVALUES_HTTP_1_1 = '1.1'; +const TMP_HTTPFLAVORVALUES_HTTP_2_0 = '2.0'; +const TMP_HTTPFLAVORVALUES_SPDY = 'SPDY'; +const TMP_HTTPFLAVORVALUES_QUIC = 'QUIC'; + +/** + * Kind of HTTP protocol used. + * + * Note: If `net.transport` is not specified, it can be assumed to be `IP.TCP` except if `http.flavor` is `QUIC`, in which case `IP.UDP` is assumed. + */ +export const HTTPFLAVORVALUES_HTTP_1_0 = TMP_HTTPFLAVORVALUES_HTTP_1_0; + +/** + * Kind of HTTP protocol used. + * + * Note: If `net.transport` is not specified, it can be assumed to be `IP.TCP` except if `http.flavor` is `QUIC`, in which case `IP.UDP` is assumed. + */ +export const HTTPFLAVORVALUES_HTTP_1_1 = TMP_HTTPFLAVORVALUES_HTTP_1_1; + +/** + * Kind of HTTP protocol used. + * + * Note: If `net.transport` is not specified, it can be assumed to be `IP.TCP` except if `http.flavor` is `QUIC`, in which case `IP.UDP` is assumed. + */ +export const HTTPFLAVORVALUES_HTTP_2_0 = TMP_HTTPFLAVORVALUES_HTTP_2_0; + +/** + * Kind of HTTP protocol used. + * + * Note: If `net.transport` is not specified, it can be assumed to be `IP.TCP` except if `http.flavor` is `QUIC`, in which case `IP.UDP` is assumed. + */ +export const HTTPFLAVORVALUES_SPDY = TMP_HTTPFLAVORVALUES_SPDY; -export const HttpFlavorValues = { +/** + * Kind of HTTP protocol used. + * + * Note: If `net.transport` is not specified, it can be assumed to be `IP.TCP` except if `http.flavor` is `QUIC`, in which case `IP.UDP` is assumed. + */ +export const HTTPFLAVORVALUES_QUIC = TMP_HTTPFLAVORVALUES_QUIC; + +/** + * Identifies the Values for HttpFlavorValues enum definition + * + * Kind of HTTP protocol used. + * + * Note: If `net.transport` is not specified, it can be assumed to be `IP.TCP` except if `http.flavor` is `QUIC`, in which case `IP.UDP` is assumed. + * @deprecated Use the HTTPFLAVORVALUES_XXXXX constants rather than the HttpFlavorValues.XXXXX for bundle minification. + */ +export type HttpFlavorValues = { /** HTTP 1.0. */ - HTTP_1_0: '1.0', + HTTP_1_0: '1.0'; + /** HTTP 1.1. */ - HTTP_1_1: '1.1', + HTTP_1_1: '1.1'; + /** HTTP 2. */ - HTTP_2_0: '2.0', + HTTP_2_0: '2.0'; + /** SPDY protocol. */ - SPDY: 'SPDY', + SPDY: 'SPDY'; + /** QUIC protocol. */ - QUIC: 'QUIC', -} as const; -export type HttpFlavorValues = - (typeof HttpFlavorValues)[keyof typeof HttpFlavorValues]; + QUIC: 'QUIC'; +}; + +/** + * The constant map of values for HttpFlavorValues. + * @deprecated Use the HTTPFLAVORVALUES_XXXXX constants rather than the HttpFlavorValues.XXXXX for bundle minification. + */ +export const HttpFlavorValues: HttpFlavorValues = { + HTTP_1_0: TMP_HTTPFLAVORVALUES_HTTP_1_0, + HTTP_1_1: TMP_HTTPFLAVORVALUES_HTTP_1_1, + HTTP_2_0: TMP_HTTPFLAVORVALUES_HTTP_2_0, + SPDY: TMP_HTTPFLAVORVALUES_SPDY, + QUIC: TMP_HTTPFLAVORVALUES_QUIC, +}; + +/* ---------------------------------------------------------------------------------------------------------- + * Constant values for MessagingDestinationKindValues enum definition + * + * The kind of message destination. + * ---------------------------------------------------------------------------------------------------------- */ + +// Temporary local constants to assign to the individual exports and the namespaced version +// Required to avoid the namespace exports using the unminifable export names for some package types +const TMP_MESSAGINGDESTINATIONKINDVALUES_QUEUE = 'queue'; +const TMP_MESSAGINGDESTINATIONKINDVALUES_TOPIC = 'topic'; + +/** + * The kind of message destination. + */ +export const MESSAGINGDESTINATIONKINDVALUES_QUEUE = + TMP_MESSAGINGDESTINATIONKINDVALUES_QUEUE; + +/** + * The kind of message destination. + */ +export const MESSAGINGDESTINATIONKINDVALUES_TOPIC = + TMP_MESSAGINGDESTINATIONKINDVALUES_TOPIC; -export const MessagingDestinationKindValues = { +/** + * Identifies the Values for MessagingDestinationKindValues enum definition + * + * The kind of message destination. + * @deprecated Use the MESSAGINGDESTINATIONKINDVALUES_XXXXX constants rather than the MessagingDestinationKindValues.XXXXX for bundle minification. + */ +export type MessagingDestinationKindValues = { /** A message sent to a queue. */ - QUEUE: 'queue', + QUEUE: 'queue'; + /** A message sent to a topic. */ - TOPIC: 'topic', -} as const; -export type MessagingDestinationKindValues = - (typeof MessagingDestinationKindValues)[keyof typeof MessagingDestinationKindValues]; + TOPIC: 'topic'; +}; + +/** + * The constant map of values for MessagingDestinationKindValues. + * @deprecated Use the MESSAGINGDESTINATIONKINDVALUES_XXXXX constants rather than the MessagingDestinationKindValues.XXXXX for bundle minification. + */ +export const MessagingDestinationKindValues: MessagingDestinationKindValues = + /*#__PURE__*/ createConstMap([ + TMP_MESSAGINGDESTINATIONKINDVALUES_QUEUE, + TMP_MESSAGINGDESTINATIONKINDVALUES_TOPIC, + ]); + +/* ---------------------------------------------------------------------------------------------------------- + * Constant values for MessagingOperationValues enum definition + * + * A string identifying the kind of message consumption as defined in the [Operation names](#operation-names) section above. If the operation is "send", this attribute MUST NOT be set, since the operation can be inferred from the span kind in that case. + * ---------------------------------------------------------------------------------------------------------- */ -export const MessagingOperationValues = { +// Temporary local constants to assign to the individual exports and the namespaced version +// Required to avoid the namespace exports using the unminifable export names for some package types +const TMP_MESSAGINGOPERATIONVALUES_RECEIVE = 'receive'; +const TMP_MESSAGINGOPERATIONVALUES_PROCESS = 'process'; + +/** + * A string identifying the kind of message consumption as defined in the [Operation names](#operation-names) section above. If the operation is "send", this attribute MUST NOT be set, since the operation can be inferred from the span kind in that case. + */ +export const MESSAGINGOPERATIONVALUES_RECEIVE = + TMP_MESSAGINGOPERATIONVALUES_RECEIVE; + +/** + * A string identifying the kind of message consumption as defined in the [Operation names](#operation-names) section above. If the operation is "send", this attribute MUST NOT be set, since the operation can be inferred from the span kind in that case. + */ +export const MESSAGINGOPERATIONVALUES_PROCESS = + TMP_MESSAGINGOPERATIONVALUES_PROCESS; + +/** + * Identifies the Values for MessagingOperationValues enum definition + * + * A string identifying the kind of message consumption as defined in the [Operation names](#operation-names) section above. If the operation is "send", this attribute MUST NOT be set, since the operation can be inferred from the span kind in that case. + * @deprecated Use the MESSAGINGOPERATIONVALUES_XXXXX constants rather than the MessagingOperationValues.XXXXX for bundle minification. + */ +export type MessagingOperationValues = { /** receive. */ - RECEIVE: 'receive', + RECEIVE: 'receive'; + /** process. */ - PROCESS: 'process', -} as const; -export type MessagingOperationValues = - (typeof MessagingOperationValues)[keyof typeof MessagingOperationValues]; + PROCESS: 'process'; +}; + +/** + * The constant map of values for MessagingOperationValues. + * @deprecated Use the MESSAGINGOPERATIONVALUES_XXXXX constants rather than the MessagingOperationValues.XXXXX for bundle minification. + */ +export const MessagingOperationValues: MessagingOperationValues = + /*#__PURE__*/ createConstMap([ + TMP_MESSAGINGOPERATIONVALUES_RECEIVE, + TMP_MESSAGINGOPERATIONVALUES_PROCESS, + ]); + +/* ---------------------------------------------------------------------------------------------------------- + * Constant values for RpcGrpcStatusCodeValues enum definition + * + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + * ---------------------------------------------------------------------------------------------------------- */ + +// Temporary local constants to assign to the individual exports and the namespaced version +// Required to avoid the namespace exports using the unminifable export names for some package types +const TMP_RPCGRPCSTATUSCODEVALUES_OK = 0; +const TMP_RPCGRPCSTATUSCODEVALUES_CANCELLED = 1; +const TMP_RPCGRPCSTATUSCODEVALUES_UNKNOWN = 2; +const TMP_RPCGRPCSTATUSCODEVALUES_INVALID_ARGUMENT = 3; +const TMP_RPCGRPCSTATUSCODEVALUES_DEADLINE_EXCEEDED = 4; +const TMP_RPCGRPCSTATUSCODEVALUES_NOT_FOUND = 5; +const TMP_RPCGRPCSTATUSCODEVALUES_ALREADY_EXISTS = 6; +const TMP_RPCGRPCSTATUSCODEVALUES_PERMISSION_DENIED = 7; +const TMP_RPCGRPCSTATUSCODEVALUES_RESOURCE_EXHAUSTED = 8; +const TMP_RPCGRPCSTATUSCODEVALUES_FAILED_PRECONDITION = 9; +const TMP_RPCGRPCSTATUSCODEVALUES_ABORTED = 10; +const TMP_RPCGRPCSTATUSCODEVALUES_OUT_OF_RANGE = 11; +const TMP_RPCGRPCSTATUSCODEVALUES_UNIMPLEMENTED = 12; +const TMP_RPCGRPCSTATUSCODEVALUES_INTERNAL = 13; +const TMP_RPCGRPCSTATUSCODEVALUES_UNAVAILABLE = 14; +const TMP_RPCGRPCSTATUSCODEVALUES_DATA_LOSS = 15; +const TMP_RPCGRPCSTATUSCODEVALUES_UNAUTHENTICATED = 16; + +/** + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + */ +export const RPCGRPCSTATUSCODEVALUES_OK = TMP_RPCGRPCSTATUSCODEVALUES_OK; + +/** + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + */ +export const RPCGRPCSTATUSCODEVALUES_CANCELLED = + TMP_RPCGRPCSTATUSCODEVALUES_CANCELLED; + +/** + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + */ +export const RPCGRPCSTATUSCODEVALUES_UNKNOWN = + TMP_RPCGRPCSTATUSCODEVALUES_UNKNOWN; + +/** + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + */ +export const RPCGRPCSTATUSCODEVALUES_INVALID_ARGUMENT = + TMP_RPCGRPCSTATUSCODEVALUES_INVALID_ARGUMENT; + +/** + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + */ +export const RPCGRPCSTATUSCODEVALUES_DEADLINE_EXCEEDED = + TMP_RPCGRPCSTATUSCODEVALUES_DEADLINE_EXCEEDED; + +/** + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + */ +export const RPCGRPCSTATUSCODEVALUES_NOT_FOUND = + TMP_RPCGRPCSTATUSCODEVALUES_NOT_FOUND; + +/** + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + */ +export const RPCGRPCSTATUSCODEVALUES_ALREADY_EXISTS = + TMP_RPCGRPCSTATUSCODEVALUES_ALREADY_EXISTS; + +/** + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + */ +export const RPCGRPCSTATUSCODEVALUES_PERMISSION_DENIED = + TMP_RPCGRPCSTATUSCODEVALUES_PERMISSION_DENIED; + +/** + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + */ +export const RPCGRPCSTATUSCODEVALUES_RESOURCE_EXHAUSTED = + TMP_RPCGRPCSTATUSCODEVALUES_RESOURCE_EXHAUSTED; + +/** + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + */ +export const RPCGRPCSTATUSCODEVALUES_FAILED_PRECONDITION = + TMP_RPCGRPCSTATUSCODEVALUES_FAILED_PRECONDITION; + +/** + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + */ +export const RPCGRPCSTATUSCODEVALUES_ABORTED = + TMP_RPCGRPCSTATUSCODEVALUES_ABORTED; + +/** + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + */ +export const RPCGRPCSTATUSCODEVALUES_OUT_OF_RANGE = + TMP_RPCGRPCSTATUSCODEVALUES_OUT_OF_RANGE; + +/** + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + */ +export const RPCGRPCSTATUSCODEVALUES_UNIMPLEMENTED = + TMP_RPCGRPCSTATUSCODEVALUES_UNIMPLEMENTED; + +/** + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + */ +export const RPCGRPCSTATUSCODEVALUES_INTERNAL = + TMP_RPCGRPCSTATUSCODEVALUES_INTERNAL; + +/** + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + */ +export const RPCGRPCSTATUSCODEVALUES_UNAVAILABLE = + TMP_RPCGRPCSTATUSCODEVALUES_UNAVAILABLE; + +/** + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + */ +export const RPCGRPCSTATUSCODEVALUES_DATA_LOSS = + TMP_RPCGRPCSTATUSCODEVALUES_DATA_LOSS; + +/** + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + */ +export const RPCGRPCSTATUSCODEVALUES_UNAUTHENTICATED = + TMP_RPCGRPCSTATUSCODEVALUES_UNAUTHENTICATED; -export const RpcGrpcStatusCodeValues = { +/** + * Identifies the Values for RpcGrpcStatusCodeValues enum definition + * + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + * @deprecated Use the RPCGRPCSTATUSCODEVALUES_XXXXX constants rather than the RpcGrpcStatusCodeValues.XXXXX for bundle minification. + */ +export type RpcGrpcStatusCodeValues = { /** OK. */ - OK: 0, + OK: 0; + /** CANCELLED. */ - CANCELLED: 1, + CANCELLED: 1; + /** UNKNOWN. */ - UNKNOWN: 2, + UNKNOWN: 2; + /** INVALID_ARGUMENT. */ - INVALID_ARGUMENT: 3, + INVALID_ARGUMENT: 3; + /** DEADLINE_EXCEEDED. */ - DEADLINE_EXCEEDED: 4, + DEADLINE_EXCEEDED: 4; + /** NOT_FOUND. */ - NOT_FOUND: 5, + NOT_FOUND: 5; + /** ALREADY_EXISTS. */ - ALREADY_EXISTS: 6, + ALREADY_EXISTS: 6; + /** PERMISSION_DENIED. */ - PERMISSION_DENIED: 7, + PERMISSION_DENIED: 7; + /** RESOURCE_EXHAUSTED. */ - RESOURCE_EXHAUSTED: 8, + RESOURCE_EXHAUSTED: 8; + /** FAILED_PRECONDITION. */ - FAILED_PRECONDITION: 9, + FAILED_PRECONDITION: 9; + /** ABORTED. */ - ABORTED: 10, + ABORTED: 10; + /** OUT_OF_RANGE. */ - OUT_OF_RANGE: 11, + OUT_OF_RANGE: 11; + /** UNIMPLEMENTED. */ - UNIMPLEMENTED: 12, + UNIMPLEMENTED: 12; + /** INTERNAL. */ - INTERNAL: 13, + INTERNAL: 13; + /** UNAVAILABLE. */ - UNAVAILABLE: 14, + UNAVAILABLE: 14; + /** DATA_LOSS. */ - DATA_LOSS: 15, + DATA_LOSS: 15; + /** UNAUTHENTICATED. */ - UNAUTHENTICATED: 16, -} as const; -export type RpcGrpcStatusCodeValues = - (typeof RpcGrpcStatusCodeValues)[keyof typeof RpcGrpcStatusCodeValues]; + UNAUTHENTICATED: 16; +}; -export const MessageTypeValues = { +/** + * The constant map of values for RpcGrpcStatusCodeValues. + * @deprecated Use the RPCGRPCSTATUSCODEVALUES_XXXXX constants rather than the RpcGrpcStatusCodeValues.XXXXX for bundle minification. + */ +export const RpcGrpcStatusCodeValues: RpcGrpcStatusCodeValues = { + OK: TMP_RPCGRPCSTATUSCODEVALUES_OK, + CANCELLED: TMP_RPCGRPCSTATUSCODEVALUES_CANCELLED, + UNKNOWN: TMP_RPCGRPCSTATUSCODEVALUES_UNKNOWN, + INVALID_ARGUMENT: TMP_RPCGRPCSTATUSCODEVALUES_INVALID_ARGUMENT, + DEADLINE_EXCEEDED: TMP_RPCGRPCSTATUSCODEVALUES_DEADLINE_EXCEEDED, + NOT_FOUND: TMP_RPCGRPCSTATUSCODEVALUES_NOT_FOUND, + ALREADY_EXISTS: TMP_RPCGRPCSTATUSCODEVALUES_ALREADY_EXISTS, + PERMISSION_DENIED: TMP_RPCGRPCSTATUSCODEVALUES_PERMISSION_DENIED, + RESOURCE_EXHAUSTED: TMP_RPCGRPCSTATUSCODEVALUES_RESOURCE_EXHAUSTED, + FAILED_PRECONDITION: TMP_RPCGRPCSTATUSCODEVALUES_FAILED_PRECONDITION, + ABORTED: TMP_RPCGRPCSTATUSCODEVALUES_ABORTED, + OUT_OF_RANGE: TMP_RPCGRPCSTATUSCODEVALUES_OUT_OF_RANGE, + UNIMPLEMENTED: TMP_RPCGRPCSTATUSCODEVALUES_UNIMPLEMENTED, + INTERNAL: TMP_RPCGRPCSTATUSCODEVALUES_INTERNAL, + UNAVAILABLE: TMP_RPCGRPCSTATUSCODEVALUES_UNAVAILABLE, + DATA_LOSS: TMP_RPCGRPCSTATUSCODEVALUES_DATA_LOSS, + UNAUTHENTICATED: TMP_RPCGRPCSTATUSCODEVALUES_UNAUTHENTICATED, +}; + +/* ---------------------------------------------------------------------------------------------------------- + * Constant values for MessageTypeValues enum definition + * + * Whether this is a received or sent message. + * ---------------------------------------------------------------------------------------------------------- */ + +// Temporary local constants to assign to the individual exports and the namespaced version +// Required to avoid the namespace exports using the unminifable export names for some package types +const TMP_MESSAGETYPEVALUES_SENT = 'SENT'; +const TMP_MESSAGETYPEVALUES_RECEIVED = 'RECEIVED'; + +/** + * Whether this is a received or sent message. + */ +export const MESSAGETYPEVALUES_SENT = TMP_MESSAGETYPEVALUES_SENT; + +/** + * Whether this is a received or sent message. + */ +export const MESSAGETYPEVALUES_RECEIVED = TMP_MESSAGETYPEVALUES_RECEIVED; + +/** + * Identifies the Values for MessageTypeValues enum definition + * + * Whether this is a received or sent message. + * @deprecated Use the MESSAGETYPEVALUES_XXXXX constants rather than the MessageTypeValues.XXXXX for bundle minification. + */ +export type MessageTypeValues = { /** sent. */ - SENT: 'SENT', + SENT: 'SENT'; + /** received. */ - RECEIVED: 'RECEIVED', -} as const; -export type MessageTypeValues = - (typeof MessageTypeValues)[keyof typeof MessageTypeValues]; + RECEIVED: 'RECEIVED'; +}; + +/** + * The constant map of values for MessageTypeValues. + * @deprecated Use the MESSAGETYPEVALUES_XXXXX constants rather than the MessageTypeValues.XXXXX for bundle minification. + */ +export const MessageTypeValues: MessageTypeValues = + /*#__PURE__*/ createConstMap([ + TMP_MESSAGETYPEVALUES_SENT, + TMP_MESSAGETYPEVALUES_RECEIVED, + ]); diff --git a/packages/opentelemetry-semantic-conventions/test/helpers/autoImports.ts b/packages/opentelemetry-semantic-conventions/test/helpers/autoImports.ts new file mode 100644 index 0000000000..883b94b7bb --- /dev/null +++ b/packages/opentelemetry-semantic-conventions/test/helpers/autoImports.ts @@ -0,0 +1,202 @@ +/* + * 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 fs from 'fs'; +import * as path from 'path'; + +export interface IAutoImports { + getGroups: () => Array; + getGroupValues: (name: string) => Array; + getImportGroup: (name: string) => string; + getDebug: () => string; +} + +interface IImports { + file: string; + groups: { [key: string]: IAutoImportDef }; +} + +interface IAutoImportDef { + match: Array; + values: Array; +} + +const theImports: Array = [ + { + file: './src/trace/SemanticAttributes.ts', + groups: { + all: { + match: [/export\s+const\s+([\w]+)\s*[:=]+/g], + values: ['SemanticAttributes'], + }, + namespace: { + match: [], + values: ['SemanticAttributes'], + }, + allStrings: { + match: [/export\s+const\s+([\w]+)\s*=+/g], + values: [], + }, + http: { + match: [ + /export\s+const\s+(SEMATTRS_HTTP_[\w]+)\s*=+/g, + /export\s+const\s+(HTTP[\w]+)\s*=+/g, + ], + values: [], + }, + net: { + match: [ + /export\s+const\s+(SEMATTRS_NET_[\w]+)\s*=+/g, + /export\s+const\s+(NET[\w]+)\s*=+/g, + ], + values: [], + }, + messaging: { + match: [ + /export\s+const\s+(SEMATTRS_MESSAGING_[\w]+)\s*=+/g, + /export\s+const\s+(MESSAGING[\w]+)\s*=+/g, + ], + values: [], + }, + }, + }, + { + file: './src/resource/SemanticResourceAttributes.ts', + groups: { + all: { + match: [/export\s+const\s+([\w]+)\s*[:=]+/g], + values: ['SemanticResourceAttributes'], + }, + namespace: { + match: [], + values: ['SemanticResourceAttributes'], + }, + allStrings: { + match: [/export\s+const\s+([\w]+)\s*=+/g], + values: [], + }, + http: { + match: [ + /export\s+const\s+(SEMRESATTRS_HTTP_[\w]+)\s*=+/g, + /export\s+const\s+(HTTP[\w]+)\s*=+/g, + ], + values: [], + }, + net: { + match: [ + /export\s+const\s+(SEMRESATTRS_NET_[\w]+)\s*=+/g, + /export\s+const\s+(NET[\w]+)\s*=+/g, + ], + values: [], + }, + telemetry: { + match: [ + /export\s+const\s+(SEMRESATTRS_TELEMETRY_[\w]+)\s*=+/g, + /export\s+const\s+(TELEMETRY[\w]+)\s*=+/g, + ], + values: [], + }, + }, + }, +]; + +interface IImportValues { + first: boolean; + added: Array; + result: string; +} + +const _addImport = (theImport: string, state: IImportValues) => { + if (!state.added.includes(theImport)) { + if (!state.first) { + state.result += ', '; + } + + state.result += theImport; + state.added.push(theImport); + state.first = false; + + return true; + } + + return false; +}; + +export const getAutoImports = (): IAutoImports => { + // eslint-disable-next-line no-console + console.log('Resolving Auto Imports'); + + const importValues: { [key: string]: IImportValues } = {}; + + // Process each Import + theImports.forEach(imp => { + // eslint-disable-next-line no-console + console.log(' -- ' + imp.file); + + const filePath = path.resolve('.', imp.file); + const fileContent = fs.readFileSync(filePath, 'utf8'); + + // Process each group + Object.keys(imp.groups).forEach(groupName => { + // eslint-disable-next-line no-console + console.log(' ---- ' + groupName); + const group = imp.groups[groupName]; + if (!importValues[groupName]) { + importValues[groupName] = { + first: true, + added: [], + result: '', + }; + } + + // Add each pre-defined export + group.values.forEach(value => { + if (!_addImport(value, importValues[groupName])) { + // eslint-disable-next-line no-console + console.log(' ------ ' + value + ' already added value'); + } + }); + + if (fileContent) { + // Process each match + group.match.forEach(match => { + let matches: RegExpExecArray | null; + while ((matches = match.exec(fileContent)) && matches.length > 1) { + if (!_addImport(matches[1], importValues[groupName])) { + // eslint-disable-next-line no-console + console.log(' ------ ' + matches[1] + ' already added match'); + } + } + }); + } + }); + }); + + return { + getGroups: () => { + return Object.keys(importValues); + }, + getGroupValues: (name: string) => { + return (importValues[name] || {}).added || []; + }, + getImportGroup: (name: string) => { + return '{ ' + ((importValues[name] || {}).result || '') + ' }'; + }, + getDebug: () => { + return JSON.stringify(importValues, null, 2); + }, + }; +}; diff --git a/packages/opentelemetry-semantic-conventions/test/sizeLimit.test.ts b/packages/opentelemetry-semantic-conventions/test/sizeLimit.test.ts new file mode 100644 index 0000000000..0e01f8cc08 --- /dev/null +++ b/packages/opentelemetry-semantic-conventions/test/sizeLimit.test.ts @@ -0,0 +1,318 @@ +/* + * 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 child_process from 'child_process'; +import * as assert from 'assert'; +import * as path from 'path'; +import * as fs from 'fs'; +import { IAutoImports, getAutoImports } from './helpers/autoImports'; + +const rValues = + /^\s*(Size|Loading time|Running time|Total time):[^\d]+([\d.]+\s*[\w]+).*$/gm; + +const entryPoints = [ + { + name: 'cjs', + entry: './build/src/index.js', + }, + { + name: 'esm', + entry: './build/esm/index.js', + }, + { + name: 'esnext', + entry: './build/esnext/index.js', + }, +]; + +interface ISizeResult { + raw?: string; + size?: string; + loadTime?: string; + runTime?: string; + totalTime?: string; +} + +describe('size-limits', function () { + const autoImports: IAutoImports = getAutoImports(); + const results: { + [key: string]: { + full?: ISizeResult | null; + gzip?: ISizeResult | null; + brotli?: ISizeResult | null; + }; + } = {}; + const debugPath = path.resolve('./build/size-limit'); + + this.timeout(60000); + + const _formatResults = (results?: ISizeResult | null): string => { + let output = ''; + if (!results) { + return 'N/A'; + } + + const keys: Array = [ + 'size', + 'loadTime', + 'runTime', + 'totalTime', + ]; + keys.forEach(key => { + output += + key.padEnd(8, '.') + ': ' + (results[key] || '').padEnd(12, ' '); + }); + + return output; + }; + + const checkSize = ( + name: string, + filename: string, + imports: string, + gzip: boolean, + brotli: boolean + ): ISizeResult | null => { + const filePath = path.resolve('.', '.size-limit.json'); + try { + fs.writeFileSync( + filePath, + JSON.stringify([ + { + path: filename, + import: imports, + name: name, + gzip: gzip, + brotli: brotli, + }, + ]) + ); + + assert.ok(true, 'running'); + const value = child_process.execSync( + 'size-limit --save-bundle build/size-limit/' + name + ' --clean-dir' + ); + + let output = value.toString(); + // remove screen escaping + // eslint-disable-next-line no-control-regex + output = output.replace(/\x1b\[\d+m/g, ''); + const result: ISizeResult = {}; + + let matches: RegExpExecArray | null; + while ((matches = rValues.exec(output)) && matches.length > 1) { + switch (matches[1]) { + case 'Size': + result['size'] = matches[2]; + !result.raw && (result.raw = output); + break; + case 'Loading time': + result['loadTime'] = matches[2]; + !result.raw && (result.raw = output); + break; + case 'Running time': + result['runTime'] = matches[2]; + !result.raw && (result.raw = output); + break; + case 'Total time': + result['totalTime'] = matches[2]; + !result.raw && (result.raw = output); + break; + } + } + + assert.ok( + result && result.size, + 'size not present - ' + JSON.stringify(result.size) + '[' + value + ']' + ); + assert.ok( + result && result.loadTime, + 'loading time not present - ' + + JSON.stringify(result.loadTime) + + '[' + + value + + ']' + ); + assert.ok( + result && result.runTime, + 'run time not present - ' + + JSON.stringify(result.runTime) + + '[' + + value + + ']' + ); + assert.ok( + result && result.totalTime, + 'total time not present - ' + + JSON.stringify(result.totalTime) + + '[' + + value + + ']' + ); + //assert.ok(result && result.raw, "raw not present - " + JSON.stringify(result.raw) + "[" + value + "]"); + + return Object.keys(result).length > 0 ? result : null; + } finally { + fs.unlinkSync(filePath); + } + }; + + before(() => { + if (!fs.existsSync(debugPath)) { + fs.mkdirSync(debugPath, { recursive: true }); + } + + fs.writeFileSync( + path.resolve(debugPath, 'autoImports.debug.txt'), + autoImports.getDebug() + ); + }); + + after(() => { + // Log Results to Console + Object.keys(results).forEach(key => { + // eslint-disable-next-line no-console + console.log( + key.padEnd(16, '.') + + ': ' + + JSON.stringify( + { + full: _formatResults(results[key].full), + gzip: _formatResults(results[key].gzip), + brotli: _formatResults(results[key].brotli), + }, + null, + 2 + ) + ); + }); + + // Generate CSV Results + let csvResults = + 'Group,Full Size,Full Load Time,Full Run Time,Full Total Time,GZip Size,GZip Load Time,GZip Run Time,GZip Total Time,Brotli Size,Brotli Load Time,Brotli Run Time,Brotli Total Time\n'; + Object.keys(results).forEach(key => { + csvResults += + key + + ',' + + results[key].full?.size + + ',' + + results[key].full?.loadTime + + ',' + + results[key].full?.runTime + + ',' + + results[key].full?.totalTime + + ',' + + results[key].gzip?.size + + ',' + + results[key].gzip?.loadTime + + ',' + + results[key].gzip?.runTime + + ',' + + results[key].gzip?.totalTime + + ',' + + results[key].brotli?.size + + ',' + + results[key].brotli?.loadTime + + ',' + + results[key].brotli?.runTime + + ',' + + results[key].brotli?.totalTime + + '\n'; + }); + + // eslint-disable-next-line no-console + console.log( + "Writing results to '" + path.resolve(debugPath, 'results.csv') + "'" + ); + fs.writeFileSync(path.resolve(debugPath, 'results.csv'), csvResults); + + // Generate JSON Results for debugging + // eslint-disable-next-line no-console + console.log( + "Writing results to '" + path.resolve(debugPath, 'results.json') + "'" + ); + fs.writeFileSync( + path.resolve(debugPath, 'results.json'), + JSON.stringify(results, null, 2) + ); + }); + + entryPoints.forEach(entryPoint => { + describe('Checking ' + entryPoint.name, function () { + // eslint-disable-line no-undef + autoImports.getGroups().forEach(group => { + describe('Group ' + group, () => { + // eslint-disable-line no-undef + const checkResults: { + full?: ISizeResult | null; + gzip?: ISizeResult | null; + brotli?: ISizeResult | null; + } = {}; + + before(() => { + checkResults.full = checkSize( + entryPoint.name + '-' + group, + entryPoint.entry, + autoImports.getImportGroup(group), + false, + false + ); + checkResults.gzip = checkSize( + entryPoint.name + '-' + group, + entryPoint.entry, + autoImports.getImportGroup(group), + true, + false + ); + checkResults.brotli = checkSize( + entryPoint.name + '-' + group, + entryPoint.entry, + autoImports.getImportGroup(group), + false, + true + ); + }); + + it( + 'Calculating ' + + entryPoint.name + + '-' + + group + + ' (' + + autoImports.getGroupValues(group).length + + ')', + () => { + assert.ok( + checkResults.full, + 'full size found - ' + JSON.stringify(checkResults.full) + ); + assert.ok( + checkResults.gzip, + 'gZip size found - ' + JSON.stringify(checkResults.gzip) + ); + assert.ok( + checkResults.brotli, + 'brotli size found - ' + JSON.stringify(checkResults.brotli) + ); + + results[entryPoint.name + '-' + group] = checkResults; + } + ); + }); + }); + }); + }); +}); diff --git a/scripts/semconv/generate.sh b/scripts/semconv/generate.sh index dbd99464ea..2cec25d305 100755 --- a/scripts/semconv/generate.sh +++ b/scripts/semconv/generate.sh @@ -5,7 +5,11 @@ ROOT_DIR="${SCRIPT_DIR}/../../" # freeze the spec version to make SpanAttributess generation reproducible SPEC_VERSION=v1.7.0 -GENERATOR_VERSION=0.7.0 +GENERATOR_VERSION=0.8.0 + +# When running on windows and your are getting references to ";C" (like Telemetry;C) +# then this is an issue with the bash shell, so first run the following in your shell: +# export MSYS_NO_PATHCONV=1 cd ${SCRIPT_DIR} @@ -28,7 +32,8 @@ docker run --rm \ code \ --template /templates/SemanticAttributes.ts.j2 \ --output /output/SemanticAttributes.ts \ - -Dclass=SemanticAttributes + -Dclass=SemanticAttributes \ + -Dcls_prefix=SEMATTRS docker run --rm \ -v ${SCRIPT_DIR}/opentelemetry-specification/semantic_conventions/resource:/source \ @@ -39,9 +44,14 @@ docker run --rm \ code \ --template /templates/SemanticAttributes.ts.j2 \ --output /output/SemanticResourceAttributes.ts \ - -Dclass=SemanticResourceAttributes + -Dclass=SemanticResourceAttributes \ + -Dcls_prefix=SEMRESATTRS # Run the automatic linting fixing task to ensure it will pass eslint cd "$ROOT_DIR" npm run lint:fix:changed + +# Run the size checks for the generated files +cd "${ROOT_DIR}/packages/opentelemetry-semantic-conventions" +npm run size-check diff --git a/scripts/semconv/templates/SemanticAttributes.ts.j2 b/scripts/semconv/templates/SemanticAttributes.ts.j2 index eb144b93b2..0bbb4ebf7c 100644 --- a/scripts/semconv/templates/SemanticAttributes.ts.j2 +++ b/scripts/semconv/templates/SemanticAttributes.ts.j2 @@ -14,6 +14,7 @@ * limitations under the License. */ +import { createConstMap } from '../internal/utils'; {%- macro print_value(type, value) -%} {{ "'" if type == "string"}}{{value}}{{ "'" if type == "string"}} @@ -24,9 +25,49 @@ {%- macro lowerFirst(text) -%} {{ text[0]|lower}}{{text[1:] }} {%- endmacro %} +{%- macro normalizeName(value) -%} + {{ value.replace('.', '_') | upper }} +{%- endmacro %} +//---------------------------------------------------------------------------------------------------------- // DO NOT EDIT, this is an Auto-generated file from scripts/semconv/templates/{{template}} -export const {{class}} = { +//---------------------------------------------------------------------------------------------------------- + +//---------------------------------------------------------------------------------------------------------- +// Constant values for {{class}} +//---------------------------------------------------------------------------------------------------------- + +// Temporary local constants to assign to the individual exports and the namespaced version +// Required to avoid the namespace exports using the unminifable export names for some package types +{%- for attribute in attributes if attribute.is_local and not attribute.ref %} +const TMP_{{attribute.fqn | to_const_name}} = {{ print_value ("string", attribute.fqn) }}; +{%- endfor %} + +{%- for attribute in attributes if attribute.is_local and not attribute.ref %} + +/** +* {% filter escape %}{{attribute.brief | to_doc_brief}}.{% endfilter %} + {%- if attribute.note %} +* +* Note: {% filter escape %}{{attribute.note | to_doc_brief}}.{% endfilter %} + {%- endif %} + {%- if attribute.deprecated %} +* +* @deprecated {{attribute.deprecated | to_doc_brief}}. + {%- endif %} +*/ +export const {{cls_prefix}}_{{attribute.fqn | to_const_name}} = TMP_{{attribute.fqn | to_const_name}}; + +{%- endfor %} + +/** + * Definition of available values for {{class}} + * This type is used for backward compatibility, you should use the individual exported + * constants {{class}}_XXXXX rather than the exported constant map. As any single reference + * to a constant map value will result in all strings being included into your bundle. + * @deprecated Use the {{cls_prefix}}_XXXXX constants rather than the {{class}}.XXXXX for bundle minification. + */ +export type {{class}} = { {%- for attribute in attributes if attribute.is_local and not attribute.ref %} /** @@ -42,21 +83,118 @@ export const {{class}} = { */ {{attribute.fqn | to_const_name}}: '{{attribute.fqn}}', {%- endfor %} -} +}; + +/** + * Create exported Value Map for {{class}} values + * @deprecated Use the {{cls_prefix}}_XXXXX constants rather than the {{class}}.XXXXX for bundle minification + */ +export const {{class}}:{{class}} = /*#__PURE__*/createConstMap<{{class}}>([ + {%- for attribute in attributes if attribute.is_local and not attribute.ref %} + TMP_{{attribute.fqn | to_const_name}}, + {%- endfor %} +]); {%- for attribute in attributes if attribute.is_local and not attribute.ref %} {%- if attribute.is_enum %} {%- set class_name = attribute.fqn | to_camelcase(True) ~ "Values" %} {%- set type = attribute.attr_type.enum_type %} -{% if attribute.attr_type.members is defined and attribute.attr_type.members|length > 0 %} -export const {{class_name}} = { +{%- if attribute.attr_type.members is defined and attribute.attr_type.members|length > 0 %} + +/* ---------------------------------------------------------------------------------------------------------- + * Constant values for {{class_name}} enum definition + * + * {% filter escape %}{{attribute.brief | to_doc_brief}}.{% endfilter %} + {%- if attribute.note %} + * + * Note: {% filter escape %}{{attribute.note | to_doc_brief}}.{% endfilter %} + {%- endif %} + {%- if attribute.deprecated %} + * + * @deprecated {{attribute.deprecated | to_doc_brief}}. + {%- endif %} + * ---------------------------------------------------------------------------------------------------------- */ + +// Temporary local constants to assign to the individual exports and the namespaced version +// Required to avoid the namespace exports using the unminifable export names for some package types +{%- for member in attribute.attr_type.members if attribute.is_local and not attribute.ref %} +const TMP_{{class_name|upper}}_{{ member.member_id | to_const_name }} = {{ print_value(type, member.value) }}; +{%- endfor %} + +{%- for member in attribute.attr_type.members if attribute.is_local and not attribute.ref %} + +/** + * {% filter escape %}{{attribute.brief | to_doc_brief}}.{% endfilter %} + {%- if attribute.note %} + * + * Note: {% filter escape %}{{attribute.note | to_doc_brief}}.{% endfilter %} + {%- endif %} + {%- if attribute.deprecated %} + * + * @deprecated {{attribute.deprecated | to_doc_brief}}. + {%- endif %} + */ +export const {{class_name|upper}}_{{ member.member_id | to_const_name }} = TMP_{{class_name|upper}}_{{ member.member_id | to_const_name }}; + +{%- endfor %} + +/** + * Identifies the Values for {{class_name}} enum definition + * + * {% filter escape %}{{attribute.brief | to_doc_brief}}.{% endfilter %} + {%- if attribute.note %} + * + * Note: {% filter escape %}{{attribute.note | to_doc_brief}}.{% endfilter %} + {%- endif %} + {%- if attribute.deprecated %} + * + * @deprecated {{attribute.deprecated | to_doc_brief}}. Use the {{class_name | upper}}_XXXXX constants rather than the {{class_name}}.XXXXX for bundle minification. + {%- else %} + * @deprecated Use the {{class_name | upper}}_XXXXX constants rather than the {{class_name}}.XXXXX for bundle minification. + {%- endif %} + */ +export type {{class_name}} = { {%- for member in attribute.attr_type.members if attribute.is_local and not attribute.ref %} + /** {% filter escape %}{{member.brief | to_doc_brief}}.{% endfilter %} */ {{ member.member_id | to_const_name }}: {{ print_value(type, member.value) }}, {%- endfor %} -} as const -export type {{class_name}} = typeof {{class_name}}[keyof typeof {{class_name}}] +} + +{%- set enumMap = namespace(useCreateConst = false) %} +{%- if type == "string" %} + {%- set enumMap.useCreateConst = true %} + {%- for member in attribute.attr_type.members if attribute.is_local and not attribute.ref %} + {%- if (member.member_id | to_const_name) != ( member.value | to_const_name) %} + {%- set enumMap.useCreateConst = false %} + {%- endif %} + {%- endfor %} +{%- endif %} + +/** + * The constant map of values for {{class_name}}. + * @deprecated Use the {{class_name | upper}}_XXXXX constants rather than the {{class_name}}.XXXXX for bundle minification. + */ +{%- if enumMap.useCreateConst == true %} +export const {{class_name}}:{{class_name}} = /*#__PURE__*/createConstMap<{{class_name}}>([ +{%- for member in attribute.attr_type.members if attribute.is_local and not attribute.ref %} + {%- if (member.member_id | to_const_name) == ( member.value | to_const_name) %} + TMP_{{class_name|upper}}_{{ member.member_id | to_const_name }}, + {%- else %} + {#- Cause some invalid content to be generated to force a build error #} + !! Invalid mapping for {{class_name}}.{{ member.member_id }}:{{ member.value }}. The value is not a valid string. + {{ member.member_id | to_const_name }}: TMP_{{class_name|upper}}_{{ member.member_id | to_const_name }}, + {%- endif %} +{%- endfor %} +]); +{%- else %} +export const {{class_name}}:{{class_name}} = { +{%- for member in attribute.attr_type.members if attribute.is_local and not attribute.ref %} + {{ member.member_id | to_const_name }}: TMP_{{class_name|upper}}_{{ member.member_id | to_const_name }}, +{%- endfor %} +}; +{%- endif %} {% endif %} {% endif %}