@crimson-education/browser-logger 5.0.0-beta.2 → 5.0.0-beta.20
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/lib/index.js.map +1 -1
- package/lib/logger/consoleTransport.js.map +1 -1
- package/lib/logger/index.js.map +1 -1
- package/lib/logger/utils.js.map +1 -1
- package/lib/reporters/amplifyReporter.d.ts +1 -2
- package/lib/reporters/amplifyReporter.d.ts.map +1 -1
- package/lib/reporters/amplifyReporter.js +146 -107
- package/lib/reporters/amplifyReporter.js.map +1 -1
- package/lib/reporters/datadogReporter.d.ts +3 -0
- package/lib/reporters/datadogReporter.d.ts.map +1 -1
- package/lib/reporters/datadogReporter.js +16 -14
- package/lib/reporters/datadogReporter.js.map +1 -1
- package/lib/reporters/gtmReporter.js.map +1 -1
- package/lib/reporters/index.js.map +1 -1
- package/lib/utils.js.map +1 -1
- package/package.json +5 -9
- package/src/reporters/amplifyReporter.ts +165 -132
- package/src/reporters/datadogReporter.ts +21 -16
- package/lib/reporters/updateEndpoint.d.ts +0 -3
- package/lib/reporters/updateEndpoint.d.ts.map +0 -1
- package/lib/reporters/updateEndpoint.js +0 -33
- package/lib/reporters/updateEndpoint.js.map +0 -1
- package/src/reporters/updateEndpoint.ts +0 -39
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datadogReporter.js","sourceRoot":"","sources":["../../src/reporters/datadogReporter.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAyB,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,UAAU,EAA6C,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAA6B,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEzF,8CAA8C;AAC9C,MAAM,0BAA0B;IACtB,MAAM,CAAwB;IAC9B,iBAAiB,GAA+C,EAAE,CAAC;IAC1D,qBAAqB,GAAG,CAAC,CAAC,CAAC,0CAA0C;IACrE,kBAAkB,GAAG,IAAI,CAAC,CAAC,oBAAoB;IAEhE,YAAY,MAA6B;QACvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,MAAM,CAAC,iBAAiB,EAAE
|
|
1
|
+
{"version":3,"file":"datadogReporter.js","sourceRoot":"","sources":["../../src/reporters/datadogReporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gtmReporter.js","sourceRoot":"","sources":["../../src/reporters/gtmReporter.ts"],"names":[],"mappings":"AAkBA,MAAM,UAAU,WAAW,CAAC,IAAiB,EAAE,MAAyB;IACtE,IAAI,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;IACzC,MAAM,YAAY,GAAG;QACnB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;QAC5B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC;IAEF,MAAM,QAAQ,GAAc;QAC1B,GAAG,MAAM;QACT,WAAW,EAAE,UAAU,QAAkB;YACvC,IAAI,MAAM,CAAC,SAAS,EAAE
|
|
1
|
+
{"version":3,"file":"gtmReporter.js","sourceRoot":"","sources":["../../src/reporters/gtmReporter.ts"],"names":[],"mappings":"AAkBA,MAAM,UAAU,WAAW,CAAC,IAAiB,EAAE,MAAyB;IACtE,IAAI,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;IACzC,MAAM,YAAY,GAAG;QACnB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;QAC5B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC;IAEF,MAAM,QAAQ,GAAc;QAC1B,GAAG,MAAM;QACT,WAAW,EAAE,UAAU,QAAkB;YACvC,IAAI,MAAM,CAAC,SAAS,EAAE;gBACpB,wDAAwD;gBACxD,IAAI,CAAC,eAAe,EAAE;oBACpB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBACpC,eAAe,GAAG,IAAI,CAAC;iBACxB;gBAED,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACjC;QACH,CAAC;QACD,UAAU,EAAE,UAAU,KAAoB;YACxC,QAAQ,CAAC,WAAW,CAAC;gBACnB,GAAG,KAAK,CAAC,QAAQ;gBACjB,GAAG,KAAK,CAAC,IAAI;gBACb,GAAG,KAAK,CAAC,OAAO;gBAChB,KAAK,EAAE,KAAK,CAAC,OAAO;gBACpB,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB,CAAC,CAAC;QACL,CAAC;QACD,aAAa,EAAE,UAAU,UAA8B;YACrD,QAAQ,CAAC,WAAW,CAAC;gBACnB,GAAG,UAAU,CAAC,QAAQ;gBACtB,KAAK,EAAE,UAAU,CAAC,OAAO;aAC1B,CAAC,CAAC;QACL,CAAC;QACD,OAAO,EAAE,UAAU,IAAuB;YACxC,IAAI,IAAI,EAAE;gBACR,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;aAChC;QACH,CAAC;QACD,YAAY,EAAE,UAAU,SAAiB;YACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QACtC,CAAC;QACD,WAAW,EAAE,UAAU,QAAgB;YACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrC,CAAC;KACF,CAAC;IAEF,IAAI,eAAe,EAAE;QACnB,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;KACpC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/reporters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAc/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAElD,MAAM,CAAC,MAAM,SAAS,GAA6C,EAAE,CAAC;AAEtE,MAAM,CAAC,IAAI,gBAAsC,CAAC;AAClD;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,KAAsB;IAClD,gBAAgB,GAAG,KAAK,IAAI,SAAS,CAAC;AACxC,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,OAAyB;IAC7C,IAAI,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACvC,IAAI,OAAO,EAAE,gBAAgB,EAAE
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/reporters/index.ts"],"names":[],"mappings":"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"}
|
package/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAAmB,EACnB,QAAmD,EACnD,MAAe,EACf,KAAK,GAAG,CAAC,EACT,QAAQ,GAAG,EAAE;IAEb,MAAM,cAAc,GAAG,QAAQ,CAAC,sBAAsB,CAAC;IAEvD,+BAA+B;IAC/B,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,cAAc,IAAI,KAAK,GAAG,QAAQ,EAAE
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAAmB,EACnB,QAAmD,EACnD,MAAe,EACf,KAAK,GAAG,CAAC,EACT,QAAQ,GAAG,EAAE;IAEb,MAAM,cAAc,GAAG,QAAQ,CAAC,sBAAsB,CAAC;IAEvD,+BAA+B;IAC/B,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,cAAc,IAAI,KAAK,GAAG,QAAQ,EAAE;QACjE,OAAO,QAAQ,CAAC;KACjB;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEzC,OAAO,MAAM,CAAC,WAAW,CACvB,OAAO;SACJ,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE;QAChB,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC5C,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CACtC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAC1E,CAAC;IACJ,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACpB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;YAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YAC5C,OAAO,CAAC,GAAG,EAAE,sBAAsB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;SAC3F;QACD,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACtB,CAAC,CAAC,CACQ,CAAC;AACjB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crimson-education/browser-logger",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.20",
|
|
4
4
|
"description": "An abstract logger and reporting utility for browser environments",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"prepack": "npm run build",
|
|
@@ -28,9 +28,11 @@
|
|
|
28
28
|
},
|
|
29
29
|
"homepage": "https://github.com/crimson-education/browser-logger#readme",
|
|
30
30
|
"dependencies": {
|
|
31
|
+
"@aws-sdk/client-cognito-identity": "^3.844.0",
|
|
31
32
|
"@aws-sdk/protocol-http": "^3.370.0",
|
|
32
33
|
"@datadog/browser-logs": "^6.13.0",
|
|
33
|
-
"@datadog/browser-rum": "^6.13.0"
|
|
34
|
+
"@datadog/browser-rum": "^6.13.0",
|
|
35
|
+
"aws-amplify": "^6.15.9"
|
|
34
36
|
},
|
|
35
37
|
"devDependencies": {
|
|
36
38
|
"@crimson-education/eslint-config": "^2.1.0",
|
|
@@ -41,13 +43,7 @@
|
|
|
41
43
|
"jest": "^29.7.0",
|
|
42
44
|
"rimraf": "^5.0.5",
|
|
43
45
|
"ts-jest": "^29.1.2",
|
|
44
|
-
"typescript": "
|
|
45
|
-
},
|
|
46
|
-
"peerDependencies": {
|
|
47
|
-
"@aws-amplify/analytics": ">=7.0.0",
|
|
48
|
-
"@aws-amplify/auth": ">=6.0.0",
|
|
49
|
-
"@aws-amplify/core": ">=6.0.0",
|
|
50
|
-
"@aws-sdk/client-pinpoint": ">=3.370.0"
|
|
46
|
+
"typescript": "5.1.6"
|
|
51
47
|
},
|
|
52
48
|
"files": [
|
|
53
49
|
"lib",
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { Amplify } from '@aws-amplify/core';
|
|
2
1
|
import { identifyUser, record } from '@aws-amplify/analytics';
|
|
3
|
-
import { Endpoint, FinalizeRequestMiddleware } from '@aws-sdk/types';
|
|
4
|
-
import { HttpRequest } from '@aws-sdk/protocol-http';
|
|
5
|
-
import { PinpointClient, ServiceInputTypes, ServiceOutputTypes } from '@aws-sdk/client-pinpoint';
|
|
2
|
+
// import { Endpoint, FinalizeRequestMiddleware } from '@aws-sdk/types';
|
|
3
|
+
// import { HttpRequest } from '@aws-sdk/protocol-http';
|
|
4
|
+
// import { PinpointClient, ServiceInputTypes, ServiceOutputTypes } from '@aws-sdk/client-pinpoint';
|
|
6
5
|
|
|
7
6
|
import {
|
|
8
7
|
IReporter,
|
|
@@ -14,7 +13,8 @@ import {
|
|
|
14
13
|
ServiceInfo,
|
|
15
14
|
} from '../types';
|
|
16
15
|
import { logger } from '../logger';
|
|
17
|
-
|
|
16
|
+
// Note: fetchAuthSession was previously imported but unused; removing to satisfy linter
|
|
17
|
+
import { Amplify } from 'aws-amplify';
|
|
18
18
|
|
|
19
19
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
20
20
|
type AttributeMap = Record<string, string[] | string | null>;
|
|
@@ -48,7 +48,11 @@ class AmplifyAutoTracker {
|
|
|
48
48
|
|
|
49
49
|
// Page view tracking
|
|
50
50
|
if (this.config.autoTrackPageViews) {
|
|
51
|
-
|
|
51
|
+
// Delay initial page view to ensure Amplify is fully configured
|
|
52
|
+
// Using setTimeout(0) to defer to the next event loop tick
|
|
53
|
+
setTimeout(() => {
|
|
54
|
+
this.trackPageView();
|
|
55
|
+
}, 0);
|
|
52
56
|
|
|
53
57
|
// Track route changes for SPAs
|
|
54
58
|
let currentUrl = window.location.href;
|
|
@@ -80,10 +84,20 @@ class AmplifyAutoTracker {
|
|
|
80
84
|
},
|
|
81
85
|
};
|
|
82
86
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
+
try {
|
|
88
|
+
record({
|
|
89
|
+
name: pageViewEvent.message,
|
|
90
|
+
attributes: asAttributeMap(
|
|
91
|
+
{
|
|
92
|
+
...this.allMetadata,
|
|
93
|
+
...pageViewEvent.metadata,
|
|
94
|
+
},
|
|
95
|
+
false,
|
|
96
|
+
) as Record<string, string>,
|
|
97
|
+
});
|
|
98
|
+
} catch (error) {
|
|
99
|
+
logger.warn('Failed to record page view event', { error });
|
|
100
|
+
}
|
|
87
101
|
}
|
|
88
102
|
|
|
89
103
|
private trackSessionState() {
|
|
@@ -97,10 +111,20 @@ class AmplifyAutoTracker {
|
|
|
97
111
|
},
|
|
98
112
|
};
|
|
99
113
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
114
|
+
try {
|
|
115
|
+
record({
|
|
116
|
+
name: sessionEvent.message,
|
|
117
|
+
attributes: asAttributeMap(
|
|
118
|
+
{
|
|
119
|
+
...this.allMetadata,
|
|
120
|
+
...sessionEvent.metadata,
|
|
121
|
+
},
|
|
122
|
+
false,
|
|
123
|
+
) as Record<string, string>,
|
|
124
|
+
});
|
|
125
|
+
} catch (error) {
|
|
126
|
+
logger.warn('Failed to record session state event', { error });
|
|
127
|
+
}
|
|
104
128
|
}
|
|
105
129
|
|
|
106
130
|
private setupInteractionTracking() {
|
|
@@ -128,10 +152,20 @@ class AmplifyAutoTracker {
|
|
|
128
152
|
},
|
|
129
153
|
};
|
|
130
154
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
155
|
+
try {
|
|
156
|
+
record({
|
|
157
|
+
name: interactionEvent.message,
|
|
158
|
+
attributes: asAttributeMap(
|
|
159
|
+
{
|
|
160
|
+
...this.allMetadata,
|
|
161
|
+
...interactionEvent.metadata,
|
|
162
|
+
},
|
|
163
|
+
false,
|
|
164
|
+
) as Record<string, string>,
|
|
165
|
+
});
|
|
166
|
+
} catch (error) {
|
|
167
|
+
logger.warn('Failed to record interaction event', { error });
|
|
168
|
+
}
|
|
135
169
|
});
|
|
136
170
|
}
|
|
137
171
|
|
|
@@ -158,14 +192,11 @@ export interface AmplifyReporterConfig extends ReporterConfigBase {
|
|
|
158
192
|
* The Identity Pool Id to use for reporting, if set to false, Auth.configure is not called.
|
|
159
193
|
* This must be called manually for the reporter to work.
|
|
160
194
|
*/
|
|
161
|
-
identityPoolId: string
|
|
195
|
+
identityPoolId: string;
|
|
162
196
|
/**
|
|
163
197
|
* The Pinpoint App Id to report to.
|
|
164
198
|
*/
|
|
165
199
|
analyticsAppId: string;
|
|
166
|
-
// ap-southeast-2: pinpoint.ap-southeast-2.api.aws
|
|
167
|
-
endpointId: string;
|
|
168
|
-
|
|
169
200
|
/** Optional proxy URL */
|
|
170
201
|
proxyUrl?: string;
|
|
171
202
|
/**
|
|
@@ -228,34 +259,13 @@ type AmplifyReporterBufferingConfig = {
|
|
|
228
259
|
};
|
|
229
260
|
|
|
230
261
|
export function amplifyReporter(info: ServiceInfo, config: AmplifyReporterConfig): IReporter {
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
const authConfig: any = {
|
|
262
|
+
Amplify.configure({
|
|
263
|
+
Auth: {
|
|
234
264
|
Cognito: {
|
|
235
265
|
identityPoolId: config.identityPoolId,
|
|
266
|
+
allowGuestAccess: true,
|
|
236
267
|
},
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
// Only add user pool config if both userPoolId and userPoolWebClientId are provided
|
|
240
|
-
if (config.userPoolId && config.userPoolWebClientId) {
|
|
241
|
-
authConfig.Cognito.userPoolId = config.userPoolId;
|
|
242
|
-
authConfig.Cognito.userPoolClientId = config.userPoolWebClientId;
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
Amplify.configure({
|
|
246
|
-
Auth: authConfig,
|
|
247
|
-
});
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
const allMetadata = asAttributeMap({
|
|
251
|
-
appName: info.service,
|
|
252
|
-
service: info.service,
|
|
253
|
-
domain: window.location.host,
|
|
254
|
-
environment: info.environment,
|
|
255
|
-
version: info.version,
|
|
256
|
-
});
|
|
257
|
-
|
|
258
|
-
Amplify.configure({
|
|
268
|
+
},
|
|
259
269
|
Analytics: {
|
|
260
270
|
Pinpoint: {
|
|
261
271
|
appId: config.analyticsAppId,
|
|
@@ -265,26 +275,39 @@ export function amplifyReporter(info: ServiceInfo, config: AmplifyReporterConfig
|
|
|
265
275
|
},
|
|
266
276
|
});
|
|
267
277
|
|
|
278
|
+
const allMetadata = asAttributeMap({
|
|
279
|
+
appName: info.service,
|
|
280
|
+
service: info.service,
|
|
281
|
+
domain: window.location.host,
|
|
282
|
+
environment: info.environment,
|
|
283
|
+
version: info.version,
|
|
284
|
+
});
|
|
285
|
+
|
|
268
286
|
// Initialize auto-tracker for Gen2
|
|
269
287
|
const autoTracker = new AmplifyAutoTracker(config, allMetadata);
|
|
270
288
|
|
|
271
289
|
if (config.proxyUrl) {
|
|
272
|
-
installPinpointProxy(new URL(config.proxyUrl));
|
|
290
|
+
// installPinpointProxy(new URL(config.proxyUrl));
|
|
273
291
|
}
|
|
274
292
|
|
|
275
293
|
const reporter: IReporter = {
|
|
276
294
|
trackEvent: function (event: ReporterEvent): void {
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
295
|
+
try {
|
|
296
|
+
record({
|
|
297
|
+
name: event.message,
|
|
298
|
+
attributes: asAttributeMap(
|
|
299
|
+
{
|
|
300
|
+
...allMetadata,
|
|
301
|
+
...event.metadata,
|
|
302
|
+
...event.tags,
|
|
303
|
+
},
|
|
304
|
+
false,
|
|
305
|
+
) as Record<string, string>,
|
|
306
|
+
metrics: event.metrics,
|
|
307
|
+
});
|
|
308
|
+
} catch (error) {
|
|
309
|
+
logger.warn('Failed to record event', { error, eventName: event.message });
|
|
310
|
+
}
|
|
288
311
|
},
|
|
289
312
|
addBreadcrumb: function (breadcrumb: ReporterBreadcrumb): void {
|
|
290
313
|
reporter.trackEvent({
|
|
@@ -300,8 +323,6 @@ export function amplifyReporter(info: ServiceInfo, config: AmplifyReporterConfig
|
|
|
300
323
|
autoTracker.updateMetadata(asAttributeMap(metadata, true));
|
|
301
324
|
// Note: updateEndpoint is not available in Amplify v7
|
|
302
325
|
// Metadata updates would need to be handled differently
|
|
303
|
-
|
|
304
|
-
updatePinpointEndpoint(config, logger, allMetadata);
|
|
305
326
|
},
|
|
306
327
|
setUser: function (user: ReportUser | null): void {
|
|
307
328
|
const userMetadata = user
|
|
@@ -311,15 +332,22 @@ export function amplifyReporter(info: ServiceInfo, config: AmplifyReporterConfig
|
|
|
311
332
|
: {};
|
|
312
333
|
Object.assign(allMetadata, asAttributeMap(userMetadata, true));
|
|
313
334
|
autoTracker.setUser(user);
|
|
314
|
-
//
|
|
315
|
-
//
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
335
|
+
// Only call identifyUser when we have a valid user ID
|
|
336
|
+
// Calling with empty string can cause issues with Pinpoint USER_ID
|
|
337
|
+
if (user?.id) {
|
|
338
|
+
try {
|
|
339
|
+
identifyUser({
|
|
340
|
+
userId: user.id,
|
|
341
|
+
userProfile: {
|
|
342
|
+
email: user.email,
|
|
343
|
+
},
|
|
344
|
+
});
|
|
345
|
+
} catch (error) {
|
|
346
|
+
// Credentials may not be ready yet, log warning and continue
|
|
347
|
+
// The userId is still stored in allMetadata for event tracking
|
|
348
|
+
logger.warn('Failed to identify user in Pinpoint', { error });
|
|
349
|
+
}
|
|
350
|
+
}
|
|
323
351
|
},
|
|
324
352
|
setRouteName: function (routeName: string): void {
|
|
325
353
|
reporter.addMetadata({ routeName });
|
|
@@ -373,8 +401,13 @@ export function buildAttributeMap(
|
|
|
373
401
|
Object.entries(values).forEach(([key, value]) => {
|
|
374
402
|
const combinedKey = parentKey ? [parentKey, key].join('.') : key;
|
|
375
403
|
|
|
376
|
-
|
|
377
|
-
|
|
404
|
+
// Only treat undefined or null as empty; avoid converting falsy values like ''/0/false to null
|
|
405
|
+
if (value === undefined || value === null) {
|
|
406
|
+
// For event attributes (groupValues === false), Pinpoint rejects null values.
|
|
407
|
+
// In that case we omit the key entirely to avoid "Event attribute value can not be null".
|
|
408
|
+
if (groupValues) {
|
|
409
|
+
valuesWithStringArrays[combinedKey] = null;
|
|
410
|
+
}
|
|
378
411
|
} else if (groupValues && Array.isArray(value)) {
|
|
379
412
|
valuesWithStringArrays[combinedKey] = value.map((element) =>
|
|
380
413
|
typeof element === 'string' ? element : JSON.stringify(element),
|
|
@@ -391,63 +424,63 @@ export function buildAttributeMap(
|
|
|
391
424
|
return valuesWithStringArrays;
|
|
392
425
|
}
|
|
393
426
|
|
|
394
|
-
function installPinpointProxy(proxyUrl: URL) {
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
}
|
|
427
|
+
// function installPinpointProxy(proxyUrl: URL) {
|
|
428
|
+
// // No public API for overriding where the Pinpoint client sends events to... 🤮
|
|
429
|
+
// // In theory you can pass in an `endpoint` to the Pinpoint client's constructor like any other AWS
|
|
430
|
+
// // client, but Amplify's analytics doesn't expose anything we can use to get an endpoint threaded
|
|
431
|
+
// // down to the Pinpoint client's constructor.
|
|
432
|
+
// //
|
|
433
|
+
// // The Pinpoint client _also_ isn't available synchronously because it is instantiated when events
|
|
434
|
+
// // get sent out, and then reconfigured whenever the API credentials change. We need to hook `_initClients`
|
|
435
|
+
// // to ensure that the Pinpoint client being used is always patched with our custom endpoint.
|
|
436
|
+
// const provider = (globalThis as any).Analytics?.getPluggable?.('AWSPinpoint') as any;
|
|
437
|
+
// if (!provider || typeof provider._initClients !== 'function') {
|
|
438
|
+
// logger.error(
|
|
439
|
+
// 'Installation of the Pinpoint proxy failed. This likely means the internals of the @aws-amplify/analytics package have changed.',
|
|
440
|
+
// );
|
|
441
|
+
// return;
|
|
442
|
+
// }
|
|
443
|
+
|
|
444
|
+
// const originalInitClients = provider._initClients;
|
|
445
|
+
// const requestMiddleware: FinalizeRequestMiddleware<ServiceInputTypes, ServiceOutputTypes> =
|
|
446
|
+
// (next) => async (args) => {
|
|
447
|
+
// const pinpointClient = provider.pinpointClient as PinpointClient | undefined;
|
|
448
|
+
|
|
449
|
+
// if (pinpointClient && proxyUrl.pathname !== '/' && HttpRequest.isInstance(args.request)) {
|
|
450
|
+
// // Add proxyUrl.pathname to final request url if it was provided
|
|
451
|
+
// const shouldStripSlash = proxyUrl.pathname.endsWith('/');
|
|
452
|
+
// args.request.path = `${proxyUrl.pathname}${args.request.path.slice(shouldStripSlash ? 1 : 0)}`;
|
|
453
|
+
|
|
454
|
+
// // Wrap request body so the proxy has signing info
|
|
455
|
+
// if (typeof args.request.body === 'string') {
|
|
456
|
+
// const credentials = await pinpointClient.config.credentials();
|
|
457
|
+
// args.request.body = JSON.stringify({
|
|
458
|
+
// credentials,
|
|
459
|
+
// data: JSON.parse(args.request.body),
|
|
460
|
+
// });
|
|
461
|
+
// }
|
|
462
|
+
// }
|
|
463
|
+
|
|
464
|
+
// return next(args);
|
|
465
|
+
// };
|
|
466
|
+
|
|
467
|
+
// provider._initClients = async (credentials: unknown) => {
|
|
468
|
+
// const result = await originalInitClients.call(provider, credentials);
|
|
469
|
+
// const pinpointClient = provider.pinpointClient as PinpointClient | undefined;
|
|
470
|
+
|
|
471
|
+
// if (pinpointClient) {
|
|
472
|
+
// pinpointClient.config.endpoint = (): Promise<Endpoint> =>
|
|
473
|
+
// Promise.resolve({
|
|
474
|
+
// hostname: proxyUrl.hostname,
|
|
475
|
+
// // Passing proxyUrl.pathname here doesn't work; it gets overridden
|
|
476
|
+
// path: '/',
|
|
477
|
+
// port: undefined,
|
|
478
|
+
// protocol: proxyUrl.protocol,
|
|
479
|
+
// });
|
|
480
|
+
|
|
481
|
+
// pinpointClient.middlewareStack.remove(requestMiddleware);
|
|
482
|
+
// pinpointClient.middlewareStack.add(requestMiddleware, { step: 'finalizeRequest' });
|
|
483
|
+
// }
|
|
484
|
+
// return result;
|
|
485
|
+
// };
|
|
486
|
+
// }
|
|
@@ -34,13 +34,13 @@ class DatadogFrustrationDetector {
|
|
|
34
34
|
let clickCount = 0;
|
|
35
35
|
let lastClickTime = 0;
|
|
36
36
|
|
|
37
|
-
document.addEventListener('click', (
|
|
37
|
+
document.addEventListener('click', () => {
|
|
38
38
|
const now = Date.now();
|
|
39
39
|
if (now - lastClickTime < 1000) {
|
|
40
40
|
// Rapid clicks within 1 second
|
|
41
41
|
clickCount++;
|
|
42
42
|
if (clickCount >= 3) {
|
|
43
|
-
this.recordFrustrationEvent('rapid_clicks'
|
|
43
|
+
this.recordFrustrationEvent('rapid_clicks');
|
|
44
44
|
clickCount = 0;
|
|
45
45
|
}
|
|
46
46
|
} else {
|
|
@@ -50,14 +50,14 @@ class DatadogFrustrationDetector {
|
|
|
50
50
|
});
|
|
51
51
|
|
|
52
52
|
// Track form errors (potential frustration)
|
|
53
|
-
document.addEventListener('invalid', (
|
|
54
|
-
this.recordFrustrationEvent('form_validation_error'
|
|
53
|
+
document.addEventListener('invalid', () => {
|
|
54
|
+
this.recordFrustrationEvent('form_validation_error');
|
|
55
55
|
});
|
|
56
56
|
|
|
57
57
|
// Track 404 errors (potential frustration)
|
|
58
58
|
window.addEventListener('error', (event) => {
|
|
59
59
|
if (event.message.includes('404') || event.message.includes('Not Found')) {
|
|
60
|
-
this.recordFrustrationEvent('page_not_found'
|
|
60
|
+
this.recordFrustrationEvent('page_not_found');
|
|
61
61
|
}
|
|
62
62
|
});
|
|
63
63
|
|
|
@@ -66,13 +66,13 @@ class DatadogFrustrationDetector {
|
|
|
66
66
|
if (event.reason && typeof event.reason === 'object' && 'status' in event.reason) {
|
|
67
67
|
const status = (event.reason as any).status;
|
|
68
68
|
if (status >= 400) {
|
|
69
|
-
this.recordFrustrationEvent('network_error'
|
|
69
|
+
this.recordFrustrationEvent('network_error');
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
});
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
-
private recordFrustrationEvent(type: string
|
|
75
|
+
private recordFrustrationEvent(type: string) {
|
|
76
76
|
const now = Date.now();
|
|
77
77
|
this.frustrationEvents.push({ type, timestamp: now });
|
|
78
78
|
|
|
@@ -125,6 +125,8 @@ export interface DatadogReporterConfig extends ReporterConfigBase {
|
|
|
125
125
|
* @deprecated Prefer using the dedicated `logSampleRate`, `rumSampleRate`, and `replaySampleRate` options.
|
|
126
126
|
*/
|
|
127
127
|
sampleRate?: number;
|
|
128
|
+
sessionSampleRate?: number;
|
|
129
|
+
sessionReplaySampleRate?: number;
|
|
128
130
|
/**
|
|
129
131
|
* Sampling rate for browser log collection. Defaults to 100, meaning every log message is sent to Datadog.
|
|
130
132
|
*/
|
|
@@ -207,6 +209,7 @@ export interface DatadogReporterConfig extends ReporterConfigBase {
|
|
|
207
209
|
* A list of request origins used to inject tracing headers, to be able to connect RUM and backend tracing.
|
|
208
210
|
*/
|
|
209
211
|
allowedTrackingOrigins?: (string | RegExp)[];
|
|
212
|
+
allowedTracingUrls?: (string | RegExp)[];
|
|
210
213
|
/**
|
|
211
214
|
* Enables action tracking for user interactions. This enables the Heatmap tab within Datadog
|
|
212
215
|
*/
|
|
@@ -229,7 +232,7 @@ export function datadogReporter(info: ServiceInfo, config: DatadogReporterConfig
|
|
|
229
232
|
const enableLogTransport = config.logTransport !== false;
|
|
230
233
|
|
|
231
234
|
// Only init datadog logs if something is using it.
|
|
232
|
-
if (forwardErrorsToLogs
|
|
235
|
+
if (forwardErrorsToLogs === true || enableLogTransport === true) {
|
|
233
236
|
datadogLogs.init({
|
|
234
237
|
site: config.site as any,
|
|
235
238
|
clientToken: config.clientToken,
|
|
@@ -237,7 +240,6 @@ export function datadogReporter(info: ServiceInfo, config: DatadogReporterConfig
|
|
|
237
240
|
env: info.environment,
|
|
238
241
|
version: config.version ?? info.version,
|
|
239
242
|
|
|
240
|
-
// Note: sampleRate is not available in newer Datadog versions
|
|
241
243
|
beforeSend: config.beforeLogsSend,
|
|
242
244
|
|
|
243
245
|
useSecureSessionCookie: config.useSecureSessionCookie ?? !isLocalhost,
|
|
@@ -245,6 +247,7 @@ export function datadogReporter(info: ServiceInfo, config: DatadogReporterConfig
|
|
|
245
247
|
trackSessionAcrossSubdomains: config.trackSessionAcrossSubdomains,
|
|
246
248
|
|
|
247
249
|
forwardErrorsToLogs,
|
|
250
|
+
allowedTrackingOrigins: config.allowedTrackingOrigins,
|
|
248
251
|
});
|
|
249
252
|
datadogLogs.logger.setHandler(HandlerType.http);
|
|
250
253
|
}
|
|
@@ -263,26 +266,28 @@ export function datadogReporter(info: ServiceInfo, config: DatadogReporterConfig
|
|
|
263
266
|
env: info.environment,
|
|
264
267
|
version: config.version ?? info.version,
|
|
265
268
|
|
|
266
|
-
//
|
|
267
|
-
|
|
269
|
+
// Use correct Datadog v6 SDK options
|
|
270
|
+
sessionSampleRate: config.sessionSampleRate ?? config.rumSampleRate ?? config.sampleRate ?? 100,
|
|
271
|
+
sessionReplaySampleRate: config.sessionReplaySampleRate?? config.replaySampleRate ?? 100,
|
|
272
|
+
|
|
273
|
+
// Track interactions (Note: trackFrustrations is not available in Datadog v6)
|
|
274
|
+
trackUserInteractions: config.trackUserInteractions ?? config.trackInteractions ?? false,
|
|
268
275
|
|
|
269
276
|
useSecureSessionCookie: config.useSecureSessionCookie ?? !isLocalhost,
|
|
270
277
|
// Note: useCrossSiteSessionCookie is not available in newer Datadog versions
|
|
271
278
|
trackSessionAcrossSubdomains: config.trackSessionAcrossSubdomains,
|
|
272
|
-
|
|
273
279
|
trackViewsManually: config.trackViewsManually ?? false,
|
|
274
280
|
actionNameAttribute: config.actionNameAttribute ?? 'data-analytics-name',
|
|
275
281
|
beforeSend: config.beforeSend,
|
|
276
282
|
|
|
277
283
|
defaultPrivacyLevel: config.defaultPrivacyLevel ?? 'mask-user-input',
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
284
|
+
allowedTracingUrls: config.allowedTracingUrls ?? config.allowedTrackingOrigins,
|
|
285
|
+
|
|
281
286
|
excludedActivityUrls: config.excludedActivityUrls,
|
|
282
287
|
});
|
|
283
288
|
|
|
284
289
|
// Initialize frustration detector
|
|
285
|
-
|
|
290
|
+
new DatadogFrustrationDetector(config);
|
|
286
291
|
|
|
287
292
|
const reporter: IReporter = {
|
|
288
293
|
trackEvent: function (event: ReporterEvent): void {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"updateEndpoint.d.ts","sourceRoot":"","sources":["../../src/reporters/updateEndpoint.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,qBAAqB,EAC7B,MAAM,EAAE,GAAG,EACX,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC,iBAgCtD"}
|