@atlaskit/react-ufo 3.14.3 → 3.14.4
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 +8 -0
- package/dist/cjs/create-payload/critical-metrics-payload/index.js +38 -0
- package/dist/cjs/create-payload/critical-metrics-payload/root-metrics.js +180 -0
- package/dist/cjs/create-payload/critical-metrics-payload/segment-metrics/create-segment-metrics.js +251 -0
- package/dist/cjs/create-payload/critical-metrics-payload/segment-metrics/get-is-root-segment.js +9 -0
- package/dist/cjs/create-payload/critical-metrics-payload/segment-metrics/get-segment-id.js +15 -0
- package/dist/cjs/create-payload/critical-metrics-payload/segment-metrics/get-segment-status.js +59 -0
- package/dist/cjs/create-payload/critical-metrics-payload/segment-metrics/has-segment-failed.js +17 -0
- package/dist/cjs/create-payload/critical-metrics-payload/segment-metrics/is-label-stack-under-segment.js +11 -0
- package/dist/cjs/create-payload/critical-metrics-payload/types.js +5 -0
- package/dist/cjs/create-payload/index.js +122 -214
- package/dist/cjs/create-payload/utils/find-matching-legacy-metric.js +15 -0
- package/dist/cjs/create-payload/utils/get-browser-metadata.js +87 -0
- package/dist/cjs/create-payload/utils/get-fmp.js +52 -0
- package/dist/cjs/create-payload/utils/get-navigation-metrics.js +66 -0
- package/dist/cjs/create-payload/utils/get-paint-metrics.js +124 -0
- package/dist/cjs/create-payload/utils/get-payload-size.js +17 -0
- package/dist/cjs/create-payload/utils/get-react-ufo-payload-version.js +3 -1
- package/dist/cjs/create-payload/utils/get-ssr-success.js +15 -0
- package/dist/cjs/create-payload/utils/get-ttai.js +14 -0
- package/dist/cjs/create-payload/utils/get-tti.js +38 -0
- package/dist/cjs/interaction-metrics/index.js +25 -0
- package/dist/es2019/create-payload/critical-metrics-payload/index.js +6 -0
- package/dist/es2019/create-payload/critical-metrics-payload/root-metrics.js +166 -0
- package/dist/es2019/create-payload/critical-metrics-payload/segment-metrics/create-segment-metrics.js +155 -0
- package/dist/es2019/create-payload/critical-metrics-payload/segment-metrics/get-is-root-segment.js +3 -0
- package/dist/es2019/create-payload/critical-metrics-payload/segment-metrics/get-segment-id.js +9 -0
- package/dist/es2019/create-payload/critical-metrics-payload/segment-metrics/get-segment-status.js +40 -0
- package/dist/es2019/create-payload/critical-metrics-payload/segment-metrics/has-segment-failed.js +10 -0
- package/dist/es2019/create-payload/critical-metrics-payload/segment-metrics/is-label-stack-under-segment.js +5 -0
- package/dist/es2019/create-payload/critical-metrics-payload/types.js +1 -0
- package/dist/es2019/create-payload/index.js +55 -151
- package/dist/es2019/create-payload/utils/find-matching-legacy-metric.js +7 -0
- package/dist/es2019/create-payload/utils/get-browser-metadata.js +79 -0
- package/dist/es2019/create-payload/utils/get-fmp.js +47 -0
- package/dist/es2019/create-payload/utils/get-navigation-metrics.js +59 -0
- package/dist/es2019/create-payload/utils/get-paint-metrics.js +78 -0
- package/dist/es2019/create-payload/utils/get-payload-size.js +11 -0
- package/dist/es2019/create-payload/utils/get-react-ufo-payload-version.js +2 -1
- package/dist/es2019/create-payload/utils/get-ssr-success.js +7 -0
- package/dist/es2019/create-payload/utils/get-ttai.js +9 -0
- package/dist/es2019/create-payload/utils/get-tti.js +35 -0
- package/dist/es2019/interaction-metrics/index.js +24 -0
- package/dist/esm/create-payload/critical-metrics-payload/index.js +31 -0
- package/dist/esm/create-payload/critical-metrics-payload/root-metrics.js +174 -0
- package/dist/esm/create-payload/critical-metrics-payload/segment-metrics/create-segment-metrics.js +244 -0
- package/dist/esm/create-payload/critical-metrics-payload/segment-metrics/get-is-root-segment.js +3 -0
- package/dist/esm/create-payload/critical-metrics-payload/segment-metrics/get-segment-id.js +9 -0
- package/dist/esm/create-payload/critical-metrics-payload/segment-metrics/get-segment-status.js +52 -0
- package/dist/esm/create-payload/critical-metrics-payload/segment-metrics/has-segment-failed.js +10 -0
- package/dist/esm/create-payload/critical-metrics-payload/segment-metrics/is-label-stack-under-segment.js +5 -0
- package/dist/esm/create-payload/critical-metrics-payload/types.js +1 -0
- package/dist/esm/create-payload/index.js +121 -210
- package/dist/esm/create-payload/utils/find-matching-legacy-metric.js +9 -0
- package/dist/esm/create-payload/utils/get-browser-metadata.js +79 -0
- package/dist/esm/create-payload/utils/get-fmp.js +47 -0
- package/dist/esm/create-payload/utils/get-navigation-metrics.js +59 -0
- package/dist/esm/create-payload/utils/get-paint-metrics.js +119 -0
- package/dist/esm/create-payload/utils/get-payload-size.js +11 -0
- package/dist/esm/create-payload/utils/get-react-ufo-payload-version.js +2 -1
- package/dist/esm/create-payload/utils/get-ssr-success.js +7 -0
- package/dist/esm/create-payload/utils/get-ttai.js +7 -0
- package/dist/esm/create-payload/utils/get-tti.js +33 -0
- package/dist/esm/interaction-metrics/index.js +24 -0
- package/dist/types/common/common/types.d.ts +1 -1
- package/dist/types/common/react-ufo-payload-schema.d.ts +23 -2
- package/dist/types/create-payload/critical-metrics-payload/index.d.ts +6 -0
- package/dist/types/create-payload/critical-metrics-payload/root-metrics.d.ts +7 -0
- package/dist/types/create-payload/critical-metrics-payload/segment-metrics/create-segment-metrics.d.ts +3 -0
- package/dist/types/create-payload/critical-metrics-payload/segment-metrics/get-is-root-segment.d.ts +2 -0
- package/dist/types/create-payload/critical-metrics-payload/segment-metrics/get-segment-id.d.ts +2 -0
- package/dist/types/create-payload/critical-metrics-payload/segment-metrics/get-segment-status.d.ts +7 -0
- package/dist/types/create-payload/critical-metrics-payload/segment-metrics/has-segment-failed.d.ts +2 -0
- package/dist/types/create-payload/critical-metrics-payload/segment-metrics/is-label-stack-under-segment.d.ts +2 -0
- package/dist/types/create-payload/critical-metrics-payload/types.d.ts +128 -0
- package/dist/types/create-payload/index.d.ts +339 -834
- package/dist/types/create-payload/utils/find-matching-legacy-metric.d.ts +5 -0
- package/dist/types/create-payload/utils/get-browser-metadata.d.ts +21 -0
- package/dist/types/create-payload/utils/get-fmp.d.ts +6 -0
- package/dist/types/create-payload/utils/get-navigation-metrics.d.ts +29 -0
- package/dist/types/create-payload/utils/get-paint-metrics.d.ts +13 -0
- package/dist/types/create-payload/utils/get-payload-size.d.ts +1 -0
- package/dist/types/create-payload/utils/get-react-ufo-payload-version.d.ts +2 -1
- package/dist/types/create-payload/utils/get-ssr-success.d.ts +2 -0
- package/dist/types/create-payload/utils/get-ttai.d.ts +2 -0
- package/dist/types/create-payload/utils/get-tti.d.ts +7 -0
- package/dist/types/interaction-metrics/index.d.ts +1 -0
- package/dist/types-ts4.5/common/common/types.d.ts +1 -1
- package/dist/types-ts4.5/common/react-ufo-payload-schema.d.ts +23 -2
- package/dist/types-ts4.5/create-payload/critical-metrics-payload/index.d.ts +6 -0
- package/dist/types-ts4.5/create-payload/critical-metrics-payload/root-metrics.d.ts +7 -0
- package/dist/types-ts4.5/create-payload/critical-metrics-payload/segment-metrics/create-segment-metrics.d.ts +3 -0
- package/dist/types-ts4.5/create-payload/critical-metrics-payload/segment-metrics/get-is-root-segment.d.ts +2 -0
- package/dist/types-ts4.5/create-payload/critical-metrics-payload/segment-metrics/get-segment-id.d.ts +2 -0
- package/dist/types-ts4.5/create-payload/critical-metrics-payload/segment-metrics/get-segment-status.d.ts +7 -0
- package/dist/types-ts4.5/create-payload/critical-metrics-payload/segment-metrics/has-segment-failed.d.ts +2 -0
- package/dist/types-ts4.5/create-payload/critical-metrics-payload/segment-metrics/is-label-stack-under-segment.d.ts +2 -0
- package/dist/types-ts4.5/create-payload/critical-metrics-payload/types.d.ts +130 -0
- package/dist/types-ts4.5/create-payload/index.d.ts +339 -834
- package/dist/types-ts4.5/create-payload/utils/find-matching-legacy-metric.d.ts +5 -0
- package/dist/types-ts4.5/create-payload/utils/get-browser-metadata.d.ts +21 -0
- package/dist/types-ts4.5/create-payload/utils/get-fmp.d.ts +6 -0
- package/dist/types-ts4.5/create-payload/utils/get-navigation-metrics.d.ts +29 -0
- package/dist/types-ts4.5/create-payload/utils/get-paint-metrics.d.ts +13 -0
- package/dist/types-ts4.5/create-payload/utils/get-payload-size.d.ts +1 -0
- package/dist/types-ts4.5/create-payload/utils/get-react-ufo-payload-version.d.ts +2 -1
- package/dist/types-ts4.5/create-payload/utils/get-ssr-success.d.ts +2 -0
- package/dist/types-ts4.5/create-payload/utils/get-ttai.d.ts +2 -0
- package/dist/types-ts4.5/create-payload/utils/get-tti.d.ts +7 -0
- package/dist/types-ts4.5/interaction-metrics/index.d.ts +1 -0
- package/package.json +5 -1
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export default function getBrowserMetadata(): {
|
|
2
|
+
browser?: {
|
|
3
|
+
name: string;
|
|
4
|
+
version: string;
|
|
5
|
+
} | undefined;
|
|
6
|
+
device?: {
|
|
7
|
+
cpus?: number | undefined;
|
|
8
|
+
memory?: number | undefined;
|
|
9
|
+
} | undefined;
|
|
10
|
+
network?: {
|
|
11
|
+
effectiveType: string;
|
|
12
|
+
rtt: number;
|
|
13
|
+
downlink: number;
|
|
14
|
+
} | undefined;
|
|
15
|
+
time: {
|
|
16
|
+
localHour: number;
|
|
17
|
+
localDayOfWeek: number;
|
|
18
|
+
localTimezoneOffset: number;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
export declare function getBrowserMetadataToLegacyFormat(): Record<string, any>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { InteractionMetrics } from '../../common';
|
|
2
|
+
/**
|
|
3
|
+
* Calculate FMP (First Meaningful Paint) based on interaction type and configuration
|
|
4
|
+
* FMP is calculated based on legacy metrics or marks depending on interaction type and configuration
|
|
5
|
+
*/
|
|
6
|
+
export declare function getFMP(interaction: InteractionMetrics, experienceName: string): number | undefined;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { InteractionType } from '../../common';
|
|
2
|
+
export interface NavigationMetrics {
|
|
3
|
+
redirectStart: number;
|
|
4
|
+
redirectEnd: number;
|
|
5
|
+
fetchStart: number;
|
|
6
|
+
domainLookupStart: number;
|
|
7
|
+
domainLookupEnd: number;
|
|
8
|
+
connectStart: number;
|
|
9
|
+
connectEnd: number;
|
|
10
|
+
secureConnectionStart: number;
|
|
11
|
+
requestStart: number;
|
|
12
|
+
responseStart: number;
|
|
13
|
+
responseEnd: number;
|
|
14
|
+
encodedBodySize: number;
|
|
15
|
+
decodedBodySize: number;
|
|
16
|
+
transferSize: number;
|
|
17
|
+
redirectCount: number;
|
|
18
|
+
type: string;
|
|
19
|
+
unloadEventEnd: number;
|
|
20
|
+
unloadEventStart: number;
|
|
21
|
+
workerStart: number;
|
|
22
|
+
nextHopProtocol: string;
|
|
23
|
+
}
|
|
24
|
+
export default function getNavigationMetrics(type: InteractionType): NavigationMetrics | null;
|
|
25
|
+
export declare function getNavigationMetricsToLegacyFormat(type: InteractionType): {
|
|
26
|
+
'metrics:navigation'?: undefined;
|
|
27
|
+
} | {
|
|
28
|
+
'metrics:navigation': NavigationMetrics;
|
|
29
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { InteractionType } from '../../common';
|
|
2
|
+
export interface PaintMetrics {
|
|
3
|
+
fp?: number;
|
|
4
|
+
fcp?: number;
|
|
5
|
+
lcp?: number;
|
|
6
|
+
}
|
|
7
|
+
export interface LegacyPaintMetrics {
|
|
8
|
+
'metric:fp'?: number;
|
|
9
|
+
'metric:fcp'?: number;
|
|
10
|
+
'metric:lcp'?: number;
|
|
11
|
+
}
|
|
12
|
+
export default function getPaintMetrics(type: InteractionType, end: number): Promise<PaintMetrics>;
|
|
13
|
+
export declare function getPaintMetricsToLegacyFormat(type: InteractionType, end: number): Promise<LegacyPaintMetrics>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function getPayloadSize(payload: object): number;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import type { InteractionType } from '../../interaction-metrics';
|
|
2
|
-
export declare
|
|
2
|
+
export declare const LATEST_REACT_UFO_PAYLOAD_VERSION = "2.0.0";
|
|
3
|
+
export declare function getReactUFOPayloadVersion(interactionType: InteractionType, isPostInteractionLog?: boolean): "2.0.0" | "1.0.1";
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { InteractionMetrics } from '../../common';
|
|
2
|
+
/**
|
|
3
|
+
* Calculate TTI (Time to Interactive) based on server-side logic
|
|
4
|
+
* TTI is the time from interaction start to the end of the first matching legacy metric,
|
|
5
|
+
* or falls back to apdex/UFO end time if no legacy metrics exist
|
|
6
|
+
*/
|
|
7
|
+
export declare function getTTI(interaction: InteractionMetrics, experienceName: string): number | undefined;
|
|
@@ -12,6 +12,7 @@ export declare function remove(interactionId: string): void;
|
|
|
12
12
|
export declare function updatePageLoadInteractionName(ufoName: string, routeName?: string | null | undefined): void;
|
|
13
13
|
export declare function addMetadata(interactionId: string, data: Record<string, unknown>): void;
|
|
14
14
|
export declare function addCustomData(interactionId: string, labelStack: LabelStack, data: CustomData): void;
|
|
15
|
+
export declare function addCohortingCustomData(interactionId: string, key: string, value: number | boolean | string | null | undefined): void;
|
|
15
16
|
export declare function addCustomTiming(interactionId: string, labelStack: LabelStack, data: CustomTiming): void;
|
|
16
17
|
export declare function addMark(interactionId: string, type: MarkType, name: string, labelStack: LabelStack | null, time?: number): void;
|
|
17
18
|
export declare function addMarkToAll(type: MarkType, name: string, labelStack: LabelStack | null, time?: number): void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/react-ufo",
|
|
3
|
-
"version": "3.14.
|
|
3
|
+
"version": "3.14.4",
|
|
4
4
|
"description": "Parts of React UFO that are publicly available",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -74,6 +74,7 @@
|
|
|
74
74
|
".": "./src/index.ts"
|
|
75
75
|
},
|
|
76
76
|
"dependencies": {
|
|
77
|
+
"@atlaskit/browser-apis": "^0.0.1",
|
|
77
78
|
"@atlaskit/interaction-context": "^3.0.0",
|
|
78
79
|
"@atlaskit/platform-feature-flags": "^1.1.0",
|
|
79
80
|
"@babel/runtime": "^7.0.0",
|
|
@@ -178,6 +179,9 @@
|
|
|
178
179
|
"platform_ufo_enable_timeout_config": {
|
|
179
180
|
"type": "boolean"
|
|
180
181
|
},
|
|
182
|
+
"platform_ufo_critical_metrics_payload": {
|
|
183
|
+
"type": "boolean"
|
|
184
|
+
},
|
|
181
185
|
"platform_ufo_enable_interactivity_jsm": {
|
|
182
186
|
"type": "boolean"
|
|
183
187
|
},
|