From ce80ce8d996277c43291ac1cf1311b889a2695bc Mon Sep 17 00:00:00 2001 From: svrnm Date: Tue, 20 Dec 2022 16:54:29 +0100 Subject: [PATCH 1/4] Add Resource Detectors to frontend service Signed-off-by: svrnm --- src/frontend/package-lock.json | 320 +++++++++++++++++- src/frontend/package.json | 4 + .../utils/telemetry/Instrumentation.js | 25 +- 3 files changed, 341 insertions(+), 8 deletions(-) diff --git a/src/frontend/package-lock.json b/src/frontend/package-lock.json index 6650a2fcd9..57b4c42aac 100644 --- a/src/frontend/package-lock.json +++ b/src/frontend/package-lock.json @@ -16,6 +16,10 @@ "@opentelemetry/exporter-trace-otlp-grpc": "0.33.0", "@opentelemetry/exporter-trace-otlp-http": "0.33.0", "@opentelemetry/instrumentation": "0.33.0", + "@opentelemetry/resource-detector-alibaba-cloud": "^0.27.3", + "@opentelemetry/resource-detector-aws": "^1.2.1", + "@opentelemetry/resource-detector-container": "^0.2.1", + "@opentelemetry/resource-detector-gcp": "^0.27.4", "@opentelemetry/resources": "1.7.0", "@opentelemetry/sdk-node": "0.33.0", "@opentelemetry/sdk-trace-base": "1.7.0", @@ -2934,6 +2938,84 @@ "@opentelemetry/api": ">=1.0.0 <1.3.0" } }, + "node_modules/@opentelemetry/resource-detector-alibaba-cloud": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@opentelemetry/resource-detector-alibaba-cloud/-/resource-detector-alibaba-cloud-0.27.3.tgz", + "integrity": "sha512-ZccTKPjPfwzgFCG5Fzymmo5PzJRzwOg66W2RH2zOLsc8uy0NNEWRdFIDZwVhSwdVCEvC93SvJVbWqgxccMLYuA==", + "dependencies": { + "@opentelemetry/resources": "^1.0.0", + "@opentelemetry/semantic-conventions": "^1.0.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.0.0" + } + }, + "node_modules/@opentelemetry/resource-detector-aws": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/resource-detector-aws/-/resource-detector-aws-1.2.1.tgz", + "integrity": "sha512-ryfMZ644kCLMs+PtoUeW8A5ewYEOm0UBnQJAuFnj2MPofA+pTrXEbfJ39kcVlH5qZKJR6xa9GNB1lRIEv2bA7w==", + "dependencies": { + "@opentelemetry/core": "^1.0.0", + "@opentelemetry/resources": "^1.0.0", + "@opentelemetry/semantic-conventions": "^1.0.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.0.0" + } + }, + "node_modules/@opentelemetry/resource-detector-container": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/resource-detector-container/-/resource-detector-container-0.2.1.tgz", + "integrity": "sha512-yD5UVMyfmwqNPDaaAMymQFb8cmPzdePO3QnaL34MPTtEH6vgPbuLzr2YXPWWr9bUvM6tTDc2Rq+hgzU9Qa1saQ==", + "dependencies": { + "@opentelemetry/resources": "^1.0.0", + "@opentelemetry/semantic-conventions": "^1.0.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.0.0" + } + }, + "node_modules/@opentelemetry/resource-detector-gcp": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@opentelemetry/resource-detector-gcp/-/resource-detector-gcp-0.27.4.tgz", + "integrity": "sha512-domGKsMIIVAmfgH7OH6N3y1EHZuv/pHS1QY8YadyXemGnYyh8J/MyjDfz5fGoQ12xdawfslF8+6pWumxPwJT6A==", + "dependencies": { + "@opentelemetry/core": "^1.0.0", + "@opentelemetry/resources": "^1.0.0", + "@opentelemetry/semantic-conventions": "^1.0.0", + "gcp-metadata": "^5.0.0", + "semver": "7.3.5" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.0.0" + } + }, + "node_modules/@opentelemetry/resource-detector-gcp/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@opentelemetry/resources": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.7.0.tgz", @@ -3710,6 +3792,17 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, "node_modules/aggregate-error": { "version": "3.1.0", "dev": true, @@ -4073,6 +4166,14 @@ "node": ">=0.6" } }, + "node_modules/bignumber.js": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.1.tgz", + "integrity": "sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==", + "engines": { + "node": "*" + } + }, "node_modules/bl": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", @@ -5254,7 +5355,6 @@ }, "node_modules/extend": { "version": "3.0.2", - "dev": true, "license": "MIT" }, "node_modules/extract-zip": { @@ -5590,6 +5690,32 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/gaxios": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-5.0.2.tgz", + "integrity": "sha512-TjtV2AJOZoMQqRYoy5eM8cCQogYwazWNYLQ72QB0kwa6vHHruYkGmhhyrlzbmgNHK1dNnuP2WSH81urfzyN2Og==", + "dependencies": { + "extend": "^3.0.2", + "https-proxy-agent": "^5.0.0", + "is-stream": "^2.0.0", + "node-fetch": "^2.6.7" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/gcp-metadata": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-5.1.0.tgz", + "integrity": "sha512-QVjouEXvNVG/nde6VZDXXFTB02xQdztaumkWCHUff58qsdCS05/8OPh68fQ2QnArfAzZTwfEc979FHSHsU8EWg==", + "dependencies": { + "gaxios": "^5.0.0", + "json-bigint": "^1.0.0" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/get-caller-file": { "version": "2.0.5", "license": "ISC", @@ -5841,6 +5967,18 @@ "node": ">=0.10" } }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/human-signals": { "version": "1.1.1", "dev": true, @@ -6134,7 +6272,6 @@ }, "node_modules/is-stream": { "version": "2.0.1", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -6254,6 +6391,14 @@ "node": ">=4" } }, + "node_modules/json-bigint": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", + "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", + "dependencies": { + "bignumber.js": "^9.0.0" + } + }, "node_modules/json-schema": { "version": "0.4.0", "dev": true, @@ -6714,6 +6859,25 @@ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.0.0.tgz", "integrity": "sha512-CvkDw2OEnme7ybCykJpVcKH+uAOLV2qLqiyla128dN9TkEWfrYmxG6C2boDe5KcNQqZF3orkqzGgOMvZ/JNekA==" }, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, "node_modules/npm-run-path": { "version": "4.0.1", "dev": true, @@ -8186,6 +8350,11 @@ "node": ">=0.8" } }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, "node_modules/ts-poet": { "version": "4.15.0", "license": "Apache-2.0", @@ -8394,6 +8563,20 @@ "extsprintf": "^1.2.0" } }, + "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==" + }, + "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==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/which": { "version": "2.0.2", "dev": true, @@ -10475,6 +10658,56 @@ "@opentelemetry/core": "1.7.0" } }, + "@opentelemetry/resource-detector-alibaba-cloud": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@opentelemetry/resource-detector-alibaba-cloud/-/resource-detector-alibaba-cloud-0.27.3.tgz", + "integrity": "sha512-ZccTKPjPfwzgFCG5Fzymmo5PzJRzwOg66W2RH2zOLsc8uy0NNEWRdFIDZwVhSwdVCEvC93SvJVbWqgxccMLYuA==", + "requires": { + "@opentelemetry/resources": "^1.0.0", + "@opentelemetry/semantic-conventions": "^1.0.0" + } + }, + "@opentelemetry/resource-detector-aws": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/resource-detector-aws/-/resource-detector-aws-1.2.1.tgz", + "integrity": "sha512-ryfMZ644kCLMs+PtoUeW8A5ewYEOm0UBnQJAuFnj2MPofA+pTrXEbfJ39kcVlH5qZKJR6xa9GNB1lRIEv2bA7w==", + "requires": { + "@opentelemetry/core": "^1.0.0", + "@opentelemetry/resources": "^1.0.0", + "@opentelemetry/semantic-conventions": "^1.0.0" + } + }, + "@opentelemetry/resource-detector-container": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/resource-detector-container/-/resource-detector-container-0.2.1.tgz", + "integrity": "sha512-yD5UVMyfmwqNPDaaAMymQFb8cmPzdePO3QnaL34MPTtEH6vgPbuLzr2YXPWWr9bUvM6tTDc2Rq+hgzU9Qa1saQ==", + "requires": { + "@opentelemetry/resources": "^1.0.0", + "@opentelemetry/semantic-conventions": "^1.0.0" + } + }, + "@opentelemetry/resource-detector-gcp": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@opentelemetry/resource-detector-gcp/-/resource-detector-gcp-0.27.4.tgz", + "integrity": "sha512-domGKsMIIVAmfgH7OH6N3y1EHZuv/pHS1QY8YadyXemGnYyh8J/MyjDfz5fGoQ12xdawfslF8+6pWumxPwJT6A==", + "requires": { + "@opentelemetry/core": "^1.0.0", + "@opentelemetry/resources": "^1.0.0", + "@opentelemetry/semantic-conventions": "^1.0.0", + "gcp-metadata": "^5.0.0", + "semver": "7.3.5" + }, + "dependencies": { + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, "@opentelemetry/resources": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.7.0.tgz", @@ -11069,6 +11302,14 @@ "dev": true, "requires": {} }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + } + }, "aggregate-error": { "version": "3.1.0", "dev": true, @@ -11286,6 +11527,11 @@ "big-integer": { "version": "1.6.51" }, + "bignumber.js": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.1.tgz", + "integrity": "sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==" + }, "bl": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", @@ -12086,8 +12332,7 @@ "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==" }, "extend": { - "version": "3.0.2", - "dev": true + "version": "3.0.2" }, "extract-zip": { "version": "2.0.1", @@ -12335,6 +12580,26 @@ "version": "1.2.3", "dev": true }, + "gaxios": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-5.0.2.tgz", + "integrity": "sha512-TjtV2AJOZoMQqRYoy5eM8cCQogYwazWNYLQ72QB0kwa6vHHruYkGmhhyrlzbmgNHK1dNnuP2WSH81urfzyN2Og==", + "requires": { + "extend": "^3.0.2", + "https-proxy-agent": "^5.0.0", + "is-stream": "^2.0.0", + "node-fetch": "^2.6.7" + } + }, + "gcp-metadata": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-5.1.0.tgz", + "integrity": "sha512-QVjouEXvNVG/nde6VZDXXFTB02xQdztaumkWCHUff58qsdCS05/8OPh68fQ2QnArfAzZTwfEc979FHSHsU8EWg==", + "requires": { + "gaxios": "^5.0.0", + "json-bigint": "^1.0.0" + } + }, "get-caller-file": { "version": "2.0.5" }, @@ -12489,6 +12754,15 @@ "sshpk": "^1.14.1" } }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "requires": { + "agent-base": "6", + "debug": "4" + } + }, "human-signals": { "version": "1.1.1", "dev": true @@ -12645,8 +12919,7 @@ } }, "is-stream": { - "version": "2.0.1", - "dev": true + "version": "2.0.1" }, "is-string": { "version": "1.0.7", @@ -12717,6 +12990,14 @@ "jsesc": { "version": "2.5.2" }, + "json-bigint": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", + "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", + "requires": { + "bignumber.js": "^9.0.0" + } + }, "json-schema": { "version": "0.4.0", "dev": true @@ -13016,6 +13297,14 @@ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.0.0.tgz", "integrity": "sha512-CvkDw2OEnme7ybCykJpVcKH+uAOLV2qLqiyla128dN9TkEWfrYmxG6C2boDe5KcNQqZF3orkqzGgOMvZ/JNekA==" }, + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "requires": { + "whatwg-url": "^5.0.0" + } + }, "npm-run-path": { "version": "4.0.1", "dev": true, @@ -13934,6 +14223,11 @@ "punycode": "^2.1.1" } }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, "ts-poet": { "version": "4.15.0", "requires": { @@ -14075,6 +14369,20 @@ "extsprintf": "^1.2.0" } }, + "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==" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "which": { "version": "2.0.2", "dev": true, diff --git a/src/frontend/package.json b/src/frontend/package.json index 21854639b7..95f3f9e679 100644 --- a/src/frontend/package.json +++ b/src/frontend/package.json @@ -19,6 +19,10 @@ "@opentelemetry/exporter-trace-otlp-grpc": "0.33.0", "@opentelemetry/exporter-trace-otlp-http": "0.33.0", "@opentelemetry/instrumentation": "0.33.0", + "@opentelemetry/resource-detector-alibaba-cloud": "^0.27.3", + "@opentelemetry/resource-detector-aws": "^1.2.1", + "@opentelemetry/resource-detector-container": "^0.2.1", + "@opentelemetry/resource-detector-gcp": "^0.27.4", "@opentelemetry/resources": "1.7.0", "@opentelemetry/sdk-node": "0.33.0", "@opentelemetry/sdk-trace-base": "1.7.0", diff --git a/src/frontend/utils/telemetry/Instrumentation.js b/src/frontend/utils/telemetry/Instrumentation.js index 63b2a2329f..a18410be08 100644 --- a/src/frontend/utils/telemetry/Instrumentation.js +++ b/src/frontend/utils/telemetry/Instrumentation.js @@ -1,10 +1,31 @@ const opentelemetry = require("@opentelemetry/sdk-node") const { getNodeAutoInstrumentations } = require("@opentelemetry/auto-instrumentations-node") -const { OTLPTraceExporter } = require('@opentelemetry/exporter-trace-otlp-grpc') +const { OTLPTraceExporter } = require('@opentelemetry/exporter-trace-otlp-grpc') +const { alibabaCloudEcsDetector } = require('@opentelemetry/resource-detector-alibaba-cloud'); +const { awsEc2Detector, awsEksDetector } = require('@opentelemetry/resource-detector-aws'); +const { containerDetector } = require('@opentelemetry/resource-detector-container'); +const { gcpDetector } = require('@opentelemetry/resource-detector-gcp'); +const { envDetector, hostDetector, osDetector, processDetector } = require('@opentelemetry/resources'); +const { diag, DiagConsoleLogger, DiagLogLevel } = require('@opentelemetry/api'); + + +diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.DEBUG); + const sdk = new opentelemetry.NodeSDK({ traceExporter: new OTLPTraceExporter(), - instrumentations: [ getNodeAutoInstrumentations() ] + instrumentations: [ getNodeAutoInstrumentations() ], + resourceDetectors: [ + containerDetector, + envDetector, + hostDetector, + osDetector, + processDetector, + alibabaCloudEcsDetector, + awsEksDetector, + awsEc2Detector, + gcpDetector + ] }) sdk.start() From bacdea1e6d584c834506f69628ee0278e3a4ab14 Mon Sep 17 00:00:00 2001 From: svrnm Date: Tue, 20 Dec 2022 17:04:52 +0100 Subject: [PATCH 2/4] Update documentation, fixing style Signed-off-by: svrnm --- CHANGELOG.md | 1 + docs/services/frontend.md | 20 +++++++++++++++++-- .../utils/telemetry/Instrumentation.js | 15 +++++--------- 3 files changed, 24 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 16a932afb1..13533f1bb0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -156,3 +156,4 @@ significant modifications will be credited to OpenTelemetry Authors. ([#617](https://github.com/open-telemetry/opentelemetry-demo/pull/617)) * Use `frontend-web` as service name for browser/web requests ([#628](https://github.com/open-telemetry/opentelemetry-demo/pull/628)) +* Add resource detectors to frontend service diff --git a/docs/services/frontend.md b/docs/services/frontend.md index 5dcca34b67..d2d6bf194c 100644 --- a/docs/services/frontend.md +++ b/docs/services/frontend.md @@ -20,11 +20,27 @@ for OTLP export, resource attributes, and service name. ```javascript const opentelemetry = require("@opentelemetry/sdk-node") const { getNodeAutoInstrumentations } = require("@opentelemetry/auto-instrumentations-node") -const { OTLPTraceExporter } = require('@opentelemetry/exporter-trace-otlp-grpc') +const { OTLPTraceExporter } = require('@opentelemetry/exporter-trace-otlp-grpc') +const { alibabaCloudEcsDetector } = require('@opentelemetry/resource-detector-alibaba-cloud') +const { awsEc2Detector, awsEksDetector } = require('@opentelemetry/resource-detector-aws') +const { containerDetector } = require('@opentelemetry/resource-detector-container') +const { gcpDetector } = require('@opentelemetry/resource-detector-gcp') +const { envDetector, hostDetector, osDetector, processDetector } = require('@opentelemetry/resources') const sdk = new opentelemetry.NodeSDK({ traceExporter: new OTLPTraceExporter(), - instrumentations: [ getNodeAutoInstrumentations() ] + instrumentations: [ getNodeAutoInstrumentations() ], + resourceDetectors: [ + containerDetector, + envDetector, + hostDetector, + osDetector, + processDetector, + alibabaCloudEcsDetector, + awsEksDetector, + awsEc2Detector, + gcpDetector + ] }) sdk.start() diff --git a/src/frontend/utils/telemetry/Instrumentation.js b/src/frontend/utils/telemetry/Instrumentation.js index a18410be08..6efec0a4f7 100644 --- a/src/frontend/utils/telemetry/Instrumentation.js +++ b/src/frontend/utils/telemetry/Instrumentation.js @@ -1,16 +1,11 @@ const opentelemetry = require("@opentelemetry/sdk-node") const { getNodeAutoInstrumentations } = require("@opentelemetry/auto-instrumentations-node") const { OTLPTraceExporter } = require('@opentelemetry/exporter-trace-otlp-grpc') -const { alibabaCloudEcsDetector } = require('@opentelemetry/resource-detector-alibaba-cloud'); -const { awsEc2Detector, awsEksDetector } = require('@opentelemetry/resource-detector-aws'); -const { containerDetector } = require('@opentelemetry/resource-detector-container'); -const { gcpDetector } = require('@opentelemetry/resource-detector-gcp'); -const { envDetector, hostDetector, osDetector, processDetector } = require('@opentelemetry/resources'); -const { diag, DiagConsoleLogger, DiagLogLevel } = require('@opentelemetry/api'); - - -diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.DEBUG); - +const { alibabaCloudEcsDetector } = require('@opentelemetry/resource-detector-alibaba-cloud') +const { awsEc2Detector, awsEksDetector } = require('@opentelemetry/resource-detector-aws') +const { containerDetector } = require('@opentelemetry/resource-detector-container') +const { gcpDetector } = require('@opentelemetry/resource-detector-gcp') +const { envDetector, hostDetector, osDetector, processDetector } = require('@opentelemetry/resources') const sdk = new opentelemetry.NodeSDK({ traceExporter: new OTLPTraceExporter(), From 73e0a56607ef1f3b6170b6806fa56e9256d68b04 Mon Sep 17 00:00:00 2001 From: svrnm Date: Tue, 20 Dec 2022 17:05:50 +0100 Subject: [PATCH 3/4] Add PR no and link to CHANGELOG Signed-off-by: svrnm --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 13533f1bb0..da40969425 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -157,3 +157,4 @@ significant modifications will be credited to OpenTelemetry Authors. * Use `frontend-web` as service name for browser/web requests ([#628](https://github.com/open-telemetry/opentelemetry-demo/pull/628)) * Add resource detectors to frontend service +([#648](https://github.com/open-telemetry/opentelemetry-demo/pull/648)) From a4e61a6d422b357795c8a822488f8e6f8ee20ac6 Mon Sep 17 00:00:00 2001 From: Severin Neumann Date: Thu, 22 Dec 2022 08:09:51 +0100 Subject: [PATCH 4/4] Update src/frontend/package.json Co-authored-by: Michael Maxwell --- src/frontend/package.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/frontend/package.json b/src/frontend/package.json index 95f3f9e679..27dbda027b 100644 --- a/src/frontend/package.json +++ b/src/frontend/package.json @@ -19,10 +19,10 @@ "@opentelemetry/exporter-trace-otlp-grpc": "0.33.0", "@opentelemetry/exporter-trace-otlp-http": "0.33.0", "@opentelemetry/instrumentation": "0.33.0", - "@opentelemetry/resource-detector-alibaba-cloud": "^0.27.3", - "@opentelemetry/resource-detector-aws": "^1.2.1", - "@opentelemetry/resource-detector-container": "^0.2.1", - "@opentelemetry/resource-detector-gcp": "^0.27.4", + "@opentelemetry/resource-detector-alibaba-cloud": "0.27.3", + "@opentelemetry/resource-detector-aws": "1.2.1", + "@opentelemetry/resource-detector-container": "0.2.1", + "@opentelemetry/resource-detector-gcp": "0.27.4", "@opentelemetry/resources": "1.7.0", "@opentelemetry/sdk-node": "0.33.0", "@opentelemetry/sdk-trace-base": "1.7.0",