@grafana/faro-web-sdk 1.7.3 → 1.8.1
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/dist/bundle/faro-web-sdk.iife.js +1 -1
- package/dist/bundle/types/instrumentations/console/instrumentation.d.ts +1 -1
- package/dist/bundle/types/instrumentations/errors/instrumentation.d.ts +1 -1
- package/dist/bundle/types/instrumentations/instrumentationConstants.d.ts +1 -0
- package/dist/bundle/types/instrumentations/performance/instrumentation.d.ts +1 -1
- package/dist/bundle/types/instrumentations/performance/performanceConstants.d.ts +0 -1
- package/dist/bundle/types/instrumentations/performance/performanceUtils.d.ts +3 -0
- package/dist/bundle/types/instrumentations/session/instrumentation.d.ts +1 -1
- package/dist/bundle/types/instrumentations/session/sessionManager/getSessionManagerByConfig.d.ts +3 -0
- package/dist/bundle/types/instrumentations/session/sessionManager/index.d.ts +1 -0
- package/dist/bundle/types/instrumentations/session/sessionManager/sessionConstants.d.ts +3 -0
- package/dist/bundle/types/instrumentations/session/sessionManager/sessionManagerUtils.d.ts +4 -1
- package/dist/bundle/types/instrumentations/session/sessionManager/types.d.ts +3 -0
- package/dist/bundle/types/instrumentations/view/instrumentation.d.ts +1 -1
- package/dist/bundle/types/instrumentations/webVitals/instrumentation.d.ts +2 -9
- package/dist/bundle/types/instrumentations/webVitals/webVitalsBasic.d.ts +14 -0
- package/dist/bundle/types/instrumentations/webVitals/webVitalsWithAttribution.d.ts +16 -0
- package/dist/bundle/types/transports/console/transport.d.ts +1 -1
- package/dist/bundle/types/transports/fetch/transport.d.ts +2 -1
- package/dist/cjs/config/makeCoreConfig.js +8 -6
- package/dist/cjs/config/makeCoreConfig.js.map +1 -1
- package/dist/cjs/instrumentations/instrumentationConstants.js +5 -0
- package/dist/cjs/instrumentations/instrumentationConstants.js.map +1 -0
- package/dist/cjs/instrumentations/performance/navigation.js +7 -4
- package/dist/cjs/instrumentations/performance/navigation.js.map +1 -1
- package/dist/cjs/instrumentations/performance/performanceConstants.js +1 -2
- package/dist/cjs/instrumentations/performance/performanceConstants.js.map +1 -1
- package/dist/cjs/instrumentations/performance/performanceUtils.js +21 -1
- package/dist/cjs/instrumentations/performance/performanceUtils.js.map +1 -1
- package/dist/cjs/instrumentations/performance/performanceUtilsTestData.js +12 -1
- package/dist/cjs/instrumentations/performance/performanceUtilsTestData.js.map +1 -1
- package/dist/cjs/instrumentations/performance/resource.js +2 -1
- package/dist/cjs/instrumentations/performance/resource.js.map +1 -1
- package/dist/cjs/instrumentations/session/instrumentation.js +1 -2
- package/dist/cjs/instrumentations/session/instrumentation.js.map +1 -1
- package/dist/cjs/instrumentations/session/sessionManager/getSessionManagerByConfig.js +10 -0
- package/dist/cjs/instrumentations/session/sessionManager/getSessionManagerByConfig.js.map +1 -0
- package/dist/cjs/instrumentations/session/sessionManager/index.js +3 -1
- package/dist/cjs/instrumentations/session/sessionManager/index.js.map +1 -1
- package/dist/cjs/instrumentations/session/sessionManager/sessionConstants.js +4 -1
- package/dist/cjs/instrumentations/session/sessionManager/sessionConstants.js.map +1 -1
- package/dist/cjs/instrumentations/session/sessionManager/sessionManagerUtils.js +6 -5
- package/dist/cjs/instrumentations/session/sessionManager/sessionManagerUtils.js.map +1 -1
- package/dist/cjs/instrumentations/session/sessionManager/types.js.map +1 -1
- package/dist/cjs/instrumentations/webVitals/instrumentation.js +9 -21
- package/dist/cjs/instrumentations/webVitals/instrumentation.js.map +1 -1
- package/dist/cjs/instrumentations/webVitals/webVitalsBasic.js +35 -0
- package/dist/cjs/instrumentations/webVitals/webVitalsBasic.js.map +1 -0
- package/dist/cjs/instrumentations/webVitals/webVitalsWithAttribution.js +136 -0
- package/dist/cjs/instrumentations/webVitals/webVitalsWithAttribution.js.map +1 -0
- package/dist/cjs/transports/fetch/transport.js +33 -9
- package/dist/cjs/transports/fetch/transport.js.map +1 -1
- package/dist/esm/config/makeCoreConfig.js +9 -7
- package/dist/esm/config/makeCoreConfig.js.map +1 -1
- package/dist/esm/instrumentations/instrumentationConstants.js +2 -0
- package/dist/esm/instrumentations/instrumentationConstants.js.map +1 -0
- package/dist/esm/instrumentations/performance/navigation.js +7 -4
- package/dist/esm/instrumentations/performance/navigation.js.map +1 -1
- package/dist/esm/instrumentations/performance/performanceConstants.js +0 -1
- package/dist/esm/instrumentations/performance/performanceConstants.js.map +1 -1
- package/dist/esm/instrumentations/performance/performanceUtils.js +17 -0
- package/dist/esm/instrumentations/performance/performanceUtils.js.map +1 -1
- package/dist/esm/instrumentations/performance/performanceUtilsTestData.js +12 -1
- package/dist/esm/instrumentations/performance/performanceUtilsTestData.js.map +1 -1
- package/dist/esm/instrumentations/performance/resource.js +3 -2
- package/dist/esm/instrumentations/performance/resource.js.map +1 -1
- package/dist/esm/instrumentations/session/instrumentation.js +2 -3
- package/dist/esm/instrumentations/session/instrumentation.js.map +1 -1
- package/dist/esm/instrumentations/session/sessionManager/getSessionManagerByConfig.js +6 -0
- package/dist/esm/instrumentations/session/sessionManager/getSessionManagerByConfig.js.map +1 -0
- package/dist/esm/instrumentations/session/sessionManager/index.js +1 -0
- package/dist/esm/instrumentations/session/sessionManager/index.js.map +1 -1
- package/dist/esm/instrumentations/session/sessionManager/sessionConstants.js +4 -1
- package/dist/esm/instrumentations/session/sessionManager/sessionConstants.js.map +1 -1
- package/dist/esm/instrumentations/session/sessionManager/sessionManagerUtils.js +3 -3
- package/dist/esm/instrumentations/session/sessionManager/sessionManagerUtils.js.map +1 -1
- package/dist/esm/instrumentations/session/sessionManager/types.js.map +1 -1
- package/dist/esm/instrumentations/webVitals/instrumentation.js +10 -19
- package/dist/esm/instrumentations/webVitals/instrumentation.js.map +1 -1
- package/dist/esm/instrumentations/webVitals/webVitalsBasic.js +27 -0
- package/dist/esm/instrumentations/webVitals/webVitalsBasic.js.map +1 -0
- package/dist/esm/instrumentations/webVitals/webVitalsWithAttribution.js +124 -0
- package/dist/esm/instrumentations/webVitals/webVitalsWithAttribution.js.map +1 -0
- package/dist/esm/transports/fetch/transport.js +24 -3
- package/dist/esm/transports/fetch/transport.js.map +1 -1
- package/dist/types/instrumentations/console/instrumentation.d.ts +1 -1
- package/dist/types/instrumentations/errors/instrumentation.d.ts +1 -1
- package/dist/types/instrumentations/instrumentationConstants.d.ts +1 -0
- package/dist/types/instrumentations/performance/instrumentation.d.ts +1 -1
- package/dist/types/instrumentations/performance/performanceConstants.d.ts +0 -1
- package/dist/types/instrumentations/performance/performanceUtils.d.ts +3 -0
- package/dist/types/instrumentations/session/instrumentation.d.ts +1 -1
- package/dist/types/instrumentations/session/sessionManager/getSessionManagerByConfig.d.ts +3 -0
- package/dist/types/instrumentations/session/sessionManager/index.d.ts +1 -0
- package/dist/types/instrumentations/session/sessionManager/sessionConstants.d.ts +3 -0
- package/dist/types/instrumentations/session/sessionManager/sessionManagerUtils.d.ts +4 -1
- package/dist/types/instrumentations/session/sessionManager/types.d.ts +3 -0
- package/dist/types/instrumentations/view/instrumentation.d.ts +1 -1
- package/dist/types/instrumentations/webVitals/instrumentation.d.ts +2 -9
- package/dist/types/instrumentations/webVitals/webVitalsBasic.d.ts +14 -0
- package/dist/types/instrumentations/webVitals/webVitalsWithAttribution.d.ts +16 -0
- package/dist/types/transports/console/transport.d.ts +1 -1
- package/dist/types/transports/fetch/transport.d.ts +2 -1
- package/package.json +4 -4
|
@@ -3,3 +3,4 @@ export { VolatileSessionsManager } from './VolatileSessionManager';
|
|
|
3
3
|
export { MAX_SESSION_PERSISTENCE_TIME, MAX_SESSION_PERSISTENCE_TIME_BUFFER, SESSION_EXPIRATION_TIME, SESSION_INACTIVITY_TIME, STORAGE_KEY, STORAGE_UPDATE_DELAY, defaultSessionTrackingConfig, } from './sessionConstants';
|
|
4
4
|
export { isSampled } from './sampling';
|
|
5
5
|
export type { FaroUserSession } from './types';
|
|
6
|
+
export { getSessionManagerByConfig } from './getSessionManagerByConfig';
|
|
@@ -3,6 +3,9 @@ export declare const STORAGE_KEY = "com.grafana.faro.session";
|
|
|
3
3
|
export declare const SESSION_EXPIRATION_TIME: number;
|
|
4
4
|
export declare const SESSION_INACTIVITY_TIME: number;
|
|
5
5
|
export declare const STORAGE_UPDATE_DELAY: number;
|
|
6
|
+
/**
|
|
7
|
+
* @deprecated MAX_SESSION_PERSISTENCE_TIME_BUFFER is not used anymore. The constant will be removed in the future
|
|
8
|
+
*/
|
|
6
9
|
export declare const MAX_SESSION_PERSISTENCE_TIME_BUFFER: number;
|
|
7
10
|
export declare const MAX_SESSION_PERSISTENCE_TIME: number;
|
|
8
11
|
export declare const defaultSessionTrackingConfig: Config['sessionTracking'];
|
|
@@ -11,6 +11,9 @@ type GetUserSessionUpdaterParams = {
|
|
|
11
11
|
storeUserSession: (session: FaroUserSession) => void;
|
|
12
12
|
fetchUserSession: () => FaroUserSession | null;
|
|
13
13
|
};
|
|
14
|
-
|
|
14
|
+
type UpdateSessionParams = {
|
|
15
|
+
forceSessionExtend: boolean;
|
|
16
|
+
};
|
|
17
|
+
export declare function getUserSessionUpdater({ fetchUserSession, storeUserSession, }: GetUserSessionUpdaterParams): (options?: UpdateSessionParams) => void;
|
|
15
18
|
export declare function addSessionMetadataToNextSession(newSession: FaroUserSession, previousSession: FaroUserSession | null): Required<FaroUserSession>;
|
|
16
19
|
export {};
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { MetaSession } from '@grafana/faro-core';
|
|
2
|
+
import type { PersistentSessionsManager } from './PersistentSessionsManager';
|
|
3
|
+
import type { VolatileSessionsManager } from './VolatileSessionManager';
|
|
2
4
|
export interface FaroUserSession {
|
|
3
5
|
sessionId: string;
|
|
4
6
|
lastActivity: number;
|
|
@@ -6,3 +8,4 @@ export interface FaroUserSession {
|
|
|
6
8
|
isSampled: boolean;
|
|
7
9
|
sessionMeta?: MetaSession;
|
|
8
10
|
}
|
|
11
|
+
export type SessionManager = typeof VolatileSessionsManager | typeof PersistentSessionsManager;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BaseInstrumentation } from '@grafana/faro-core';
|
|
2
2
|
export declare class ViewInstrumentation extends BaseInstrumentation {
|
|
3
3
|
readonly name = "@grafana/faro-web-sdk:instrumentation-view";
|
|
4
|
-
readonly version = "1.
|
|
4
|
+
readonly version = "1.8.1";
|
|
5
5
|
private notifiedView;
|
|
6
6
|
private sendViewChangedEvent;
|
|
7
7
|
initialize(): void;
|
|
@@ -1,14 +1,7 @@
|
|
|
1
1
|
import { BaseInstrumentation } from '@grafana/faro-core';
|
|
2
2
|
export declare class WebVitalsInstrumentation extends BaseInstrumentation {
|
|
3
3
|
readonly name = "@grafana/faro-web-sdk:instrumentation-web-vitals";
|
|
4
|
-
readonly version = "1.
|
|
5
|
-
static mapping: {
|
|
6
|
-
cls: (onReport: import("web-vitals").CLSReportCallback, opts?: import("web-vitals").ReportOpts | undefined) => void;
|
|
7
|
-
fcp: (onReport: import("web-vitals").FCPReportCallback, opts?: import("web-vitals").ReportOpts | undefined) => void;
|
|
8
|
-
fid: (onReport: import("web-vitals").FIDReportCallback, opts?: import("web-vitals").ReportOpts | undefined) => void;
|
|
9
|
-
inp: (onReport: import("web-vitals").INPReportCallback, opts?: import("web-vitals").ReportOpts | undefined) => void;
|
|
10
|
-
lcp: (onReport: import("web-vitals").LCPReportCallback, opts?: import("web-vitals").ReportOpts | undefined) => void;
|
|
11
|
-
ttfb: (onReport: import("web-vitals").TTFBReportCallback, opts?: import("web-vitals").ReportOpts | undefined) => void;
|
|
12
|
-
};
|
|
4
|
+
readonly version = "1.8.1";
|
|
13
5
|
initialize(): void;
|
|
6
|
+
private intializeWebVitalsInstrumentation;
|
|
14
7
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { MeasurementsAPI } from '@grafana/faro-core';
|
|
2
|
+
export declare class WebVitalsBasic {
|
|
3
|
+
private pushMeasurement;
|
|
4
|
+
static mapping: {
|
|
5
|
+
cls: (onReport: (metric: import("web-vitals").CLSMetric) => void, opts?: import("web-vitals").ReportOpts | undefined) => void;
|
|
6
|
+
fcp: (onReport: (metric: import("web-vitals").FCPMetric) => void, opts?: import("web-vitals").ReportOpts | undefined) => void;
|
|
7
|
+
fid: (onReport: (metric: import("web-vitals").FIDMetric) => void, opts?: import("web-vitals").ReportOpts | undefined) => void;
|
|
8
|
+
inp: (onReport: (metric: import("web-vitals").INPMetric) => void, opts?: import("web-vitals").ReportOpts | undefined) => void;
|
|
9
|
+
lcp: (onReport: (metric: import("web-vitals").LCPMetric) => void, opts?: import("web-vitals").ReportOpts | undefined) => void;
|
|
10
|
+
ttfb: (onReport: (metric: import("web-vitals").TTFBMetric) => void, opts?: import("web-vitals").ReportOpts | undefined) => void;
|
|
11
|
+
};
|
|
12
|
+
constructor(pushMeasurement: MeasurementsAPI['pushMeasurement']);
|
|
13
|
+
initialize(): void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { MeasurementsAPI } from '@grafana/faro-core';
|
|
2
|
+
export declare class WebVitalsWithAttribution {
|
|
3
|
+
private corePushMeasurement;
|
|
4
|
+
constructor(corePushMeasurement: MeasurementsAPI['pushMeasurement']);
|
|
5
|
+
initialize(): void;
|
|
6
|
+
private measureCLS;
|
|
7
|
+
private measureFCP;
|
|
8
|
+
private measureFID;
|
|
9
|
+
private measureINP;
|
|
10
|
+
private measureLCP;
|
|
11
|
+
private measureTTFB;
|
|
12
|
+
private buildInitialValues;
|
|
13
|
+
private buildInitialContext;
|
|
14
|
+
private pushMeasurement;
|
|
15
|
+
private addIfPresent;
|
|
16
|
+
}
|
|
@@ -4,7 +4,7 @@ import type { ConsoleTransportOptions } from './types';
|
|
|
4
4
|
export declare class ConsoleTransport extends BaseTransport {
|
|
5
5
|
private options;
|
|
6
6
|
readonly name = "@grafana/faro-web-sdk:transport-console";
|
|
7
|
-
readonly version = "1.
|
|
7
|
+
readonly version = "1.8.1";
|
|
8
8
|
constructor(options?: ConsoleTransportOptions);
|
|
9
9
|
send(item: TransportItem): void;
|
|
10
10
|
}
|
|
@@ -4,7 +4,7 @@ import type { FetchTransportOptions } from './types';
|
|
|
4
4
|
export declare class FetchTransport extends BaseTransport {
|
|
5
5
|
private options;
|
|
6
6
|
readonly name = "@grafana/faro-web-sdk:transport-fetch";
|
|
7
|
-
readonly version = "1.
|
|
7
|
+
readonly version = "1.8.1";
|
|
8
8
|
promiseBuffer: PromiseBuffer<Response | void>;
|
|
9
9
|
private readonly rateLimitBackoffMs;
|
|
10
10
|
private readonly getNow;
|
|
@@ -14,4 +14,5 @@ export declare class FetchTransport extends BaseTransport {
|
|
|
14
14
|
getIgnoreUrls(): Patterns;
|
|
15
15
|
isBatched(): boolean;
|
|
16
16
|
private getRetryAfterDate;
|
|
17
|
+
private extendFaroSession;
|
|
17
18
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@grafana/faro-web-sdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.1",
|
|
4
4
|
"description": "Faro instrumentations, metas, transports for web.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"observability",
|
|
@@ -52,9 +52,9 @@
|
|
|
52
52
|
"quality:circular-deps": "madge --circular ."
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@grafana/faro-core": "^1.
|
|
55
|
+
"@grafana/faro-core": "^1.8.1",
|
|
56
56
|
"ua-parser-js": "^1.0.32",
|
|
57
|
-
"web-vitals": "^
|
|
57
|
+
"web-vitals": "^4.0.1"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
60
|
"@types/ua-parser-js": "^0.7.36",
|
|
@@ -63,5 +63,5 @@
|
|
|
63
63
|
"publishConfig": {
|
|
64
64
|
"access": "public"
|
|
65
65
|
},
|
|
66
|
-
"gitHead": "
|
|
66
|
+
"gitHead": "08d0f63dba5ff82c9b29b2f91df9d790514ea8d5"
|
|
67
67
|
}
|