@crimson-education/browser-logger 4.0.1 → 4.1.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/lib/reporters/datadogReporter.d.ts +20 -1
- package/lib/reporters/datadogReporter.d.ts.map +1 -1
- package/lib/reporters/datadogReporter.js +18 -15
- package/lib/reporters/datadogReporter.js.map +1 -1
- package/lib/reporters/index.d.ts +8 -1
- package/lib/reporters/index.d.ts.map +1 -1
- package/lib/reporters/index.js +17 -1
- package/lib/reporters/index.js.map +1 -1
- package/lib/types/reporter.d.ts +6 -0
- package/lib/types/reporter.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/reporters/datadogReporter.ts +26 -3
- package/src/reporters/index.ts +16 -0
- package/src/types/reporter.ts +7 -0
|
@@ -15,11 +15,30 @@ export interface DatadogReporterConfig extends ReporterConfigBase {
|
|
|
15
15
|
proxyUrl?: string;
|
|
16
16
|
/**
|
|
17
17
|
* Controls the percentage of overall sessions being tracked. It defaults to 100, so every session is tracked by default.
|
|
18
|
+
*
|
|
19
|
+
* More specific sample rate options take priority over this option. For instance, if `logSampleRate` is 50 and `sampleRate`
|
|
20
|
+
* is 75, then the sample rate used for log messages will be `50`.
|
|
21
|
+
*
|
|
22
|
+
* @deprecated Prefer using the dedicated `logSampleRate`, `rumSampleRate`, and `replaySampleRate` options.
|
|
18
23
|
*/
|
|
19
24
|
sampleRate?: number;
|
|
20
25
|
/**
|
|
21
|
-
*
|
|
26
|
+
* Sampling rate for browser log collection. Defaults to 100, meaning every log message is sent to Datadog.
|
|
27
|
+
*/
|
|
28
|
+
logSampleRate?: number;
|
|
29
|
+
/**
|
|
30
|
+
* Sampling rate for RUM session collection. Defaults to 100, meaning every browser session is tracked.
|
|
31
|
+
*
|
|
32
|
+
* RUM can be used to track things like core web vitals.
|
|
33
|
+
*
|
|
34
|
+
* @see https://www.datadoghq.com/product/real-user-monitoring/
|
|
35
|
+
*/
|
|
36
|
+
rumSampleRate?: number;
|
|
37
|
+
/**
|
|
38
|
+
* Applied after the RUM sample rate, and controls the percentage of sessions tracked as Browser RUM & Session Replay.
|
|
22
39
|
* It defaults to 100, so every session is tracked as Browser RUM & Session Replay by default.
|
|
40
|
+
*
|
|
41
|
+
* These sessions end up with a session replay available in Datadog.
|
|
23
42
|
*/
|
|
24
43
|
replaySampleRate?: number;
|
|
25
44
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datadogReporter.d.ts","sourceRoot":"","sources":["../../src/reporters/datadogReporter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAMT,WAAW,EACX,kBAAkB,
|
|
1
|
+
{"version":3,"file":"datadogReporter.d.ts","sourceRoot":"","sources":["../../src/reporters/datadogReporter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAMT,WAAW,EACX,kBAAkB,EAEnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAA4B,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAc,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE7F,OAAO,EAAE,yBAAyB,EAAoB,MAAM,4BAA4B,CAAC;AAEzF,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D,8BAA8B;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;OAGG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC;;OAEG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAC;IAEvC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;OAEG;IACH,UAAU,CAAC,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAEhD;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,yBAAyB,CAAC;IACnD;;OAEG;IACH,cAAc,CAAC,EAAE,qBAAqB,CAAC,YAAY,CAAC,CAAC;IAErD;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C;;OAEG;IACH,qBAAqB,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC5C;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,qBAAqB,GAAG,SAAS,CAgI3F"}
|
|
@@ -6,7 +6,7 @@ const browser_rum_1 = require("@datadog/browser-rum");
|
|
|
6
6
|
const logger_1 = require("../logger");
|
|
7
7
|
const datadogTransport_1 = require("../logger/datadogTransport");
|
|
8
8
|
function datadogReporter(info, config) {
|
|
9
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
9
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
10
10
|
const isLocalhost = window.location.hostname === 'localhost';
|
|
11
11
|
// Don't forward error logs by default, do enable the log transport by default
|
|
12
12
|
// forwardErrorsToLogs incorrectly is called forwardConsoleLogs, this is for backwards compatibility
|
|
@@ -21,10 +21,10 @@ function datadogReporter(info, config) {
|
|
|
21
21
|
service: info.service,
|
|
22
22
|
env: info.environment,
|
|
23
23
|
version: (_b = config.version) !== null && _b !== void 0 ? _b : info.version,
|
|
24
|
-
sampleRate: (_c = config.
|
|
24
|
+
sampleRate: (_d = (_c = config.logSampleRate) !== null && _c !== void 0 ? _c : config.sampleRate) !== null && _d !== void 0 ? _d : 100,
|
|
25
25
|
beforeSend: config.beforeLogsSend,
|
|
26
|
-
useSecureSessionCookie: (
|
|
27
|
-
useCrossSiteSessionCookie: (
|
|
26
|
+
useSecureSessionCookie: (_e = config.useSecureSessionCookie) !== null && _e !== void 0 ? _e : !isLocalhost,
|
|
27
|
+
useCrossSiteSessionCookie: (_f = config.useCrossSiteSessionCookie) !== null && _f !== void 0 ? _f : false,
|
|
28
28
|
trackSessionAcrossSubdomains: config.trackSessionAcrossSubdomains,
|
|
29
29
|
forwardErrorsToLogs,
|
|
30
30
|
});
|
|
@@ -41,20 +41,20 @@ function datadogReporter(info, config) {
|
|
|
41
41
|
applicationId: config.applicationId,
|
|
42
42
|
service: info.service,
|
|
43
43
|
env: info.environment,
|
|
44
|
-
version: (
|
|
45
|
-
sampleRate: (
|
|
46
|
-
replaySampleRate: (
|
|
47
|
-
useSecureSessionCookie: (
|
|
48
|
-
useCrossSiteSessionCookie: (
|
|
44
|
+
version: (_g = config.version) !== null && _g !== void 0 ? _g : info.version,
|
|
45
|
+
sampleRate: (_j = (_h = config.rumSampleRate) !== null && _h !== void 0 ? _h : config.sampleRate) !== null && _j !== void 0 ? _j : 100,
|
|
46
|
+
replaySampleRate: (_k = config.replaySampleRate) !== null && _k !== void 0 ? _k : 100,
|
|
47
|
+
useSecureSessionCookie: (_l = config.useSecureSessionCookie) !== null && _l !== void 0 ? _l : !isLocalhost,
|
|
48
|
+
useCrossSiteSessionCookie: (_m = config.useCrossSiteSessionCookie) !== null && _m !== void 0 ? _m : false,
|
|
49
49
|
trackSessionAcrossSubdomains: config.trackSessionAcrossSubdomains,
|
|
50
|
-
trackInteractions: (
|
|
51
|
-
trackFrustrations: (
|
|
52
|
-
trackViewsManually: (
|
|
53
|
-
actionNameAttribute: (
|
|
50
|
+
trackInteractions: (_o = config.trackInteractions) !== null && _o !== void 0 ? _o : false,
|
|
51
|
+
trackFrustrations: (_p = config.trackFrustrations) !== null && _p !== void 0 ? _p : false,
|
|
52
|
+
trackViewsManually: (_q = config.trackViewsManually) !== null && _q !== void 0 ? _q : false,
|
|
53
|
+
actionNameAttribute: (_r = config.actionNameAttribute) !== null && _r !== void 0 ? _r : 'data-analytics-name',
|
|
54
54
|
beforeSend: config.beforeSend,
|
|
55
|
-
defaultPrivacyLevel: (
|
|
55
|
+
defaultPrivacyLevel: (_s = config.defaultPrivacyLevel) !== null && _s !== void 0 ? _s : 'mask-user-input',
|
|
56
56
|
allowedTracingOrigins: config.allowedTracingOrigins,
|
|
57
|
-
trackUserInteractions: (
|
|
57
|
+
trackUserInteractions: (_t = config.trackUserInteractions) !== null && _t !== void 0 ? _t : false,
|
|
58
58
|
});
|
|
59
59
|
const reporter = {
|
|
60
60
|
trackEvent: function (event) {
|
|
@@ -113,6 +113,9 @@ function datadogReporter(info, config) {
|
|
|
113
113
|
reportError: function (error, metadata) {
|
|
114
114
|
browser_rum_1.datadogRum.addError(error, metadata);
|
|
115
115
|
},
|
|
116
|
+
reportFeatureFlag: function (flag) {
|
|
117
|
+
browser_rum_1.datadogRum.addFeatureFlagEvaluation(flag.name, flag.value);
|
|
118
|
+
},
|
|
116
119
|
recordSession: function () {
|
|
117
120
|
browser_rum_1.datadogRum.startSessionReplayRecording();
|
|
118
121
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datadogReporter.js","sourceRoot":"","sources":["../../src/reporters/datadogReporter.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"datadogReporter.js","sourceRoot":"","sources":["../../src/reporters/datadogReporter.ts"],"names":[],"mappings":"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"}
|
package/lib/reporters/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IReporter, LogLevel, Metadata, ReporterBreadcrumb, ReporterEvent, ReporterFilters, ReportError, ReporterType, ReportUser, TrackedReporterEvent } from '../types';
|
|
1
|
+
import { IReporter, LogLevel, Metadata, ReporterBreadcrumb, ReporterEvent, ReporterFilters, ReporterFlag, ReportError, ReporterType, ReportUser, TrackedReporterEvent } from '../types';
|
|
2
2
|
export declare const reporters: Partial<Record<ReporterType, IReporter>>;
|
|
3
3
|
export declare let globalEventLevel: LogLevel | undefined;
|
|
4
4
|
/**
|
|
@@ -54,6 +54,13 @@ export declare function setPageName(pageName: string, filters?: ReporterFilters)
|
|
|
54
54
|
* @param filters Optional filters to specify which reporters to report the error to.
|
|
55
55
|
*/
|
|
56
56
|
export declare function reportError(error: ReportError, metadata?: Metadata, filters?: ReporterFilters): void;
|
|
57
|
+
/**
|
|
58
|
+
* Report a feature flag evaluation, e.g. for surfacing in Datadog RUM.
|
|
59
|
+
*
|
|
60
|
+
* @param flag Details about the feature flag evaluation
|
|
61
|
+
* @param filters Filters to specify which reporters to start a session recording for.
|
|
62
|
+
*/
|
|
63
|
+
export declare function reportFeatureFlag(flag: ReporterFlag, filters?: ReporterFilters): void;
|
|
57
64
|
/**
|
|
58
65
|
* Starts a session recording in Analytics, e.g. RUM Session Replay
|
|
59
66
|
* @param filters Optional filters to specify which reporters to start a session recording for.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/reporters/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,WAAW,EACX,YAAY,EACZ,UAAU,EACV,oBAAoB,EACrB,MAAM,UAAU,CAAC;AAGlB,eAAO,MAAM,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAM,CAAC;AAEtE,eAAO,IAAI,gBAAgB,EAAE,QAAQ,GAAG,SAAS,CAAC;AAClD;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI,CAE1D;AAkBD;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAkBrD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAoBpE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,oBAAoB,GAAG,IAAI,CAOjE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,kBAAkB,GAAG,IAAI,CAYlE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAO/E;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAOhF;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAO/E;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAO7E;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAOpG;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAO7D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAOjE"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/reporters/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,UAAU,EACV,oBAAoB,EACrB,MAAM,UAAU,CAAC;AAGlB,eAAO,MAAM,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAM,CAAC;AAEtE,eAAO,IAAI,gBAAgB,EAAE,QAAQ,GAAG,SAAS,CAAC;AAClD;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI,CAE1D;AAkBD;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAkBrD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAoBpE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,oBAAoB,GAAG,IAAI,CAOjE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,kBAAkB,GAAG,IAAI,CAYlE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAO/E;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAOhF;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAO/E;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAO7E;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAOpG;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAOrF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAO7D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAOjE"}
|
package/lib/reporters/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.recordSessionStop = exports.recordSession = exports.reportError = exports.setPageName = exports.setRouteName = exports.setUser = exports.addMetadata = exports.addBreadcrumb = exports.getLastTrackedEvent = exports.trackEventSinceLastAction = exports.trackEvent = exports.setEventLevel = exports.globalEventLevel = exports.reporters = void 0;
|
|
3
|
+
exports.recordSessionStop = exports.recordSession = exports.reportFeatureFlag = exports.reportError = exports.setPageName = exports.setRouteName = exports.setUser = exports.addMetadata = exports.addBreadcrumb = exports.getLastTrackedEvent = exports.trackEventSinceLastAction = exports.trackEvent = exports.setEventLevel = exports.globalEventLevel = exports.reporters = void 0;
|
|
4
4
|
const utils_1 = require("../logger/utils");
|
|
5
5
|
const utils_2 = require("../utils");
|
|
6
6
|
exports.reporters = {};
|
|
@@ -182,6 +182,22 @@ function reportError(error, metadata, filters) {
|
|
|
182
182
|
}
|
|
183
183
|
}
|
|
184
184
|
exports.reportError = reportError;
|
|
185
|
+
/**
|
|
186
|
+
* Report a feature flag evaluation, e.g. for surfacing in Datadog RUM.
|
|
187
|
+
*
|
|
188
|
+
* @param flag Details about the feature flag evaluation
|
|
189
|
+
* @param filters Filters to specify which reporters to start a session recording for.
|
|
190
|
+
*/
|
|
191
|
+
function reportFeatureFlag(flag, filters) {
|
|
192
|
+
var _a, _b;
|
|
193
|
+
for (const reporter of getReporters(filters)) {
|
|
194
|
+
if (((_a = reporter.endpoints) === null || _a === void 0 ? void 0 : _a.reportFeatureFlag) === false) {
|
|
195
|
+
continue;
|
|
196
|
+
}
|
|
197
|
+
(_b = reporter.reportFeatureFlag) === null || _b === void 0 ? void 0 : _b.call(reporter, flag);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
exports.reportFeatureFlag = reportFeatureFlag;
|
|
185
201
|
/**
|
|
186
202
|
* Starts a session recording in Analytics, e.g. RUM Session Replay
|
|
187
203
|
* @param filters Optional filters to specify which reporters to start a session recording for.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/reporters/index.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/reporters/index.ts"],"names":[],"mappings":"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"}
|
package/lib/types/reporter.d.ts
CHANGED
|
@@ -107,6 +107,10 @@ export interface ReporterBreadcrumb extends ReporterFilters {
|
|
|
107
107
|
*/
|
|
108
108
|
metadata?: Metadata | undefined;
|
|
109
109
|
}
|
|
110
|
+
export interface ReporterFlag {
|
|
111
|
+
name: string;
|
|
112
|
+
value: any;
|
|
113
|
+
}
|
|
110
114
|
export interface ReporterConfigBase {
|
|
111
115
|
/**
|
|
112
116
|
* Enable/Disable reporter endpoints from being called.
|
|
@@ -119,6 +123,7 @@ export interface ReporterConfigBase {
|
|
|
119
123
|
setRouteName?: boolean;
|
|
120
124
|
setPageName?: boolean;
|
|
121
125
|
reportError?: boolean;
|
|
126
|
+
reportFeatureFlag?: boolean;
|
|
122
127
|
recordSession?: boolean;
|
|
123
128
|
recordSessionStop?: boolean;
|
|
124
129
|
};
|
|
@@ -149,6 +154,7 @@ export interface IReporter extends ReporterConfigBase {
|
|
|
149
154
|
setRouteName(routeName: string): void;
|
|
150
155
|
setPageName(pageName: string): void;
|
|
151
156
|
reportError?(error: ReportError, metadata?: Metadata): void;
|
|
157
|
+
reportFeatureFlag?(flag: ReporterFlag): void;
|
|
152
158
|
recordSession?(): void;
|
|
153
159
|
recordSessionStop?(): void;
|
|
154
160
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../../src/types/reporter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../../src/types/reporter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
ReportUser,
|
|
8
8
|
ServiceInfo,
|
|
9
9
|
ReporterConfigBase,
|
|
10
|
+
ReporterFlag,
|
|
10
11
|
} from '../types';
|
|
11
12
|
import { datadogLogs, HandlerType, LogsInitConfiguration } from '@datadog/browser-logs';
|
|
12
13
|
import { datadogRum, DefaultPrivacyLevel, RumInitConfiguration } from '@datadog/browser-rum';
|
|
@@ -27,11 +28,30 @@ export interface DatadogReporterConfig extends ReporterConfigBase {
|
|
|
27
28
|
|
|
28
29
|
/**
|
|
29
30
|
* Controls the percentage of overall sessions being tracked. It defaults to 100, so every session is tracked by default.
|
|
31
|
+
*
|
|
32
|
+
* More specific sample rate options take priority over this option. For instance, if `logSampleRate` is 50 and `sampleRate`
|
|
33
|
+
* is 75, then the sample rate used for log messages will be `50`.
|
|
34
|
+
*
|
|
35
|
+
* @deprecated Prefer using the dedicated `logSampleRate`, `rumSampleRate`, and `replaySampleRate` options.
|
|
30
36
|
*/
|
|
31
37
|
sampleRate?: number;
|
|
32
38
|
/**
|
|
33
|
-
*
|
|
39
|
+
* Sampling rate for browser log collection. Defaults to 100, meaning every log message is sent to Datadog.
|
|
40
|
+
*/
|
|
41
|
+
logSampleRate?: number;
|
|
42
|
+
/**
|
|
43
|
+
* Sampling rate for RUM session collection. Defaults to 100, meaning every browser session is tracked.
|
|
44
|
+
*
|
|
45
|
+
* RUM can be used to track things like core web vitals.
|
|
46
|
+
*
|
|
47
|
+
* @see https://www.datadoghq.com/product/real-user-monitoring/
|
|
48
|
+
*/
|
|
49
|
+
rumSampleRate?: number;
|
|
50
|
+
/**
|
|
51
|
+
* Applied after the RUM sample rate, and controls the percentage of sessions tracked as Browser RUM & Session Replay.
|
|
34
52
|
* It defaults to 100, so every session is tracked as Browser RUM & Session Replay by default.
|
|
53
|
+
*
|
|
54
|
+
* These sessions end up with a session replay available in Datadog.
|
|
35
55
|
*/
|
|
36
56
|
replaySampleRate?: number;
|
|
37
57
|
|
|
@@ -121,7 +141,7 @@ export function datadogReporter(info: ServiceInfo, config: DatadogReporterConfig
|
|
|
121
141
|
env: info.environment,
|
|
122
142
|
version: config.version ?? info.version,
|
|
123
143
|
|
|
124
|
-
sampleRate: config.sampleRate ?? 100,
|
|
144
|
+
sampleRate: config.logSampleRate ?? config.sampleRate ?? 100,
|
|
125
145
|
beforeSend: config.beforeLogsSend,
|
|
126
146
|
|
|
127
147
|
useSecureSessionCookie: config.useSecureSessionCookie ?? !isLocalhost,
|
|
@@ -147,7 +167,7 @@ export function datadogReporter(info: ServiceInfo, config: DatadogReporterConfig
|
|
|
147
167
|
env: info.environment,
|
|
148
168
|
version: config.version ?? info.version,
|
|
149
169
|
|
|
150
|
-
sampleRate: config.sampleRate ?? 100,
|
|
170
|
+
sampleRate: config.rumSampleRate ?? config.sampleRate ?? 100,
|
|
151
171
|
replaySampleRate: config.replaySampleRate ?? 100,
|
|
152
172
|
|
|
153
173
|
useSecureSessionCookie: config.useSecureSessionCookie ?? !isLocalhost,
|
|
@@ -220,6 +240,9 @@ export function datadogReporter(info: ServiceInfo, config: DatadogReporterConfig
|
|
|
220
240
|
reportError: function (error: ReportError, metadata?: Metadata): void {
|
|
221
241
|
datadogRum.addError(error, metadata);
|
|
222
242
|
},
|
|
243
|
+
reportFeatureFlag: function (flag: ReporterFlag): void {
|
|
244
|
+
datadogRum.addFeatureFlagEvaluation(flag.name, flag.value);
|
|
245
|
+
},
|
|
223
246
|
recordSession: function (): void {
|
|
224
247
|
datadogRum.startSessionReplayRecording();
|
|
225
248
|
},
|
package/src/reporters/index.ts
CHANGED
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
ReporterBreadcrumb,
|
|
7
7
|
ReporterEvent,
|
|
8
8
|
ReporterFilters,
|
|
9
|
+
ReporterFlag,
|
|
9
10
|
ReportError,
|
|
10
11
|
ReporterType,
|
|
11
12
|
ReportUser,
|
|
@@ -189,6 +190,21 @@ export function reportError(error: ReportError, metadata?: Metadata, filters?: R
|
|
|
189
190
|
}
|
|
190
191
|
}
|
|
191
192
|
|
|
193
|
+
/**
|
|
194
|
+
* Report a feature flag evaluation, e.g. for surfacing in Datadog RUM.
|
|
195
|
+
*
|
|
196
|
+
* @param flag Details about the feature flag evaluation
|
|
197
|
+
* @param filters Filters to specify which reporters to start a session recording for.
|
|
198
|
+
*/
|
|
199
|
+
export function reportFeatureFlag(flag: ReporterFlag, filters?: ReporterFilters): void {
|
|
200
|
+
for (const reporter of getReporters(filters)) {
|
|
201
|
+
if (reporter.endpoints?.reportFeatureFlag === false) {
|
|
202
|
+
continue;
|
|
203
|
+
}
|
|
204
|
+
reporter.reportFeatureFlag?.(flag);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
|
|
192
208
|
/**
|
|
193
209
|
* Starts a session recording in Analytics, e.g. RUM Session Replay
|
|
194
210
|
* @param filters Optional filters to specify which reporters to start a session recording for.
|
package/src/types/reporter.ts
CHANGED
|
@@ -116,6 +116,11 @@ export interface ReporterBreadcrumb extends ReporterFilters {
|
|
|
116
116
|
metadata?: Metadata | undefined;
|
|
117
117
|
}
|
|
118
118
|
|
|
119
|
+
export interface ReporterFlag {
|
|
120
|
+
name: string;
|
|
121
|
+
value: any;
|
|
122
|
+
}
|
|
123
|
+
|
|
119
124
|
export interface ReporterConfigBase {
|
|
120
125
|
/**
|
|
121
126
|
* Enable/Disable reporter endpoints from being called.
|
|
@@ -128,6 +133,7 @@ export interface ReporterConfigBase {
|
|
|
128
133
|
setRouteName?: boolean;
|
|
129
134
|
setPageName?: boolean;
|
|
130
135
|
reportError?: boolean;
|
|
136
|
+
reportFeatureFlag?: boolean;
|
|
131
137
|
recordSession?: boolean;
|
|
132
138
|
recordSessionStop?: boolean;
|
|
133
139
|
};
|
|
@@ -162,6 +168,7 @@ export interface IReporter extends ReporterConfigBase {
|
|
|
162
168
|
setRouteName(routeName: string): void;
|
|
163
169
|
setPageName(pageName: string): void;
|
|
164
170
|
reportError?(error: ReportError, metadata?: Metadata): void;
|
|
171
|
+
reportFeatureFlag?(flag: ReporterFlag): void;
|
|
165
172
|
recordSession?(): void;
|
|
166
173
|
recordSessionStop?(): void;
|
|
167
174
|
}
|