diff --git a/common/config/rush/common-versions.json b/common/config/rush/common-versions.json index 46ee6a250076..2763847c8a0f 100644 --- a/common/config/rush/common-versions.json +++ b/common/config/rush/common-versions.json @@ -45,8 +45,12 @@ // when there is a new beta version which is being maintained in the repo. // Remove "^12.4.1" when the storage-blob releases a stable version. // Add a new entry in case a new version is being tested through the perf tests (Example: "12.2.0"). - "@azure/storage-blob": ["^12.4.1"], - "@azure/ms-rest-js": ["^2.0.0"], + "@azure/storage-blob": [ + "^12.4.1" + ], + "@azure/ms-rest-js": [ + "^2.0.0" + ], /** * For example, allow some projects to use an older TypeScript compiler * (in addition to whatever "usual" version is being used by other projects in the repo): @@ -55,24 +59,41 @@ // "~2.4.0" // ] // Following is required to allow for backward compatibility with Event Processor Host Track 1 - "@azure/event-hubs": ["^2.1.4"], - // Monitor-opentelemetry-exporter and monitor-query both depend on different versions of @opentelemetry and need to be updated - "@opentelemetry/api": ["^0.18.1", "0.21.0"], + "@azure/event-hubs": [ + "^2.1.4" + ], // Monitor: Allow node 10 types until Timeout / Timer conflict is resolved in OpenTelemetry repo // TODO: remove when released https://github.com/open-telemetry/opentelemetry-js/pull/1352 // eslint v7.15 needs node v10.12 - "@types/node": ["^10.0.0", "^10.12.0"], + "@types/node": [ + "^10.0.0", + "^10.12.0" + ], // @azure/test-utils-perfstress should depend on lowest version of @azure/core-http for maximum compatibility, allowing test // projects to choose a higher version if desired. - "@azure/core-http": ["^1.0.0"], + "@azure/core-http": [ + "^1.0.0" + ], // @azure/event-processor-host is on a much lower major version - "@azure/ms-rest-nodeauth": ["^0.9.2"], + "@azure/ms-rest-nodeauth": [ + "^0.9.2" + ], // Idenity is moving from v1 to v2. Moving all packages to v2 is going to take a bit of time, in the mean time we could use v2 on the perf-identity tests. - "@azure/identity": ["^2.0.0-beta.4", "2.0.0-beta.3", "^1.1.0"], + "@azure/identity": [ + "^2.0.0-beta.4", + "2.0.0-beta.3", + "^1.1.0" + ], // Issue #14771 tracks updating to these versions - "@microsoft/api-extractor": ["7.13.2"], - "prettier": ["2.2.1"], + "@microsoft/api-extractor": [ + "7.13.2" + ], + "prettier": [ + "2.2.1" + ], // @azure/cosmos was unable to upgrade due to test failures, Issue #15928 tracks making this upgrade - "@azure/core-rest-pipeline": ["^1.0.3"] + "@azure/core-rest-pipeline": [ + "^1.0.3" + ] } } diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 47e34d984ca1..b0ffa6675ca4 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -1042,18 +1042,6 @@ packages: node: '>=8.0.0' resolution: integrity: sha512-GtpMGd6vkzDMYcpu2t9LlhEgMy/SzBwRnz48EejlRArYqZzqSzAsKmegUK7zHgl+EOIaK9mKHhnRaQu3qw20cA== - /@opentelemetry/api/0.18.1: - dev: false - engines: - node: '>=8.0.0' - resolution: - integrity: sha512-pKNxHe3AJ5T2N5G3AlT9gx6FyF5K2FS9ZNc+FipC+f1CpVF/EY+JHTJ749dnM2kWIgZTbDJFiGMuc0FYjNSCOg== - /@opentelemetry/api/0.21.0: - dev: false - engines: - node: '>=8.0.0' - resolution: - integrity: sha512-Q7hHb3nidPgnBS2fi+y3K64F3EV48d9v09/6EtigIgVF43NFNhw/dboDKC7gECEkbTwuvFeLCbwKs9JaC8LDEw== /@opentelemetry/api/1.0.0: dev: false engines: @@ -1066,140 +1054,104 @@ packages: node: '>=8.0.0' resolution: integrity: sha512-iXKByCMfrlO5S6Oh97BuM56tM2cIBB0XsL/vWF/AtJrJEKx4MC/Xdu0xDsGXMGcNWpqF7ujMsjjnp0+UHBwnDQ== - /@opentelemetry/context-async-hooks/0.21.0_@opentelemetry+api@0.21.0: + /@opentelemetry/context-async-hooks/0.22.0_@opentelemetry+api@1.0.0: dependencies: - '@opentelemetry/api': 0.21.0 + '@opentelemetry/api': 1.0.0 dev: false engines: node: '>=8.1.0' peerDependencies: - '@opentelemetry/api': ^0.21.0 + '@opentelemetry/api': ^1.0.0 resolution: - integrity: sha512-3XxzT7jiDLbohUy66NWsYuWFtXsMI0qMhetWVlFmmBfMPLMR+U6xWA4xhfRMb6kMEjR5XJHbyDSxYwzxrd10sg== + integrity: sha512-JakZ9NJCiaf8FJ6lcR2Fle9xkBKxSFbXK4mk9gZ14totNh9SOTiUBUk08bAnATWUINrQlN8/5hpGKi5gs+FUxQ== /@opentelemetry/context-base/0.10.2: dev: false engines: node: '>=8.0.0' resolution: integrity: sha512-hZNKjKOYsckoOEgBziGMnBcX0M7EtstnCmwz5jZUOUYwlZ+/xxX6z3jPu1XVO2Jivk0eLfuP9GP+vFD49CMetw== - /@opentelemetry/core/0.18.2: - dependencies: - '@opentelemetry/api': 0.18.1 - semver: 7.3.5 - dev: false - engines: - node: '>=8.5.0' - resolution: - integrity: sha512-WG8veOEd8xZHuBaOHddzWQg5yj794lrEPAe6W1qI0YkV7pyqYXvhJdCxOU5Lyo1SWzTAjI5xrCUQ9J2WlrqzYA== - /@opentelemetry/core/0.21.0_@opentelemetry+api@0.21.0: + /@opentelemetry/core/0.22.0_@opentelemetry+api@1.0.0: dependencies: - '@opentelemetry/api': 0.21.0 - '@opentelemetry/semantic-conventions': 0.21.0 + '@opentelemetry/api': 1.0.0 + '@opentelemetry/semantic-conventions': 0.22.0 semver: 7.3.5 dev: false engines: node: '>=8.5.0' peerDependencies: - '@opentelemetry/api': ^0.21.0 + '@opentelemetry/api': ^1.0.0 resolution: - integrity: sha512-sZZQThBuqhCdBPgzPq4y9L4dhnpXXCCEqNsR6IUmMc/kQ8Bcw3lmI5fymLlliSt+lnTc26xJPVKZlwoQfwhThg== - /@opentelemetry/node/0.21.0_@opentelemetry+api@0.21.0: + integrity: sha512-x6JxuQ4rY2x39GEXJSqMgyf8XZPNNiZrGcCMhZSrtypq/WXlsJuxMNnUAl2hj2rpSGGukhhWn5cMpCmMJJz1hw== + /@opentelemetry/node/0.22.0_@opentelemetry+api@1.0.0: dependencies: - '@opentelemetry/api': 0.21.0 - '@opentelemetry/context-async-hooks': 0.21.0_@opentelemetry+api@0.21.0 - '@opentelemetry/core': 0.21.0_@opentelemetry+api@0.21.0 - '@opentelemetry/propagator-b3': 0.21.0_@opentelemetry+api@0.21.0 - '@opentelemetry/propagator-jaeger': 0.21.0_@opentelemetry+api@0.21.0 - '@opentelemetry/tracing': 0.21.0_@opentelemetry+api@0.21.0 + '@opentelemetry/api': 1.0.0 + '@opentelemetry/context-async-hooks': 0.22.0_@opentelemetry+api@1.0.0 + '@opentelemetry/core': 0.22.0_@opentelemetry+api@1.0.0 + '@opentelemetry/propagator-b3': 0.22.0_@opentelemetry+api@1.0.0 + '@opentelemetry/propagator-jaeger': 0.22.0_@opentelemetry+api@1.0.0 + '@opentelemetry/tracing': 0.22.0_@opentelemetry+api@1.0.0 semver: 7.3.5 dev: false engines: node: '>=8.0.0' peerDependencies: - '@opentelemetry/api': ^0.21.0 + '@opentelemetry/api': ^1.0.0 resolution: - integrity: sha512-PCA3pFmzTMN3iIlZ6Bz2BgPe8jEIdKRK7WyjfT9qqrLrHZ/dXNmX4MIz2IKTyQtS6tGt2jayD0IpWsVFctPOIA== - /@opentelemetry/propagator-b3/0.21.0_@opentelemetry+api@0.21.0: + integrity: sha512-+HhGbDruQ7cwejVOIYyxRa28uosnG8W95NiQZ6qE8PXXPsDSyGeftAPbtYpGit0H2f5hrVcMlwmWHeAo9xkSLA== + /@opentelemetry/propagator-b3/0.22.0_@opentelemetry+api@1.0.0: dependencies: - '@opentelemetry/api': 0.21.0 - '@opentelemetry/core': 0.21.0_@opentelemetry+api@0.21.0 + '@opentelemetry/api': 1.0.0 + '@opentelemetry/core': 0.22.0_@opentelemetry+api@1.0.0 dev: false engines: node: '>=8.0.0' peerDependencies: - '@opentelemetry/api': ^0.21.0 + '@opentelemetry/api': ^1.0.0 resolution: - integrity: sha512-KXQKXa76ilzBNdwr7hze9251g0AqBmwhCPnt17UCgb+97DFcOyEy5Rc7nnjZNxNGYYqUbk8116MK9hMZO2icGw== - /@opentelemetry/propagator-jaeger/0.21.0_@opentelemetry+api@0.21.0: + integrity: sha512-7UESJWUUmInXrlux9whSjoIMfpmajKbu2UBU/ux7TVkLTeaJwebLHoqDhuUTS4dbmvg3fnkpfmocyUgby16NwQ== + /@opentelemetry/propagator-jaeger/0.22.0_@opentelemetry+api@1.0.0: dependencies: - '@opentelemetry/api': 0.21.0 - '@opentelemetry/core': 0.21.0_@opentelemetry+api@0.21.0 + '@opentelemetry/api': 1.0.0 + '@opentelemetry/core': 0.22.0_@opentelemetry+api@1.0.0 dev: false engines: node: '>=8.5.0' peerDependencies: - '@opentelemetry/api': ^0.21.0 - resolution: - integrity: sha512-H0TaYBvDi4stz19UJNPFR1IRikQYjoKYuV6tZV4V5NnPAFTjBhvj/Heb0fNDUWK5G1tVB5NPrEsNSZjjdfvjLw== - /@opentelemetry/resources/0.18.2: - dependencies: - '@opentelemetry/api': 0.18.1 - '@opentelemetry/core': 0.18.2 - dev: false - engines: - node: '>=8.0.0' + '@opentelemetry/api': ^1.0.0 resolution: - integrity: sha512-EBPqFsreXgFaqkMmWCE8vh6pFhbWExRHSO24qSeGhxFmM5SQP/D1jJqMp/jVUSmrF97fPkMS0aEH5z7NOWdxQA== - /@opentelemetry/resources/0.21.0_@opentelemetry+api@0.21.0: + integrity: sha512-Xclq+eLfc0Zk1UAbY6clYjoCZqikk4SzvG8C/ODJ6LfDHnqMr/fKXaHHhh/DdHdi6d73o9S8ytblryc+CaTkrw== + /@opentelemetry/resources/0.22.0_@opentelemetry+api@1.0.0: dependencies: - '@opentelemetry/api': 0.21.0 - '@opentelemetry/core': 0.21.0_@opentelemetry+api@0.21.0 - '@opentelemetry/semantic-conventions': 0.21.0 + '@opentelemetry/api': 1.0.0 + '@opentelemetry/core': 0.22.0_@opentelemetry+api@1.0.0 + '@opentelemetry/semantic-conventions': 0.22.0 dev: false engines: node: '>=8.0.0' peerDependencies: - '@opentelemetry/api': ^0.21.0 - resolution: - integrity: sha512-xQUL2/2npP/isH8sbOSdynIRWmlM6p02L9Ex8x/BhUuSkGrMoxO2ezLPPYnfYam1py6ubaz8m1C54O2IRCmgQQ== - /@opentelemetry/semantic-conventions/0.18.2: - dev: false - engines: - node: '>=8.0.0' - resolution: - integrity: sha512-+0P+PrP9qSFVaayNdek4P1OAGE+PEl2SsufuHDRmUpOY25Wzjo7Atyar56Trjc32jkNy4lID6ZFT6BahsR9P9A== - /@opentelemetry/semantic-conventions/0.21.0: - dev: false - engines: - node: '>=8.0.0' + '@opentelemetry/api': ^1.0.0 resolution: - integrity: sha512-qQtZJ8Q+bO/gemBELsZbz5s//tNnyc+mQD/0RHc77XhI6ZBb+tprU6KN/7l0fl5z29smmai0hcJ9UNILC/7nIw== - /@opentelemetry/tracing/0.18.2: - dependencies: - '@opentelemetry/api': 0.18.1 - '@opentelemetry/core': 0.18.2 - '@opentelemetry/resources': 0.18.2 - '@opentelemetry/semantic-conventions': 0.18.2 - lodash.merge: 4.6.2 + integrity: sha512-LiX6/JyuD2eHi7Ewrq/PUP79azDqshd0r2oksNTJ+VwgbGfMlq79ykd4FhiEEk23fFbajGt+9ginadXoRk17dg== + /@opentelemetry/semantic-conventions/0.22.0: dev: false engines: node: '>=8.0.0' resolution: - integrity: sha512-IQSu+NwMhX8O9Wkjc4HjNqs/aKfkcInCE3dQuAOBBec/saLrM6jqd+Fa5QUzg03WMOqpDuZm5KTkr5+6DUrr0g== - /@opentelemetry/tracing/0.21.0_@opentelemetry+api@0.21.0: + integrity: sha512-t4fKikazahwNKmwD+CE/icHyuZldWvNMupJhjxdk9T/KxHFx3zCGjHT3MKavwYP6abzgAAm5WwzD1oHlmj7dyg== + /@opentelemetry/tracing/0.22.0_@opentelemetry+api@1.0.0: dependencies: - '@opentelemetry/api': 0.21.0 - '@opentelemetry/core': 0.21.0_@opentelemetry+api@0.21.0 - '@opentelemetry/resources': 0.21.0_@opentelemetry+api@0.21.0 - '@opentelemetry/semantic-conventions': 0.21.0 + '@opentelemetry/api': 1.0.0 + '@opentelemetry/core': 0.22.0_@opentelemetry+api@1.0.0 + '@opentelemetry/resources': 0.22.0_@opentelemetry+api@1.0.0 + '@opentelemetry/semantic-conventions': 0.22.0 lodash.merge: 4.6.2 dev: false engines: node: '>=8.0.0' peerDependencies: - '@opentelemetry/api': ^0.21.0 + '@opentelemetry/api': ^1.0.0 resolution: - integrity: sha512-6+2pfFpu7Yo2DwmBK9sHDUSIL7UshcEMwDF6+LghGK68ILRaEMqqBPgKarjhFH9ERgJB9GOkJ2snK96qIzMZNA== + integrity: sha512-EFrKTFndiEdh/KnzwDgo/EcphG/5z/NyLck8oiUUY+YMP7hskXNYHjTWSAv9UxtYe1MzgLbjmAateTuMmFIVNw== /@rollup/plugin-commonjs/11.0.2_rollup@1.32.1: dependencies: '@rollup/pluginutils': 3.1.0_rollup@1.32.1 @@ -8155,7 +8107,7 @@ packages: dev: false name: '@rush-temp/agrifood-farming' resolution: - integrity: sha512-1TBfH8mrt2ib3U1qef5slQiSujNaeVSuPS4ISdNcq6Vu2vUIjiJ1oxuXA6rfaaeSG1mGHp9wJDJ7Li0h5wsF1Q== + integrity: sha512-zxH3z0da7M7HliJFRufLVPCbrJZvGYX+bkJITR0xUJf4mRfWvfkboNOxjbKwxGVawQ1quKiqTmyZsPpLw9HIEQ== tarball: file:projects/agrifood-farming.tgz version: 0.0.0 file:projects/ai-anomaly-detector.tgz: @@ -8246,7 +8198,7 @@ packages: dev: false name: '@rush-temp/ai-document-translator' resolution: - integrity: sha512-SPtI9UxA5hglJh6QjPR1ZenuxfvvhsOequZrZl14qmvGwGDENI7NAWnb1MuarQcRfMRyd40dv2asnqG312iNqw== + integrity: sha512-3YHPFrjR8WULy8t7MNaoiNCoYBNkDfM9aRwRE1xbf80I5qtPfA7BD4mbo7sxMYesQdGiLSl9V1UARbbN4fy2pA== tarball: file:projects/ai-document-translator.tgz version: 0.0.0 file:projects/ai-form-recognizer.tgz: @@ -8380,7 +8332,7 @@ packages: dev: false name: '@rush-temp/ai-text-analytics' resolution: - integrity: sha512-vBEf8TUObUkBdOduEKEuN3V17KT8ax/MycFhx+fo4Qs34iJMqX/YIAIAme/QvDvdWCtf1PrEk+Ep66/2Us6Ppw== + integrity: sha512-PwfQ6A/U3Da95CRcCnbn/txOlXbzGxeAOIDNrlZXTr8TXitD4PIYgrl8k25NeztMKg76BICQv3QL+V6d4Li8zQ== tarball: file:projects/ai-text-analytics.tgz version: 0.0.0 file:projects/app-configuration.tgz: @@ -8488,7 +8440,7 @@ packages: dev: false name: '@rush-temp/attestation' resolution: - integrity: sha512-rUDB0KUUyb0NTzy6aVtQjsVuZG/o6dzet024G5HxEyOUHbb1KOakRDwet38Knpu5GGYPxP5Cl7GRIAFv9+q87Q== + integrity: sha512-BZ8CCLDiqLswQ8wK4lnFc4/ZMcn+a7VT+T83/aZtyiAw2XFgJ3BzIVU8Pq5Ol81OxELobA1M/L7Tw7vu6hHpwQ== tarball: file:projects/attestation.tgz version: 0.0.0 file:projects/communication-chat.tgz: @@ -8847,7 +8799,7 @@ packages: dev: false name: '@rush-temp/confidential-ledger' resolution: - integrity: sha512-PvCYuuLI3tCKXH+1yJcEcf0kJ4BtC55RwaXwwOyWcM/rMmYrKPtYImDBGl6UJgSE4khFPEhtMlbg9ErXDExs0Q== + integrity: sha512-jPiYbuPxYfVKkWJVYow1irqzxO/9Pyx68cONy0qLfzwOi4OC8TkXQVI0p23E5Wm/kvd46aWD+aaRD7nCKlPvZw== tarball: file:projects/confidential-ledger.tgz version: 0.0.0 file:projects/container-registry.tgz: @@ -8891,7 +8843,7 @@ packages: dev: false name: '@rush-temp/container-registry' resolution: - integrity: sha512-DFt88tLfBmEUwAR8+6xpAupuO1aKe9m2Ajb5uNRjiDzQBA6GlFEG6+hV5ToyDt6pGxGOpFH+T60ij7pjEuUkqg== + integrity: sha512-rvApa+GUcNzh2bFcw3EljYQpQalgHz0S9tsfcCv8ZPyBU4kuN53KasLy1bBEJLwqyIOrRQRdzYvLmgoW5sO0qA== tarball: file:projects/container-registry.tgz version: 0.0.0 file:projects/core-amqp.tgz: @@ -9044,12 +8996,11 @@ packages: dev: false name: '@rush-temp/core-client-1' resolution: - integrity: sha512-SG/UNSQX+LFioBKFma6ZxRnA/Z5bzBG+UUyTKgfFLuFFMLHGeKSYfH8yrepW+iivLnbClPQfcVes07ZljoR6vQ== + integrity: sha512-DrijA2NS4/XmZj1662Y6vb7WdQYW3/fyOjeAtDpkusGwA3qf0QRQoivCfvxTtRLTJH4XYH20Z5i375iAoOMYWQ== tarball: file:projects/core-client-1.tgz version: 0.0.0 file:projects/core-client-paging.tgz: dependencies: - '@azure/core-rest-pipeline': 1.0.4 '@microsoft/api-extractor': 7.13.2 '@types/chai': 4.2.19 '@types/mocha': 7.0.2 @@ -9082,7 +9033,7 @@ packages: dev: false name: '@rush-temp/core-client-paging' resolution: - integrity: sha512-MWsd9fmRdJ/ArkZHl867uBk7W5lA+voMiDFivxzcJSuFVG85nOEPNnoZz8AFlqbnLrhV2r3EOwbsp2M+s3iFHg== + integrity: sha512-cILnMe2cNW8wClpKU+i6EyZHXtI9FyIkDCrLvd4I8utQ/Cw6x2l4T88rx/nbdN2qTm/QfY1Oi49xgNPEqoam4A== tarball: file:projects/core-client-paging.tgz version: 0.0.0 file:projects/core-client.tgz: @@ -9120,7 +9071,7 @@ packages: dev: false name: '@rush-temp/core-client' resolution: - integrity: sha512-7b3K4L1f+at6Zz1whbFBdVfAgZlrvpPudcOgwbBeXPyJumHKk4pi5t4LVsKGfTOWxzFv31rPICyaJZ5IncvLhg== + integrity: sha512-il6SXKHslnN6KhbWk81o67b69k+uGgOd/UVEWmvp0OBuiF7+5YWUxbMGShuPaDCCODV5Eg1OX3bOVBU122ECyg== tarball: file:projects/core-client.tgz version: 0.0.0 file:projects/core-crypto.tgz: @@ -9349,7 +9300,7 @@ packages: dev: false name: '@rush-temp/core-rest-pipeline' resolution: - integrity: sha512-zojuz/HSp53v8H/nOSzpSDLTCo1p6cjkcVQ+F4bNKUJ6TPNNKlo7++PBthtyS8TT/rwXhpIAeKuke+RaifY1fA== + integrity: sha512-B30gNDjvYMKn9TTL3Li38tIe02Gn9y/2pz9MLrKoWFzITzyQwaht729dCk6oSYXfesN+LipPoM26kw5lkOQ0rg== tarball: file:projects/core-rest-pipeline.tgz version: 0.0.0 file:projects/core-tracing.tgz: @@ -9543,7 +9494,7 @@ packages: dev: false name: '@rush-temp/cosmos' resolution: - integrity: sha512-hiMrME79odG1cqoJyrO/ejY8+j5YBw/e2ZTcyKcLuJ8EzgpoCdcJd5+JFGP7Mr1P/dvzSJKEQfvSZvI3pRJdlQ== + integrity: sha512-xeynzMPENTLSgyH0Fi0tNXaGW76n4EWdwWWPrjSje3pHCLEw7BVgaLSOSQDkhuQskBJ6wxoDvL3OPJiUnXZzBg== tarball: file:projects/cosmos.tgz version: 0.0.0 file:projects/data-tables.tgz: @@ -9551,6 +9502,7 @@ packages: '@azure/core-rest-pipeline': 1.0.4 '@azure/core-tracing': 1.0.0-preview.11 '@azure/core-xml': 1.0.0-beta.1 + '@azure/identity': 2.0.0-beta.3 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 '@rollup/plugin-inject': 4.0.2_rollup@1.32.1 @@ -9600,7 +9552,7 @@ packages: dev: false name: '@rush-temp/data-tables' resolution: - integrity: sha512-fR6CYIR3sEMfnYpxmHgHv+8i3K9knpzIyqJaHyQPWflM7NiKxSMtQpf4y12qhC3aLCYY1GcSPJxA9+a0ait/xQ== + integrity: sha512-JnJ5r5pu8XHpQxCvIJFi0KWwk3XECT5OCXekLOqH2kXVxFzrI0IEwX9ToJwfFvXkmIaZYmFKKRc4NAhQ14TsdA== tarball: file:projects/data-tables.tgz version: 0.0.0 file:projects/dev-tool.tgz: @@ -9906,7 +9858,7 @@ packages: dev: false name: '@rush-temp/eventgrid' resolution: - integrity: sha512-QnzkeP9oYk6af81WVML/39OdVLgIESJBSzZXBFWtKYvaMbmc0PPaSFH4zfRS8AY5Xhh0ldrGM17m2Z6GwvNnoQ== + integrity: sha512-SBgApUEcGwhnF6aSeBKHFBxyPi7WfhLFrhH+VmYkQzWH6Y3I+6Q82Q6iegDWtMOQCYhgWhdEX4IMC37Z+6ytnA== tarball: file:projects/eventgrid.tgz version: 0.0.0 file:projects/eventhubs-checkpointstore-blob.tgz: @@ -10159,7 +10111,7 @@ packages: dev: false name: '@rush-temp/iot-modelsrepository' resolution: - integrity: sha512-qM8f/dF2yWddaq4BW2zZ1zucZDckpytzeB3YqPWhmdBEsBvIlPiPjl74h4kspJ8wWLsuvhOKlz1nrIFu131O/g== + integrity: sha512-xxLD7Acc6ktPpKllJjKXO0WDBy97DSh1kfiF5cECusqDY3u7+BF8GBs/7E3x0do6/Eofn1goARxH9hC+mKM0fA== tarball: file:projects/iot-modelsrepository.tgz version: 0.0.0 file:projects/keyvault-admin.tgz: @@ -10204,7 +10156,7 @@ packages: dev: false name: '@rush-temp/keyvault-admin' resolution: - integrity: sha512-JqYaBoRx4c9WwiPxa1JEbi0nMsGstpFmr73TeJ9toZkQK8BEd/jKFJTe3sUbm+DbxoBh2PbT1Fc+fGhC/+MGew== + integrity: sha512-LlmRCxSakkuseakBlCLSHrPvJPhBanDgaYXv9uAz2/L44BajmfkYbZ5CASZ69fsC8w+YsF9n0dbcmO2S4w56hA== tarball: file:projects/keyvault-admin.tgz version: 0.0.0 file:projects/keyvault-certificates.tgz: @@ -10500,11 +10452,11 @@ packages: file:projects/monitor-opentelemetry-exporter.tgz: dependencies: '@microsoft/api-extractor': 7.7.11 - '@opentelemetry/api': 0.18.1 - '@opentelemetry/core': 0.18.2 - '@opentelemetry/resources': 0.18.2 - '@opentelemetry/semantic-conventions': 0.18.2 - '@opentelemetry/tracing': 0.18.2 + '@opentelemetry/api': 1.0.0 + '@opentelemetry/core': 0.22.0_@opentelemetry+api@1.0.0 + '@opentelemetry/resources': 0.22.0_@opentelemetry+api@1.0.0 + '@opentelemetry/semantic-conventions': 0.22.0 + '@opentelemetry/tracing': 0.22.0_@opentelemetry+api@1.0.0 '@types/mocha': 7.0.2 '@types/node': 10.17.60 eslint: 7.29.0 @@ -10524,16 +10476,16 @@ packages: dev: false name: '@rush-temp/monitor-opentelemetry-exporter' resolution: - integrity: sha512-w2ct7E2nX0YTa9nbI14EWNAYg8zHDznRHSjkb6GK3lm9q6AfPXjewK9bOZqqhtBbc0ap4LfH+FuexnltuzFnaA== + integrity: sha512-aZpEWfv4GO5hp+TrhXmiB4PQCA1cTDjeTWq2Qyk+ckCPt42cNTscgaulw2mjyPfZmPk6YzIJ/5vbZAvxfpoO7Q== tarball: file:projects/monitor-opentelemetry-exporter.tgz version: 0.0.0 file:projects/monitor-query.tgz: dependencies: '@azure/identity': 1.3.0 '@microsoft/api-extractor': 7.7.11 - '@opentelemetry/api': 0.21.0 - '@opentelemetry/node': 0.21.0_@opentelemetry+api@0.21.0 - '@opentelemetry/tracing': 0.18.2 + '@opentelemetry/api': 1.0.0 + '@opentelemetry/node': 0.22.0_@opentelemetry+api@1.0.0 + '@opentelemetry/tracing': 0.22.0_@opentelemetry+api@1.0.0 '@types/chai': 4.2.19 '@types/chai-as-promised': 7.1.4 '@types/mocha': 7.0.2 @@ -10572,7 +10524,7 @@ packages: dev: false name: '@rush-temp/monitor-query' resolution: - integrity: sha512-ON6PB//RHdZG1TyksRq5CyFzk1G2eC5kqn8TIYI71bTklo+xQiRQWgzvRg45CPjt+JP+BRTgXqX6TVub4cNWiQ== + integrity: sha512-sKEbHURwQ0W5MZKWdtDb9GCLNhzi9FZlfjkZLdSYsdVEwHEv/lwp8cqtVr7IkJ5KD21UnyexhmvRzTtHMvwXPA== tarball: file:projects/monitor-query.tgz version: 0.0.0 file:projects/perf-ai-form-recognizer.tgz: @@ -10638,7 +10590,7 @@ packages: dev: false name: '@rush-temp/perf-core-rest-pipeline' resolution: - integrity: sha512-4q+no8yk20vAH8+zbnKxeml6k7tFKGCKCWlPqlecQ0YEPXVsebPhaBYIfKXdko2g/Txt1Y+v1v7xmAfFFwcbFw== + integrity: sha512-VtDP3wPovpWESSwAZQ7FqSBdZAqLmijGC50UHykB1qGKoSk/v4hnX3v3H/qef2Gq1m9962VNH3A1xHcAujr5Ng== tarball: file:projects/perf-core-rest-pipeline.tgz version: 0.0.0 file:projects/perf-eventgrid.tgz: @@ -10761,7 +10713,7 @@ packages: dev: false name: '@rush-temp/perf-storage-blob' resolution: - integrity: sha512-KYjx9lP6U+6d8rXevBGZd+LdvZWgWCvAAUYhSa/lgVE06d4BLkG0ND2GJDQPTdRIW39vxjJwqwowhFe4/Z0Jxw== + integrity: sha512-h1YaI4Uhhooobl0kV7ArC9qdp4YS6nOuRsfRX0xt621Ag6o8Sk5IeYHTo+mezVebEZFvPNiuTHIzBBdPhISOKg== tarball: file:projects/perf-storage-blob.tgz version: 0.0.0 file:projects/perf-storage-file-datalake.tgz: @@ -10840,7 +10792,7 @@ packages: dev: false name: '@rush-temp/purview-catalog' resolution: - integrity: sha512-+812uw23hRbV3dE91BX7cnyQ3nvmQzZHcezDgotVIHo/P8eYR+UsRxXaAVXYFbQMteJswuu/wv1aDAsTUIV+bA== + integrity: sha512-WPSEZTapYdZwHdzDo8F+4Tzx6W49pvnyQQFcRraQOqgeUkrCF6wfDW0JtkR2xU2GWjnuif/ilg4NoanFQcidbQ== tarball: file:projects/purview-catalog.tgz version: 0.0.0 file:projects/purview-scanning.tgz: @@ -10883,7 +10835,7 @@ packages: dev: false name: '@rush-temp/purview-scanning' resolution: - integrity: sha512-xFY0I3wujRaJjJCYdh2N29gUyRmtMG9QK+BLuQzfgb7HHRDJ/iZLqfI9VZPvaTDLGBjLBsFV9fOJxve8BtF3FQ== + integrity: sha512-xO9TV5e8I9WEWBc9dsOEzbx9j+l2NSgyz7s1vy4b3vsFGtOJMkeAIOKK6dXOcvf+QVOp8FOSk5XwSNAggDIyqA== tarball: file:projects/purview-scanning.tgz version: 0.0.0 file:projects/quantum-jobs.tgz: @@ -11281,7 +11233,7 @@ packages: dev: false name: '@rush-temp/storage-blob' resolution: - integrity: sha512-NsJl51NIeTjZIH4PEFIwPFjwkUy6TxsicsHzY0I9umf7iMZ9Lw1zAwiyKGnaQzRVhs0Eacdc0iEtQpP4lf91lA== + integrity: sha512-vDjrlt3aRme+YkIbvsx56A9FZpNC+7u96T0wFb2R+oVQy1UQpcvbsMD0ztuI59ao7b830JOeObLzHdwbiQg8Aw== tarball: file:projects/storage-blob.tgz version: 0.0.0 file:projects/storage-file-datalake.tgz: diff --git a/sdk/monitor/monitor-opentelemetry-exporter/package.json b/sdk/monitor/monitor-opentelemetry-exporter/package.json index 963cd51d8e87..5bd37efa024f 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/package.json +++ b/sdk/monitor/monitor-opentelemetry-exporter/package.json @@ -95,11 +95,11 @@ }, "dependencies": { "@azure/core-http": "^1.2.0", - "@opentelemetry/api": "^0.18.1", - "@opentelemetry/core": "^0.18.2", - "@opentelemetry/resources": "^0.18.2", - "@opentelemetry/semantic-conventions": "^0.18.2", - "@opentelemetry/tracing": "^0.18.2", + "@opentelemetry/api": "^1.0.0", + "@opentelemetry/core": "^0.22.0", + "@opentelemetry/resources": "^0.22.0", + "@opentelemetry/semantic-conventions": "^0.22.0", + "@opentelemetry/tracing": "^0.22.0", "tslib": "^2.2.0" }, "sideEffects": false, diff --git a/sdk/monitor/monitor-opentelemetry-exporter/src/export/trace.ts b/sdk/monitor/monitor-opentelemetry-exporter/src/export/trace.ts index e7fbd1d564e9..a90cf99c7501 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/src/export/trace.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/src/export/trace.ts @@ -96,7 +96,7 @@ export class AzureMonitorTraceExporter implements SpanExporter { if (result) { diag.info(result); const breezeResponse = JSON.parse(result) as BreezeResponse; - let filteredEnvelopes: Envelope[] = []; + const filteredEnvelopes: Envelope[] = []; breezeResponse.errors.forEach((error) => { if (error.statusCode && isRetriable(error.statusCode)) { filteredEnvelopes.push(envelopes[error.index]); @@ -132,7 +132,7 @@ export class AzureMonitorTraceExporter implements SpanExporter { // To prevent circular redirects if (this._numConsecutiveRedirects < 10) { if (restError.response && restError.response.headers) { - let location = restError.response.headers.get("location"); + const location = restError.response.headers.get("location"); if (location) { // Update sender URL this._sender.handlePermanentRedirect(location); diff --git a/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/httpSender.ts b/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/httpSender.ts index 201608d63d04..f1b70cfc6d01 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/httpSender.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/httpSender.ts @@ -52,7 +52,7 @@ export class HttpSender implements Sender { handlePermanentRedirect(location: string | undefined) { if (location) { - let locUrl = new url.URL(location); + const locUrl = new url.URL(location); if (locUrl && locUrl.host) { this._appInsightsClient.host = "https://" + locUrl.host; } diff --git a/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/persist/fileSystemPersist.ts b/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/persist/fileSystemPersist.ts index 6fce252c1e81..ff651cdc1c42 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/persist/fileSystemPersist.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/persist/fileSystemPersist.ts @@ -154,12 +154,12 @@ export class FileSystemPersist implements PersistentStorage { } else { files.forEach(async (file) => { // Check expiration - let fileCreationDate: Date = new Date( + const fileCreationDate: Date = new Date( parseInt(file.split(FileSystemPersist.FILENAME_SUFFIX)[0]) ); - let expired = new Date(+new Date() - this.fileRetemptionPeriod) > fileCreationDate; + const expired = new Date(+new Date() - this.fileRetemptionPeriod) > fileCreationDate; if (expired) { - var filePath = path.join(this._tempDirectory, file); + const filePath = path.join(this._tempDirectory, file); await unlinkAsync(filePath); } }); diff --git a/sdk/monitor/monitor-opentelemetry-exporter/src/utils/constants/span/dbAttributes.ts b/sdk/monitor/monitor-opentelemetry-exporter/src/utils/constants/span/dbAttributes.ts index 70def6256e72..88bf583a5345 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/src/utils/constants/span/dbAttributes.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/src/utils/constants/span/dbAttributes.ts @@ -4,48 +4,12 @@ import * as conventions from "@opentelemetry/semantic-conventions"; /** - * OpenTelemetry DB type attribute. + * OpenTelemetry DB name attribute. * @internal */ -export const { DB_TYPE } = conventions.DatabaseAttribute; -/** - * OpenTelemetry DB instance attribute. - * @internal - */ -export const { DB_INSTANCE } = conventions.DatabaseAttribute; +export const DB_NAME = conventions.SemanticAttributes.DB_NAME; /** * OpenTelemetry DB statement attribute. * @internal */ -export const { DB_STATEMENT } = conventions.DatabaseAttribute; -/** - * OpenTelemetry peer address attribute. - * @internal - */ -export const PEER_ADDRESS = conventions.GeneralAttribute.NET_PEER_ADDRESS; -/** - * OpenTelemetry peer hostname attribute. - * @internal - */ -export const PEER_HOSTNAME = conventions.GeneralAttribute.NET_PEER_HOSTNAME; - -/** - * OpenTelemetry peer port attribute. - * @internal - */ -export const PEER_PORT = conventions.GeneralAttribute.NET_PEER_PORT; -/** - * OpenTelemetry peer IPV4 attribute. - * @internal - */ -export const PEER_IPV4 = conventions.GeneralAttribute.NET_PEER_IPV4; -/** - * OpenTelemetry peer IPV6 attribute. - * @internal - */ -export const PEER_IPV6 = conventions.GeneralAttribute.NET_PEER_IPV6; -/** - * OpenTelemetry peer service attribute. - * @internal - */ -export const PEER_SERVICE = conventions.GeneralAttribute.NET_PEER_SERVICE; +export const DB_STATEMENT = conventions.SemanticAttributes.DB_STATEMENT; diff --git a/sdk/monitor/monitor-opentelemetry-exporter/src/utils/constants/span/grpcAttributes.ts b/sdk/monitor/monitor-opentelemetry-exporter/src/utils/constants/span/grpcAttributes.ts index 05ca3bb2bef4..900fe04fdfb0 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/src/utils/constants/span/grpcAttributes.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/src/utils/constants/span/grpcAttributes.ts @@ -3,28 +3,13 @@ import * as conventions from "@opentelemetry/semantic-conventions"; -/** - * OpenTelemetry GRPC kind attribute. - * @internal - */ -export const { GRPC_KIND } = conventions.RpcAttribute; /** * OpenTelemetry GRPC method attribute. * @internal */ -export const { GRPC_METHOD } = conventions.RpcAttribute; +export const GRPC_METHOD = conventions.SemanticAttributes.RPC_METHOD; /** * OpenTelemetry GRPC status code attribute. * @internal */ -export const { GRPC_STATUS_CODE } = conventions.RpcAttribute; -/** - * OpenTelemetry GRPC error name attribute. - * @internal - */ -export const { GRPC_ERROR_NAME } = conventions.RpcAttribute; -/** - * OpenTelemetry GRPC error message attribute. - * @internal - */ -export const { GRPC_ERROR_MESSAGE } = conventions.RpcAttribute; +export const GRPC_STATUS_CODE = conventions.SemanticAttributes.RPC_GRPC_STATUS_CODE; diff --git a/sdk/monitor/monitor-opentelemetry-exporter/src/utils/constants/span/httpAttributes.ts b/sdk/monitor/monitor-opentelemetry-exporter/src/utils/constants/span/httpAttributes.ts index b95de5ee7fb3..d742d21ce6ab 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/src/utils/constants/span/httpAttributes.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/src/utils/constants/span/httpAttributes.ts @@ -7,19 +7,19 @@ import * as conventions from "@opentelemetry/semantic-conventions"; * OpenTelemetry HTTP method attribute. * @internal */ -export const { HTTP_METHOD } = conventions.HttpAttribute; +export const HTTP_METHOD = conventions.SemanticAttributes.HTTP_METHOD; /** * OpenTelemetry HTTP URL attribute. * @internal */ -export const { HTTP_URL } = conventions.HttpAttribute; +export const HTTP_URL = conventions.SemanticAttributes.HTTP_URL; /** * OpenTelemetry HTTP route attribute. * @internal */ -export const { HTTP_ROUTE } = conventions.HttpAttribute; +export const HTTP_ROUTE = conventions.SemanticAttributes.HTTP_ROUTE; /** * OpenTelemetry HTTP status code attribute. * @internal */ -export const { HTTP_STATUS_CODE } = conventions.HttpAttribute; +export const HTTP_STATUS_CODE = conventions.SemanticAttributes.HTTP_STATUS_CODE; diff --git a/sdk/monitor/monitor-opentelemetry-exporter/src/utils/eventhub.ts b/sdk/monitor/monitor-opentelemetry-exporter/src/utils/eventhub.ts index b5cb85b21d2c..c6750362efb6 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/src/utils/eventhub.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/src/utils/eventhub.ts @@ -3,7 +3,7 @@ import { SpanKind } from "@opentelemetry/api"; import { hrTimeToMilliseconds } from "@opentelemetry/core"; -import { GeneralAttribute } from "@opentelemetry/semantic-conventions"; +import { SemanticAttributes } from "@opentelemetry/semantic-conventions"; import { ReadableSpan } from "@opentelemetry/tracing"; import { RemoteDependencyData, RequestData } from "../generated"; import { TIME_SINCE_ENQUEUED, ENQUEUED_TIME } from "./constants/applicationinsights"; @@ -43,7 +43,7 @@ export const parseEventHubSpan = ( baseData: RequestData | RemoteDependencyData ): void => { const namespace = span.attributes[AzNamespace] as typeof MicrosoftEventHub; - const peerAddress = ((span.attributes[GeneralAttribute.NET_PEER_ADDRESS] || + const peerAddress = ((span.attributes[SemanticAttributes.NET_PEER_NAME] || span.attributes["peer.address"] || "unknown") as string).replace(/\/$/g, ""); // remove trailing "/" const messageBusDestination = (span.attributes[MessageBusDestination] || "unknown") as string; diff --git a/sdk/monitor/monitor-opentelemetry-exporter/src/utils/spanUtils.ts b/sdk/monitor/monitor-opentelemetry-exporter/src/utils/spanUtils.ts index 2d81104afb95..b99b0a0a37cf 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/src/utils/spanUtils.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/src/utils/spanUtils.ts @@ -5,7 +5,7 @@ import { URL } from "url"; import { ReadableSpan } from "@opentelemetry/tracing"; import { hrTimeToMilliseconds } from "@opentelemetry/core"; import { diag, SpanKind, SpanStatusCode, Link } from "@opentelemetry/api"; -import { SERVICE_RESOURCE } from "@opentelemetry/resources"; +import { ResourceAttributes } from "@opentelemetry/semantic-conventions"; import { Tags, Properties, MSLink, Measurements } from "../types"; import { HTTP_METHOD, @@ -22,15 +22,10 @@ import { MS_LINKS, INPROC } from "./constants/applicationinsights"; -import { - GRPC_ERROR_MESSAGE, - GRPC_ERROR_NAME, - GRPC_METHOD, - GRPC_STATUS_CODE -} from "./constants/span/grpcAttributes"; +import { GRPC_METHOD, GRPC_STATUS_CODE } from "./constants/span/grpcAttributes"; import { msToTimeSpan } from "./breezeUtils"; import { getInstance } from "../platform"; -import { DB_STATEMENT, DB_TYPE, DB_INSTANCE } from "./constants/span/dbAttributes"; +import { DB_NAME, DB_STATEMENT } from "./constants/span/dbAttributes"; import { parseEventHubSpan } from "./eventhub"; import { AzNamespace, MicrosoftEventHub } from "./constants/span/azAttributes"; import { RemoteDependencyData, RequestData, TelemetryItem as Envelope } from "../generated"; @@ -39,14 +34,14 @@ function createTagsFromSpan(span: ReadableSpan): Tags { const context = getInstance(); const tags: Tags = { ...context.tags }; - tags[AI_OPERATION_ID] = span.spanContext.traceId; + tags[AI_OPERATION_ID] = span.spanContext().traceId; if (span.parentSpanId) { tags[AI_OPERATION_PARENT_ID] = span.parentSpanId; } if (span.resource && span.resource.attributes) { - const serviceName = span.resource.attributes[SERVICE_RESOURCE.NAME]; - const serviceNamespace = span.resource.attributes[SERVICE_RESOURCE.NAMESPACE]; - const serviceInstanceId = span.resource.attributes[SERVICE_RESOURCE.INSTANCE_ID]; + const serviceName = span.resource.attributes[ResourceAttributes.SERVICE_NAME]; + const serviceNamespace = span.resource.attributes[ResourceAttributes.SERVICE_NAMESPACE]; + const serviceInstanceId = span.resource.attributes[ResourceAttributes.SERVICE_INSTANCE_ID]; if (serviceName) { if (serviceNamespace) { tags[AI_CLOUD_ROLE] = `${serviceNamespace}.${serviceName}`; @@ -83,11 +78,7 @@ function createPropertiesFromSpan(span: ReadableSpan): [Properties, Measurements const measurements: Measurements = {}; for (const key of Object.keys(span.attributes)) { - if ( - key === GRPC_ERROR_MESSAGE || - key === GRPC_ERROR_NAME || - !(key.startsWith("http.") || key.startsWith("grpc.") || key.startsWith("db.")) - ) { + if (!(key.startsWith("http.") || key.startsWith("rpc.") || key.startsWith("db."))) { properties[key] = span.attributes[key] as string; } } @@ -107,7 +98,7 @@ function createPropertiesFromSpan(span: ReadableSpan): [Properties, Measurements function createDependencyData(span: ReadableSpan): RemoteDependencyData { const data: RemoteDependencyData = { name: span.name, - id: `|${span.spanContext.traceId}.${span.spanContext.spanId}.`, + id: `|${span.spanContext().traceId}.${span.spanContext().spanId}.`, success: span.status.code === SpanStatusCode.OK, resultCode: String(span.status.code), target: span.attributes[HTTP_URL] as string | undefined, @@ -144,14 +135,9 @@ function createDependencyData(span: ReadableSpan): RemoteDependencyData { if (span.attributes[DB_STATEMENT]) { data.name = String(span.attributes[DB_STATEMENT]); data.data = String(span.attributes[DB_STATEMENT]); - if (span.attributes[DB_TYPE]) { - data.type = String(span.attributes[DB_TYPE]); - } else { - data.type = "DB"; - } - - if (span.attributes[DB_INSTANCE]) { - data.target = String(span.attributes[DB_INSTANCE]); + data.type = "DB"; + if (span.attributes[DB_NAME]) { + data.target = String(span.attributes[DB_NAME]); } } @@ -161,7 +147,7 @@ function createDependencyData(span: ReadableSpan): RemoteDependencyData { function createRequestData(span: ReadableSpan): RequestData { const data: RequestData = { name: span.name, - id: `|${span.spanContext.traceId}.${span.spanContext.spanId}.`, + id: `|${span.spanContext().traceId}.${span.spanContext().spanId}.`, success: span.status.code === SpanStatusCode.OK, responseCode: String(span.status.code), duration: msToTimeSpan(hrTimeToMilliseconds(span.duration)), diff --git a/sdk/monitor/monitor-opentelemetry-exporter/test/common/scenario/basic.ts b/sdk/monitor/monitor-opentelemetry-exporter/test/common/scenario/basic.ts index a817f620469e..c20e245d5aa1 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/test/common/scenario/basic.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/test/common/scenario/basic.ts @@ -37,29 +37,20 @@ export class BasicScenario implements Scenario { foo: "bar" } }); - const ctx = opentelemetry.setSpan(opentelemetry.context.active(), root); - const child1 = tracer.startSpan( - `${this.constructor.name}.Child.1`, - { - startTime: 0, - kind: opentelemetry.SpanKind.CLIENT, - attributes: { - numbers: "123" - } - }, - ctx - ); - const child2 = tracer.startSpan( - `${this.constructor.name}.Child.2`, - { - startTime: 0, - kind: opentelemetry.SpanKind.CLIENT, - attributes: { - numbers: "1234" - } - }, - ctx - ); + const child1 = tracer.startSpan(`${this.constructor.name}.Child.1`, { + startTime: 0, + kind: opentelemetry.SpanKind.CLIENT, + attributes: { + numbers: "123" + } + }); + const child2 = tracer.startSpan(`${this.constructor.name}.Child.2`, { + startTime: 0, + kind: opentelemetry.SpanKind.CLIENT, + attributes: { + numbers: "1234" + } + }); child1.setStatus({ code: SpanStatusCode.OK }); child1.end(100); await delay(0); diff --git a/sdk/monitor/monitor-opentelemetry-exporter/test/unit/export/trace.test.ts b/sdk/monitor/monitor-opentelemetry-exporter/test/unit/export/trace.test.ts index ee9293616d2f..88db775e3d62 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/test/unit/export/trace.test.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/test/unit/export/trace.test.ts @@ -152,8 +152,8 @@ describe("#AzureMonitorBaseExporter", () => { it("should handle permanent redirects in Azure Monitor", async () => { const exporter = new TestExporter(); - let redirectHost = "https://ukwest-0.in.applicationinsights.azure.com"; - let redirectLocation = redirectHost + "/v2/track"; + const redirectHost = "https://ukwest-0.in.applicationinsights.azure.com"; + const redirectLocation = redirectHost + "/v2/track"; // Redirect endpoint const redirectScope = nock(redirectHost).post("/v2/track", () => { return true; @@ -161,8 +161,8 @@ describe("#AzureMonitorBaseExporter", () => { redirectScope.reply(200, JSON.stringify(successfulBreezeResponse(1))); scope.reply(308, {}, { location: redirectLocation }); - let result = await exporter.exportEnvelopesPrivate([envelope]); - let persistedEnvelopes = (await exporter["_persister"].shift()) as Envelope[]; + const result = await exporter.exportEnvelopesPrivate([envelope]); + const persistedEnvelopes = (await exporter["_persister"].shift()) as Envelope[]; assert.strictEqual(persistedEnvelopes, null); assert.strictEqual(result.code, ExportResultCode.SUCCESS); assert.strictEqual( @@ -173,8 +173,8 @@ describe("#AzureMonitorBaseExporter", () => { it("should handle temporary redirects in Azure Monitor", async () => { const exporter = new TestExporter(); - let redirectHost = "https://ukwest-0.in.applicationinsights.azure.com"; - let redirectLocation = redirectHost + "/v2/track"; + const redirectHost = "https://ukwest-0.in.applicationinsights.azure.com"; + const redirectLocation = redirectHost + "/v2/track"; // Redirect endpoint const redirectScope = nock(redirectHost).post("/v2/track", () => { return true; @@ -182,8 +182,8 @@ describe("#AzureMonitorBaseExporter", () => { redirectScope.reply(200, JSON.stringify(successfulBreezeResponse(1))); scope.reply(307, {}, { location: redirectLocation }); - let result = await exporter.exportEnvelopesPrivate([envelope]); - let persistedEnvelopes = (await exporter["_persister"].shift()) as Envelope[]; + const result = await exporter.exportEnvelopesPrivate([envelope]); + const persistedEnvelopes = (await exporter["_persister"].shift()) as Envelope[]; assert.strictEqual(persistedEnvelopes, null); assert.strictEqual(result.code, ExportResultCode.SUCCESS); assert.strictEqual( @@ -194,8 +194,8 @@ describe("#AzureMonitorBaseExporter", () => { it("should use redirect URL for following requests", async () => { const exporter = new TestExporter(); - let redirectHost = "https://ukwest-0.in.applicationinsights.azure.com"; - let redirectLocation = redirectHost + "/v2/track"; + const redirectHost = "https://ukwest-0.in.applicationinsights.azure.com"; + const redirectLocation = redirectHost + "/v2/track"; // Redirect endpoint const redirectScope = nock(redirectHost).post("/v2/track", () => { return true; @@ -218,8 +218,8 @@ describe("#AzureMonitorBaseExporter", () => { it("should stop redirecting when circular redirect is triggered", async () => { const exporter = new TestExporter(); - let redirectHost = "https://ukwest-0.in.applicationinsights.azure.com"; - let redirectLocation = redirectHost + "/v2/track"; + const redirectHost = "https://ukwest-0.in.applicationinsights.azure.com"; + const redirectLocation = redirectHost + "/v2/track"; // Redirect endpoint const redirectScope = nock(redirectHost).post("/v2/track", () => { return true; @@ -234,7 +234,7 @@ describe("#AzureMonitorBaseExporter", () => { }) .persist(); - let result = await exporter.exportEnvelopesPrivate([envelope]); + const result = await exporter.exportEnvelopesPrivate([envelope]); assert.strictEqual(result.code, ExportResultCode.FAILED); assert.strictEqual(result.error?.message, "Circular redirect"); }); diff --git a/sdk/monitor/monitor-opentelemetry-exporter/test/unit/platform/nodejs/persist/fileSystemPersist.test.ts b/sdk/monitor/monitor-opentelemetry-exporter/test/unit/platform/nodejs/persist/fileSystemPersist.test.ts index e3af385fcc01..cf5309d182f0 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/test/unit/platform/nodejs/persist/fileSystemPersist.test.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/test/unit/platform/nodejs/persist/fileSystemPersist.test.ts @@ -151,10 +151,10 @@ describe("FileSystemPersist", () => { persister.fileRetemptionPeriod = 1; // wait 100 ms await sleep(100); - let cleanup = await persister["_fileCleanupTask"](); + const cleanup = await persister["_fileCleanupTask"](); assert.strictEqual(cleanup, true); - let fileValue = await persister.shift(); - assert.deepStrictEqual(fileValue, null); //File doesn't exist anymore + const fileValue = await persister.shift(); + assert.deepStrictEqual(fileValue, null); // File doesn't exist anymore }); }); }); diff --git a/sdk/monitor/monitor-opentelemetry-exporter/test/unit/utils/spanUtils.test.ts b/sdk/monitor/monitor-opentelemetry-exporter/test/unit/utils/spanUtils.test.ts index 21d82113840a..ad82fb80e4d5 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/test/unit/utils/spanUtils.test.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/test/unit/utils/spanUtils.test.ts @@ -5,7 +5,8 @@ import { Span, BasicTracerProvider, TracerConfig } from "@opentelemetry/tracing" import { SpanKind, SpanStatusCode, ROOT_CONTEXT } from "@opentelemetry/api"; import * as assert from "assert"; import { hrTimeToMilliseconds } from "@opentelemetry/core"; -import { Resource, SERVICE_RESOURCE } from "@opentelemetry/resources"; +import { Resource } from "@opentelemetry/resources"; +import { ResourceAttributes } from "@opentelemetry/semantic-conventions"; import { Tags, Properties, Measurements } from "../../../src/types"; import { @@ -25,9 +26,9 @@ const context = getInstance(undefined, "./"); const tracerProviderConfig: TracerConfig = { resource: new Resource({ - [SERVICE_RESOURCE.INSTANCE_ID]: "testServiceInstanceID", - [SERVICE_RESOURCE.NAME]: "testServiceName", - [SERVICE_RESOURCE.NAMESPACE]: "testServiceNamespace" + [ResourceAttributes.SERVICE_INSTANCE_ID]: "testServiceInstanceID", + [ResourceAttributes.SERVICE_NAME]: "testServiceName", + [ResourceAttributes.SERVICE_NAMESPACE]: "testServiceNamespace" }) }; @@ -94,10 +95,7 @@ describe("spanUtils.ts", () => { span.setAttributes({ "extra.attribute": "foo", [grpc.GRPC_STATUS_CODE]: SpanStatusCode.OK, - [grpc.GRPC_KIND]: SpanKind.SERVER, - [grpc.GRPC_METHOD]: "/foo.Example/Foo", - [grpc.GRPC_ERROR_MESSAGE]: "some error message", - [grpc.GRPC_ERROR_NAME]: "some error name" + [grpc.GRPC_METHOD]: "/foo.Example/Foo" }); span.setStatus({ code: SpanStatusCode.OK @@ -109,15 +107,13 @@ describe("spanUtils.ts", () => { [ai.AI_OPERATION_NAME]: "/foo.Example/Foo" }; const expectedProperties = { - "extra.attribute": "foo", - [grpc.GRPC_ERROR_MESSAGE]: "some error message", - [grpc.GRPC_ERROR_NAME]: "some error name" + "extra.attribute": "foo" }; const expectedBaseData: Partial = { source: undefined, duration: msToTimeSpan(hrTimeToMilliseconds(span.duration)), - id: `|${span.spanContext.traceId}.${span.spanContext.spanId}.`, + id: `|${span.spanContext().traceId}.${span.spanContext().spanId}.`, success: true, responseCode: "1", url: "/foo.Example/Foo", @@ -150,10 +146,7 @@ describe("spanUtils.ts", () => { span.setAttributes({ "extra.attribute": "foo", [grpc.GRPC_STATUS_CODE]: SpanStatusCode.OK, - [grpc.GRPC_KIND]: SpanKind.CLIENT, - [grpc.GRPC_METHOD]: "/foo.Example/Foo", - [grpc.GRPC_ERROR_MESSAGE]: "some error message", - [grpc.GRPC_ERROR_NAME]: "some error name" + [grpc.GRPC_METHOD]: "/foo.Example/Foo" }); span.setStatus({ code: SpanStatusCode.OK @@ -164,14 +157,12 @@ describe("spanUtils.ts", () => { [ai.AI_OPERATION_PARENT_ID]: "parentSpanId" }; const expectedProperties = { - "extra.attribute": "foo", - [grpc.GRPC_ERROR_MESSAGE]: "some error message", - [grpc.GRPC_ERROR_NAME]: "some error name" + "extra.attribute": "foo" }; const expectedBaseData: Partial = { duration: msToTimeSpan(hrTimeToMilliseconds(span.duration)), - id: `|${span.spanContext.traceId}.${span.spanContext.spanId}.`, + id: `|${span.spanContext().traceId}.${span.spanContext().spanId}.`, success: true, resultCode: "1", target: "/foo.Example/Foo", @@ -223,7 +214,7 @@ describe("spanUtils.ts", () => { const expectedBaseData: Partial = { duration: msToTimeSpan(hrTimeToMilliseconds(span.duration)), - id: `|${span.spanContext.traceId}.${span.spanContext.spanId}.`, + id: `|${span.spanContext().traceId}.${span.spanContext().spanId}.`, success: true, responseCode: "1", name: `parent span`, @@ -272,7 +263,7 @@ describe("spanUtils.ts", () => { const expectedBaseData: Partial = { duration: msToTimeSpan(hrTimeToMilliseconds(span.duration)), - id: `|${span.spanContext.traceId}.${span.spanContext.spanId}.`, + id: `|${span.spanContext().traceId}.${span.spanContext().spanId}.`, success: true, resultCode: "1", target: undefined, @@ -330,7 +321,7 @@ describe("spanUtils.ts", () => { const expectedBaseData: RequestData = { duration: msToTimeSpan(hrTimeToMilliseconds(span.duration)), - id: `|${span.spanContext.traceId}.${span.spanContext.spanId}.`, + id: `|${span.spanContext().traceId}.${span.spanContext().spanId}.`, success: true, responseCode: "200", url: "https://example.com/api/example", @@ -372,7 +363,7 @@ describe("spanUtils.ts", () => { }); span.end(); const expectedTags: Tags = { - [ai.AI_OPERATION_ID]: span.spanContext.traceId, + [ai.AI_OPERATION_ID]: span.spanContext().traceId, [ai.AI_OPERATION_PARENT_ID]: "parentSpanId" }; const expectedProperties = { diff --git a/sdk/monitor/monitor-query/package.json b/sdk/monitor/monitor-query/package.json index 3eb2ae18fb37..5c57f1039934 100644 --- a/sdk/monitor/monitor-query/package.json +++ b/sdk/monitor/monitor-query/package.json @@ -111,9 +111,9 @@ "@azure/monitor-opentelemetry-exporter": "1.0.0-beta.4", "@azure/test-utils-recorder": "^1.0.0", "@microsoft/api-extractor": "7.7.11", - "@opentelemetry/api": "0.21.0", - "@opentelemetry/node": "0.21.0", - "@opentelemetry/tracing": "^0.18.2", + "@opentelemetry/api": "^1.0.0", + "@opentelemetry/node": "0.22.0", + "@opentelemetry/tracing": "^0.22.0", "@types/chai-as-promised": "^7.1.0", "@types/chai": "^4.1.6", "@types/mocha": "^7.0.2",