Skip to content

Commit

Permalink
[instrumentation] Uprade to the latest OTEL (#28811)
Browse files Browse the repository at this point in the history
### Packages impacted by this PR

- `@azure/opentelemetry-instrumentation-azure-sdk`

### Issues associated with this PR


### Describe the problem that is addressed by this PR

Updates to latest OTEL

### What are the possible designs available to address the problem? If
there are more than one possible design, why was the one in this PR
chosen?


### Are there test cases added in this PR? _(If not, why?)_


### Provide a list of related PRs _(if any)_


### Command used to generate this PR:**_(Applicable only to SDK release
request PRs)_

### Checklists
- [x] Added impacted package name to the issue description
- [ ] Does this PR needs any fixes in the SDK Generator?** _(If so,
create an Issue in the
[Autorest/typescript](https://github.com/Azure/autorest.typescript)
repository and link it here)_
- [ ] Added a changelog (if necessary)
  • Loading branch information
mpodwysocki authored Mar 11, 2024
1 parent 99f81aa commit 15f13e9
Show file tree
Hide file tree
Showing 7 changed files with 318 additions and 301 deletions.
462 changes: 255 additions & 207 deletions common/config/rush/pnpm-lock.yaml

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
"format": "dev-tool run vendored prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"",
"generate:client": "autorest --typescript ./swagger/README.md",
"integration-test:browser": "karma start --single-run",
"integration-test:node": "dev-tool run test:node-js-input --no-test-proxy=true",
"integration-test:node": "dev-tool run test:node-tsx-js --no-test-proxy=true",
"integration-test": "npm run integration-test:node && npm run integration-test:browser",
"lint:fix": "eslint package.json api-extractor.json README.md src test --ext .ts,.javascript,.js --fix --fix-type [problem,suggestion]",
"lint": "eslint package.json api-extractor.json README.md src test --ext .ts,.javascript,.js",
Expand All @@ -39,7 +39,7 @@
"test:node": "npm run clean && tsc -p . && npm run unit-test:node && npm run integration-test:node",
"test": "npm run clean && tsc -p . && npm run unit-test:node && dev-tool run bundle && npm run unit-test:browser && npm run integration-test",
"unit-test:browser": "karma start --single-run",
"unit-test:node": "dev-tool run test:node-ts-input --no-test-proxy=true",
"unit-test:node": "dev-tool run test:node-tsx-ts --no-test-proxy=true",
"unit-test": "npm run unit-test:node && npm run unit-test:browser"
},
"files": [
Expand Down Expand Up @@ -70,18 +70,18 @@
"dependencies": {
"@azure/core-tracing": "^1.0.0",
"@azure/logger": "^1.0.0",
"@opentelemetry/api": "^1.7.0",
"@opentelemetry/core": "^1.21.0",
"@opentelemetry/instrumentation": "^0.48.0",
"@opentelemetry/api": "^1.8.0",
"@opentelemetry/core": "^1.22.0",
"@opentelemetry/instrumentation": "^0.49.1",
"tslib": "^2.2.0"
},
"devDependencies": {
"@azure/core-rest-pipeline": "^1.5.1",
"@azure/dev-tool": "^1.0.0",
"@azure/eslint-plugin-azure-sdk": "^3.0.0",
"@microsoft/api-extractor": "^7.31.1",
"@opentelemetry/sdk-trace-base": "^1.21.0",
"@opentelemetry/sdk-trace-node": "^1.21.0",
"@opentelemetry/sdk-trace-base": "^1.22.0",
"@opentelemetry/sdk-trace-node": "^1.22.0",
"@types/chai": "^4.1.6",
"@types/mocha": "^10.0.0",
"@types/node": "^18.0.0",
Expand All @@ -90,7 +90,6 @@
"cross-env": "^7.0.2",
"dotenv": "^16.0.0",
"eslint": "^8.0.0",
"esm": "^3.2.18",
"inherits": "^2.0.3",
"karma": "^6.2.0",
"karma-chrome-launcher": "^3.0.0",
Expand All @@ -105,9 +104,9 @@
"rimraf": "^5.0.5",
"sinon": "^17.0.0",
"source-map-support": "^0.5.9",
"tsx": "^4.7.1",
"typescript": "~5.3.3",
"util": "^0.12.1",
"ts-node": "^10.0.0"
"util": "^0.12.1"
},
"//sampleConfiguration": {
"skipFolder": true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -264,29 +264,6 @@ describe("OpenTelemetryInstrumenter", () => {
assert.isTrue(contextSpy.calledWith(activeContext, callback, undefined, callbackArg));
});

it("works when caller binds `this`", function (this: Context) {
// a bit of a silly test but demonstrates how to bind `this` correctly
// and ensures the behavior does not regress

// Function syntax
instrumenter.withContext(context.active(), function (this: any) {
assert.notExists(this);
});
instrumenter.withContext(
context.active(),
function (this: any) {
assert.equal(this, 42);
}.bind(42),
);

// Arrow syntax
// eslint-disable-next-line @typescript-eslint/no-this-alias
const that = this;
instrumenter.withContext(context.active(), () => {
assert.equal(this, that);
});
});

it("Returns the value of the callback", () => {
const result = instrumenter.withContext(context.active(), () => 42);
assert.equal(result, 42);
Expand Down
37 changes: 17 additions & 20 deletions sdk/monitor/monitor-opentelemetry-exporter/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,8 @@
"test:node": "npm run clean && npm run build:test && npm run unit-test:node",
"test:browser": "npm run unit-test:browser",
"unit-test:browser": "echo skipped",
"unit-test:node": "dev-tool run test:node-ts-input --no-test-proxy=true -- --timeout 1200000 \"test/internal/**/*.test.ts\"",
"unit-test:node:debug": "dev-tool run test:node-ts-input --no-test-proxy=true -- --inspect-brk \"test/internal/**/*.test.ts\"",
"unit-test:node:no-timeout": "echo skipped",
"unit-test:node": "dev-tool run test:node-tsx-ts -- --timeout 1200000 \"test/internal/**/*.test.ts\"",
"unit-test:node:debug": "dev-tool run test:node-tsx-ts -- --timeout 1200000 \"test/internal/**/*.test.ts\"",
"unit-test": "npm run unit-test:node && npm run unit-test:browser",
"integration-test:browser": "echo skipped",
"integration-test:node": "dev-tool run test:node-ts-input --no-test-proxy=true -- --timeout 1200000 \"test/internal/functional/**/*.test.ts\"",
Expand Down Expand Up @@ -84,37 +83,35 @@
"@azure/dev-tool": "^1.0.0",
"@azure/eslint-plugin-azure-sdk": "^3.0.0",
"@microsoft/api-extractor": "^7.31.1",
"@opentelemetry/instrumentation": "^0.48.0",
"@opentelemetry/instrumentation-http": "^0.48.0",
"@opentelemetry/sdk-trace-node": "^1.21.0",
"@opentelemetry/instrumentation": "^0.49.1",
"@opentelemetry/instrumentation-http": "^0.49.1",
"@opentelemetry/sdk-trace-node": "^1.22.0",
"@types/mocha": "^10.0.0",
"@types/node": "^18.0.0",
"c8": "^8.0.0",
"dotenv": "^16.0.0",
"eslint": "^8.0.0",
"eslint-plugin-node": "^11.1.0",
"esm": "^3.2.18",
"mocha": "^10.0.0",
"nock": "^12.0.3",
"c8": "^8.0.0",
"rimraf": "^5.0.5",
"sinon": "^17.0.0",
"ts-node": "^10.0.0",
"typescript": "~5.3.3",
"cross-env": "^7.0.2"
"tsx": "^4.7.1",
"typescript": "~5.3.3"
},
"dependencies": {
"@azure/core-client": "^1.0.0",
"@azure/core-auth": "^1.3.0",
"@azure/core-rest-pipeline": "^1.1.0",
"@opentelemetry/api": "^1.7.0",
"@opentelemetry/api-logs": "^0.48.0",
"@opentelemetry/core": "^1.21.0",
"@opentelemetry/resources": "^1.21.0",
"@opentelemetry/sdk-metrics": "^1.21.0",
"@opentelemetry/sdk-trace-base": "^1.21.0",
"@opentelemetry/semantic-conventions": "^1.21.0",
"@opentelemetry/sdk-logs": "^0.48.0",
"tslib": "^2.2.0"
"@opentelemetry/api": "^1.8.0",
"@opentelemetry/api-logs": "^0.49.1",
"@opentelemetry/core": "^1.22.0",
"@opentelemetry/resources": "^1.22.0",
"@opentelemetry/sdk-metrics": "^1.22.0",
"@opentelemetry/sdk-trace-base": "^1.22.0",
"@opentelemetry/semantic-conventions": "^1.22.0",
"@opentelemetry/sdk-logs": "^0.49.1",
"tslib": "^2.6.2"
},
"sideEffects": false,
"keywords": [
Expand Down
55 changes: 26 additions & 29 deletions sdk/monitor/monitor-opentelemetry/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@
"build:node": "tsc -p . && dev-tool run bundle --browser-test=false",
"build:test": "tsc -p . && dev-tool run bundle --browser-test=false",
"build": "npm run build:node && npm run build:browser && api-extractor run --local",
"clean": "rimraf --glob dist dist-* temp types *.tgz *.log",
"check-format": "dev-tool run vendored prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"",
"clean": "rimraf --glob dist-esm types dist",
"execute:samples": "dev-tool samples run samples-dev",
"extract-api": "tsc -p . && api-extractor run --local",
"format": "dev-tool run vendored prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"",
Expand All @@ -25,13 +25,12 @@
"test": "npm run clean && npm run build:test && npm run unit-test",
"test:browser": "npm run unit-test:browser",
"unit-test:browser": "echo skipped",
"unit-test:node": "dev-tool run test:node-ts-input --no-test-proxy=true -- \"test/internal/unit/**/*.test.ts\"",
"unit-test:node:debug": "dev-tool run test:node-ts-input --no-test-proxy=true -- --inspect-brk \"test/internal/unit/**/*.test.ts\"",
"unit-test:node": "dev-tool run test:node-tsx-ts --no-test-proxy=true -- --timeout 1200000 \"test/internal/unit/**/*.test.ts\"",
"unit-test:node:debug": "dev-tool run test:node-tsx-js --no-test-proxy=true -- --inspect-brk --timeout 1200000 \"test/internal/unit/**/*.test.ts\"",
"unit-test": "npm run unit-test:node && npm run unit-test:browser",
"integration-test:browser": "echo skipped",
"integration-test:node": "dev-tool run test:node-ts-input --no-test-proxy=true -- \"test/internal/functional/**/*.test.ts\"",
"integration-test": "npm run integration-test:node && npm run integration-test:browser",
"report": "nyc report --reporter=json",
"test-opentelemetry-versions": "node test-opentelemetry-versions.js 2>&1",
"pack": "npm pack 2>&1"
},
Expand Down Expand Up @@ -71,18 +70,16 @@
"@types/mocha": "^10.0.0",
"@types/node": "^18.0.0",
"@types/sinon": "^17.0.0",
"c8": "^8.0.0",
"dotenv": "^16.0.0",
"eslint": "^8.0.0",
"eslint-plugin-node": "^11.1.0",
"mocha": "^10.0.0",
"nock": "^12.0.3",
"c8": "^8.0.0",
"cross-env": "^7.0.3",
"rimraf": "^5.0.5",
"sinon": "^17.0.0",
"ts-node": "^10.0.0",
"typescript": "~5.3.3",
"esm": "^3.2.18"
"tsx": "^4.7.1",
"typescript": "~5.3.3"
},
"dependencies": {
"@azure/core-client": "^1.0.0",
Expand All @@ -92,27 +89,27 @@
"@azure/logger": "^1.0.0",
"@azure/monitor-opentelemetry-exporter": "1.0.0-beta.21",
"@azure/opentelemetry-instrumentation-azure-sdk": "^1.0.0-beta.5",
"@opentelemetry/api": "^1.7.0",
"@opentelemetry/api-logs": "^0.48.0",
"@opentelemetry/core": "^1.21.0",
"@opentelemetry/instrumentation": "^0.48.0",
"@opentelemetry/instrumentation-bunyan": "^0.35.0",
"@opentelemetry/instrumentation-http": "^0.48.0",
"@opentelemetry/instrumentation-mongodb": "^0.39.0",
"@opentelemetry/instrumentation-mysql": "^0.35.0",
"@opentelemetry/instrumentation-pg": "^0.38.0",
"@opentelemetry/instrumentation-redis": "^0.36.0",
"@opentelemetry/instrumentation-redis-4": "^0.36.0",
"@opentelemetry/resources": "^1.21.0",
"@opentelemetry/sdk-logs": "^0.48.0",
"@opentelemetry/sdk-metrics": "^1.21.0",
"@opentelemetry/sdk-node": "^0.48.0",
"@opentelemetry/sdk-trace-base": "^1.21.0",
"@opentelemetry/sdk-trace-node": "^1.21.0",
"@opentelemetry/semantic-conventions": "^1.21.0",
"tslib": "^2.2.0",
"@microsoft/applicationinsights-web-snippet": "^1.1.2",
"@opentelemetry/resource-detector-azure": "^0.2.4"
"@opentelemetry/api": "^1.8.0",
"@opentelemetry/api-logs": "^0.49.1",
"@opentelemetry/core": "^1.22.0",
"@opentelemetry/instrumentation": "^0.49.1",
"@opentelemetry/instrumentation-bunyan": "^0.36.0",
"@opentelemetry/instrumentation-http": "^0.49.1",
"@opentelemetry/instrumentation-mongodb": "^0.40.0",
"@opentelemetry/instrumentation-mysql": "^0.36.0",
"@opentelemetry/instrumentation-pg": "^0.39.0",
"@opentelemetry/instrumentation-redis": "^0.37.0",
"@opentelemetry/instrumentation-redis-4": "^0.37.0",
"@opentelemetry/resource-detector-azure": "^0.2.4",
"@opentelemetry/resources": "^1.22.0",
"@opentelemetry/sdk-logs": "^0.49.1",
"@opentelemetry/sdk-metrics": "^1.22.0",
"@opentelemetry/sdk-node": "^0.49.1",
"@opentelemetry/sdk-trace-base": "^1.22.0",
"@opentelemetry/sdk-trace-node": "^1.22.0",
"@opentelemetry/semantic-conventions": "^1.22.0",
"tslib": "^2.6.2"
},
"sideEffects": false,
"keywords": [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -645,5 +645,5 @@ const testAttributes: any = {
"service.name": "unknown_service:node",
"telemetry.sdk.language": "nodejs",
"telemetry.sdk.name": "opentelemetry",
"telemetry.sdk.version": "1.21.0",
"telemetry.sdk.version": "1.22.0",
};
21 changes: 10 additions & 11 deletions sdk/monitor/monitor-query/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
"generate:client:metrics-namespaces": "autorest --typescript swagger/metric-namespaces.md",
"generate:client:metrics-definitions": "autorest --typescript swagger/metric-definitions.md",
"integration-test:browser": "dev-tool run test:browser",
"integration-test:node": "dev-tool run test:node-js-input -- --timeout 5000000 'dist-esm/test/**/*.spec.js' 'dist-esm/test/**/**/*.spec.js'",
"integration-test:node": "dev-tool run test:node-tsx-js -- --timeout 5000000 'dist-esm/test/**/*.spec.js' 'dist-esm/test/**/**/*.spec.js'",
"integration-test": "npm run integration-test:node && npm run integration-test:browser",
"lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]",
"lint": "eslint package.json api-extractor.json src test --format unix --ext .ts",
Expand All @@ -59,7 +59,7 @@
"test:node": "npm run build:test && npm run integration-test:node",
"test": "npm run build:test && npm run integration-test",
"unit-test:browser": "dev-tool run test:browser",
"unit-test:node": "dev-tool run test:node-ts-input -- --timeout 1200000 'test/**/*.spec.ts' 'test/**/**/*.spec.ts'",
"unit-test:node": "dev-tool run test:node-tsx-ts -- --timeout 1200000 'test/**/*.spec.ts' 'test/**/**/*.spec.ts'",
"unit-test": "npm run build:test && npm run unit-test:node && npm run unit-test:browser"
},
"files": [
Expand Down Expand Up @@ -94,7 +94,7 @@
"@azure/core-paging": "^1.1.1",
"@azure/core-util": "^1.3.2",
"@azure/logger": "^1.0.0",
"tslib": "^2.2.0"
"tslib": "^2.6.2"
},
"devDependencies": {
"@azure/dev-tool": "^1.0.0",
Expand All @@ -103,21 +103,22 @@
"@azure/identity": "^4.0.1",
"@azure/monitor-opentelemetry-exporter": "1.0.0-beta.21",
"@azure/test-utils": "^1.0.0",
"@azure-tools/test-credential": "^1.0.0",
"@azure-tools/test-recorder": "^3.0.0",
"@microsoft/api-extractor": "^7.31.1",
"@opentelemetry/api": "^1.7.0",
"@opentelemetry/sdk-trace-node": "^1.21.0",
"@opentelemetry/sdk-trace-base": "^1.21.0",
"@opentelemetry/api": "^1.8.0",
"@opentelemetry/sdk-trace-node": "^1.22.0",
"@opentelemetry/sdk-trace-base": "^1.22.0",
"@types/chai-as-promised": "^7.1.0",
"@types/chai": "^4.1.6",
"@types/mocha": "^10.0.0",
"@types/node": "^18.0.0",
"c8": "^8.0.0",
"chai-as-promised": "^7.1.1",
"chai": "^4.2.0",
"cross-env": "^7.0.2",
"dotenv": "^16.0.0",
"eslint": "^8.0.0",
"esm": "^3.2.18",
"inherits": "^2.0.3",
"karma-chrome-launcher": "^3.0.0",
"karma-coverage": "^2.0.0",
Expand All @@ -128,12 +129,10 @@
"karma-mocha": "^2.0.1",
"karma": "^6.2.0",
"mocha": "^10.0.0",
"c8": "^8.0.0",
"rimraf": "^5.0.5",
"source-map-support": "^0.5.9",
"typescript": "~5.3.3",
"@azure-tools/test-credential": "^1.0.0",
"ts-node": "^10.0.0"
"tsx": "^4.7.1",
"typescript": "~5.3.3"
},
"//sampleConfiguration": {
"skipFolder": false,
Expand Down

0 comments on commit 15f13e9

Please sign in to comment.