@commercetools/ts-sdk-apm 1.0.1 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/dist/commercetools-ts-sdk-apm.browser.cjs.js +7 -60
- package/dist/commercetools-ts-sdk-apm.browser.esm.js +7 -60
- package/dist/commercetools-ts-sdk-apm.cjs.dev.js +7 -60
- package/dist/commercetools-ts-sdk-apm.cjs.prod.js +7 -60
- package/dist/commercetools-ts-sdk-apm.esm.js +7 -60
- package/dist/declarations/types/types.d.ts +3 -2
- package/package.json +8 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# @commercetools/ts-sdk-apm
|
|
2
2
|
|
|
3
|
+
## 2.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- [#564](https://github.com/commercetools/commercetools-sdk-typescript/pull/564) [`db69db1`](https://github.com/commercetools/commercetools-sdk-typescript/commit/db69db1f2a1f6ca69858c272f3905b96b6180bd2) Thanks [@ajimae](https://github.com/ajimae)! - - remove newrelic as dependency in `@commercetools/ts-sdk-apm` package
|
|
8
|
+
- add useragent key with a default `typescript-sdk-apm-middleware` string
|
|
9
|
+
- add example express app on how to add `dynatrace` monitoring in the ts sdk
|
|
10
|
+
|
|
11
|
+
## 1.0.2
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- [#551](https://github.com/commercetools/commercetools-sdk-typescript/pull/551) [`9e7939a`](https://github.com/commercetools/commercetools-sdk-typescript/commit/9e7939a1df234fd1f4f77c60f4ff75b31d7fc3fd) Thanks [@github-actions](https://github.com/apps/github-actions)! - BREAKING CHANGE:
|
|
16
|
+
|
|
17
|
+
- fix URI parameters to be URI encoded
|
|
18
|
+
|
|
19
|
+
- [#545](https://github.com/commercetools/commercetools-sdk-typescript/pull/545) [`a6d0df2`](https://github.com/commercetools/commercetools-sdk-typescript/commit/a6d0df2034b72504db2aa2d13a8d3726d97cc881) Thanks [@ajimae](https://github.com/ajimae)! - - fix user-agent header
|
|
20
|
+
- remove User-Agent key from the middleware request header
|
|
21
|
+
|
|
3
22
|
## 1.0.1
|
|
4
23
|
|
|
5
24
|
### Patch Changes
|
|
@@ -2,67 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var packageJson = {
|
|
6
|
-
name: "@commercetools/ts-sdk-apm",
|
|
7
|
-
version: "1.0.1",
|
|
8
|
-
description: "commercetools typescript SDK application performance monitoring.",
|
|
9
|
-
main: "dist/commercetools-ts-sdk-apm.cjs.js",
|
|
10
|
-
module: "dist/commercetools-ts-sdk-apm.esm.js",
|
|
11
|
-
author: "Chukwuemeka Ajima <meeky.ae@gmail.com>",
|
|
12
|
-
license: "MIT",
|
|
13
|
-
"private": false,
|
|
14
|
-
dependencies: {
|
|
15
|
-
"@opentelemetry/api": "^1.4.1",
|
|
16
|
-
"@opentelemetry/auto-instrumentations-node": "^0.38.0",
|
|
17
|
-
"@opentelemetry/exporter-metrics-otlp-http": "^0.41.0",
|
|
18
|
-
"@opentelemetry/sdk-node": "^0.41.0",
|
|
19
|
-
newrelic: "^10.0.0",
|
|
20
|
-
uuid: "9.0.0"
|
|
21
|
-
},
|
|
22
|
-
publishConfig: {
|
|
23
|
-
access: "public"
|
|
24
|
-
},
|
|
25
|
-
engines: {
|
|
26
|
-
node: ">=14"
|
|
27
|
-
},
|
|
28
|
-
keywords: [
|
|
29
|
-
"commercetools",
|
|
30
|
-
"composable commerce",
|
|
31
|
-
"typescript",
|
|
32
|
-
"sdk",
|
|
33
|
-
"apm",
|
|
34
|
-
"telemetry",
|
|
35
|
-
"opentelemetry",
|
|
36
|
-
"tracing"
|
|
37
|
-
],
|
|
38
|
-
homepage: "https://github.com/commercetools/commercetools-typescript-sdks",
|
|
39
|
-
bugs: "https://github.com/commercetools/commercetools-typescript-sdks/issues",
|
|
40
|
-
repository: {
|
|
41
|
-
type: "git",
|
|
42
|
-
url: "https://github.com/commercetools/commercetools-typescript-sdks.git"
|
|
43
|
-
},
|
|
44
|
-
files: [
|
|
45
|
-
"dist",
|
|
46
|
-
"CHANGELOG.md",
|
|
47
|
-
"opentelemetry.js"
|
|
48
|
-
],
|
|
49
|
-
browser: {
|
|
50
|
-
"./dist/commercetools-ts-sdk-apm.cjs.js": "./dist/commercetools-ts-sdk-apm.browser.cjs.js",
|
|
51
|
-
"./dist/commercetools-ts-sdk-apm.esm.js": "./dist/commercetools-ts-sdk-apm.browser.esm.js"
|
|
52
|
-
},
|
|
53
|
-
scripts: {
|
|
54
|
-
organize_imports: "find src -type f -name '*.ts' | xargs organize-imports-cli",
|
|
55
|
-
postbuild: "yarn organize_imports",
|
|
56
|
-
post_process_generate: "yarn organize_imports"
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
|
|
60
5
|
/**
|
|
61
6
|
* default newrelic APM and
|
|
62
7
|
* opentelemetry tracer modules
|
|
63
8
|
*/
|
|
64
9
|
const defaultOptions = {
|
|
65
|
-
|
|
10
|
+
/**
|
|
11
|
+
* if this is to be used with newrelic, then
|
|
12
|
+
* pass this (apm) as an option in the `createTelemetryMiddleware`
|
|
13
|
+
* function e.g createTelemetryMiddleware({ apm: () => require('newrelic'), ... })
|
|
14
|
+
* Note: don't forget to install newrelic agent in your project `yarn add newrelic`
|
|
15
|
+
*/
|
|
16
|
+
apm: () => {},
|
|
66
17
|
tracer: () => require('../opentelemetry')
|
|
67
18
|
};
|
|
68
19
|
function createTelemetryMiddleware(options) {
|
|
@@ -82,10 +33,6 @@ function createTelemetryMiddleware(options) {
|
|
|
82
33
|
return next => (request, response) => {
|
|
83
34
|
const nextRequest = {
|
|
84
35
|
...request,
|
|
85
|
-
headers: {
|
|
86
|
-
...request.headers,
|
|
87
|
-
'User-Agent': `typescript-sdk-newrelic-middleware-${packageJson.version}`
|
|
88
|
-
},
|
|
89
36
|
...options
|
|
90
37
|
};
|
|
91
38
|
next(nextRequest, response);
|
|
@@ -1,64 +1,15 @@
|
|
|
1
|
-
var packageJson = {
|
|
2
|
-
name: "@commercetools/ts-sdk-apm",
|
|
3
|
-
version: "1.0.1",
|
|
4
|
-
description: "commercetools typescript SDK application performance monitoring.",
|
|
5
|
-
main: "dist/commercetools-ts-sdk-apm.cjs.js",
|
|
6
|
-
module: "dist/commercetools-ts-sdk-apm.esm.js",
|
|
7
|
-
author: "Chukwuemeka Ajima <meeky.ae@gmail.com>",
|
|
8
|
-
license: "MIT",
|
|
9
|
-
"private": false,
|
|
10
|
-
dependencies: {
|
|
11
|
-
"@opentelemetry/api": "^1.4.1",
|
|
12
|
-
"@opentelemetry/auto-instrumentations-node": "^0.38.0",
|
|
13
|
-
"@opentelemetry/exporter-metrics-otlp-http": "^0.41.0",
|
|
14
|
-
"@opentelemetry/sdk-node": "^0.41.0",
|
|
15
|
-
newrelic: "^10.0.0",
|
|
16
|
-
uuid: "9.0.0"
|
|
17
|
-
},
|
|
18
|
-
publishConfig: {
|
|
19
|
-
access: "public"
|
|
20
|
-
},
|
|
21
|
-
engines: {
|
|
22
|
-
node: ">=14"
|
|
23
|
-
},
|
|
24
|
-
keywords: [
|
|
25
|
-
"commercetools",
|
|
26
|
-
"composable commerce",
|
|
27
|
-
"typescript",
|
|
28
|
-
"sdk",
|
|
29
|
-
"apm",
|
|
30
|
-
"telemetry",
|
|
31
|
-
"opentelemetry",
|
|
32
|
-
"tracing"
|
|
33
|
-
],
|
|
34
|
-
homepage: "https://github.com/commercetools/commercetools-typescript-sdks",
|
|
35
|
-
bugs: "https://github.com/commercetools/commercetools-typescript-sdks/issues",
|
|
36
|
-
repository: {
|
|
37
|
-
type: "git",
|
|
38
|
-
url: "https://github.com/commercetools/commercetools-typescript-sdks.git"
|
|
39
|
-
},
|
|
40
|
-
files: [
|
|
41
|
-
"dist",
|
|
42
|
-
"CHANGELOG.md",
|
|
43
|
-
"opentelemetry.js"
|
|
44
|
-
],
|
|
45
|
-
browser: {
|
|
46
|
-
"./dist/commercetools-ts-sdk-apm.cjs.js": "./dist/commercetools-ts-sdk-apm.browser.cjs.js",
|
|
47
|
-
"./dist/commercetools-ts-sdk-apm.esm.js": "./dist/commercetools-ts-sdk-apm.browser.esm.js"
|
|
48
|
-
},
|
|
49
|
-
scripts: {
|
|
50
|
-
organize_imports: "find src -type f -name '*.ts' | xargs organize-imports-cli",
|
|
51
|
-
postbuild: "yarn organize_imports",
|
|
52
|
-
post_process_generate: "yarn organize_imports"
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
|
|
56
1
|
/**
|
|
57
2
|
* default newrelic APM and
|
|
58
3
|
* opentelemetry tracer modules
|
|
59
4
|
*/
|
|
60
5
|
const defaultOptions = {
|
|
61
|
-
|
|
6
|
+
/**
|
|
7
|
+
* if this is to be used with newrelic, then
|
|
8
|
+
* pass this (apm) as an option in the `createTelemetryMiddleware`
|
|
9
|
+
* function e.g createTelemetryMiddleware({ apm: () => require('newrelic'), ... })
|
|
10
|
+
* Note: don't forget to install newrelic agent in your project `yarn add newrelic`
|
|
11
|
+
*/
|
|
12
|
+
apm: () => {},
|
|
62
13
|
tracer: () => require('../opentelemetry')
|
|
63
14
|
};
|
|
64
15
|
function createTelemetryMiddleware(options) {
|
|
@@ -78,10 +29,6 @@ function createTelemetryMiddleware(options) {
|
|
|
78
29
|
return next => (request, response) => {
|
|
79
30
|
const nextRequest = {
|
|
80
31
|
...request,
|
|
81
|
-
headers: {
|
|
82
|
-
...request.headers,
|
|
83
|
-
'User-Agent': `typescript-sdk-newrelic-middleware-${packageJson.version}`
|
|
84
|
-
},
|
|
85
32
|
...options
|
|
86
33
|
};
|
|
87
34
|
next(nextRequest, response);
|
|
@@ -2,67 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var packageJson = {
|
|
6
|
-
name: "@commercetools/ts-sdk-apm",
|
|
7
|
-
version: "1.0.1",
|
|
8
|
-
description: "commercetools typescript SDK application performance monitoring.",
|
|
9
|
-
main: "dist/commercetools-ts-sdk-apm.cjs.js",
|
|
10
|
-
module: "dist/commercetools-ts-sdk-apm.esm.js",
|
|
11
|
-
author: "Chukwuemeka Ajima <meeky.ae@gmail.com>",
|
|
12
|
-
license: "MIT",
|
|
13
|
-
"private": false,
|
|
14
|
-
dependencies: {
|
|
15
|
-
"@opentelemetry/api": "^1.4.1",
|
|
16
|
-
"@opentelemetry/auto-instrumentations-node": "^0.38.0",
|
|
17
|
-
"@opentelemetry/exporter-metrics-otlp-http": "^0.41.0",
|
|
18
|
-
"@opentelemetry/sdk-node": "^0.41.0",
|
|
19
|
-
newrelic: "^10.0.0",
|
|
20
|
-
uuid: "9.0.0"
|
|
21
|
-
},
|
|
22
|
-
publishConfig: {
|
|
23
|
-
access: "public"
|
|
24
|
-
},
|
|
25
|
-
engines: {
|
|
26
|
-
node: ">=14"
|
|
27
|
-
},
|
|
28
|
-
keywords: [
|
|
29
|
-
"commercetools",
|
|
30
|
-
"composable commerce",
|
|
31
|
-
"typescript",
|
|
32
|
-
"sdk",
|
|
33
|
-
"apm",
|
|
34
|
-
"telemetry",
|
|
35
|
-
"opentelemetry",
|
|
36
|
-
"tracing"
|
|
37
|
-
],
|
|
38
|
-
homepage: "https://github.com/commercetools/commercetools-typescript-sdks",
|
|
39
|
-
bugs: "https://github.com/commercetools/commercetools-typescript-sdks/issues",
|
|
40
|
-
repository: {
|
|
41
|
-
type: "git",
|
|
42
|
-
url: "https://github.com/commercetools/commercetools-typescript-sdks.git"
|
|
43
|
-
},
|
|
44
|
-
files: [
|
|
45
|
-
"dist",
|
|
46
|
-
"CHANGELOG.md",
|
|
47
|
-
"opentelemetry.js"
|
|
48
|
-
],
|
|
49
|
-
browser: {
|
|
50
|
-
"./dist/commercetools-ts-sdk-apm.cjs.js": "./dist/commercetools-ts-sdk-apm.browser.cjs.js",
|
|
51
|
-
"./dist/commercetools-ts-sdk-apm.esm.js": "./dist/commercetools-ts-sdk-apm.browser.esm.js"
|
|
52
|
-
},
|
|
53
|
-
scripts: {
|
|
54
|
-
organize_imports: "find src -type f -name '*.ts' | xargs organize-imports-cli",
|
|
55
|
-
postbuild: "yarn organize_imports",
|
|
56
|
-
post_process_generate: "yarn organize_imports"
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
|
|
60
5
|
/**
|
|
61
6
|
* default newrelic APM and
|
|
62
7
|
* opentelemetry tracer modules
|
|
63
8
|
*/
|
|
64
9
|
const defaultOptions = {
|
|
65
|
-
|
|
10
|
+
/**
|
|
11
|
+
* if this is to be used with newrelic, then
|
|
12
|
+
* pass this (apm) as an option in the `createTelemetryMiddleware`
|
|
13
|
+
* function e.g createTelemetryMiddleware({ apm: () => require('newrelic'), ... })
|
|
14
|
+
* Note: don't forget to install newrelic agent in your project `yarn add newrelic`
|
|
15
|
+
*/
|
|
16
|
+
apm: () => {},
|
|
66
17
|
tracer: () => require('../opentelemetry')
|
|
67
18
|
};
|
|
68
19
|
function createTelemetryMiddleware(options) {
|
|
@@ -82,10 +33,6 @@ function createTelemetryMiddleware(options) {
|
|
|
82
33
|
return next => (request, response) => {
|
|
83
34
|
const nextRequest = {
|
|
84
35
|
...request,
|
|
85
|
-
headers: {
|
|
86
|
-
...request.headers,
|
|
87
|
-
'User-Agent': `typescript-sdk-newrelic-middleware-${packageJson.version}`
|
|
88
|
-
},
|
|
89
36
|
...options
|
|
90
37
|
};
|
|
91
38
|
next(nextRequest, response);
|
|
@@ -2,67 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var packageJson = {
|
|
6
|
-
name: "@commercetools/ts-sdk-apm",
|
|
7
|
-
version: "1.0.1",
|
|
8
|
-
description: "commercetools typescript SDK application performance monitoring.",
|
|
9
|
-
main: "dist/commercetools-ts-sdk-apm.cjs.js",
|
|
10
|
-
module: "dist/commercetools-ts-sdk-apm.esm.js",
|
|
11
|
-
author: "Chukwuemeka Ajima <meeky.ae@gmail.com>",
|
|
12
|
-
license: "MIT",
|
|
13
|
-
"private": false,
|
|
14
|
-
dependencies: {
|
|
15
|
-
"@opentelemetry/api": "^1.4.1",
|
|
16
|
-
"@opentelemetry/auto-instrumentations-node": "^0.38.0",
|
|
17
|
-
"@opentelemetry/exporter-metrics-otlp-http": "^0.41.0",
|
|
18
|
-
"@opentelemetry/sdk-node": "^0.41.0",
|
|
19
|
-
newrelic: "^10.0.0",
|
|
20
|
-
uuid: "9.0.0"
|
|
21
|
-
},
|
|
22
|
-
publishConfig: {
|
|
23
|
-
access: "public"
|
|
24
|
-
},
|
|
25
|
-
engines: {
|
|
26
|
-
node: ">=14"
|
|
27
|
-
},
|
|
28
|
-
keywords: [
|
|
29
|
-
"commercetools",
|
|
30
|
-
"composable commerce",
|
|
31
|
-
"typescript",
|
|
32
|
-
"sdk",
|
|
33
|
-
"apm",
|
|
34
|
-
"telemetry",
|
|
35
|
-
"opentelemetry",
|
|
36
|
-
"tracing"
|
|
37
|
-
],
|
|
38
|
-
homepage: "https://github.com/commercetools/commercetools-typescript-sdks",
|
|
39
|
-
bugs: "https://github.com/commercetools/commercetools-typescript-sdks/issues",
|
|
40
|
-
repository: {
|
|
41
|
-
type: "git",
|
|
42
|
-
url: "https://github.com/commercetools/commercetools-typescript-sdks.git"
|
|
43
|
-
},
|
|
44
|
-
files: [
|
|
45
|
-
"dist",
|
|
46
|
-
"CHANGELOG.md",
|
|
47
|
-
"opentelemetry.js"
|
|
48
|
-
],
|
|
49
|
-
browser: {
|
|
50
|
-
"./dist/commercetools-ts-sdk-apm.cjs.js": "./dist/commercetools-ts-sdk-apm.browser.cjs.js",
|
|
51
|
-
"./dist/commercetools-ts-sdk-apm.esm.js": "./dist/commercetools-ts-sdk-apm.browser.esm.js"
|
|
52
|
-
},
|
|
53
|
-
scripts: {
|
|
54
|
-
organize_imports: "find src -type f -name '*.ts' | xargs organize-imports-cli",
|
|
55
|
-
postbuild: "yarn organize_imports",
|
|
56
|
-
post_process_generate: "yarn organize_imports"
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
|
|
60
5
|
/**
|
|
61
6
|
* default newrelic APM and
|
|
62
7
|
* opentelemetry tracer modules
|
|
63
8
|
*/
|
|
64
9
|
const defaultOptions = {
|
|
65
|
-
|
|
10
|
+
/**
|
|
11
|
+
* if this is to be used with newrelic, then
|
|
12
|
+
* pass this (apm) as an option in the `createTelemetryMiddleware`
|
|
13
|
+
* function e.g createTelemetryMiddleware({ apm: () => require('newrelic'), ... })
|
|
14
|
+
* Note: don't forget to install newrelic agent in your project `yarn add newrelic`
|
|
15
|
+
*/
|
|
16
|
+
apm: () => {},
|
|
66
17
|
tracer: () => require('../opentelemetry')
|
|
67
18
|
};
|
|
68
19
|
function createTelemetryMiddleware(options) {
|
|
@@ -82,10 +33,6 @@ function createTelemetryMiddleware(options) {
|
|
|
82
33
|
return next => (request, response) => {
|
|
83
34
|
const nextRequest = {
|
|
84
35
|
...request,
|
|
85
|
-
headers: {
|
|
86
|
-
...request.headers,
|
|
87
|
-
'User-Agent': `typescript-sdk-newrelic-middleware-${packageJson.version}`
|
|
88
|
-
},
|
|
89
36
|
...options
|
|
90
37
|
};
|
|
91
38
|
next(nextRequest, response);
|
|
@@ -1,64 +1,15 @@
|
|
|
1
|
-
var packageJson = {
|
|
2
|
-
name: "@commercetools/ts-sdk-apm",
|
|
3
|
-
version: "1.0.1",
|
|
4
|
-
description: "commercetools typescript SDK application performance monitoring.",
|
|
5
|
-
main: "dist/commercetools-ts-sdk-apm.cjs.js",
|
|
6
|
-
module: "dist/commercetools-ts-sdk-apm.esm.js",
|
|
7
|
-
author: "Chukwuemeka Ajima <meeky.ae@gmail.com>",
|
|
8
|
-
license: "MIT",
|
|
9
|
-
"private": false,
|
|
10
|
-
dependencies: {
|
|
11
|
-
"@opentelemetry/api": "^1.4.1",
|
|
12
|
-
"@opentelemetry/auto-instrumentations-node": "^0.38.0",
|
|
13
|
-
"@opentelemetry/exporter-metrics-otlp-http": "^0.41.0",
|
|
14
|
-
"@opentelemetry/sdk-node": "^0.41.0",
|
|
15
|
-
newrelic: "^10.0.0",
|
|
16
|
-
uuid: "9.0.0"
|
|
17
|
-
},
|
|
18
|
-
publishConfig: {
|
|
19
|
-
access: "public"
|
|
20
|
-
},
|
|
21
|
-
engines: {
|
|
22
|
-
node: ">=14"
|
|
23
|
-
},
|
|
24
|
-
keywords: [
|
|
25
|
-
"commercetools",
|
|
26
|
-
"composable commerce",
|
|
27
|
-
"typescript",
|
|
28
|
-
"sdk",
|
|
29
|
-
"apm",
|
|
30
|
-
"telemetry",
|
|
31
|
-
"opentelemetry",
|
|
32
|
-
"tracing"
|
|
33
|
-
],
|
|
34
|
-
homepage: "https://github.com/commercetools/commercetools-typescript-sdks",
|
|
35
|
-
bugs: "https://github.com/commercetools/commercetools-typescript-sdks/issues",
|
|
36
|
-
repository: {
|
|
37
|
-
type: "git",
|
|
38
|
-
url: "https://github.com/commercetools/commercetools-typescript-sdks.git"
|
|
39
|
-
},
|
|
40
|
-
files: [
|
|
41
|
-
"dist",
|
|
42
|
-
"CHANGELOG.md",
|
|
43
|
-
"opentelemetry.js"
|
|
44
|
-
],
|
|
45
|
-
browser: {
|
|
46
|
-
"./dist/commercetools-ts-sdk-apm.cjs.js": "./dist/commercetools-ts-sdk-apm.browser.cjs.js",
|
|
47
|
-
"./dist/commercetools-ts-sdk-apm.esm.js": "./dist/commercetools-ts-sdk-apm.browser.esm.js"
|
|
48
|
-
},
|
|
49
|
-
scripts: {
|
|
50
|
-
organize_imports: "find src -type f -name '*.ts' | xargs organize-imports-cli",
|
|
51
|
-
postbuild: "yarn organize_imports",
|
|
52
|
-
post_process_generate: "yarn organize_imports"
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
|
|
56
1
|
/**
|
|
57
2
|
* default newrelic APM and
|
|
58
3
|
* opentelemetry tracer modules
|
|
59
4
|
*/
|
|
60
5
|
const defaultOptions = {
|
|
61
|
-
|
|
6
|
+
/**
|
|
7
|
+
* if this is to be used with newrelic, then
|
|
8
|
+
* pass this (apm) as an option in the `createTelemetryMiddleware`
|
|
9
|
+
* function e.g createTelemetryMiddleware({ apm: () => require('newrelic'), ... })
|
|
10
|
+
* Note: don't forget to install newrelic agent in your project `yarn add newrelic`
|
|
11
|
+
*/
|
|
12
|
+
apm: () => {},
|
|
62
13
|
tracer: () => require('../opentelemetry')
|
|
63
14
|
};
|
|
64
15
|
function createTelemetryMiddleware(options) {
|
|
@@ -78,10 +29,6 @@ function createTelemetryMiddleware(options) {
|
|
|
78
29
|
return next => (request, response) => {
|
|
79
30
|
const nextRequest = {
|
|
80
31
|
...request,
|
|
81
|
-
headers: {
|
|
82
|
-
...request.headers,
|
|
83
|
-
'User-Agent': `typescript-sdk-newrelic-middleware-${packageJson.version}`
|
|
84
|
-
},
|
|
85
32
|
...options
|
|
86
33
|
};
|
|
87
34
|
next(nextRequest, response);
|
|
@@ -95,8 +95,9 @@ export type MethodType =
|
|
|
95
95
|
| 'UNSUBSCRIBE'
|
|
96
96
|
|
|
97
97
|
export type TelemetryMiddlewareOptions = {
|
|
98
|
-
apm?: Function
|
|
99
|
-
tracer?: Function
|
|
98
|
+
apm?: Function;
|
|
99
|
+
tracer?: Function;
|
|
100
|
+
userAgent?: string;
|
|
100
101
|
createTelemetryMiddleware: (options?: OTelemetryMiddlewareOptions) => Middleware
|
|
101
102
|
}
|
|
102
103
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@commercetools/ts-sdk-apm",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "commercetools typescript SDK application performance monitoring.",
|
|
5
5
|
"main": "dist/commercetools-ts-sdk-apm.cjs.js",
|
|
6
6
|
"module": "dist/commercetools-ts-sdk-apm.esm.js",
|
|
@@ -12,7 +12,6 @@
|
|
|
12
12
|
"@opentelemetry/auto-instrumentations-node": "^0.38.0",
|
|
13
13
|
"@opentelemetry/exporter-metrics-otlp-http": "^0.41.0",
|
|
14
14
|
"@opentelemetry/sdk-node": "^0.41.0",
|
|
15
|
-
"newrelic": "^10.0.0",
|
|
16
15
|
"uuid": "9.0.0"
|
|
17
16
|
},
|
|
18
17
|
"publishConfig": {
|
|
@@ -37,7 +36,13 @@
|
|
|
37
36
|
"type": "git",
|
|
38
37
|
"url": "https://github.com/commercetools/commercetools-typescript-sdks.git"
|
|
39
38
|
},
|
|
40
|
-
"files": [
|
|
39
|
+
"files": [
|
|
40
|
+
"dist",
|
|
41
|
+
"CHANGELOG.md",
|
|
42
|
+
"LICENSE",
|
|
43
|
+
"opentelemetry.js",
|
|
44
|
+
"package.json"
|
|
45
|
+
],
|
|
41
46
|
"browser": {
|
|
42
47
|
"./dist/commercetools-ts-sdk-apm.cjs.js": "./dist/commercetools-ts-sdk-apm.browser.cjs.js",
|
|
43
48
|
"./dist/commercetools-ts-sdk-apm.esm.js": "./dist/commercetools-ts-sdk-apm.browser.esm.js"
|