@lark-sentry/performance 1.0.0 → 1.0.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/index.cjs CHANGED
@@ -108,12 +108,10 @@ function getWebVitals(onReport) {
108
108
  });
109
109
  getFirstScreenPaint((value) => {
110
110
  const perfData = {
111
+ ...utils.getBaseData(),
111
112
  name: "FSP",
112
113
  value,
113
- id: crypto.randomUUID(),
114
- ...utils.getTime(),
115
114
  type: types.EventType.Performance,
116
- status: types.Status.OK,
117
115
  message: "First Screen Paint"
118
116
  };
119
117
  onReport(perfData);
@@ -130,12 +128,9 @@ class PerformancePlugin extends types.SentryPlugin {
130
128
  });
131
129
  const observer = new PerformanceObserver((entryList) => {
132
130
  const longTaskData = {
133
- id: crypto.randomUUID(),
131
+ ...utils.getBaseData(),
134
132
  name: "LongTask",
135
133
  type: types.EventType.Performance,
136
- ...utils.getTime(),
137
- message: "",
138
- status: types.Status.OK,
139
134
  longTasks: entryList.getEntries()
140
135
  };
141
136
  reporter.send(longTaskData);
@@ -143,24 +138,19 @@ class PerformancePlugin extends types.SentryPlugin {
143
138
  observer.observe({ entryTypes: ["longTask".toLowerCase()] });
144
139
  globalThis.addEventListener("load", () => {
145
140
  const resourceListData = {
146
- id: crypto.randomUUID(),
141
+ ...utils.getBaseData(),
147
142
  name: "ResourceList",
148
143
  type: types.EventType.Performance,
149
- ...utils.getTime(),
150
- message: "",
151
- status: types.Status.OK,
152
144
  resourceList: getResourceList()
153
145
  };
154
146
  reporter.send(resourceListData);
155
147
  });
156
148
  if ("measureUserAgentSpecificMemory" in performance && typeof performance.measureUserAgentSpecificMemory === "function") {
157
149
  const memoryData = {
158
- id: crypto.randomUUID(),
150
+ ...utils.getBaseData(),
159
151
  name: "Memory",
160
152
  type: types.EventType.Performance,
161
- ...utils.getTime(),
162
153
  message: "performance.measureUserAgentSpecificMemory",
163
- status: types.Status.OK,
164
154
  memory: await performance.measureUserAgentSpecificMemory()
165
155
  };
166
156
  reporter.send(memoryData);
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../node_modules/.pnpm/web-vitals@5.1.0/node_modules/web-vitals/dist/web-vitals.js","../src/perf.ts","../index.ts"],"sourcesContent":["let e=-1;const t=t=>{addEventListener(\"pageshow\",(n=>{n.persisted&&(e=n.timeStamp,t(n))}),!0)},n=(e,t,n,i)=>{let s,o;return r=>{t.value>=0&&(r||i)&&(o=t.value-(s??0),(o||void 0===s)&&(s=t.value,t.delta=o,t.rating=((e,t)=>e>t[1]?\"poor\":e>t[0]?\"needs-improvement\":\"good\")(t.value,n),e(t)))}},i=e=>{requestAnimationFrame((()=>requestAnimationFrame((()=>e()))))},s=()=>{const e=performance.getEntriesByType(\"navigation\")[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},o=()=>{const e=s();return e?.activationStart??0},r=(t,n=-1)=>{const i=s();let r=\"navigate\";e>=0?r=\"back-forward-cache\":i&&(document.prerendering||o()>0?r=\"prerender\":document.wasDiscarded?r=\"restore\":i.type&&(r=i.type.replace(/_/g,\"-\")));return{name:t,value:n,rating:\"good\",delta:0,entries:[],id:`v5-${Date.now()}-${Math.floor(8999999999999*Math.random())+1e12}`,navigationType:r}},c=new WeakMap;function a(e,t){return c.get(e)||c.set(e,new t),c.get(e)}class d{t;i=0;o=[];h(e){if(e.hadRecentInput)return;const t=this.o[0],n=this.o.at(-1);this.i&&t&&n&&e.startTime-n.startTime<1e3&&e.startTime-t.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),this.t?.(e)}}const h=(e,t,n={})=>{try{if(PerformanceObserver.supportedEntryTypes.includes(e)){const i=new PerformanceObserver((e=>{Promise.resolve().then((()=>{t(e.getEntries())}))}));return i.observe({type:e,buffered:!0,...n}),i}}catch{}},f=e=>{let t=!1;return()=>{t||(e(),t=!0)}};let u=-1;const l=new Set,m=()=>\"hidden\"!==document.visibilityState||document.prerendering?1/0:0,p=e=>{if(\"hidden\"===document.visibilityState){if(\"visibilitychange\"===e.type)for(const e of l)e();isFinite(u)||(u=\"visibilitychange\"===e.type?e.timeStamp:0,removeEventListener(\"prerenderingchange\",p,!0))}},v=()=>{if(u<0){const e=o(),n=document.prerendering?void 0:globalThis.performance.getEntriesByType(\"visibility-state\").filter((t=>\"hidden\"===t.name&&t.startTime>e))[0]?.startTime;u=n??m(),addEventListener(\"visibilitychange\",p,!0),addEventListener(\"prerenderingchange\",p,!0),t((()=>{setTimeout((()=>{u=m()}))}))}return{get firstHiddenTime(){return u},onHidden(e){l.add(e)}}},g=e=>{document.prerendering?addEventListener(\"prerenderingchange\",(()=>e()),!0):e()},y=[1800,3e3],E=(e,s={})=>{g((()=>{const c=v();let a,d=r(\"FCP\");const f=h(\"paint\",(e=>{for(const t of e)\"first-contentful-paint\"===t.name&&(f.disconnect(),t.startTime<c.firstHiddenTime&&(d.value=Math.max(t.startTime-o(),0),d.entries.push(t),a(!0)))}));f&&(a=n(e,d,y,s.reportAllChanges),t((t=>{d=r(\"FCP\"),a=n(e,d,y,s.reportAllChanges),i((()=>{d.value=performance.now()-t.timeStamp,a(!0)}))})))}))},b=[.1,.25],L=(e,s={})=>{const o=v();E(f((()=>{let c,f=r(\"CLS\",0);const u=a(s,d),l=e=>{for(const t of e)u.h(t);u.i>f.value&&(f.value=u.i,f.entries=u.o,c())},m=h(\"layout-shift\",l);m&&(c=n(e,f,b,s.reportAllChanges),o.onHidden((()=>{l(m.takeRecords()),c(!0)})),t((()=>{u.i=0,f=r(\"CLS\",0),c=n(e,f,b,s.reportAllChanges),i((()=>c()))})),setTimeout(c))})))};let P=0,T=1/0,_=0;const M=e=>{for(const t of e)t.interactionId&&(T=Math.min(T,t.interactionId),_=Math.max(_,t.interactionId),P=_?(_-T)/7+1:0)};let w;const C=()=>w?P:performance.interactionCount??0,I=()=>{\"interactionCount\"in performance||w||(w=h(\"event\",M,{type:\"event\",buffered:!0,durationThreshold:0}))};let F=0;class k{u=[];l=new Map;m;p;v(){F=C(),this.u.length=0,this.l.clear()}L(){const e=Math.min(this.u.length-1,Math.floor((C()-F)/50));return this.u[e]}h(e){if(this.m?.(e),!e.interactionId&&\"first-input\"!==e.entryType)return;const t=this.u.at(-1);let n=this.l.get(e.interactionId);if(n||this.u.length<10||e.duration>t.P){if(n?e.duration>n.P?(n.entries=[e],n.P=e.duration):e.duration===n.P&&e.startTime===n.entries[0].startTime&&n.entries.push(e):(n={id:e.interactionId,entries:[e],P:e.duration},this.l.set(n.id,n),this.u.push(n)),this.u.sort(((e,t)=>t.P-e.P)),this.u.length>10){const e=this.u.splice(10);for(const t of e)this.l.delete(t.id)}this.p?.(n)}}}const A=e=>{const t=globalThis.requestIdleCallback||setTimeout;\"hidden\"===document.visibilityState?e():(e=f(e),addEventListener(\"visibilitychange\",e,{once:!0,capture:!0}),t((()=>{e(),removeEventListener(\"visibilitychange\",e,{capture:!0})})))},B=[200,500],S=(e,i={})=>{if(!globalThis.PerformanceEventTiming||!(\"interactionId\"in PerformanceEventTiming.prototype))return;const s=v();g((()=>{I();let o,c=r(\"INP\");const d=a(i,k),f=e=>{A((()=>{for(const t of e)d.h(t);const t=d.L();t&&t.P!==c.value&&(c.value=t.P,c.entries=t.entries,o())}))},u=h(\"event\",f,{durationThreshold:i.durationThreshold??40});o=n(e,c,B,i.reportAllChanges),u&&(u.observe({type:\"first-input\",buffered:!0}),s.onHidden((()=>{f(u.takeRecords()),o(!0)})),t((()=>{d.v(),c=r(\"INP\"),o=n(e,c,B,i.reportAllChanges)})))}))};class N{m;h(e){this.m?.(e)}}const q=[2500,4e3],x=(e,s={})=>{g((()=>{const c=v();let d,u=r(\"LCP\");const l=a(s,N),m=e=>{s.reportAllChanges||(e=e.slice(-1));for(const t of e)l.h(t),t.startTime<c.firstHiddenTime&&(u.value=Math.max(t.startTime-o(),0),u.entries=[t],d())},p=h(\"largest-contentful-paint\",m);if(p){d=n(e,u,q,s.reportAllChanges);const o=f((()=>{m(p.takeRecords()),p.disconnect(),d(!0)})),c=e=>{e.isTrusted&&(A(o),removeEventListener(e.type,c,{capture:!0}))};for(const e of[\"keydown\",\"click\",\"visibilitychange\"])addEventListener(e,c,{capture:!0});t((t=>{u=r(\"LCP\"),d=n(e,u,q,s.reportAllChanges),i((()=>{u.value=performance.now()-t.timeStamp,d(!0)}))}))}}))},H=[800,1800],O=e=>{document.prerendering?g((()=>O(e))):\"complete\"!==document.readyState?addEventListener(\"load\",(()=>O(e)),!0):setTimeout(e)},$=(e,i={})=>{let c=r(\"TTFB\"),a=n(e,c,H,i.reportAllChanges);O((()=>{const d=s();d&&(c.value=Math.max(d.responseStart-o(),0),c.entries=[d],a(!0),t((()=>{c=r(\"TTFB\",0),a=n(e,c,H,i.reportAllChanges),a(!0)})))}))};export{b as CLSThresholds,y as FCPThresholds,B as INPThresholds,q as LCPThresholds,H as TTFBThresholds,L as onCLS,E as onFCP,S as onINP,x as onLCP,$ as onTTFB};\n","import {\n EventType,\n Status,\n type IPerformanceData,\n type TOnReportPerformanceData,\n} from \"@lark-sentry/types\";\n\nimport {\n onCLS,\n onFCP,\n onINP,\n onLCP,\n onTTFB,\n type CLSMetric,\n type FCPMetric,\n type INPMetric,\n type LCPMetric,\n type TTFBMetric,\n} from \"web-vitals\";\n\nimport { getTime, isHTMLElement, metric2perfData } from \"@lark-sentry/utils\";\n\ntype TCallback = (val: number) => void;\n\nlet firstScreenPaint = 0;\nlet entries: {\n startTime: number;\n children: HTMLElement[];\n}[] = [];\nlet observer: MutationObserver | null = null;\nlet requestId = 0;\n\n// DOM 是否在视口内\n// https://developer.mozilla.org/zh-CN/docs/Web/API/Element/getBoundingClientRect\nfunction isInViewport(dom: HTMLElement) {\n const rect = dom.getBoundingClientRect();\n return (\n rect.right > 0 &&\n rect.bottom > 0 &&\n rect.left < globalThis.innerWidth &&\n rect.top < globalThis.innerHeight\n );\n}\n\nfunction getRenderTime(): number {\n if (entries.length === 0) {\n return 0;\n }\n return Math.max(...entries.map((entry) => entry.startTime));\n}\n\nfunction checkDOMChange(callback: TCallback) {\n // 取消上一个 requestAnimationFrame 传递的回调函数\n cancelAnimationFrame(requestId);\n // 请求浏览器在下一次重绘前, 调用传递的回调函数\n requestId = requestAnimationFrame(() => {\n if (document.readyState === \"complete\") {\n // 取消监听\n observer?.disconnect();\n firstScreenPaint = getRenderTime();\n entries = [];\n callback(firstScreenPaint);\n } else {\n checkDOMChange(callback);\n }\n });\n}\n\nfunction getFirstScreenPaint(callback: TCallback) {\n if (\"requestIdleCallback\" in globalThis) {\n requestIdleCallback((deadline) => {\n if (deadline.timeRemaining() > 0) {\n observeFirstScreenPaint(callback);\n }\n });\n } else {\n observeFirstScreenPaint(callback);\n }\n}\n\nfunction observeFirstScreenPaint(callback: TCallback) {\n const excludedDOMList = [\"link\", \"script\", \"style\"];\n observer = new MutationObserver((mutationList) => {\n checkDOMChange(callback);\n const entry: {\n startTime: number;\n children: HTMLElement[];\n } = { startTime: 0, children: [] };\n for (const mutation of mutationList) {\n if (!isHTMLElement(mutation.target)) {\n continue;\n }\n if (mutation.addedNodes.length && isInViewport(mutation.target)) {\n for (const node of Array.from(mutation.addedNodes)) {\n if (\n isHTMLElement(node) &&\n !excludedDOMList.includes(node.tagName.toLowerCase()) &&\n isInViewport(node)\n ) {\n entry.children.push(node);\n }\n }\n }\n }\n if (entry.children.length) {\n entries.push(entry);\n entry.startTime = performance.now();\n }\n });\n observer.observe(document, {\n childList: true,\n subtree: true,\n characterData: true,\n attributes: true,\n });\n}\n\nexport function getResourceList(): (PerformanceResourceTiming & {\n fromCache: boolean;\n})[] {\n const entryList = performance.getEntriesByType(\"resource\");\n const excludedInitiatorType = [\"fetch\", \"xmlhttprequest\", \"beacon\"];\n return entryList\n .filter((entry) => !excludedInitiatorType.includes(entry.initiatorType))\n .map((entry) => ({\n ...entry,\n fromCache: isFromCache(entry),\n }));\n}\n\nexport function isFromCache(entry: PerformanceResourceTiming): boolean {\n return (\n // transferSize 只读属性表示获取资源的大小\n // 获取资源的大小包括响应头 + 响应体\n entry.transferSize === 0 ||\n (entry.transferSize !== 0 && entry.encodedBodySize === 0)\n );\n}\n\nexport function getWebVitals(onReport: TOnReportPerformanceData) {\n onLCP((metric: LCPMetric) => {\n onReport(metric2perfData(metric));\n });\n\n onFCP((metric: FCPMetric) => {\n onReport(metric2perfData(metric));\n });\n\n onCLS((metric: CLSMetric) => {\n onReport(metric2perfData(metric));\n });\n\n onINP((metric: INPMetric) => {\n onReport(metric2perfData(metric));\n });\n\n onTTFB((metric: TTFBMetric) => {\n onReport(metric2perfData(metric));\n });\n\n getFirstScreenPaint((value: number) => {\n const perfData: IPerformanceData = {\n name: \"FSP\",\n value,\n id: crypto.randomUUID(),\n ...getTime(),\n type: EventType.Performance,\n status: Status.OK,\n message: \"First Screen Paint\",\n };\n onReport(perfData);\n });\n}\n","import {\n EventType,\n SentryPlugin,\n Status,\n type IPerformanceData,\n} from \"@lark-sentry/types\";\n\nimport reporter from \"@lark-sentry/reporter\";\n\nimport { getTime } from \"@lark-sentry/utils\";\n\nimport { getResourceList, getWebVitals } from \"./src/perf.js\";\n\nclass PerformancePlugin extends SentryPlugin {\n constructor() {\n super(EventType.Performance);\n }\n\n async init() {\n getWebVitals((data: IPerformanceData) => {\n reporter.send(data);\n });\n\n const observer = new PerformanceObserver((entryList) => {\n const longTaskData: IPerformanceData = {\n id: crypto.randomUUID(),\n name: \"LongTask\",\n type: EventType.Performance,\n ...getTime(),\n message: \"\",\n status: Status.OK,\n longTasks: entryList.getEntries(),\n };\n reporter.send(longTaskData);\n });\n observer.observe({ entryTypes: [\"longTask\".toLowerCase()] });\n\n globalThis.addEventListener(\"load\", () => {\n const resourceListData: IPerformanceData = {\n id: crypto.randomUUID(),\n name: \"ResourceList\",\n type: EventType.Performance,\n ...getTime(),\n message: \"\",\n status: Status.OK,\n resourceList: getResourceList(),\n };\n reporter.send(resourceListData);\n });\n\n if (\n \"measureUserAgentSpecificMemory\" in performance &&\n typeof performance.measureUserAgentSpecificMemory === \"function\"\n ) {\n const memoryData: IPerformanceData = {\n id: crypto.randomUUID(),\n name: \"Memory\",\n type: EventType.Performance,\n ...getTime(),\n message: \"performance.measureUserAgentSpecificMemory\",\n status: Status.OK,\n memory: await performance.measureUserAgentSpecificMemory(),\n };\n reporter.send(memoryData);\n }\n }\n}\n\nexport default PerformancePlugin;\n"],"names":["isHTMLElement","onLCP","metric2perfData","onFCP","onCLS","onINP","onTTFB","getTime","EventType","Status","SentryPlugin"],"mappings":"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,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,aAAa,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.cjs","sources":["../../../node_modules/.pnpm/web-vitals@5.1.0/node_modules/web-vitals/dist/web-vitals.js","../src/perf.ts","../index.ts"],"sourcesContent":["let e=-1;const t=t=>{addEventListener(\"pageshow\",(n=>{n.persisted&&(e=n.timeStamp,t(n))}),!0)},n=(e,t,n,i)=>{let s,o;return r=>{t.value>=0&&(r||i)&&(o=t.value-(s??0),(o||void 0===s)&&(s=t.value,t.delta=o,t.rating=((e,t)=>e>t[1]?\"poor\":e>t[0]?\"needs-improvement\":\"good\")(t.value,n),e(t)))}},i=e=>{requestAnimationFrame((()=>requestAnimationFrame((()=>e()))))},s=()=>{const e=performance.getEntriesByType(\"navigation\")[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},o=()=>{const e=s();return e?.activationStart??0},r=(t,n=-1)=>{const i=s();let r=\"navigate\";e>=0?r=\"back-forward-cache\":i&&(document.prerendering||o()>0?r=\"prerender\":document.wasDiscarded?r=\"restore\":i.type&&(r=i.type.replace(/_/g,\"-\")));return{name:t,value:n,rating:\"good\",delta:0,entries:[],id:`v5-${Date.now()}-${Math.floor(8999999999999*Math.random())+1e12}`,navigationType:r}},c=new WeakMap;function a(e,t){return c.get(e)||c.set(e,new t),c.get(e)}class d{t;i=0;o=[];h(e){if(e.hadRecentInput)return;const t=this.o[0],n=this.o.at(-1);this.i&&t&&n&&e.startTime-n.startTime<1e3&&e.startTime-t.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),this.t?.(e)}}const h=(e,t,n={})=>{try{if(PerformanceObserver.supportedEntryTypes.includes(e)){const i=new PerformanceObserver((e=>{Promise.resolve().then((()=>{t(e.getEntries())}))}));return i.observe({type:e,buffered:!0,...n}),i}}catch{}},f=e=>{let t=!1;return()=>{t||(e(),t=!0)}};let u=-1;const l=new Set,m=()=>\"hidden\"!==document.visibilityState||document.prerendering?1/0:0,p=e=>{if(\"hidden\"===document.visibilityState){if(\"visibilitychange\"===e.type)for(const e of l)e();isFinite(u)||(u=\"visibilitychange\"===e.type?e.timeStamp:0,removeEventListener(\"prerenderingchange\",p,!0))}},v=()=>{if(u<0){const e=o(),n=document.prerendering?void 0:globalThis.performance.getEntriesByType(\"visibility-state\").filter((t=>\"hidden\"===t.name&&t.startTime>e))[0]?.startTime;u=n??m(),addEventListener(\"visibilitychange\",p,!0),addEventListener(\"prerenderingchange\",p,!0),t((()=>{setTimeout((()=>{u=m()}))}))}return{get firstHiddenTime(){return u},onHidden(e){l.add(e)}}},g=e=>{document.prerendering?addEventListener(\"prerenderingchange\",(()=>e()),!0):e()},y=[1800,3e3],E=(e,s={})=>{g((()=>{const c=v();let a,d=r(\"FCP\");const f=h(\"paint\",(e=>{for(const t of e)\"first-contentful-paint\"===t.name&&(f.disconnect(),t.startTime<c.firstHiddenTime&&(d.value=Math.max(t.startTime-o(),0),d.entries.push(t),a(!0)))}));f&&(a=n(e,d,y,s.reportAllChanges),t((t=>{d=r(\"FCP\"),a=n(e,d,y,s.reportAllChanges),i((()=>{d.value=performance.now()-t.timeStamp,a(!0)}))})))}))},b=[.1,.25],L=(e,s={})=>{const o=v();E(f((()=>{let c,f=r(\"CLS\",0);const u=a(s,d),l=e=>{for(const t of e)u.h(t);u.i>f.value&&(f.value=u.i,f.entries=u.o,c())},m=h(\"layout-shift\",l);m&&(c=n(e,f,b,s.reportAllChanges),o.onHidden((()=>{l(m.takeRecords()),c(!0)})),t((()=>{u.i=0,f=r(\"CLS\",0),c=n(e,f,b,s.reportAllChanges),i((()=>c()))})),setTimeout(c))})))};let P=0,T=1/0,_=0;const M=e=>{for(const t of e)t.interactionId&&(T=Math.min(T,t.interactionId),_=Math.max(_,t.interactionId),P=_?(_-T)/7+1:0)};let w;const C=()=>w?P:performance.interactionCount??0,I=()=>{\"interactionCount\"in performance||w||(w=h(\"event\",M,{type:\"event\",buffered:!0,durationThreshold:0}))};let F=0;class k{u=[];l=new Map;m;p;v(){F=C(),this.u.length=0,this.l.clear()}L(){const e=Math.min(this.u.length-1,Math.floor((C()-F)/50));return this.u[e]}h(e){if(this.m?.(e),!e.interactionId&&\"first-input\"!==e.entryType)return;const t=this.u.at(-1);let n=this.l.get(e.interactionId);if(n||this.u.length<10||e.duration>t.P){if(n?e.duration>n.P?(n.entries=[e],n.P=e.duration):e.duration===n.P&&e.startTime===n.entries[0].startTime&&n.entries.push(e):(n={id:e.interactionId,entries:[e],P:e.duration},this.l.set(n.id,n),this.u.push(n)),this.u.sort(((e,t)=>t.P-e.P)),this.u.length>10){const e=this.u.splice(10);for(const t of e)this.l.delete(t.id)}this.p?.(n)}}}const A=e=>{const t=globalThis.requestIdleCallback||setTimeout;\"hidden\"===document.visibilityState?e():(e=f(e),addEventListener(\"visibilitychange\",e,{once:!0,capture:!0}),t((()=>{e(),removeEventListener(\"visibilitychange\",e,{capture:!0})})))},B=[200,500],S=(e,i={})=>{if(!globalThis.PerformanceEventTiming||!(\"interactionId\"in PerformanceEventTiming.prototype))return;const s=v();g((()=>{I();let o,c=r(\"INP\");const d=a(i,k),f=e=>{A((()=>{for(const t of e)d.h(t);const t=d.L();t&&t.P!==c.value&&(c.value=t.P,c.entries=t.entries,o())}))},u=h(\"event\",f,{durationThreshold:i.durationThreshold??40});o=n(e,c,B,i.reportAllChanges),u&&(u.observe({type:\"first-input\",buffered:!0}),s.onHidden((()=>{f(u.takeRecords()),o(!0)})),t((()=>{d.v(),c=r(\"INP\"),o=n(e,c,B,i.reportAllChanges)})))}))};class N{m;h(e){this.m?.(e)}}const q=[2500,4e3],x=(e,s={})=>{g((()=>{const c=v();let d,u=r(\"LCP\");const l=a(s,N),m=e=>{s.reportAllChanges||(e=e.slice(-1));for(const t of e)l.h(t),t.startTime<c.firstHiddenTime&&(u.value=Math.max(t.startTime-o(),0),u.entries=[t],d())},p=h(\"largest-contentful-paint\",m);if(p){d=n(e,u,q,s.reportAllChanges);const o=f((()=>{m(p.takeRecords()),p.disconnect(),d(!0)})),c=e=>{e.isTrusted&&(A(o),removeEventListener(e.type,c,{capture:!0}))};for(const e of[\"keydown\",\"click\",\"visibilitychange\"])addEventListener(e,c,{capture:!0});t((t=>{u=r(\"LCP\"),d=n(e,u,q,s.reportAllChanges),i((()=>{u.value=performance.now()-t.timeStamp,d(!0)}))}))}}))},H=[800,1800],O=e=>{document.prerendering?g((()=>O(e))):\"complete\"!==document.readyState?addEventListener(\"load\",(()=>O(e)),!0):setTimeout(e)},$=(e,i={})=>{let c=r(\"TTFB\"),a=n(e,c,H,i.reportAllChanges);O((()=>{const d=s();d&&(c.value=Math.max(d.responseStart-o(),0),c.entries=[d],a(!0),t((()=>{c=r(\"TTFB\",0),a=n(e,c,H,i.reportAllChanges),a(!0)})))}))};export{b as CLSThresholds,y as FCPThresholds,B as INPThresholds,q as LCPThresholds,H as TTFBThresholds,L as onCLS,E as onFCP,S as onINP,x as onLCP,$ as onTTFB};\n","import {\n EventType,\n type IPerformanceData,\n type TOnReportPerformanceData,\n} from \"@lark-sentry/types\";\n\nimport {\n onCLS,\n onFCP,\n onINP,\n onLCP,\n onTTFB,\n type CLSMetric,\n type FCPMetric,\n type INPMetric,\n type LCPMetric,\n type TTFBMetric,\n} from \"web-vitals\";\n\nimport {\n getBaseData,\n isHTMLElement,\n metric2perfData,\n} from \"@lark-sentry/utils\";\n\ntype TCallback = (val: number) => void;\n\nlet firstScreenPaint = 0;\nlet entries: {\n startTime: number;\n children: HTMLElement[];\n}[] = [];\nlet observer: MutationObserver | null = null;\nlet requestId = 0;\n\n// DOM 是否在视口内\n// https://developer.mozilla.org/zh-CN/docs/Web/API/Element/getBoundingClientRect\nfunction isInViewport(dom: HTMLElement) {\n const rect = dom.getBoundingClientRect();\n return (\n rect.right > 0 &&\n rect.bottom > 0 &&\n rect.left < globalThis.innerWidth &&\n rect.top < globalThis.innerHeight\n );\n}\n\nfunction getRenderTime(): number {\n if (entries.length === 0) {\n return 0;\n }\n return Math.max(...entries.map((entry) => entry.startTime));\n}\n\nfunction checkDOMChange(callback: TCallback) {\n // 取消上一个 requestAnimationFrame 传递的回调函数\n cancelAnimationFrame(requestId);\n // 请求浏览器在下一次重绘前, 调用传递的回调函数\n requestId = requestAnimationFrame(() => {\n if (document.readyState === \"complete\") {\n // 取消监听\n observer?.disconnect();\n firstScreenPaint = getRenderTime();\n entries = [];\n callback(firstScreenPaint);\n } else {\n checkDOMChange(callback);\n }\n });\n}\n\nfunction getFirstScreenPaint(callback: TCallback) {\n if (\"requestIdleCallback\" in globalThis) {\n requestIdleCallback((deadline) => {\n if (deadline.timeRemaining() > 0) {\n observeFirstScreenPaint(callback);\n }\n });\n } else {\n observeFirstScreenPaint(callback);\n }\n}\n\nfunction observeFirstScreenPaint(callback: TCallback) {\n const excludedDOMList = [\"link\", \"script\", \"style\"];\n observer = new MutationObserver((mutationList) => {\n checkDOMChange(callback);\n const entry: {\n startTime: number;\n children: HTMLElement[];\n } = { startTime: 0, children: [] };\n for (const mutation of mutationList) {\n if (!isHTMLElement(mutation.target)) {\n continue;\n }\n if (mutation.addedNodes.length && isInViewport(mutation.target)) {\n for (const node of Array.from(mutation.addedNodes)) {\n if (\n isHTMLElement(node) &&\n !excludedDOMList.includes(node.tagName.toLowerCase()) &&\n isInViewport(node)\n ) {\n entry.children.push(node);\n }\n }\n }\n }\n if (entry.children.length) {\n entries.push(entry);\n entry.startTime = performance.now();\n }\n });\n observer.observe(document, {\n childList: true,\n subtree: true,\n characterData: true,\n attributes: true,\n });\n}\n\nexport function getResourceList(): (PerformanceResourceTiming & {\n fromCache: boolean;\n})[] {\n const entryList = performance.getEntriesByType(\"resource\");\n const excludedInitiatorType = [\"fetch\", \"xmlhttprequest\", \"beacon\"];\n return entryList\n .filter((entry) => !excludedInitiatorType.includes(entry.initiatorType))\n .map((entry) => ({\n ...entry,\n fromCache: isFromCache(entry),\n }));\n}\n\nexport function isFromCache(entry: PerformanceResourceTiming): boolean {\n return (\n // transferSize 只读属性表示获取资源的大小\n // 获取资源的大小包括响应头 + 响应体\n entry.transferSize === 0 ||\n (entry.transferSize !== 0 && entry.encodedBodySize === 0)\n );\n}\n\nexport function getWebVitals(onReport: TOnReportPerformanceData) {\n onLCP((metric: LCPMetric) => {\n onReport(metric2perfData(metric));\n });\n\n onFCP((metric: FCPMetric) => {\n onReport(metric2perfData(metric));\n });\n\n onCLS((metric: CLSMetric) => {\n onReport(metric2perfData(metric));\n });\n\n onINP((metric: INPMetric) => {\n onReport(metric2perfData(metric));\n });\n\n onTTFB((metric: TTFBMetric) => {\n onReport(metric2perfData(metric));\n });\n\n getFirstScreenPaint((value: number) => {\n const perfData: IPerformanceData = {\n ...getBaseData(),\n name: \"FSP\",\n value,\n type: EventType.Performance,\n message: \"First Screen Paint\",\n };\n onReport(perfData);\n });\n}\n","import {\n EventType,\n SentryPlugin,\n type IPerformanceData,\n} from \"@lark-sentry/types\";\n\nimport reporter from \"@lark-sentry/reporter\";\n\nimport { getBaseData } from \"@lark-sentry/utils\";\n\nimport { getResourceList, getWebVitals } from \"./src/perf.js\";\n\nclass PerformancePlugin extends SentryPlugin {\n constructor() {\n super(EventType.Performance);\n }\n\n async init() {\n getWebVitals((data: IPerformanceData) => {\n reporter.send(data);\n });\n\n const observer = new PerformanceObserver((entryList) => {\n const longTaskData: IPerformanceData = {\n ...getBaseData(),\n name: \"LongTask\",\n type: EventType.Performance,\n longTasks: entryList.getEntries(),\n };\n reporter.send(longTaskData);\n });\n observer.observe({ entryTypes: [\"longTask\".toLowerCase()] });\n\n globalThis.addEventListener(\"load\", () => {\n const resourceListData: IPerformanceData = {\n ...getBaseData(),\n name: \"ResourceList\",\n type: EventType.Performance,\n resourceList: getResourceList(),\n };\n reporter.send(resourceListData);\n });\n\n if (\n \"measureUserAgentSpecificMemory\" in performance &&\n typeof performance.measureUserAgentSpecificMemory === \"function\"\n ) {\n const memoryData: IPerformanceData = {\n ...getBaseData(),\n name: \"Memory\",\n type: EventType.Performance,\n message: \"performance.measureUserAgentSpecificMemory\",\n memory: await performance.measureUserAgentSpecificMemory(),\n };\n reporter.send(memoryData);\n }\n }\n}\n\nexport default PerformancePlugin;\n"],"names":["isHTMLElement","onLCP","metric2perfData","onFCP","onCLS","onINP","onTTFB","getBaseData","EventType","SentryPlugin"],"mappings":"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,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,aAAa,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC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","x_google_ignoreList":[0]}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
- import { Status, EventType, SentryPlugin } from '@lark-sentry/types';
1
+ import { EventType, SentryPlugin } from '@lark-sentry/types';
2
2
  import reporter from '@lark-sentry/reporter';
3
- import { isHTMLElement, metric2perfData, getTime } from '@lark-sentry/utils';
3
+ import { isHTMLElement, metric2perfData, getBaseData } from '@lark-sentry/utils';
4
4
 
5
5
  let e=-1;const t=t=>{addEventListener("pageshow",(n=>{n.persisted&&(e=n.timeStamp,t(n));}),true);},n=(e,t,n,i)=>{let s,o;return r=>{t.value>=0&&(r||i)&&(o=t.value-(s??0),(o||void 0===s)&&(s=t.value,t.delta=o,t.rating=((e,t)=>e>t[1]?"poor":e>t[0]?"needs-improvement":"good")(t.value,n),e(t)));}},i=e=>{requestAnimationFrame((()=>requestAnimationFrame((()=>e()))));},s=()=>{const e=performance.getEntriesByType("navigation")[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},o=()=>{const e=s();return e?.activationStart??0},r=(t,n=-1)=>{const i=s();let r="navigate";e>=0?r="back-forward-cache":i&&(document.prerendering||o()>0?r="prerender":document.wasDiscarded?r="restore":i.type&&(r=i.type.replace(/_/g,"-")));return {name:t,value:n,rating:"good",delta:0,entries:[],id:`v5-${Date.now()}-${Math.floor(8999999999999*Math.random())+1e12}`,navigationType:r}},c=new WeakMap;function a(e,t){return c.get(e)||c.set(e,new t),c.get(e)}class d{t;i=0;o=[];h(e){if(e.hadRecentInput)return;const t=this.o[0],n=this.o.at(-1);this.i&&t&&n&&e.startTime-n.startTime<1e3&&e.startTime-t.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),this.t?.(e);}}const h=(e,t,n={})=>{try{if(PerformanceObserver.supportedEntryTypes.includes(e)){const i=new PerformanceObserver((e=>{Promise.resolve().then((()=>{t(e.getEntries());}));}));return i.observe({type:e,buffered:!0,...n}),i}}catch{}},f=e=>{let t=false;return ()=>{t||(e(),t=true);}};let u=-1;const l=new Set,m=()=>"hidden"!==document.visibilityState||document.prerendering?1/0:0,p=e=>{if("hidden"===document.visibilityState){if("visibilitychange"===e.type)for(const e of l)e();isFinite(u)||(u="visibilitychange"===e.type?e.timeStamp:0,removeEventListener("prerenderingchange",p,true));}},v=()=>{if(u<0){const e=o(),n=document.prerendering?void 0:globalThis.performance.getEntriesByType("visibility-state").filter((t=>"hidden"===t.name&&t.startTime>e))[0]?.startTime;u=n??m(),addEventListener("visibilitychange",p,true),addEventListener("prerenderingchange",p,true),t((()=>{setTimeout((()=>{u=m();}));}));}return {get firstHiddenTime(){return u},onHidden(e){l.add(e);}}},g=e=>{document.prerendering?addEventListener("prerenderingchange",(()=>e()),true):e();},y=[1800,3e3],E=(e,s={})=>{g((()=>{const c=v();let a,d=r("FCP");const f=h("paint",(e=>{for(const t of e)"first-contentful-paint"===t.name&&(f.disconnect(),t.startTime<c.firstHiddenTime&&(d.value=Math.max(t.startTime-o(),0),d.entries.push(t),a(true)));}));f&&(a=n(e,d,y,s.reportAllChanges),t((t=>{d=r("FCP"),a=n(e,d,y,s.reportAllChanges),i((()=>{d.value=performance.now()-t.timeStamp,a(true);}));})));}));},b=[.1,.25],L=(e,s={})=>{const o=v();E(f((()=>{let c,f=r("CLS",0);const u=a(s,d),l=e=>{for(const t of e)u.h(t);u.i>f.value&&(f.value=u.i,f.entries=u.o,c());},m=h("layout-shift",l);m&&(c=n(e,f,b,s.reportAllChanges),o.onHidden((()=>{l(m.takeRecords()),c(true);})),t((()=>{u.i=0,f=r("CLS",0),c=n(e,f,b,s.reportAllChanges),i((()=>c()));})),setTimeout(c));})));};let P=0,T=1/0,_=0;const M=e=>{for(const t of e)t.interactionId&&(T=Math.min(T,t.interactionId),_=Math.max(_,t.interactionId),P=_?(_-T)/7+1:0);};let w;const C=()=>w?P:performance.interactionCount??0,I=()=>{"interactionCount"in performance||w||(w=h("event",M,{type:"event",buffered:true,durationThreshold:0}));};let F=0;class k{u=[];l=new Map;m;p;v(){F=C(),this.u.length=0,this.l.clear();}L(){const e=Math.min(this.u.length-1,Math.floor((C()-F)/50));return this.u[e]}h(e){if(this.m?.(e),!e.interactionId&&"first-input"!==e.entryType)return;const t=this.u.at(-1);let n=this.l.get(e.interactionId);if(n||this.u.length<10||e.duration>t.P){if(n?e.duration>n.P?(n.entries=[e],n.P=e.duration):e.duration===n.P&&e.startTime===n.entries[0].startTime&&n.entries.push(e):(n={id:e.interactionId,entries:[e],P:e.duration},this.l.set(n.id,n),this.u.push(n)),this.u.sort(((e,t)=>t.P-e.P)),this.u.length>10){const e=this.u.splice(10);for(const t of e)this.l.delete(t.id);}this.p?.(n);}}}const A=e=>{const t=globalThis.requestIdleCallback||setTimeout;"hidden"===document.visibilityState?e():(e=f(e),addEventListener("visibilitychange",e,{once:true,capture:true}),t((()=>{e(),removeEventListener("visibilitychange",e,{capture:true});})));},B=[200,500],S=(e,i={})=>{if(!globalThis.PerformanceEventTiming||!("interactionId"in PerformanceEventTiming.prototype))return;const s=v();g((()=>{I();let o,c=r("INP");const d=a(i,k),f=e=>{A((()=>{for(const t of e)d.h(t);const t=d.L();t&&t.P!==c.value&&(c.value=t.P,c.entries=t.entries,o());}));},u=h("event",f,{durationThreshold:i.durationThreshold??40});o=n(e,c,B,i.reportAllChanges),u&&(u.observe({type:"first-input",buffered:true}),s.onHidden((()=>{f(u.takeRecords()),o(true);})),t((()=>{d.v(),c=r("INP"),o=n(e,c,B,i.reportAllChanges);})));}));};class N{m;h(e){this.m?.(e);}}const q=[2500,4e3],x=(e,s={})=>{g((()=>{const c=v();let d,u=r("LCP");const l=a(s,N),m=e=>{s.reportAllChanges||(e=e.slice(-1));for(const t of e)l.h(t),t.startTime<c.firstHiddenTime&&(u.value=Math.max(t.startTime-o(),0),u.entries=[t],d());},p=h("largest-contentful-paint",m);if(p){d=n(e,u,q,s.reportAllChanges);const o=f((()=>{m(p.takeRecords()),p.disconnect(),d(true);})),c=e=>{e.isTrusted&&(A(o),removeEventListener(e.type,c,{capture:true}));};for(const e of ["keydown","click","visibilitychange"])addEventListener(e,c,{capture:true});t((t=>{u=r("LCP"),d=n(e,u,q,s.reportAllChanges),i((()=>{u.value=performance.now()-t.timeStamp,d(true);}));}));}}));},H=[800,1800],O=e=>{document.prerendering?g((()=>O(e))):"complete"!==document.readyState?addEventListener("load",(()=>O(e)),true):setTimeout(e);},$=(e,i={})=>{let c=r("TTFB"),a=n(e,c,H,i.reportAllChanges);O((()=>{const d=s();d&&(c.value=Math.max(d.responseStart-o(),0),c.entries=[d],a(true),t((()=>{c=r("TTFB",0),a=n(e,c,H,i.reportAllChanges),a(true);})));}));};
6
6
 
@@ -104,12 +104,10 @@ function getWebVitals(onReport) {
104
104
  });
105
105
  getFirstScreenPaint((value) => {
106
106
  const perfData = {
107
+ ...getBaseData(),
107
108
  name: "FSP",
108
109
  value,
109
- id: crypto.randomUUID(),
110
- ...getTime(),
111
110
  type: EventType.Performance,
112
- status: Status.OK,
113
111
  message: "First Screen Paint"
114
112
  };
115
113
  onReport(perfData);
@@ -126,12 +124,9 @@ class PerformancePlugin extends SentryPlugin {
126
124
  });
127
125
  const observer = new PerformanceObserver((entryList) => {
128
126
  const longTaskData = {
129
- id: crypto.randomUUID(),
127
+ ...getBaseData(),
130
128
  name: "LongTask",
131
129
  type: EventType.Performance,
132
- ...getTime(),
133
- message: "",
134
- status: Status.OK,
135
130
  longTasks: entryList.getEntries()
136
131
  };
137
132
  reporter.send(longTaskData);
@@ -139,24 +134,19 @@ class PerformancePlugin extends SentryPlugin {
139
134
  observer.observe({ entryTypes: ["longTask".toLowerCase()] });
140
135
  globalThis.addEventListener("load", () => {
141
136
  const resourceListData = {
142
- id: crypto.randomUUID(),
137
+ ...getBaseData(),
143
138
  name: "ResourceList",
144
139
  type: EventType.Performance,
145
- ...getTime(),
146
- message: "",
147
- status: Status.OK,
148
140
  resourceList: getResourceList()
149
141
  };
150
142
  reporter.send(resourceListData);
151
143
  });
152
144
  if ("measureUserAgentSpecificMemory" in performance && typeof performance.measureUserAgentSpecificMemory === "function") {
153
145
  const memoryData = {
154
- id: crypto.randomUUID(),
146
+ ...getBaseData(),
155
147
  name: "Memory",
156
148
  type: EventType.Performance,
157
- ...getTime(),
158
149
  message: "performance.measureUserAgentSpecificMemory",
159
- status: Status.OK,
160
150
  memory: await performance.measureUserAgentSpecificMemory()
161
151
  };
162
152
  reporter.send(memoryData);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../node_modules/.pnpm/web-vitals@5.1.0/node_modules/web-vitals/dist/web-vitals.js","../src/perf.ts","../index.ts"],"sourcesContent":["let e=-1;const t=t=>{addEventListener(\"pageshow\",(n=>{n.persisted&&(e=n.timeStamp,t(n))}),!0)},n=(e,t,n,i)=>{let s,o;return r=>{t.value>=0&&(r||i)&&(o=t.value-(s??0),(o||void 0===s)&&(s=t.value,t.delta=o,t.rating=((e,t)=>e>t[1]?\"poor\":e>t[0]?\"needs-improvement\":\"good\")(t.value,n),e(t)))}},i=e=>{requestAnimationFrame((()=>requestAnimationFrame((()=>e()))))},s=()=>{const e=performance.getEntriesByType(\"navigation\")[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},o=()=>{const e=s();return e?.activationStart??0},r=(t,n=-1)=>{const i=s();let r=\"navigate\";e>=0?r=\"back-forward-cache\":i&&(document.prerendering||o()>0?r=\"prerender\":document.wasDiscarded?r=\"restore\":i.type&&(r=i.type.replace(/_/g,\"-\")));return{name:t,value:n,rating:\"good\",delta:0,entries:[],id:`v5-${Date.now()}-${Math.floor(8999999999999*Math.random())+1e12}`,navigationType:r}},c=new WeakMap;function a(e,t){return c.get(e)||c.set(e,new t),c.get(e)}class d{t;i=0;o=[];h(e){if(e.hadRecentInput)return;const t=this.o[0],n=this.o.at(-1);this.i&&t&&n&&e.startTime-n.startTime<1e3&&e.startTime-t.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),this.t?.(e)}}const h=(e,t,n={})=>{try{if(PerformanceObserver.supportedEntryTypes.includes(e)){const i=new PerformanceObserver((e=>{Promise.resolve().then((()=>{t(e.getEntries())}))}));return i.observe({type:e,buffered:!0,...n}),i}}catch{}},f=e=>{let t=!1;return()=>{t||(e(),t=!0)}};let u=-1;const l=new Set,m=()=>\"hidden\"!==document.visibilityState||document.prerendering?1/0:0,p=e=>{if(\"hidden\"===document.visibilityState){if(\"visibilitychange\"===e.type)for(const e of l)e();isFinite(u)||(u=\"visibilitychange\"===e.type?e.timeStamp:0,removeEventListener(\"prerenderingchange\",p,!0))}},v=()=>{if(u<0){const e=o(),n=document.prerendering?void 0:globalThis.performance.getEntriesByType(\"visibility-state\").filter((t=>\"hidden\"===t.name&&t.startTime>e))[0]?.startTime;u=n??m(),addEventListener(\"visibilitychange\",p,!0),addEventListener(\"prerenderingchange\",p,!0),t((()=>{setTimeout((()=>{u=m()}))}))}return{get firstHiddenTime(){return u},onHidden(e){l.add(e)}}},g=e=>{document.prerendering?addEventListener(\"prerenderingchange\",(()=>e()),!0):e()},y=[1800,3e3],E=(e,s={})=>{g((()=>{const c=v();let a,d=r(\"FCP\");const f=h(\"paint\",(e=>{for(const t of e)\"first-contentful-paint\"===t.name&&(f.disconnect(),t.startTime<c.firstHiddenTime&&(d.value=Math.max(t.startTime-o(),0),d.entries.push(t),a(!0)))}));f&&(a=n(e,d,y,s.reportAllChanges),t((t=>{d=r(\"FCP\"),a=n(e,d,y,s.reportAllChanges),i((()=>{d.value=performance.now()-t.timeStamp,a(!0)}))})))}))},b=[.1,.25],L=(e,s={})=>{const o=v();E(f((()=>{let c,f=r(\"CLS\",0);const u=a(s,d),l=e=>{for(const t of e)u.h(t);u.i>f.value&&(f.value=u.i,f.entries=u.o,c())},m=h(\"layout-shift\",l);m&&(c=n(e,f,b,s.reportAllChanges),o.onHidden((()=>{l(m.takeRecords()),c(!0)})),t((()=>{u.i=0,f=r(\"CLS\",0),c=n(e,f,b,s.reportAllChanges),i((()=>c()))})),setTimeout(c))})))};let P=0,T=1/0,_=0;const M=e=>{for(const t of e)t.interactionId&&(T=Math.min(T,t.interactionId),_=Math.max(_,t.interactionId),P=_?(_-T)/7+1:0)};let w;const C=()=>w?P:performance.interactionCount??0,I=()=>{\"interactionCount\"in performance||w||(w=h(\"event\",M,{type:\"event\",buffered:!0,durationThreshold:0}))};let F=0;class k{u=[];l=new Map;m;p;v(){F=C(),this.u.length=0,this.l.clear()}L(){const e=Math.min(this.u.length-1,Math.floor((C()-F)/50));return this.u[e]}h(e){if(this.m?.(e),!e.interactionId&&\"first-input\"!==e.entryType)return;const t=this.u.at(-1);let n=this.l.get(e.interactionId);if(n||this.u.length<10||e.duration>t.P){if(n?e.duration>n.P?(n.entries=[e],n.P=e.duration):e.duration===n.P&&e.startTime===n.entries[0].startTime&&n.entries.push(e):(n={id:e.interactionId,entries:[e],P:e.duration},this.l.set(n.id,n),this.u.push(n)),this.u.sort(((e,t)=>t.P-e.P)),this.u.length>10){const e=this.u.splice(10);for(const t of e)this.l.delete(t.id)}this.p?.(n)}}}const A=e=>{const t=globalThis.requestIdleCallback||setTimeout;\"hidden\"===document.visibilityState?e():(e=f(e),addEventListener(\"visibilitychange\",e,{once:!0,capture:!0}),t((()=>{e(),removeEventListener(\"visibilitychange\",e,{capture:!0})})))},B=[200,500],S=(e,i={})=>{if(!globalThis.PerformanceEventTiming||!(\"interactionId\"in PerformanceEventTiming.prototype))return;const s=v();g((()=>{I();let o,c=r(\"INP\");const d=a(i,k),f=e=>{A((()=>{for(const t of e)d.h(t);const t=d.L();t&&t.P!==c.value&&(c.value=t.P,c.entries=t.entries,o())}))},u=h(\"event\",f,{durationThreshold:i.durationThreshold??40});o=n(e,c,B,i.reportAllChanges),u&&(u.observe({type:\"first-input\",buffered:!0}),s.onHidden((()=>{f(u.takeRecords()),o(!0)})),t((()=>{d.v(),c=r(\"INP\"),o=n(e,c,B,i.reportAllChanges)})))}))};class N{m;h(e){this.m?.(e)}}const q=[2500,4e3],x=(e,s={})=>{g((()=>{const c=v();let d,u=r(\"LCP\");const l=a(s,N),m=e=>{s.reportAllChanges||(e=e.slice(-1));for(const t of e)l.h(t),t.startTime<c.firstHiddenTime&&(u.value=Math.max(t.startTime-o(),0),u.entries=[t],d())},p=h(\"largest-contentful-paint\",m);if(p){d=n(e,u,q,s.reportAllChanges);const o=f((()=>{m(p.takeRecords()),p.disconnect(),d(!0)})),c=e=>{e.isTrusted&&(A(o),removeEventListener(e.type,c,{capture:!0}))};for(const e of[\"keydown\",\"click\",\"visibilitychange\"])addEventListener(e,c,{capture:!0});t((t=>{u=r(\"LCP\"),d=n(e,u,q,s.reportAllChanges),i((()=>{u.value=performance.now()-t.timeStamp,d(!0)}))}))}}))},H=[800,1800],O=e=>{document.prerendering?g((()=>O(e))):\"complete\"!==document.readyState?addEventListener(\"load\",(()=>O(e)),!0):setTimeout(e)},$=(e,i={})=>{let c=r(\"TTFB\"),a=n(e,c,H,i.reportAllChanges);O((()=>{const d=s();d&&(c.value=Math.max(d.responseStart-o(),0),c.entries=[d],a(!0),t((()=>{c=r(\"TTFB\",0),a=n(e,c,H,i.reportAllChanges),a(!0)})))}))};export{b as CLSThresholds,y as FCPThresholds,B as INPThresholds,q as LCPThresholds,H as TTFBThresholds,L as onCLS,E as onFCP,S as onINP,x as onLCP,$ as onTTFB};\n","import {\n EventType,\n Status,\n type IPerformanceData,\n type TOnReportPerformanceData,\n} from \"@lark-sentry/types\";\n\nimport {\n onCLS,\n onFCP,\n onINP,\n onLCP,\n onTTFB,\n type CLSMetric,\n type FCPMetric,\n type INPMetric,\n type LCPMetric,\n type TTFBMetric,\n} from \"web-vitals\";\n\nimport { getTime, isHTMLElement, metric2perfData } from \"@lark-sentry/utils\";\n\ntype TCallback = (val: number) => void;\n\nlet firstScreenPaint = 0;\nlet entries: {\n startTime: number;\n children: HTMLElement[];\n}[] = [];\nlet observer: MutationObserver | null = null;\nlet requestId = 0;\n\n// DOM 是否在视口内\n// https://developer.mozilla.org/zh-CN/docs/Web/API/Element/getBoundingClientRect\nfunction isInViewport(dom: HTMLElement) {\n const rect = dom.getBoundingClientRect();\n return (\n rect.right > 0 &&\n rect.bottom > 0 &&\n rect.left < globalThis.innerWidth &&\n rect.top < globalThis.innerHeight\n );\n}\n\nfunction getRenderTime(): number {\n if (entries.length === 0) {\n return 0;\n }\n return Math.max(...entries.map((entry) => entry.startTime));\n}\n\nfunction checkDOMChange(callback: TCallback) {\n // 取消上一个 requestAnimationFrame 传递的回调函数\n cancelAnimationFrame(requestId);\n // 请求浏览器在下一次重绘前, 调用传递的回调函数\n requestId = requestAnimationFrame(() => {\n if (document.readyState === \"complete\") {\n // 取消监听\n observer?.disconnect();\n firstScreenPaint = getRenderTime();\n entries = [];\n callback(firstScreenPaint);\n } else {\n checkDOMChange(callback);\n }\n });\n}\n\nfunction getFirstScreenPaint(callback: TCallback) {\n if (\"requestIdleCallback\" in globalThis) {\n requestIdleCallback((deadline) => {\n if (deadline.timeRemaining() > 0) {\n observeFirstScreenPaint(callback);\n }\n });\n } else {\n observeFirstScreenPaint(callback);\n }\n}\n\nfunction observeFirstScreenPaint(callback: TCallback) {\n const excludedDOMList = [\"link\", \"script\", \"style\"];\n observer = new MutationObserver((mutationList) => {\n checkDOMChange(callback);\n const entry: {\n startTime: number;\n children: HTMLElement[];\n } = { startTime: 0, children: [] };\n for (const mutation of mutationList) {\n if (!isHTMLElement(mutation.target)) {\n continue;\n }\n if (mutation.addedNodes.length && isInViewport(mutation.target)) {\n for (const node of Array.from(mutation.addedNodes)) {\n if (\n isHTMLElement(node) &&\n !excludedDOMList.includes(node.tagName.toLowerCase()) &&\n isInViewport(node)\n ) {\n entry.children.push(node);\n }\n }\n }\n }\n if (entry.children.length) {\n entries.push(entry);\n entry.startTime = performance.now();\n }\n });\n observer.observe(document, {\n childList: true,\n subtree: true,\n characterData: true,\n attributes: true,\n });\n}\n\nexport function getResourceList(): (PerformanceResourceTiming & {\n fromCache: boolean;\n})[] {\n const entryList = performance.getEntriesByType(\"resource\");\n const excludedInitiatorType = [\"fetch\", \"xmlhttprequest\", \"beacon\"];\n return entryList\n .filter((entry) => !excludedInitiatorType.includes(entry.initiatorType))\n .map((entry) => ({\n ...entry,\n fromCache: isFromCache(entry),\n }));\n}\n\nexport function isFromCache(entry: PerformanceResourceTiming): boolean {\n return (\n // transferSize 只读属性表示获取资源的大小\n // 获取资源的大小包括响应头 + 响应体\n entry.transferSize === 0 ||\n (entry.transferSize !== 0 && entry.encodedBodySize === 0)\n );\n}\n\nexport function getWebVitals(onReport: TOnReportPerformanceData) {\n onLCP((metric: LCPMetric) => {\n onReport(metric2perfData(metric));\n });\n\n onFCP((metric: FCPMetric) => {\n onReport(metric2perfData(metric));\n });\n\n onCLS((metric: CLSMetric) => {\n onReport(metric2perfData(metric));\n });\n\n onINP((metric: INPMetric) => {\n onReport(metric2perfData(metric));\n });\n\n onTTFB((metric: TTFBMetric) => {\n onReport(metric2perfData(metric));\n });\n\n getFirstScreenPaint((value: number) => {\n const perfData: IPerformanceData = {\n name: \"FSP\",\n value,\n id: crypto.randomUUID(),\n ...getTime(),\n type: EventType.Performance,\n status: Status.OK,\n message: \"First Screen Paint\",\n };\n onReport(perfData);\n });\n}\n","import {\n EventType,\n SentryPlugin,\n Status,\n type IPerformanceData,\n} from \"@lark-sentry/types\";\n\nimport reporter from \"@lark-sentry/reporter\";\n\nimport { getTime } from \"@lark-sentry/utils\";\n\nimport { getResourceList, getWebVitals } from \"./src/perf.js\";\n\nclass PerformancePlugin extends SentryPlugin {\n constructor() {\n super(EventType.Performance);\n }\n\n async init() {\n getWebVitals((data: IPerformanceData) => {\n reporter.send(data);\n });\n\n const observer = new PerformanceObserver((entryList) => {\n const longTaskData: IPerformanceData = {\n id: crypto.randomUUID(),\n name: \"LongTask\",\n type: EventType.Performance,\n ...getTime(),\n message: \"\",\n status: Status.OK,\n longTasks: entryList.getEntries(),\n };\n reporter.send(longTaskData);\n });\n observer.observe({ entryTypes: [\"longTask\".toLowerCase()] });\n\n globalThis.addEventListener(\"load\", () => {\n const resourceListData: IPerformanceData = {\n id: crypto.randomUUID(),\n name: \"ResourceList\",\n type: EventType.Performance,\n ...getTime(),\n message: \"\",\n status: Status.OK,\n resourceList: getResourceList(),\n };\n reporter.send(resourceListData);\n });\n\n if (\n \"measureUserAgentSpecificMemory\" in performance &&\n typeof performance.measureUserAgentSpecificMemory === \"function\"\n ) {\n const memoryData: IPerformanceData = {\n id: crypto.randomUUID(),\n name: \"Memory\",\n type: EventType.Performance,\n ...getTime(),\n message: \"performance.measureUserAgentSpecificMemory\",\n status: Status.OK,\n memory: await performance.measureUserAgentSpecificMemory(),\n };\n reporter.send(memoryData);\n }\n }\n}\n\nexport default PerformancePlugin;\n"],"names":["onLCP","onFCP","onCLS","onINP","onTTFB"],"mappings":"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E,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,aAAa,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAA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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.js","sources":["../../../node_modules/.pnpm/web-vitals@5.1.0/node_modules/web-vitals/dist/web-vitals.js","../src/perf.ts","../index.ts"],"sourcesContent":["let e=-1;const t=t=>{addEventListener(\"pageshow\",(n=>{n.persisted&&(e=n.timeStamp,t(n))}),!0)},n=(e,t,n,i)=>{let s,o;return r=>{t.value>=0&&(r||i)&&(o=t.value-(s??0),(o||void 0===s)&&(s=t.value,t.delta=o,t.rating=((e,t)=>e>t[1]?\"poor\":e>t[0]?\"needs-improvement\":\"good\")(t.value,n),e(t)))}},i=e=>{requestAnimationFrame((()=>requestAnimationFrame((()=>e()))))},s=()=>{const e=performance.getEntriesByType(\"navigation\")[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},o=()=>{const e=s();return e?.activationStart??0},r=(t,n=-1)=>{const i=s();let r=\"navigate\";e>=0?r=\"back-forward-cache\":i&&(document.prerendering||o()>0?r=\"prerender\":document.wasDiscarded?r=\"restore\":i.type&&(r=i.type.replace(/_/g,\"-\")));return{name:t,value:n,rating:\"good\",delta:0,entries:[],id:`v5-${Date.now()}-${Math.floor(8999999999999*Math.random())+1e12}`,navigationType:r}},c=new WeakMap;function a(e,t){return c.get(e)||c.set(e,new t),c.get(e)}class d{t;i=0;o=[];h(e){if(e.hadRecentInput)return;const t=this.o[0],n=this.o.at(-1);this.i&&t&&n&&e.startTime-n.startTime<1e3&&e.startTime-t.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),this.t?.(e)}}const h=(e,t,n={})=>{try{if(PerformanceObserver.supportedEntryTypes.includes(e)){const i=new PerformanceObserver((e=>{Promise.resolve().then((()=>{t(e.getEntries())}))}));return i.observe({type:e,buffered:!0,...n}),i}}catch{}},f=e=>{let t=!1;return()=>{t||(e(),t=!0)}};let u=-1;const l=new Set,m=()=>\"hidden\"!==document.visibilityState||document.prerendering?1/0:0,p=e=>{if(\"hidden\"===document.visibilityState){if(\"visibilitychange\"===e.type)for(const e of l)e();isFinite(u)||(u=\"visibilitychange\"===e.type?e.timeStamp:0,removeEventListener(\"prerenderingchange\",p,!0))}},v=()=>{if(u<0){const e=o(),n=document.prerendering?void 0:globalThis.performance.getEntriesByType(\"visibility-state\").filter((t=>\"hidden\"===t.name&&t.startTime>e))[0]?.startTime;u=n??m(),addEventListener(\"visibilitychange\",p,!0),addEventListener(\"prerenderingchange\",p,!0),t((()=>{setTimeout((()=>{u=m()}))}))}return{get firstHiddenTime(){return u},onHidden(e){l.add(e)}}},g=e=>{document.prerendering?addEventListener(\"prerenderingchange\",(()=>e()),!0):e()},y=[1800,3e3],E=(e,s={})=>{g((()=>{const c=v();let a,d=r(\"FCP\");const f=h(\"paint\",(e=>{for(const t of e)\"first-contentful-paint\"===t.name&&(f.disconnect(),t.startTime<c.firstHiddenTime&&(d.value=Math.max(t.startTime-o(),0),d.entries.push(t),a(!0)))}));f&&(a=n(e,d,y,s.reportAllChanges),t((t=>{d=r(\"FCP\"),a=n(e,d,y,s.reportAllChanges),i((()=>{d.value=performance.now()-t.timeStamp,a(!0)}))})))}))},b=[.1,.25],L=(e,s={})=>{const o=v();E(f((()=>{let c,f=r(\"CLS\",0);const u=a(s,d),l=e=>{for(const t of e)u.h(t);u.i>f.value&&(f.value=u.i,f.entries=u.o,c())},m=h(\"layout-shift\",l);m&&(c=n(e,f,b,s.reportAllChanges),o.onHidden((()=>{l(m.takeRecords()),c(!0)})),t((()=>{u.i=0,f=r(\"CLS\",0),c=n(e,f,b,s.reportAllChanges),i((()=>c()))})),setTimeout(c))})))};let P=0,T=1/0,_=0;const M=e=>{for(const t of e)t.interactionId&&(T=Math.min(T,t.interactionId),_=Math.max(_,t.interactionId),P=_?(_-T)/7+1:0)};let w;const C=()=>w?P:performance.interactionCount??0,I=()=>{\"interactionCount\"in performance||w||(w=h(\"event\",M,{type:\"event\",buffered:!0,durationThreshold:0}))};let F=0;class k{u=[];l=new Map;m;p;v(){F=C(),this.u.length=0,this.l.clear()}L(){const e=Math.min(this.u.length-1,Math.floor((C()-F)/50));return this.u[e]}h(e){if(this.m?.(e),!e.interactionId&&\"first-input\"!==e.entryType)return;const t=this.u.at(-1);let n=this.l.get(e.interactionId);if(n||this.u.length<10||e.duration>t.P){if(n?e.duration>n.P?(n.entries=[e],n.P=e.duration):e.duration===n.P&&e.startTime===n.entries[0].startTime&&n.entries.push(e):(n={id:e.interactionId,entries:[e],P:e.duration},this.l.set(n.id,n),this.u.push(n)),this.u.sort(((e,t)=>t.P-e.P)),this.u.length>10){const e=this.u.splice(10);for(const t of e)this.l.delete(t.id)}this.p?.(n)}}}const A=e=>{const t=globalThis.requestIdleCallback||setTimeout;\"hidden\"===document.visibilityState?e():(e=f(e),addEventListener(\"visibilitychange\",e,{once:!0,capture:!0}),t((()=>{e(),removeEventListener(\"visibilitychange\",e,{capture:!0})})))},B=[200,500],S=(e,i={})=>{if(!globalThis.PerformanceEventTiming||!(\"interactionId\"in PerformanceEventTiming.prototype))return;const s=v();g((()=>{I();let o,c=r(\"INP\");const d=a(i,k),f=e=>{A((()=>{for(const t of e)d.h(t);const t=d.L();t&&t.P!==c.value&&(c.value=t.P,c.entries=t.entries,o())}))},u=h(\"event\",f,{durationThreshold:i.durationThreshold??40});o=n(e,c,B,i.reportAllChanges),u&&(u.observe({type:\"first-input\",buffered:!0}),s.onHidden((()=>{f(u.takeRecords()),o(!0)})),t((()=>{d.v(),c=r(\"INP\"),o=n(e,c,B,i.reportAllChanges)})))}))};class N{m;h(e){this.m?.(e)}}const q=[2500,4e3],x=(e,s={})=>{g((()=>{const c=v();let d,u=r(\"LCP\");const l=a(s,N),m=e=>{s.reportAllChanges||(e=e.slice(-1));for(const t of e)l.h(t),t.startTime<c.firstHiddenTime&&(u.value=Math.max(t.startTime-o(),0),u.entries=[t],d())},p=h(\"largest-contentful-paint\",m);if(p){d=n(e,u,q,s.reportAllChanges);const o=f((()=>{m(p.takeRecords()),p.disconnect(),d(!0)})),c=e=>{e.isTrusted&&(A(o),removeEventListener(e.type,c,{capture:!0}))};for(const e of[\"keydown\",\"click\",\"visibilitychange\"])addEventListener(e,c,{capture:!0});t((t=>{u=r(\"LCP\"),d=n(e,u,q,s.reportAllChanges),i((()=>{u.value=performance.now()-t.timeStamp,d(!0)}))}))}}))},H=[800,1800],O=e=>{document.prerendering?g((()=>O(e))):\"complete\"!==document.readyState?addEventListener(\"load\",(()=>O(e)),!0):setTimeout(e)},$=(e,i={})=>{let c=r(\"TTFB\"),a=n(e,c,H,i.reportAllChanges);O((()=>{const d=s();d&&(c.value=Math.max(d.responseStart-o(),0),c.entries=[d],a(!0),t((()=>{c=r(\"TTFB\",0),a=n(e,c,H,i.reportAllChanges),a(!0)})))}))};export{b as CLSThresholds,y as FCPThresholds,B as INPThresholds,q as LCPThresholds,H as TTFBThresholds,L as onCLS,E as onFCP,S as onINP,x as onLCP,$ as onTTFB};\n","import {\n EventType,\n type IPerformanceData,\n type TOnReportPerformanceData,\n} from \"@lark-sentry/types\";\n\nimport {\n onCLS,\n onFCP,\n onINP,\n onLCP,\n onTTFB,\n type CLSMetric,\n type FCPMetric,\n type INPMetric,\n type LCPMetric,\n type TTFBMetric,\n} from \"web-vitals\";\n\nimport {\n getBaseData,\n isHTMLElement,\n metric2perfData,\n} from \"@lark-sentry/utils\";\n\ntype TCallback = (val: number) => void;\n\nlet firstScreenPaint = 0;\nlet entries: {\n startTime: number;\n children: HTMLElement[];\n}[] = [];\nlet observer: MutationObserver | null = null;\nlet requestId = 0;\n\n// DOM 是否在视口内\n// https://developer.mozilla.org/zh-CN/docs/Web/API/Element/getBoundingClientRect\nfunction isInViewport(dom: HTMLElement) {\n const rect = dom.getBoundingClientRect();\n return (\n rect.right > 0 &&\n rect.bottom > 0 &&\n rect.left < globalThis.innerWidth &&\n rect.top < globalThis.innerHeight\n );\n}\n\nfunction getRenderTime(): number {\n if (entries.length === 0) {\n return 0;\n }\n return Math.max(...entries.map((entry) => entry.startTime));\n}\n\nfunction checkDOMChange(callback: TCallback) {\n // 取消上一个 requestAnimationFrame 传递的回调函数\n cancelAnimationFrame(requestId);\n // 请求浏览器在下一次重绘前, 调用传递的回调函数\n requestId = requestAnimationFrame(() => {\n if (document.readyState === \"complete\") {\n // 取消监听\n observer?.disconnect();\n firstScreenPaint = getRenderTime();\n entries = [];\n callback(firstScreenPaint);\n } else {\n checkDOMChange(callback);\n }\n });\n}\n\nfunction getFirstScreenPaint(callback: TCallback) {\n if (\"requestIdleCallback\" in globalThis) {\n requestIdleCallback((deadline) => {\n if (deadline.timeRemaining() > 0) {\n observeFirstScreenPaint(callback);\n }\n });\n } else {\n observeFirstScreenPaint(callback);\n }\n}\n\nfunction observeFirstScreenPaint(callback: TCallback) {\n const excludedDOMList = [\"link\", \"script\", \"style\"];\n observer = new MutationObserver((mutationList) => {\n checkDOMChange(callback);\n const entry: {\n startTime: number;\n children: HTMLElement[];\n } = { startTime: 0, children: [] };\n for (const mutation of mutationList) {\n if (!isHTMLElement(mutation.target)) {\n continue;\n }\n if (mutation.addedNodes.length && isInViewport(mutation.target)) {\n for (const node of Array.from(mutation.addedNodes)) {\n if (\n isHTMLElement(node) &&\n !excludedDOMList.includes(node.tagName.toLowerCase()) &&\n isInViewport(node)\n ) {\n entry.children.push(node);\n }\n }\n }\n }\n if (entry.children.length) {\n entries.push(entry);\n entry.startTime = performance.now();\n }\n });\n observer.observe(document, {\n childList: true,\n subtree: true,\n characterData: true,\n attributes: true,\n });\n}\n\nexport function getResourceList(): (PerformanceResourceTiming & {\n fromCache: boolean;\n})[] {\n const entryList = performance.getEntriesByType(\"resource\");\n const excludedInitiatorType = [\"fetch\", \"xmlhttprequest\", \"beacon\"];\n return entryList\n .filter((entry) => !excludedInitiatorType.includes(entry.initiatorType))\n .map((entry) => ({\n ...entry,\n fromCache: isFromCache(entry),\n }));\n}\n\nexport function isFromCache(entry: PerformanceResourceTiming): boolean {\n return (\n // transferSize 只读属性表示获取资源的大小\n // 获取资源的大小包括响应头 + 响应体\n entry.transferSize === 0 ||\n (entry.transferSize !== 0 && entry.encodedBodySize === 0)\n );\n}\n\nexport function getWebVitals(onReport: TOnReportPerformanceData) {\n onLCP((metric: LCPMetric) => {\n onReport(metric2perfData(metric));\n });\n\n onFCP((metric: FCPMetric) => {\n onReport(metric2perfData(metric));\n });\n\n onCLS((metric: CLSMetric) => {\n onReport(metric2perfData(metric));\n });\n\n onINP((metric: INPMetric) => {\n onReport(metric2perfData(metric));\n });\n\n onTTFB((metric: TTFBMetric) => {\n onReport(metric2perfData(metric));\n });\n\n getFirstScreenPaint((value: number) => {\n const perfData: IPerformanceData = {\n ...getBaseData(),\n name: \"FSP\",\n value,\n type: EventType.Performance,\n message: \"First Screen Paint\",\n };\n onReport(perfData);\n });\n}\n","import {\n EventType,\n SentryPlugin,\n type IPerformanceData,\n} from \"@lark-sentry/types\";\n\nimport reporter from \"@lark-sentry/reporter\";\n\nimport { getBaseData } from \"@lark-sentry/utils\";\n\nimport { getResourceList, getWebVitals } from \"./src/perf.js\";\n\nclass PerformancePlugin extends SentryPlugin {\n constructor() {\n super(EventType.Performance);\n }\n\n async init() {\n getWebVitals((data: IPerformanceData) => {\n reporter.send(data);\n });\n\n const observer = new PerformanceObserver((entryList) => {\n const longTaskData: IPerformanceData = {\n ...getBaseData(),\n name: \"LongTask\",\n type: EventType.Performance,\n longTasks: entryList.getEntries(),\n };\n reporter.send(longTaskData);\n });\n observer.observe({ entryTypes: [\"longTask\".toLowerCase()] });\n\n globalThis.addEventListener(\"load\", () => {\n const resourceListData: IPerformanceData = {\n ...getBaseData(),\n name: \"ResourceList\",\n type: EventType.Performance,\n resourceList: getResourceList(),\n };\n reporter.send(resourceListData);\n });\n\n if (\n \"measureUserAgentSpecificMemory\" in performance &&\n typeof performance.measureUserAgentSpecificMemory === \"function\"\n ) {\n const memoryData: IPerformanceData = {\n ...getBaseData(),\n name: \"Memory\",\n type: EventType.Performance,\n message: \"performance.measureUserAgentSpecificMemory\",\n memory: await performance.measureUserAgentSpecificMemory(),\n };\n reporter.send(memoryData);\n }\n }\n}\n\nexport default PerformancePlugin;\n"],"names":["onLCP","onFCP","onCLS","onINP","onTTFB"],"mappings":";;;;AAAA,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,IAAE,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,qBAAqB,EAAE,IAAI,qBAAqB,EAAE,IAAI,CAAC,EAAE,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,mBAAmB,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,EAAC,CAAC,GAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,KAAE,CAAC,OAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAE,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,QAAQ,GAAG,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC,GAAG,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAE,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAE,CAAC,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAE,CAAC,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,IAAI,eAAe,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,IAAI,CAAC,EAAE,EAAE,IAAE,CAAC,CAAC,CAAC,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,wBAAwB,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAE,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAE,EAAC,CAAC,GAAE,CAAC,EAAE,EAAC,CAAC,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,IAAE,EAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,GAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,GAAG,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,aAAa,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAA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","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@lark-sentry/types"),t=require("@lark-sentry/reporter"),n=require("@lark-sentry/utils");let r=-1;const i=e=>{addEventListener("pageshow",t=>{t.persisted&&(r=t.timeStamp,e(t))},!0)},s=(e,t,n,r)=>{let i,s;return a=>{t.value>=0&&(a||r)&&(s=t.value-(i??0),(s||void 0===i)&&(i=t.value,t.delta=s,t.rating=((e,t)=>e>t[1]?"poor":e>t[0]?"needs-improvement":"good")(t.value,n),e(t)))}},a=e=>{requestAnimationFrame(()=>requestAnimationFrame(()=>e()))},o=()=>{const e=performance.getEntriesByType("navigation")[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},c=()=>{const e=o();return e?.activationStart??0},l=(e,t=-1)=>{const n=o();let i="navigate";return r>=0?i="back-forward-cache":n&&(document.prerendering||c()>0?i="prerender":document.wasDiscarded?i="restore":n.type&&(i=n.type.replace(/_/g,"-"))),{name:e,value:t,rating:"good",delta:0,entries:[],id:`v5-${Date.now()}-${Math.floor(8999999999999*Math.random())+1e12}`,navigationType:i}},d=new WeakMap;function m(e,t){return d.get(e)||d.set(e,new t),d.get(e)}class u{t;i=0;o=[];h(e){if(e.hadRecentInput)return;const t=this.o[0],n=this.o.at(-1);this.i&&t&&n&&e.startTime-n.startTime<1e3&&e.startTime-t.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),this.t?.(e)}}const p=(e,t,n={})=>{try{if(PerformanceObserver.supportedEntryTypes.includes(e)){const r=new PerformanceObserver(e=>{Promise.resolve().then(()=>{t(e.getEntries())})});return r.observe({type:e,buffered:!0,...n}),r}}catch{}},h=e=>{let t=!1;return()=>{t||(e(),t=!0)}};let f=-1;const g=new Set,v=()=>"hidden"!==document.visibilityState||document.prerendering?1/0:0,y=e=>{if("hidden"===document.visibilityState){if("visibilitychange"===e.type)for(const e of g)e();isFinite(f)||(f="visibilitychange"===e.type?e.timeStamp:0,removeEventListener("prerenderingchange",y,!0))}},T=()=>{if(f<0){const e=c(),t=document.prerendering?void 0:globalThis.performance.getEntriesByType("visibility-state").filter(t=>"hidden"===t.name&&t.startTime>e)[0]?.startTime;f=t??v(),addEventListener("visibilitychange",y,!0),addEventListener("prerenderingchange",y,!0),i(()=>{setTimeout(()=>{f=v()})})}return{get firstHiddenTime(){return f},onHidden(e){g.add(e)}}},b=e=>{document.prerendering?addEventListener("prerenderingchange",()=>e(),!0):e()},P=[1800,3e3],S=(e,t={})=>{b(()=>{const n=T();let r,o=l("FCP");const d=p("paint",e=>{for(const t of e)"first-contentful-paint"===t.name&&(d.disconnect(),t.startTime<n.firstHiddenTime&&(o.value=Math.max(t.startTime-c(),0),o.entries.push(t),r(!0)))});d&&(r=s(e,o,P,t.reportAllChanges),i(n=>{o=l("FCP"),r=s(e,o,P,t.reportAllChanges),a(()=>{o.value=performance.now()-n.timeStamp,r(!0)})}))})},C=[.1,.25];let E=0,L=1/0,M=0;const A=e=>{for(const t of e)t.interactionId&&(L=Math.min(L,t.interactionId),M=Math.max(M,t.interactionId),E=M?(M-L)/7+1:0)};let w;const k=()=>w?E:performance.interactionCount??0;let I=0;class D{u=[];l=new Map;m;p;v(){I=k(),this.u.length=0,this.l.clear()}L(){const e=Math.min(this.u.length-1,Math.floor((k()-I)/50));return this.u[e]}h(e){if(this.m?.(e),!e.interactionId&&"first-input"!==e.entryType)return;const t=this.u.at(-1);let n=this.l.get(e.interactionId);if(n||this.u.length<10||e.duration>t.P){if(n?e.duration>n.P?(n.entries=[e],n.P=e.duration):e.duration===n.P&&e.startTime===n.entries[0].startTime&&n.entries.push(e):(n={id:e.interactionId,entries:[e],P:e.duration},this.l.set(n.id,n),this.u.push(n)),this.u.sort((e,t)=>t.P-e.P),this.u.length>10){const e=this.u.splice(10);for(const t of e)this.l.delete(t.id)}this.p?.(n)}}}const U=e=>{const t=globalThis.requestIdleCallback||setTimeout;"hidden"===document.visibilityState?e():(e=h(e),addEventListener("visibilitychange",e,{once:!0,capture:!0}),t(()=>{e(),removeEventListener("visibilitychange",e,{capture:!0})}))},F=[200,500],q=(e,t={})=>{if(!globalThis.PerformanceEventTiming||!("interactionId"in PerformanceEventTiming.prototype))return;const n=T();b(()=>{"interactionCount"in performance||w||(w=p("event",A,{type:"event",buffered:!0,durationThreshold:0}));let r,a=l("INP");const o=m(t,D),c=e=>{U(()=>{for(const t of e)o.h(t);const t=o.L();t&&t.P!==a.value&&(a.value=t.P,a.entries=t.entries,r())})},d=p("event",c,{durationThreshold:t.durationThreshold??40});r=s(e,a,F,t.reportAllChanges),d&&(d.observe({type:"first-input",buffered:!0}),n.onHidden(()=>{c(d.takeRecords()),r(!0)}),i(()=>{o.v(),a=l("INP"),r=s(e,a,F,t.reportAllChanges)}))})};class x{m;h(e){this.m?.(e)}}const H=[2500,4e3],O=[800,1800],B=e=>{document.prerendering?b(()=>B(e)):"complete"!==document.readyState?addEventListener("load",()=>B(e),!0):setTimeout(e)};let R=0,N=[],K=null,z=0;function _(e){const t=e.getBoundingClientRect();return t.right>0&&t.bottom>0&&t.left<globalThis.innerWidth&&t.top<globalThis.innerHeight}function W(e){cancelAnimationFrame(z),z=requestAnimationFrame(()=>{"complete"===document.readyState?(K?.disconnect(),R=0===N.length?0:Math.max(...N.map(e=>e.startTime)),N=[],e(R)):W(e)})}function $(e){const t=["link","script","style"];K=new MutationObserver(r=>{W(e);const i={startTime:0,children:[]};for(const e of r)if(n.isHTMLElement(e.target)&&e.addedNodes.length&&_(e.target))for(const r of Array.from(e.addedNodes))n.isHTMLElement(r)&&!t.includes(r.tagName.toLowerCase())&&_(r)&&i.children.push(r);i.children.length&&(N.push(i),i.startTime=performance.now())}),K.observe(document,{childList:!0,subtree:!0,characterData:!0,attributes:!0})}function j(){const e=performance.getEntriesByType("resource"),t=["fetch","xmlhttprequest","beacon"];return e.filter(e=>!t.includes(e.initiatorType)).map(e=>({...e,fromCache:G(e)}))}function G(e){return 0===e.transferSize||0!==e.transferSize&&0===e.encodedBodySize}function J(t){var r;((e,t={})=>{b(()=>{const n=T();let r,o=l("LCP");const d=m(t,x),u=e=>{t.reportAllChanges||(e=e.slice(-1));for(const t of e)d.h(t),t.startTime<n.firstHiddenTime&&(o.value=Math.max(t.startTime-c(),0),o.entries=[t],r())},f=p("largest-contentful-paint",u);if(f){r=s(e,o,H,t.reportAllChanges);const n=h(()=>{u(f.takeRecords()),f.disconnect(),r(!0)}),c=e=>{e.isTrusted&&(U(n),removeEventListener(e.type,c,{capture:!0}))};for(const e of["keydown","click","visibilitychange"])addEventListener(e,c,{capture:!0});i(n=>{o=l("LCP"),r=s(e,o,H,t.reportAllChanges),a(()=>{o.value=performance.now()-n.timeStamp,r(!0)})})}})})(e=>{t(n.metric2perfData(e))}),S(e=>{t(n.metric2perfData(e))}),((e,t={})=>{const n=T();S(h(()=>{let r,o=l("CLS",0);const c=m(t,u),d=e=>{for(const t of e)c.h(t);c.i>o.value&&(o.value=c.i,o.entries=c.o,r())},h=p("layout-shift",d);h&&(r=s(e,o,C,t.reportAllChanges),n.onHidden(()=>{d(h.takeRecords()),r(!0)}),i(()=>{c.i=0,o=l("CLS",0),r=s(e,o,C,t.reportAllChanges),a(()=>r())}),setTimeout(r))}))})(e=>{t(n.metric2perfData(e))}),q(e=>{t(n.metric2perfData(e))}),((e,t={})=>{let n=l("TTFB"),r=s(e,n,O,t.reportAllChanges);B(()=>{const a=o();a&&(n.value=Math.max(a.responseStart-c(),0),n.entries=[a],r(!0),i(()=>{n=l("TTFB",0),r=s(e,n,O,t.reportAllChanges),r(!0)}))})})(e=>{t(n.metric2perfData(e))}),r=r=>{const i={name:"FSP",value:r,id:crypto.randomUUID(),...n.getTime(),type:e.EventType.Performance,status:e.Status.OK,message:"First Screen Paint"};t(i)},"requestIdleCallback"in globalThis?requestIdleCallback(e=>{e.timeRemaining()>0&&$(r)}):$(r)}class Q extends e.SentryPlugin{constructor(){super(e.EventType.Performance)}async init(){J(e=>{t.send(e)});if(new PerformanceObserver(r=>{const i={id:crypto.randomUUID(),name:"LongTask",type:e.EventType.Performance,...n.getTime(),message:"",status:e.Status.OK,longTasks:r.getEntries()};t.send(i)}).observe({entryTypes:["longTask".toLowerCase()]}),globalThis.addEventListener("load",()=>{const r={id:crypto.randomUUID(),name:"ResourceList",type:e.EventType.Performance,...n.getTime(),message:"",status:e.Status.OK,resourceList:j()};t.send(r)}),"measureUserAgentSpecificMemory"in performance&&"function"==typeof performance.measureUserAgentSpecificMemory){const r={id:crypto.randomUUID(),name:"Memory",type:e.EventType.Performance,...n.getTime(),message:"performance.measureUserAgentSpecificMemory",status:e.Status.OK,memory:await performance.measureUserAgentSpecificMemory()};t.send(r)}}}exports.default=Q;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@lark-sentry/types"),t=require("@lark-sentry/reporter"),n=require("@lark-sentry/utils");let r=-1;const i=e=>{addEventListener("pageshow",t=>{t.persisted&&(r=t.timeStamp,e(t))},!0)},s=(e,t,n,r)=>{let i,s;return a=>{t.value>=0&&(a||r)&&(s=t.value-(i??0),(s||void 0===i)&&(i=t.value,t.delta=s,t.rating=((e,t)=>e>t[1]?"poor":e>t[0]?"needs-improvement":"good")(t.value,n),e(t)))}},a=e=>{requestAnimationFrame(()=>requestAnimationFrame(()=>e()))},o=()=>{const e=performance.getEntriesByType("navigation")[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},c=()=>{const e=o();return e?.activationStart??0},l=(e,t=-1)=>{const n=o();let i="navigate";return r>=0?i="back-forward-cache":n&&(document.prerendering||c()>0?i="prerender":document.wasDiscarded?i="restore":n.type&&(i=n.type.replace(/_/g,"-"))),{name:e,value:t,rating:"good",delta:0,entries:[],id:`v5-${Date.now()}-${Math.floor(8999999999999*Math.random())+1e12}`,navigationType:i}},d=new WeakMap;function m(e,t){return d.get(e)||d.set(e,new t),d.get(e)}class u{t;i=0;o=[];h(e){if(e.hadRecentInput)return;const t=this.o[0],n=this.o.at(-1);this.i&&t&&n&&e.startTime-n.startTime<1e3&&e.startTime-t.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),this.t?.(e)}}const p=(e,t,n={})=>{try{if(PerformanceObserver.supportedEntryTypes.includes(e)){const r=new PerformanceObserver(e=>{Promise.resolve().then(()=>{t(e.getEntries())})});return r.observe({type:e,buffered:!0,...n}),r}}catch{}},h=e=>{let t=!1;return()=>{t||(e(),t=!0)}};let f=-1;const g=new Set,v=()=>"hidden"!==document.visibilityState||document.prerendering?1/0:0,y=e=>{if("hidden"===document.visibilityState){if("visibilitychange"===e.type)for(const e of g)e();isFinite(f)||(f="visibilitychange"===e.type?e.timeStamp:0,removeEventListener("prerenderingchange",y,!0))}},T=()=>{if(f<0){const e=c(),t=document.prerendering?void 0:globalThis.performance.getEntriesByType("visibility-state").filter(t=>"hidden"===t.name&&t.startTime>e)[0]?.startTime;f=t??v(),addEventListener("visibilitychange",y,!0),addEventListener("prerenderingchange",y,!0),i(()=>{setTimeout(()=>{f=v()})})}return{get firstHiddenTime(){return f},onHidden(e){g.add(e)}}},b=e=>{document.prerendering?addEventListener("prerenderingchange",()=>e(),!0):e()},P=[1800,3e3],C=(e,t={})=>{b(()=>{const n=T();let r,o=l("FCP");const d=p("paint",e=>{for(const t of e)"first-contentful-paint"===t.name&&(d.disconnect(),t.startTime<n.firstHiddenTime&&(o.value=Math.max(t.startTime-c(),0),o.entries.push(t),r(!0)))});d&&(r=s(e,o,P,t.reportAllChanges),i(n=>{o=l("FCP"),r=s(e,o,P,t.reportAllChanges),a(()=>{o.value=performance.now()-n.timeStamp,r(!0)})}))})},E=[.1,.25];let S=0,L=1/0,M=0;const A=e=>{for(const t of e)t.interactionId&&(L=Math.min(L,t.interactionId),M=Math.max(M,t.interactionId),S=M?(M-L)/7+1:0)};let w;const k=()=>w?S:performance.interactionCount??0;let I=0;class D{u=[];l=new Map;m;p;v(){I=k(),this.u.length=0,this.l.clear()}L(){const e=Math.min(this.u.length-1,Math.floor((k()-I)/50));return this.u[e]}h(e){if(this.m?.(e),!e.interactionId&&"first-input"!==e.entryType)return;const t=this.u.at(-1);let n=this.l.get(e.interactionId);if(n||this.u.length<10||e.duration>t.P){if(n?e.duration>n.P?(n.entries=[e],n.P=e.duration):e.duration===n.P&&e.startTime===n.entries[0].startTime&&n.entries.push(e):(n={id:e.interactionId,entries:[e],P:e.duration},this.l.set(n.id,n),this.u.push(n)),this.u.sort((e,t)=>t.P-e.P),this.u.length>10){const e=this.u.splice(10);for(const t of e)this.l.delete(t.id)}this.p?.(n)}}}const B=e=>{const t=globalThis.requestIdleCallback||setTimeout;"hidden"===document.visibilityState?e():(e=h(e),addEventListener("visibilitychange",e,{once:!0,capture:!0}),t(()=>{e(),removeEventListener("visibilitychange",e,{capture:!0})}))},F=[200,500],q=(e,t={})=>{if(!globalThis.PerformanceEventTiming||!("interactionId"in PerformanceEventTiming.prototype))return;const n=T();b(()=>{"interactionCount"in performance||w||(w=p("event",A,{type:"event",buffered:!0,durationThreshold:0}));let r,a=l("INP");const o=m(t,D),c=e=>{B(()=>{for(const t of e)o.h(t);const t=o.L();t&&t.P!==a.value&&(a.value=t.P,a.entries=t.entries,r())})},d=p("event",c,{durationThreshold:t.durationThreshold??40});r=s(e,a,F,t.reportAllChanges),d&&(d.observe({type:"first-input",buffered:!0}),n.onHidden(()=>{c(d.takeRecords()),r(!0)}),i(()=>{o.v(),a=l("INP"),r=s(e,a,F,t.reportAllChanges)}))})};class x{m;h(e){this.m?.(e)}}const H=[2500,4e3],R=[800,1800],N=e=>{document.prerendering?b(()=>N(e)):"complete"!==document.readyState?addEventListener("load",()=>N(e),!0):setTimeout(e)};let O=0,U=[],z=null,_=0;function W(e){const t=e.getBoundingClientRect();return t.right>0&&t.bottom>0&&t.left<globalThis.innerWidth&&t.top<globalThis.innerHeight}function $(e){cancelAnimationFrame(_),_=requestAnimationFrame(()=>{"complete"===document.readyState?(z?.disconnect(),O=0===U.length?0:Math.max(...U.map(e=>e.startTime)),U=[],e(O)):$(e)})}function j(e){const t=["link","script","style"];z=new MutationObserver(r=>{$(e);const i={startTime:0,children:[]};for(const e of r)if(n.isHTMLElement(e.target)&&e.addedNodes.length&&W(e.target))for(const r of Array.from(e.addedNodes))n.isHTMLElement(r)&&!t.includes(r.tagName.toLowerCase())&&W(r)&&i.children.push(r);i.children.length&&(U.push(i),i.startTime=performance.now())}),z.observe(document,{childList:!0,subtree:!0,characterData:!0,attributes:!0})}function G(){const e=performance.getEntriesByType("resource"),t=["fetch","xmlhttprequest","beacon"];return e.filter(e=>!t.includes(e.initiatorType)).map(e=>({...e,fromCache:J(e)}))}function J(e){return 0===e.transferSize||0!==e.transferSize&&0===e.encodedBodySize}function K(t){var r;((e,t={})=>{b(()=>{const n=T();let r,o=l("LCP");const d=m(t,x),u=e=>{t.reportAllChanges||(e=e.slice(-1));for(const t of e)d.h(t),t.startTime<n.firstHiddenTime&&(o.value=Math.max(t.startTime-c(),0),o.entries=[t],r())},f=p("largest-contentful-paint",u);if(f){r=s(e,o,H,t.reportAllChanges);const n=h(()=>{u(f.takeRecords()),f.disconnect(),r(!0)}),c=e=>{e.isTrusted&&(B(n),removeEventListener(e.type,c,{capture:!0}))};for(const e of["keydown","click","visibilitychange"])addEventListener(e,c,{capture:!0});i(n=>{o=l("LCP"),r=s(e,o,H,t.reportAllChanges),a(()=>{o.value=performance.now()-n.timeStamp,r(!0)})})}})})(e=>{t(n.metric2perfData(e))}),C(e=>{t(n.metric2perfData(e))}),((e,t={})=>{const n=T();C(h(()=>{let r,o=l("CLS",0);const c=m(t,u),d=e=>{for(const t of e)c.h(t);c.i>o.value&&(o.value=c.i,o.entries=c.o,r())},h=p("layout-shift",d);h&&(r=s(e,o,E,t.reportAllChanges),n.onHidden(()=>{d(h.takeRecords()),r(!0)}),i(()=>{c.i=0,o=l("CLS",0),r=s(e,o,E,t.reportAllChanges),a(()=>r())}),setTimeout(r))}))})(e=>{t(n.metric2perfData(e))}),q(e=>{t(n.metric2perfData(e))}),((e,t={})=>{let n=l("TTFB"),r=s(e,n,R,t.reportAllChanges);N(()=>{const a=o();a&&(n.value=Math.max(a.responseStart-c(),0),n.entries=[a],r(!0),i(()=>{n=l("TTFB",0),r=s(e,n,R,t.reportAllChanges),r(!0)}))})})(e=>{t(n.metric2perfData(e))}),r=r=>{const i={...n.getBaseData(),name:"FSP",value:r,type:e.EventType.Performance,message:"First Screen Paint"};t(i)},"requestIdleCallback"in globalThis?requestIdleCallback(e=>{e.timeRemaining()>0&&j(r)}):j(r)}class Q extends e.SentryPlugin{constructor(){super(e.EventType.Performance)}async init(){K(e=>{t.send(e)});if(new PerformanceObserver(r=>{const i={...n.getBaseData(),name:"LongTask",type:e.EventType.Performance,longTasks:r.getEntries()};t.send(i)}).observe({entryTypes:["longTask".toLowerCase()]}),globalThis.addEventListener("load",()=>{const r={...n.getBaseData(),name:"ResourceList",type:e.EventType.Performance,resourceList:G()};t.send(r)}),"measureUserAgentSpecificMemory"in performance&&"function"==typeof performance.measureUserAgentSpecificMemory){const r={...n.getBaseData(),name:"Memory",type:e.EventType.Performance,message:"performance.measureUserAgentSpecificMemory",memory:await performance.measureUserAgentSpecificMemory()};t.send(r)}}}exports.default=Q;
2
2
  //# sourceMappingURL=index.min.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.min.cjs","sources":["../../../node_modules/.pnpm/web-vitals@5.1.0/node_modules/web-vitals/dist/web-vitals.js","../src/perf.ts","../index.ts"],"sourcesContent":["let e=-1;const t=t=>{addEventListener(\"pageshow\",(n=>{n.persisted&&(e=n.timeStamp,t(n))}),!0)},n=(e,t,n,i)=>{let s,o;return r=>{t.value>=0&&(r||i)&&(o=t.value-(s??0),(o||void 0===s)&&(s=t.value,t.delta=o,t.rating=((e,t)=>e>t[1]?\"poor\":e>t[0]?\"needs-improvement\":\"good\")(t.value,n),e(t)))}},i=e=>{requestAnimationFrame((()=>requestAnimationFrame((()=>e()))))},s=()=>{const e=performance.getEntriesByType(\"navigation\")[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},o=()=>{const e=s();return e?.activationStart??0},r=(t,n=-1)=>{const i=s();let r=\"navigate\";e>=0?r=\"back-forward-cache\":i&&(document.prerendering||o()>0?r=\"prerender\":document.wasDiscarded?r=\"restore\":i.type&&(r=i.type.replace(/_/g,\"-\")));return{name:t,value:n,rating:\"good\",delta:0,entries:[],id:`v5-${Date.now()}-${Math.floor(8999999999999*Math.random())+1e12}`,navigationType:r}},c=new WeakMap;function a(e,t){return c.get(e)||c.set(e,new t),c.get(e)}class d{t;i=0;o=[];h(e){if(e.hadRecentInput)return;const t=this.o[0],n=this.o.at(-1);this.i&&t&&n&&e.startTime-n.startTime<1e3&&e.startTime-t.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),this.t?.(e)}}const h=(e,t,n={})=>{try{if(PerformanceObserver.supportedEntryTypes.includes(e)){const i=new PerformanceObserver((e=>{Promise.resolve().then((()=>{t(e.getEntries())}))}));return i.observe({type:e,buffered:!0,...n}),i}}catch{}},f=e=>{let t=!1;return()=>{t||(e(),t=!0)}};let u=-1;const l=new Set,m=()=>\"hidden\"!==document.visibilityState||document.prerendering?1/0:0,p=e=>{if(\"hidden\"===document.visibilityState){if(\"visibilitychange\"===e.type)for(const e of l)e();isFinite(u)||(u=\"visibilitychange\"===e.type?e.timeStamp:0,removeEventListener(\"prerenderingchange\",p,!0))}},v=()=>{if(u<0){const e=o(),n=document.prerendering?void 0:globalThis.performance.getEntriesByType(\"visibility-state\").filter((t=>\"hidden\"===t.name&&t.startTime>e))[0]?.startTime;u=n??m(),addEventListener(\"visibilitychange\",p,!0),addEventListener(\"prerenderingchange\",p,!0),t((()=>{setTimeout((()=>{u=m()}))}))}return{get firstHiddenTime(){return u},onHidden(e){l.add(e)}}},g=e=>{document.prerendering?addEventListener(\"prerenderingchange\",(()=>e()),!0):e()},y=[1800,3e3],E=(e,s={})=>{g((()=>{const c=v();let a,d=r(\"FCP\");const f=h(\"paint\",(e=>{for(const t of e)\"first-contentful-paint\"===t.name&&(f.disconnect(),t.startTime<c.firstHiddenTime&&(d.value=Math.max(t.startTime-o(),0),d.entries.push(t),a(!0)))}));f&&(a=n(e,d,y,s.reportAllChanges),t((t=>{d=r(\"FCP\"),a=n(e,d,y,s.reportAllChanges),i((()=>{d.value=performance.now()-t.timeStamp,a(!0)}))})))}))},b=[.1,.25],L=(e,s={})=>{const o=v();E(f((()=>{let c,f=r(\"CLS\",0);const u=a(s,d),l=e=>{for(const t of e)u.h(t);u.i>f.value&&(f.value=u.i,f.entries=u.o,c())},m=h(\"layout-shift\",l);m&&(c=n(e,f,b,s.reportAllChanges),o.onHidden((()=>{l(m.takeRecords()),c(!0)})),t((()=>{u.i=0,f=r(\"CLS\",0),c=n(e,f,b,s.reportAllChanges),i((()=>c()))})),setTimeout(c))})))};let P=0,T=1/0,_=0;const M=e=>{for(const t of e)t.interactionId&&(T=Math.min(T,t.interactionId),_=Math.max(_,t.interactionId),P=_?(_-T)/7+1:0)};let w;const C=()=>w?P:performance.interactionCount??0,I=()=>{\"interactionCount\"in performance||w||(w=h(\"event\",M,{type:\"event\",buffered:!0,durationThreshold:0}))};let F=0;class k{u=[];l=new Map;m;p;v(){F=C(),this.u.length=0,this.l.clear()}L(){const e=Math.min(this.u.length-1,Math.floor((C()-F)/50));return this.u[e]}h(e){if(this.m?.(e),!e.interactionId&&\"first-input\"!==e.entryType)return;const t=this.u.at(-1);let n=this.l.get(e.interactionId);if(n||this.u.length<10||e.duration>t.P){if(n?e.duration>n.P?(n.entries=[e],n.P=e.duration):e.duration===n.P&&e.startTime===n.entries[0].startTime&&n.entries.push(e):(n={id:e.interactionId,entries:[e],P:e.duration},this.l.set(n.id,n),this.u.push(n)),this.u.sort(((e,t)=>t.P-e.P)),this.u.length>10){const e=this.u.splice(10);for(const t of e)this.l.delete(t.id)}this.p?.(n)}}}const A=e=>{const t=globalThis.requestIdleCallback||setTimeout;\"hidden\"===document.visibilityState?e():(e=f(e),addEventListener(\"visibilitychange\",e,{once:!0,capture:!0}),t((()=>{e(),removeEventListener(\"visibilitychange\",e,{capture:!0})})))},B=[200,500],S=(e,i={})=>{if(!globalThis.PerformanceEventTiming||!(\"interactionId\"in PerformanceEventTiming.prototype))return;const s=v();g((()=>{I();let o,c=r(\"INP\");const d=a(i,k),f=e=>{A((()=>{for(const t of e)d.h(t);const t=d.L();t&&t.P!==c.value&&(c.value=t.P,c.entries=t.entries,o())}))},u=h(\"event\",f,{durationThreshold:i.durationThreshold??40});o=n(e,c,B,i.reportAllChanges),u&&(u.observe({type:\"first-input\",buffered:!0}),s.onHidden((()=>{f(u.takeRecords()),o(!0)})),t((()=>{d.v(),c=r(\"INP\"),o=n(e,c,B,i.reportAllChanges)})))}))};class N{m;h(e){this.m?.(e)}}const q=[2500,4e3],x=(e,s={})=>{g((()=>{const c=v();let d,u=r(\"LCP\");const l=a(s,N),m=e=>{s.reportAllChanges||(e=e.slice(-1));for(const t of e)l.h(t),t.startTime<c.firstHiddenTime&&(u.value=Math.max(t.startTime-o(),0),u.entries=[t],d())},p=h(\"largest-contentful-paint\",m);if(p){d=n(e,u,q,s.reportAllChanges);const o=f((()=>{m(p.takeRecords()),p.disconnect(),d(!0)})),c=e=>{e.isTrusted&&(A(o),removeEventListener(e.type,c,{capture:!0}))};for(const e of[\"keydown\",\"click\",\"visibilitychange\"])addEventListener(e,c,{capture:!0});t((t=>{u=r(\"LCP\"),d=n(e,u,q,s.reportAllChanges),i((()=>{u.value=performance.now()-t.timeStamp,d(!0)}))}))}}))},H=[800,1800],O=e=>{document.prerendering?g((()=>O(e))):\"complete\"!==document.readyState?addEventListener(\"load\",(()=>O(e)),!0):setTimeout(e)},$=(e,i={})=>{let c=r(\"TTFB\"),a=n(e,c,H,i.reportAllChanges);O((()=>{const d=s();d&&(c.value=Math.max(d.responseStart-o(),0),c.entries=[d],a(!0),t((()=>{c=r(\"TTFB\",0),a=n(e,c,H,i.reportAllChanges),a(!0)})))}))};export{b as CLSThresholds,y as FCPThresholds,B as INPThresholds,q as LCPThresholds,H as TTFBThresholds,L as onCLS,E as onFCP,S as onINP,x as onLCP,$ as onTTFB};\n","import {\n EventType,\n Status,\n type IPerformanceData,\n type TOnReportPerformanceData,\n} from \"@lark-sentry/types\";\n\nimport {\n onCLS,\n onFCP,\n onINP,\n onLCP,\n onTTFB,\n type CLSMetric,\n type FCPMetric,\n type INPMetric,\n type LCPMetric,\n type TTFBMetric,\n} from \"web-vitals\";\n\nimport { getTime, isHTMLElement, metric2perfData } from \"@lark-sentry/utils\";\n\ntype TCallback = (val: number) => void;\n\nlet firstScreenPaint = 0;\nlet entries: {\n startTime: number;\n children: HTMLElement[];\n}[] = [];\nlet observer: MutationObserver | null = null;\nlet requestId = 0;\n\n// DOM 是否在视口内\n// https://developer.mozilla.org/zh-CN/docs/Web/API/Element/getBoundingClientRect\nfunction isInViewport(dom: HTMLElement) {\n const rect = dom.getBoundingClientRect();\n return (\n rect.right > 0 &&\n rect.bottom > 0 &&\n rect.left < globalThis.innerWidth &&\n rect.top < globalThis.innerHeight\n );\n}\n\nfunction getRenderTime(): number {\n if (entries.length === 0) {\n return 0;\n }\n return Math.max(...entries.map((entry) => entry.startTime));\n}\n\nfunction checkDOMChange(callback: TCallback) {\n // 取消上一个 requestAnimationFrame 传递的回调函数\n cancelAnimationFrame(requestId);\n // 请求浏览器在下一次重绘前, 调用传递的回调函数\n requestId = requestAnimationFrame(() => {\n if (document.readyState === \"complete\") {\n // 取消监听\n observer?.disconnect();\n firstScreenPaint = getRenderTime();\n entries = [];\n callback(firstScreenPaint);\n } else {\n checkDOMChange(callback);\n }\n });\n}\n\nfunction getFirstScreenPaint(callback: TCallback) {\n if (\"requestIdleCallback\" in globalThis) {\n requestIdleCallback((deadline) => {\n if (deadline.timeRemaining() > 0) {\n observeFirstScreenPaint(callback);\n }\n });\n } else {\n observeFirstScreenPaint(callback);\n }\n}\n\nfunction observeFirstScreenPaint(callback: TCallback) {\n const excludedDOMList = [\"link\", \"script\", \"style\"];\n observer = new MutationObserver((mutationList) => {\n checkDOMChange(callback);\n const entry: {\n startTime: number;\n children: HTMLElement[];\n } = { startTime: 0, children: [] };\n for (const mutation of mutationList) {\n if (!isHTMLElement(mutation.target)) {\n continue;\n }\n if (mutation.addedNodes.length && isInViewport(mutation.target)) {\n for (const node of Array.from(mutation.addedNodes)) {\n if (\n isHTMLElement(node) &&\n !excludedDOMList.includes(node.tagName.toLowerCase()) &&\n isInViewport(node)\n ) {\n entry.children.push(node);\n }\n }\n }\n }\n if (entry.children.length) {\n entries.push(entry);\n entry.startTime = performance.now();\n }\n });\n observer.observe(document, {\n childList: true,\n subtree: true,\n characterData: true,\n attributes: true,\n });\n}\n\nexport function getResourceList(): (PerformanceResourceTiming & {\n fromCache: boolean;\n})[] {\n const entryList = performance.getEntriesByType(\"resource\");\n const excludedInitiatorType = [\"fetch\", \"xmlhttprequest\", \"beacon\"];\n return entryList\n .filter((entry) => !excludedInitiatorType.includes(entry.initiatorType))\n .map((entry) => ({\n ...entry,\n fromCache: isFromCache(entry),\n }));\n}\n\nexport function isFromCache(entry: PerformanceResourceTiming): boolean {\n return (\n // transferSize 只读属性表示获取资源的大小\n // 获取资源的大小包括响应头 + 响应体\n entry.transferSize === 0 ||\n (entry.transferSize !== 0 && entry.encodedBodySize === 0)\n );\n}\n\nexport function getWebVitals(onReport: TOnReportPerformanceData) {\n onLCP((metric: LCPMetric) => {\n onReport(metric2perfData(metric));\n });\n\n onFCP((metric: FCPMetric) => {\n onReport(metric2perfData(metric));\n });\n\n onCLS((metric: CLSMetric) => {\n onReport(metric2perfData(metric));\n });\n\n onINP((metric: INPMetric) => {\n onReport(metric2perfData(metric));\n });\n\n onTTFB((metric: TTFBMetric) => {\n onReport(metric2perfData(metric));\n });\n\n getFirstScreenPaint((value: number) => {\n const perfData: IPerformanceData = {\n name: \"FSP\",\n value,\n id: crypto.randomUUID(),\n ...getTime(),\n type: EventType.Performance,\n status: Status.OK,\n message: \"First Screen Paint\",\n };\n onReport(perfData);\n });\n}\n","import {\n EventType,\n SentryPlugin,\n Status,\n type IPerformanceData,\n} from \"@lark-sentry/types\";\n\nimport reporter from \"@lark-sentry/reporter\";\n\nimport { getTime } from \"@lark-sentry/utils\";\n\nimport { getResourceList, getWebVitals } from \"./src/perf.js\";\n\nclass PerformancePlugin extends SentryPlugin {\n constructor() {\n super(EventType.Performance);\n }\n\n async init() {\n getWebVitals((data: IPerformanceData) => {\n reporter.send(data);\n });\n\n const observer = new PerformanceObserver((entryList) => {\n const longTaskData: IPerformanceData = {\n id: crypto.randomUUID(),\n name: \"LongTask\",\n type: EventType.Performance,\n ...getTime(),\n message: \"\",\n status: Status.OK,\n longTasks: entryList.getEntries(),\n };\n reporter.send(longTaskData);\n });\n observer.observe({ entryTypes: [\"longTask\".toLowerCase()] });\n\n globalThis.addEventListener(\"load\", () => {\n const resourceListData: IPerformanceData = {\n id: crypto.randomUUID(),\n name: \"ResourceList\",\n type: EventType.Performance,\n ...getTime(),\n message: \"\",\n status: Status.OK,\n resourceList: getResourceList(),\n };\n reporter.send(resourceListData);\n });\n\n if (\n \"measureUserAgentSpecificMemory\" in performance &&\n typeof performance.measureUserAgentSpecificMemory === \"function\"\n ) {\n const memoryData: IPerformanceData = {\n id: crypto.randomUUID(),\n name: \"Memory\",\n type: EventType.Performance,\n ...getTime(),\n message: \"performance.measureUserAgentSpecificMemory\",\n status: Status.OK,\n memory: await performance.measureUserAgentSpecificMemory(),\n };\n reporter.send(memoryData);\n }\n }\n}\n\nexport default PerformancePlugin;\n"],"names":["e","t","addEventListener","n","persisted","timeStamp","i","s","o","r","value","delta","rating","requestAnimationFrame","performance","getEntriesByType","responseStart","now","activationStart","document","prerendering","wasDiscarded","type","replace","name","entries","id","Date","Math","floor","random","navigationType","c","WeakMap","a","get","set","d","h","hadRecentInput","this","at","startTime","push","PerformanceObserver","supportedEntryTypes","includes","Promise","resolve","then","getEntries","observe","buffered","f","u","l","Set","m","visibilityState","p","isFinite","removeEventListener","v","globalThis","filter","setTimeout","firstHiddenTime","onHidden","add","g","y","E","disconnect","max","reportAllChanges","b","P","T","_","M","interactionId","min","w","C","interactionCount","F","k","Map","length","clear","L","entryType","duration","sort","splice","delete","A","requestIdleCallback","once","capture","B","S","PerformanceEventTiming","prototype","durationThreshold","takeRecords","N","q","H","O","readyState","firstScreenPaint","observer","requestId","isInViewport","dom","rect","getBoundingClientRect","right","bottom","left","innerWidth","top","innerHeight","checkDOMChange","callback","cancelAnimationFrame","map","entry","observeFirstScreenPaint","excludedDOMList","MutationObserver","mutationList","children","mutation","isHTMLElement","target","addedNodes","node","Array","from","tagName","toLowerCase","childList","subtree","characterData","attributes","getResourceList","entryList","excludedInitiatorType","initiatorType","fromCache","isFromCache","transferSize","encodedBodySize","getWebVitals","onReport","slice","isTrusted","onLCP","metric","metric2perfData","onFCP","onCLS","onINP","onTTFB","perfData","crypto","randomUUID","getTime","EventType","Performance","status","Status","OK","message","deadline","timeRemaining","PerformancePlugin","SentryPlugin","constructor","super","init","data","reporter","send","longTaskData","longTasks","entryTypes","resourceListData","resourceList","measureUserAgentSpecificMemory","memoryData","memory"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.min.cjs","sources":["../../../node_modules/.pnpm/web-vitals@5.1.0/node_modules/web-vitals/dist/web-vitals.js","../src/perf.ts","../index.ts"],"sourcesContent":["let e=-1;const t=t=>{addEventListener(\"pageshow\",(n=>{n.persisted&&(e=n.timeStamp,t(n))}),!0)},n=(e,t,n,i)=>{let s,o;return r=>{t.value>=0&&(r||i)&&(o=t.value-(s??0),(o||void 0===s)&&(s=t.value,t.delta=o,t.rating=((e,t)=>e>t[1]?\"poor\":e>t[0]?\"needs-improvement\":\"good\")(t.value,n),e(t)))}},i=e=>{requestAnimationFrame((()=>requestAnimationFrame((()=>e()))))},s=()=>{const e=performance.getEntriesByType(\"navigation\")[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},o=()=>{const e=s();return e?.activationStart??0},r=(t,n=-1)=>{const i=s();let r=\"navigate\";e>=0?r=\"back-forward-cache\":i&&(document.prerendering||o()>0?r=\"prerender\":document.wasDiscarded?r=\"restore\":i.type&&(r=i.type.replace(/_/g,\"-\")));return{name:t,value:n,rating:\"good\",delta:0,entries:[],id:`v5-${Date.now()}-${Math.floor(8999999999999*Math.random())+1e12}`,navigationType:r}},c=new WeakMap;function a(e,t){return c.get(e)||c.set(e,new t),c.get(e)}class d{t;i=0;o=[];h(e){if(e.hadRecentInput)return;const t=this.o[0],n=this.o.at(-1);this.i&&t&&n&&e.startTime-n.startTime<1e3&&e.startTime-t.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),this.t?.(e)}}const h=(e,t,n={})=>{try{if(PerformanceObserver.supportedEntryTypes.includes(e)){const i=new PerformanceObserver((e=>{Promise.resolve().then((()=>{t(e.getEntries())}))}));return i.observe({type:e,buffered:!0,...n}),i}}catch{}},f=e=>{let t=!1;return()=>{t||(e(),t=!0)}};let u=-1;const l=new Set,m=()=>\"hidden\"!==document.visibilityState||document.prerendering?1/0:0,p=e=>{if(\"hidden\"===document.visibilityState){if(\"visibilitychange\"===e.type)for(const e of l)e();isFinite(u)||(u=\"visibilitychange\"===e.type?e.timeStamp:0,removeEventListener(\"prerenderingchange\",p,!0))}},v=()=>{if(u<0){const e=o(),n=document.prerendering?void 0:globalThis.performance.getEntriesByType(\"visibility-state\").filter((t=>\"hidden\"===t.name&&t.startTime>e))[0]?.startTime;u=n??m(),addEventListener(\"visibilitychange\",p,!0),addEventListener(\"prerenderingchange\",p,!0),t((()=>{setTimeout((()=>{u=m()}))}))}return{get firstHiddenTime(){return u},onHidden(e){l.add(e)}}},g=e=>{document.prerendering?addEventListener(\"prerenderingchange\",(()=>e()),!0):e()},y=[1800,3e3],E=(e,s={})=>{g((()=>{const c=v();let a,d=r(\"FCP\");const f=h(\"paint\",(e=>{for(const t of e)\"first-contentful-paint\"===t.name&&(f.disconnect(),t.startTime<c.firstHiddenTime&&(d.value=Math.max(t.startTime-o(),0),d.entries.push(t),a(!0)))}));f&&(a=n(e,d,y,s.reportAllChanges),t((t=>{d=r(\"FCP\"),a=n(e,d,y,s.reportAllChanges),i((()=>{d.value=performance.now()-t.timeStamp,a(!0)}))})))}))},b=[.1,.25],L=(e,s={})=>{const o=v();E(f((()=>{let c,f=r(\"CLS\",0);const u=a(s,d),l=e=>{for(const t of e)u.h(t);u.i>f.value&&(f.value=u.i,f.entries=u.o,c())},m=h(\"layout-shift\",l);m&&(c=n(e,f,b,s.reportAllChanges),o.onHidden((()=>{l(m.takeRecords()),c(!0)})),t((()=>{u.i=0,f=r(\"CLS\",0),c=n(e,f,b,s.reportAllChanges),i((()=>c()))})),setTimeout(c))})))};let P=0,T=1/0,_=0;const M=e=>{for(const t of e)t.interactionId&&(T=Math.min(T,t.interactionId),_=Math.max(_,t.interactionId),P=_?(_-T)/7+1:0)};let w;const C=()=>w?P:performance.interactionCount??0,I=()=>{\"interactionCount\"in performance||w||(w=h(\"event\",M,{type:\"event\",buffered:!0,durationThreshold:0}))};let F=0;class k{u=[];l=new Map;m;p;v(){F=C(),this.u.length=0,this.l.clear()}L(){const e=Math.min(this.u.length-1,Math.floor((C()-F)/50));return this.u[e]}h(e){if(this.m?.(e),!e.interactionId&&\"first-input\"!==e.entryType)return;const t=this.u.at(-1);let n=this.l.get(e.interactionId);if(n||this.u.length<10||e.duration>t.P){if(n?e.duration>n.P?(n.entries=[e],n.P=e.duration):e.duration===n.P&&e.startTime===n.entries[0].startTime&&n.entries.push(e):(n={id:e.interactionId,entries:[e],P:e.duration},this.l.set(n.id,n),this.u.push(n)),this.u.sort(((e,t)=>t.P-e.P)),this.u.length>10){const e=this.u.splice(10);for(const t of e)this.l.delete(t.id)}this.p?.(n)}}}const A=e=>{const t=globalThis.requestIdleCallback||setTimeout;\"hidden\"===document.visibilityState?e():(e=f(e),addEventListener(\"visibilitychange\",e,{once:!0,capture:!0}),t((()=>{e(),removeEventListener(\"visibilitychange\",e,{capture:!0})})))},B=[200,500],S=(e,i={})=>{if(!globalThis.PerformanceEventTiming||!(\"interactionId\"in PerformanceEventTiming.prototype))return;const s=v();g((()=>{I();let o,c=r(\"INP\");const d=a(i,k),f=e=>{A((()=>{for(const t of e)d.h(t);const t=d.L();t&&t.P!==c.value&&(c.value=t.P,c.entries=t.entries,o())}))},u=h(\"event\",f,{durationThreshold:i.durationThreshold??40});o=n(e,c,B,i.reportAllChanges),u&&(u.observe({type:\"first-input\",buffered:!0}),s.onHidden((()=>{f(u.takeRecords()),o(!0)})),t((()=>{d.v(),c=r(\"INP\"),o=n(e,c,B,i.reportAllChanges)})))}))};class N{m;h(e){this.m?.(e)}}const q=[2500,4e3],x=(e,s={})=>{g((()=>{const c=v();let d,u=r(\"LCP\");const l=a(s,N),m=e=>{s.reportAllChanges||(e=e.slice(-1));for(const t of e)l.h(t),t.startTime<c.firstHiddenTime&&(u.value=Math.max(t.startTime-o(),0),u.entries=[t],d())},p=h(\"largest-contentful-paint\",m);if(p){d=n(e,u,q,s.reportAllChanges);const o=f((()=>{m(p.takeRecords()),p.disconnect(),d(!0)})),c=e=>{e.isTrusted&&(A(o),removeEventListener(e.type,c,{capture:!0}))};for(const e of[\"keydown\",\"click\",\"visibilitychange\"])addEventListener(e,c,{capture:!0});t((t=>{u=r(\"LCP\"),d=n(e,u,q,s.reportAllChanges),i((()=>{u.value=performance.now()-t.timeStamp,d(!0)}))}))}}))},H=[800,1800],O=e=>{document.prerendering?g((()=>O(e))):\"complete\"!==document.readyState?addEventListener(\"load\",(()=>O(e)),!0):setTimeout(e)},$=(e,i={})=>{let c=r(\"TTFB\"),a=n(e,c,H,i.reportAllChanges);O((()=>{const d=s();d&&(c.value=Math.max(d.responseStart-o(),0),c.entries=[d],a(!0),t((()=>{c=r(\"TTFB\",0),a=n(e,c,H,i.reportAllChanges),a(!0)})))}))};export{b as CLSThresholds,y as FCPThresholds,B as INPThresholds,q as LCPThresholds,H as TTFBThresholds,L as onCLS,E as onFCP,S as onINP,x as onLCP,$ as onTTFB};\n","import {\n EventType,\n type IPerformanceData,\n type TOnReportPerformanceData,\n} from \"@lark-sentry/types\";\n\nimport {\n onCLS,\n onFCP,\n onINP,\n onLCP,\n onTTFB,\n type CLSMetric,\n type FCPMetric,\n type INPMetric,\n type LCPMetric,\n type TTFBMetric,\n} from \"web-vitals\";\n\nimport {\n getBaseData,\n isHTMLElement,\n metric2perfData,\n} from \"@lark-sentry/utils\";\n\ntype TCallback = (val: number) => void;\n\nlet firstScreenPaint = 0;\nlet entries: {\n startTime: number;\n children: HTMLElement[];\n}[] = [];\nlet observer: MutationObserver | null = null;\nlet requestId = 0;\n\n// DOM 是否在视口内\n// https://developer.mozilla.org/zh-CN/docs/Web/API/Element/getBoundingClientRect\nfunction isInViewport(dom: HTMLElement) {\n const rect = dom.getBoundingClientRect();\n return (\n rect.right > 0 &&\n rect.bottom > 0 &&\n rect.left < globalThis.innerWidth &&\n rect.top < globalThis.innerHeight\n );\n}\n\nfunction getRenderTime(): number {\n if (entries.length === 0) {\n return 0;\n }\n return Math.max(...entries.map((entry) => entry.startTime));\n}\n\nfunction checkDOMChange(callback: TCallback) {\n // 取消上一个 requestAnimationFrame 传递的回调函数\n cancelAnimationFrame(requestId);\n // 请求浏览器在下一次重绘前, 调用传递的回调函数\n requestId = requestAnimationFrame(() => {\n if (document.readyState === \"complete\") {\n // 取消监听\n observer?.disconnect();\n firstScreenPaint = getRenderTime();\n entries = [];\n callback(firstScreenPaint);\n } else {\n checkDOMChange(callback);\n }\n });\n}\n\nfunction getFirstScreenPaint(callback: TCallback) {\n if (\"requestIdleCallback\" in globalThis) {\n requestIdleCallback((deadline) => {\n if (deadline.timeRemaining() > 0) {\n observeFirstScreenPaint(callback);\n }\n });\n } else {\n observeFirstScreenPaint(callback);\n }\n}\n\nfunction observeFirstScreenPaint(callback: TCallback) {\n const excludedDOMList = [\"link\", \"script\", \"style\"];\n observer = new MutationObserver((mutationList) => {\n checkDOMChange(callback);\n const entry: {\n startTime: number;\n children: HTMLElement[];\n } = { startTime: 0, children: [] };\n for (const mutation of mutationList) {\n if (!isHTMLElement(mutation.target)) {\n continue;\n }\n if (mutation.addedNodes.length && isInViewport(mutation.target)) {\n for (const node of Array.from(mutation.addedNodes)) {\n if (\n isHTMLElement(node) &&\n !excludedDOMList.includes(node.tagName.toLowerCase()) &&\n isInViewport(node)\n ) {\n entry.children.push(node);\n }\n }\n }\n }\n if (entry.children.length) {\n entries.push(entry);\n entry.startTime = performance.now();\n }\n });\n observer.observe(document, {\n childList: true,\n subtree: true,\n characterData: true,\n attributes: true,\n });\n}\n\nexport function getResourceList(): (PerformanceResourceTiming & {\n fromCache: boolean;\n})[] {\n const entryList = performance.getEntriesByType(\"resource\");\n const excludedInitiatorType = [\"fetch\", \"xmlhttprequest\", \"beacon\"];\n return entryList\n .filter((entry) => !excludedInitiatorType.includes(entry.initiatorType))\n .map((entry) => ({\n ...entry,\n fromCache: isFromCache(entry),\n }));\n}\n\nexport function isFromCache(entry: PerformanceResourceTiming): boolean {\n return (\n // transferSize 只读属性表示获取资源的大小\n // 获取资源的大小包括响应头 + 响应体\n entry.transferSize === 0 ||\n (entry.transferSize !== 0 && entry.encodedBodySize === 0)\n );\n}\n\nexport function getWebVitals(onReport: TOnReportPerformanceData) {\n onLCP((metric: LCPMetric) => {\n onReport(metric2perfData(metric));\n });\n\n onFCP((metric: FCPMetric) => {\n onReport(metric2perfData(metric));\n });\n\n onCLS((metric: CLSMetric) => {\n onReport(metric2perfData(metric));\n });\n\n onINP((metric: INPMetric) => {\n onReport(metric2perfData(metric));\n });\n\n onTTFB((metric: TTFBMetric) => {\n onReport(metric2perfData(metric));\n });\n\n getFirstScreenPaint((value: number) => {\n const perfData: IPerformanceData = {\n ...getBaseData(),\n name: \"FSP\",\n value,\n type: EventType.Performance,\n message: \"First Screen Paint\",\n };\n onReport(perfData);\n });\n}\n","import {\n EventType,\n SentryPlugin,\n type IPerformanceData,\n} from \"@lark-sentry/types\";\n\nimport reporter from \"@lark-sentry/reporter\";\n\nimport { getBaseData } from \"@lark-sentry/utils\";\n\nimport { getResourceList, getWebVitals } from \"./src/perf.js\";\n\nclass PerformancePlugin extends SentryPlugin {\n constructor() {\n super(EventType.Performance);\n }\n\n async init() {\n getWebVitals((data: IPerformanceData) => {\n reporter.send(data);\n });\n\n const observer = new PerformanceObserver((entryList) => {\n const longTaskData: IPerformanceData = {\n ...getBaseData(),\n name: \"LongTask\",\n type: EventType.Performance,\n longTasks: entryList.getEntries(),\n };\n reporter.send(longTaskData);\n });\n observer.observe({ entryTypes: [\"longTask\".toLowerCase()] });\n\n globalThis.addEventListener(\"load\", () => {\n const resourceListData: IPerformanceData = {\n ...getBaseData(),\n name: \"ResourceList\",\n type: EventType.Performance,\n resourceList: getResourceList(),\n };\n reporter.send(resourceListData);\n });\n\n if (\n \"measureUserAgentSpecificMemory\" in performance &&\n typeof performance.measureUserAgentSpecificMemory === \"function\"\n ) {\n const memoryData: IPerformanceData = {\n ...getBaseData(),\n name: \"Memory\",\n type: EventType.Performance,\n message: \"performance.measureUserAgentSpecificMemory\",\n memory: await performance.measureUserAgentSpecificMemory(),\n };\n reporter.send(memoryData);\n }\n }\n}\n\nexport default PerformancePlugin;\n"],"names":["e","t","addEventListener","n","persisted","timeStamp","i","s","o","r","value","delta","rating","requestAnimationFrame","performance","getEntriesByType","responseStart","now","activationStart","document","prerendering","wasDiscarded","type","replace","name","entries","id","Date","Math","floor","random","navigationType","c","WeakMap","a","get","set","d","h","hadRecentInput","this","at","startTime","push","PerformanceObserver","supportedEntryTypes","includes","Promise","resolve","then","getEntries","observe","buffered","f","u","l","Set","m","visibilityState","p","isFinite","removeEventListener","v","globalThis","filter","setTimeout","firstHiddenTime","onHidden","add","g","y","E","disconnect","max","reportAllChanges","b","P","T","_","M","interactionId","min","w","C","interactionCount","F","k","Map","length","clear","L","entryType","duration","sort","splice","delete","A","requestIdleCallback","once","capture","B","S","PerformanceEventTiming","prototype","durationThreshold","takeRecords","N","q","H","O","readyState","firstScreenPaint","observer","requestId","isInViewport","dom","rect","getBoundingClientRect","right","bottom","left","innerWidth","top","innerHeight","checkDOMChange","callback","cancelAnimationFrame","map","entry","observeFirstScreenPaint","excludedDOMList","MutationObserver","mutationList","children","mutation","isHTMLElement","target","addedNodes","node","Array","from","tagName","toLowerCase","childList","subtree","characterData","attributes","getResourceList","entryList","excludedInitiatorType","initiatorType","fromCache","isFromCache","transferSize","encodedBodySize","getWebVitals","onReport","slice","isTrusted","onLCP","metric","metric2perfData","onFCP","onCLS","onINP","onTTFB","perfData","getBaseData","EventType","Performance","message","deadline","timeRemaining","PerformancePlugin","SentryPlugin","constructor","super","init","data","reporter","send","longTaskData","longTasks","entryTypes","resourceListData","resourceList","measureUserAgentSpecificMemory","memoryData","memory"],"mappings":"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","x_google_ignoreList":[0]}
package/dist/index.min.js CHANGED
@@ -1,2 +1,2 @@
1
- import{Status as e,EventType as t,SentryPlugin as n}from"@lark-sentry/types";import r from"@lark-sentry/reporter";import{isHTMLElement as i,metric2perfData as s,getTime as o}from"@lark-sentry/utils";let a=-1;const c=e=>{addEventListener("pageshow",t=>{t.persisted&&(a=t.timeStamp,e(t))},!0)},l=(e,t,n,r)=>{let i,s;return o=>{t.value>=0&&(o||r)&&(s=t.value-(i??0),(s||void 0===i)&&(i=t.value,t.delta=s,t.rating=((e,t)=>e>t[1]?"poor":e>t[0]?"needs-improvement":"good")(t.value,n),e(t)))}},d=e=>{requestAnimationFrame(()=>requestAnimationFrame(()=>e()))},m=()=>{const e=performance.getEntriesByType("navigation")[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},u=()=>{const e=m();return e?.activationStart??0},p=(e,t=-1)=>{const n=m();let r="navigate";return a>=0?r="back-forward-cache":n&&(document.prerendering||u()>0?r="prerender":document.wasDiscarded?r="restore":n.type&&(r=n.type.replace(/_/g,"-"))),{name:e,value:t,rating:"good",delta:0,entries:[],id:`v5-${Date.now()}-${Math.floor(8999999999999*Math.random())+1e12}`,navigationType:r}},h=new WeakMap;function f(e,t){return h.get(e)||h.set(e,new t),h.get(e)}class g{t;i=0;o=[];h(e){if(e.hadRecentInput)return;const t=this.o[0],n=this.o.at(-1);this.i&&t&&n&&e.startTime-n.startTime<1e3&&e.startTime-t.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),this.t?.(e)}}const v=(e,t,n={})=>{try{if(PerformanceObserver.supportedEntryTypes.includes(e)){const r=new PerformanceObserver(e=>{Promise.resolve().then(()=>{t(e.getEntries())})});return r.observe({type:e,buffered:!0,...n}),r}}catch{}},y=e=>{let t=!1;return()=>{t||(e(),t=!0)}};let T=-1;const b=new Set,P=()=>"hidden"!==document.visibilityState||document.prerendering?1/0:0,C=e=>{if("hidden"===document.visibilityState){if("visibilitychange"===e.type)for(const e of b)e();isFinite(T)||(T="visibilitychange"===e.type?e.timeStamp:0,removeEventListener("prerenderingchange",C,!0))}},S=()=>{if(T<0){const e=u(),t=document.prerendering?void 0:globalThis.performance.getEntriesByType("visibility-state").filter(t=>"hidden"===t.name&&t.startTime>e)[0]?.startTime;T=t??P(),addEventListener("visibilitychange",C,!0),addEventListener("prerenderingchange",C,!0),c(()=>{setTimeout(()=>{T=P()})})}return{get firstHiddenTime(){return T},onHidden(e){b.add(e)}}},L=e=>{document.prerendering?addEventListener("prerenderingchange",()=>e(),!0):e()},A=[1800,3e3],w=(e,t={})=>{L(()=>{const n=S();let r,i=p("FCP");const s=v("paint",e=>{for(const t of e)"first-contentful-paint"===t.name&&(s.disconnect(),t.startTime<n.firstHiddenTime&&(i.value=Math.max(t.startTime-u(),0),i.entries.push(t),r(!0)))});s&&(r=l(e,i,A,t.reportAllChanges),c(n=>{i=p("FCP"),r=l(e,i,A,t.reportAllChanges),d(()=>{i.value=performance.now()-n.timeStamp,r(!0)})}))})},E=[.1,.25];let M=0,k=1/0,I=0;const U=e=>{for(const t of e)t.interactionId&&(k=Math.min(k,t.interactionId),I=Math.max(I,t.interactionId),M=I?(I-k)/7+1:0)};let F;const x=()=>F?M:performance.interactionCount??0;let O=0;class q{u=[];l=new Map;m;p;v(){O=x(),this.u.length=0,this.l.clear()}L(){const e=Math.min(this.u.length-1,Math.floor((x()-O)/50));return this.u[e]}h(e){if(this.m?.(e),!e.interactionId&&"first-input"!==e.entryType)return;const t=this.u.at(-1);let n=this.l.get(e.interactionId);if(n||this.u.length<10||e.duration>t.P){if(n?e.duration>n.P?(n.entries=[e],n.P=e.duration):e.duration===n.P&&e.startTime===n.entries[0].startTime&&n.entries.push(e):(n={id:e.interactionId,entries:[e],P:e.duration},this.l.set(n.id,n),this.u.push(n)),this.u.sort((e,t)=>t.P-e.P),this.u.length>10){const e=this.u.splice(10);for(const t of e)this.l.delete(t.id)}this.p?.(n)}}}const B=e=>{const t=globalThis.requestIdleCallback||setTimeout;"hidden"===document.visibilityState?e():(e=y(e),addEventListener("visibilitychange",e,{once:!0,capture:!0}),t(()=>{e(),removeEventListener("visibilitychange",e,{capture:!0})}))},D=[200,500],H=(e,t={})=>{if(!globalThis.PerformanceEventTiming||!("interactionId"in PerformanceEventTiming.prototype))return;const n=S();L(()=>{"interactionCount"in performance||F||(F=v("event",U,{type:"event",buffered:!0,durationThreshold:0}));let r,i=p("INP");const s=f(t,q),o=e=>{B(()=>{for(const t of e)s.h(t);const t=s.L();t&&t.P!==i.value&&(i.value=t.P,i.entries=t.entries,r())})},a=v("event",o,{durationThreshold:t.durationThreshold??40});r=l(e,i,D,t.reportAllChanges),a&&(a.observe({type:"first-input",buffered:!0}),n.onHidden(()=>{o(a.takeRecords()),r(!0)}),c(()=>{s.v(),i=p("INP"),r=l(e,i,D,t.reportAllChanges)}))})};class R{m;h(e){this.m?.(e)}}const N=[2500,4e3],K=[800,1800],z=e=>{document.prerendering?L(()=>z(e)):"complete"!==document.readyState?addEventListener("load",()=>z(e),!0):setTimeout(e)};let W=0,$=[],_=null,j=0;function G(e){const t=e.getBoundingClientRect();return t.right>0&&t.bottom>0&&t.left<globalThis.innerWidth&&t.top<globalThis.innerHeight}function J(e){cancelAnimationFrame(j),j=requestAnimationFrame(()=>{"complete"===document.readyState?(_?.disconnect(),W=0===$.length?0:Math.max(...$.map(e=>e.startTime)),$=[],e(W)):J(e)})}function Q(e){const t=["link","script","style"];_=new MutationObserver(n=>{J(e);const r={startTime:0,children:[]};for(const e of n)if(i(e.target)&&e.addedNodes.length&&G(e.target))for(const n of Array.from(e.addedNodes))i(n)&&!t.includes(n.tagName.toLowerCase())&&G(n)&&r.children.push(n);r.children.length&&($.push(r),r.startTime=performance.now())}),_.observe(document,{childList:!0,subtree:!0,characterData:!0,attributes:!0})}function V(){const e=performance.getEntriesByType("resource"),t=["fetch","xmlhttprequest","beacon"];return e.filter(e=>!t.includes(e.initiatorType)).map(e=>({...e,fromCache:X(e)}))}function X(e){return 0===e.transferSize||0!==e.transferSize&&0===e.encodedBodySize}function Y(n){var r;((e,t={})=>{L(()=>{const n=S();let r,i=p("LCP");const s=f(t,R),o=e=>{t.reportAllChanges||(e=e.slice(-1));for(const t of e)s.h(t),t.startTime<n.firstHiddenTime&&(i.value=Math.max(t.startTime-u(),0),i.entries=[t],r())},a=v("largest-contentful-paint",o);if(a){r=l(e,i,N,t.reportAllChanges);const n=y(()=>{o(a.takeRecords()),a.disconnect(),r(!0)}),s=e=>{e.isTrusted&&(B(n),removeEventListener(e.type,s,{capture:!0}))};for(const e of["keydown","click","visibilitychange"])addEventListener(e,s,{capture:!0});c(n=>{i=p("LCP"),r=l(e,i,N,t.reportAllChanges),d(()=>{i.value=performance.now()-n.timeStamp,r(!0)})})}})})(e=>{n(s(e))}),w(e=>{n(s(e))}),((e,t={})=>{const n=S();w(y(()=>{let r,i=p("CLS",0);const s=f(t,g),o=e=>{for(const t of e)s.h(t);s.i>i.value&&(i.value=s.i,i.entries=s.o,r())},a=v("layout-shift",o);a&&(r=l(e,i,E,t.reportAllChanges),n.onHidden(()=>{o(a.takeRecords()),r(!0)}),c(()=>{s.i=0,i=p("CLS",0),r=l(e,i,E,t.reportAllChanges),d(()=>r())}),setTimeout(r))}))})(e=>{n(s(e))}),H(e=>{n(s(e))}),((e,t={})=>{let n=p("TTFB"),r=l(e,n,K,t.reportAllChanges);z(()=>{const i=m();i&&(n.value=Math.max(i.responseStart-u(),0),n.entries=[i],r(!0),c(()=>{n=p("TTFB",0),r=l(e,n,K,t.reportAllChanges),r(!0)}))})})(e=>{n(s(e))}),r=r=>{const i={name:"FSP",value:r,id:crypto.randomUUID(),...o(),type:t.Performance,status:e.OK,message:"First Screen Paint"};n(i)},"requestIdleCallback"in globalThis?requestIdleCallback(e=>{e.timeRemaining()>0&&Q(r)}):Q(r)}class Z extends n{constructor(){super(t.Performance)}async init(){Y(e=>{r.send(e)});if(new PerformanceObserver(n=>{const i={id:crypto.randomUUID(),name:"LongTask",type:t.Performance,...o(),message:"",status:e.OK,longTasks:n.getEntries()};r.send(i)}).observe({entryTypes:["longTask".toLowerCase()]}),globalThis.addEventListener("load",()=>{const n={id:crypto.randomUUID(),name:"ResourceList",type:t.Performance,...o(),message:"",status:e.OK,resourceList:V()};r.send(n)}),"measureUserAgentSpecificMemory"in performance&&"function"==typeof performance.measureUserAgentSpecificMemory){const n={id:crypto.randomUUID(),name:"Memory",type:t.Performance,...o(),message:"performance.measureUserAgentSpecificMemory",status:e.OK,memory:await performance.measureUserAgentSpecificMemory()};r.send(n)}}}export{Z as default};
1
+ import{EventType as e,SentryPlugin as t}from"@lark-sentry/types";import n from"@lark-sentry/reporter";import{isHTMLElement as r,metric2perfData as i,getBaseData as s}from"@lark-sentry/utils";let o=-1;const a=e=>{addEventListener("pageshow",t=>{t.persisted&&(o=t.timeStamp,e(t))},!0)},c=(e,t,n,r)=>{let i,s;return o=>{t.value>=0&&(o||r)&&(s=t.value-(i??0),(s||void 0===i)&&(i=t.value,t.delta=s,t.rating=((e,t)=>e>t[1]?"poor":e>t[0]?"needs-improvement":"good")(t.value,n),e(t)))}},l=e=>{requestAnimationFrame(()=>requestAnimationFrame(()=>e()))},d=()=>{const e=performance.getEntriesByType("navigation")[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},m=()=>{const e=d();return e?.activationStart??0},u=(e,t=-1)=>{const n=d();let r="navigate";return o>=0?r="back-forward-cache":n&&(document.prerendering||m()>0?r="prerender":document.wasDiscarded?r="restore":n.type&&(r=n.type.replace(/_/g,"-"))),{name:e,value:t,rating:"good",delta:0,entries:[],id:`v5-${Date.now()}-${Math.floor(8999999999999*Math.random())+1e12}`,navigationType:r}},p=new WeakMap;function h(e,t){return p.get(e)||p.set(e,new t),p.get(e)}class f{t;i=0;o=[];h(e){if(e.hadRecentInput)return;const t=this.o[0],n=this.o.at(-1);this.i&&t&&n&&e.startTime-n.startTime<1e3&&e.startTime-t.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),this.t?.(e)}}const g=(e,t,n={})=>{try{if(PerformanceObserver.supportedEntryTypes.includes(e)){const r=new PerformanceObserver(e=>{Promise.resolve().then(()=>{t(e.getEntries())})});return r.observe({type:e,buffered:!0,...n}),r}}catch{}},v=e=>{let t=!1;return()=>{t||(e(),t=!0)}};let y=-1;const T=new Set,b=()=>"hidden"!==document.visibilityState||document.prerendering?1/0:0,P=e=>{if("hidden"===document.visibilityState){if("visibilitychange"===e.type)for(const e of T)e();isFinite(y)||(y="visibilitychange"===e.type?e.timeStamp:0,removeEventListener("prerenderingchange",P,!0))}},C=()=>{if(y<0){const e=m(),t=document.prerendering?void 0:globalThis.performance.getEntriesByType("visibility-state").filter(t=>"hidden"===t.name&&t.startTime>e)[0]?.startTime;y=t??b(),addEventListener("visibilitychange",P,!0),addEventListener("prerenderingchange",P,!0),a(()=>{setTimeout(()=>{y=b()})})}return{get firstHiddenTime(){return y},onHidden(e){T.add(e)}}},S=e=>{document.prerendering?addEventListener("prerenderingchange",()=>e(),!0):e()},L=[1800,3e3],A=(e,t={})=>{S(()=>{const n=C();let r,i=u("FCP");const s=g("paint",e=>{for(const t of e)"first-contentful-paint"===t.name&&(s.disconnect(),t.startTime<n.firstHiddenTime&&(i.value=Math.max(t.startTime-m(),0),i.entries.push(t),r(!0)))});s&&(r=c(e,i,L,t.reportAllChanges),a(n=>{i=u("FCP"),r=c(e,i,L,t.reportAllChanges),l(()=>{i.value=performance.now()-n.timeStamp,r(!0)})}))})},w=[.1,.25];let E=0,M=1/0,k=0;const I=e=>{for(const t of e)t.interactionId&&(M=Math.min(M,t.interactionId),k=Math.max(k,t.interactionId),E=k?(k-M)/7+1:0)};let F;const x=()=>F?E:performance.interactionCount??0;let q=0;class B{u=[];l=new Map;m;p;v(){q=x(),this.u.length=0,this.l.clear()}L(){const e=Math.min(this.u.length-1,Math.floor((x()-q)/50));return this.u[e]}h(e){if(this.m?.(e),!e.interactionId&&"first-input"!==e.entryType)return;const t=this.u.at(-1);let n=this.l.get(e.interactionId);if(n||this.u.length<10||e.duration>t.P){if(n?e.duration>n.P?(n.entries=[e],n.P=e.duration):e.duration===n.P&&e.startTime===n.entries[0].startTime&&n.entries.push(e):(n={id:e.interactionId,entries:[e],P:e.duration},this.l.set(n.id,n),this.u.push(n)),this.u.sort((e,t)=>t.P-e.P),this.u.length>10){const e=this.u.splice(10);for(const t of e)this.l.delete(t.id)}this.p?.(n)}}}const H=e=>{const t=globalThis.requestIdleCallback||setTimeout;"hidden"===document.visibilityState?e():(e=v(e),addEventListener("visibilitychange",e,{once:!0,capture:!0}),t(()=>{e(),removeEventListener("visibilitychange",e,{capture:!0})}))},R=[200,500],N=(e,t={})=>{if(!globalThis.PerformanceEventTiming||!("interactionId"in PerformanceEventTiming.prototype))return;const n=C();S(()=>{"interactionCount"in performance||F||(F=g("event",I,{type:"event",buffered:!0,durationThreshold:0}));let r,i=u("INP");const s=h(t,B),o=e=>{H(()=>{for(const t of e)s.h(t);const t=s.L();t&&t.P!==i.value&&(i.value=t.P,i.entries=t.entries,r())})},l=g("event",o,{durationThreshold:t.durationThreshold??40});r=c(e,i,R,t.reportAllChanges),l&&(l.observe({type:"first-input",buffered:!0}),n.onHidden(()=>{o(l.takeRecords()),r(!0)}),a(()=>{s.v(),i=u("INP"),r=c(e,i,R,t.reportAllChanges)}))})};class O{m;h(e){this.m?.(e)}}const U=[2500,4e3],z=[800,1800],D=e=>{document.prerendering?S(()=>D(e)):"complete"!==document.readyState?addEventListener("load",()=>D(e),!0):setTimeout(e)};let W=0,$=[],_=null,j=0;function G(e){const t=e.getBoundingClientRect();return t.right>0&&t.bottom>0&&t.left<globalThis.innerWidth&&t.top<globalThis.innerHeight}function J(e){cancelAnimationFrame(j),j=requestAnimationFrame(()=>{"complete"===document.readyState?(_?.disconnect(),W=0===$.length?0:Math.max(...$.map(e=>e.startTime)),$=[],e(W)):J(e)})}function K(e){const t=["link","script","style"];_=new MutationObserver(n=>{J(e);const i={startTime:0,children:[]};for(const e of n)if(r(e.target)&&e.addedNodes.length&&G(e.target))for(const n of Array.from(e.addedNodes))r(n)&&!t.includes(n.tagName.toLowerCase())&&G(n)&&i.children.push(n);i.children.length&&($.push(i),i.startTime=performance.now())}),_.observe(document,{childList:!0,subtree:!0,characterData:!0,attributes:!0})}function Q(){const e=performance.getEntriesByType("resource"),t=["fetch","xmlhttprequest","beacon"];return e.filter(e=>!t.includes(e.initiatorType)).map(e=>({...e,fromCache:V(e)}))}function V(e){return 0===e.transferSize||0!==e.transferSize&&0===e.encodedBodySize}function X(t){var n;((e,t={})=>{S(()=>{const n=C();let r,i=u("LCP");const s=h(t,O),o=e=>{t.reportAllChanges||(e=e.slice(-1));for(const t of e)s.h(t),t.startTime<n.firstHiddenTime&&(i.value=Math.max(t.startTime-m(),0),i.entries=[t],r())},d=g("largest-contentful-paint",o);if(d){r=c(e,i,U,t.reportAllChanges);const n=v(()=>{o(d.takeRecords()),d.disconnect(),r(!0)}),s=e=>{e.isTrusted&&(H(n),removeEventListener(e.type,s,{capture:!0}))};for(const e of["keydown","click","visibilitychange"])addEventListener(e,s,{capture:!0});a(n=>{i=u("LCP"),r=c(e,i,U,t.reportAllChanges),l(()=>{i.value=performance.now()-n.timeStamp,r(!0)})})}})})(e=>{t(i(e))}),A(e=>{t(i(e))}),((e,t={})=>{const n=C();A(v(()=>{let r,i=u("CLS",0);const s=h(t,f),o=e=>{for(const t of e)s.h(t);s.i>i.value&&(i.value=s.i,i.entries=s.o,r())},d=g("layout-shift",o);d&&(r=c(e,i,w,t.reportAllChanges),n.onHidden(()=>{o(d.takeRecords()),r(!0)}),a(()=>{s.i=0,i=u("CLS",0),r=c(e,i,w,t.reportAllChanges),l(()=>r())}),setTimeout(r))}))})(e=>{t(i(e))}),N(e=>{t(i(e))}),((e,t={})=>{let n=u("TTFB"),r=c(e,n,z,t.reportAllChanges);D(()=>{const i=d();i&&(n.value=Math.max(i.responseStart-m(),0),n.entries=[i],r(!0),a(()=>{n=u("TTFB",0),r=c(e,n,z,t.reportAllChanges),r(!0)}))})})(e=>{t(i(e))}),n=n=>{const r={...s(),name:"FSP",value:n,type:e.Performance,message:"First Screen Paint"};t(r)},"requestIdleCallback"in globalThis?requestIdleCallback(e=>{e.timeRemaining()>0&&K(n)}):K(n)}class Y extends t{constructor(){super(e.Performance)}async init(){X(e=>{n.send(e)});if(new PerformanceObserver(t=>{const r={...s(),name:"LongTask",type:e.Performance,longTasks:t.getEntries()};n.send(r)}).observe({entryTypes:["longTask".toLowerCase()]}),globalThis.addEventListener("load",()=>{const t={...s(),name:"ResourceList",type:e.Performance,resourceList:Q()};n.send(t)}),"measureUserAgentSpecificMemory"in performance&&"function"==typeof performance.measureUserAgentSpecificMemory){const t={...s(),name:"Memory",type:e.Performance,message:"performance.measureUserAgentSpecificMemory",memory:await performance.measureUserAgentSpecificMemory()};n.send(t)}}}export{Y as default};
2
2
  //# sourceMappingURL=index.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.min.js","sources":["../../../node_modules/.pnpm/web-vitals@5.1.0/node_modules/web-vitals/dist/web-vitals.js","../src/perf.ts","../index.ts"],"sourcesContent":["let e=-1;const t=t=>{addEventListener(\"pageshow\",(n=>{n.persisted&&(e=n.timeStamp,t(n))}),!0)},n=(e,t,n,i)=>{let s,o;return r=>{t.value>=0&&(r||i)&&(o=t.value-(s??0),(o||void 0===s)&&(s=t.value,t.delta=o,t.rating=((e,t)=>e>t[1]?\"poor\":e>t[0]?\"needs-improvement\":\"good\")(t.value,n),e(t)))}},i=e=>{requestAnimationFrame((()=>requestAnimationFrame((()=>e()))))},s=()=>{const e=performance.getEntriesByType(\"navigation\")[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},o=()=>{const e=s();return e?.activationStart??0},r=(t,n=-1)=>{const i=s();let r=\"navigate\";e>=0?r=\"back-forward-cache\":i&&(document.prerendering||o()>0?r=\"prerender\":document.wasDiscarded?r=\"restore\":i.type&&(r=i.type.replace(/_/g,\"-\")));return{name:t,value:n,rating:\"good\",delta:0,entries:[],id:`v5-${Date.now()}-${Math.floor(8999999999999*Math.random())+1e12}`,navigationType:r}},c=new WeakMap;function a(e,t){return c.get(e)||c.set(e,new t),c.get(e)}class d{t;i=0;o=[];h(e){if(e.hadRecentInput)return;const t=this.o[0],n=this.o.at(-1);this.i&&t&&n&&e.startTime-n.startTime<1e3&&e.startTime-t.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),this.t?.(e)}}const h=(e,t,n={})=>{try{if(PerformanceObserver.supportedEntryTypes.includes(e)){const i=new PerformanceObserver((e=>{Promise.resolve().then((()=>{t(e.getEntries())}))}));return i.observe({type:e,buffered:!0,...n}),i}}catch{}},f=e=>{let t=!1;return()=>{t||(e(),t=!0)}};let u=-1;const l=new Set,m=()=>\"hidden\"!==document.visibilityState||document.prerendering?1/0:0,p=e=>{if(\"hidden\"===document.visibilityState){if(\"visibilitychange\"===e.type)for(const e of l)e();isFinite(u)||(u=\"visibilitychange\"===e.type?e.timeStamp:0,removeEventListener(\"prerenderingchange\",p,!0))}},v=()=>{if(u<0){const e=o(),n=document.prerendering?void 0:globalThis.performance.getEntriesByType(\"visibility-state\").filter((t=>\"hidden\"===t.name&&t.startTime>e))[0]?.startTime;u=n??m(),addEventListener(\"visibilitychange\",p,!0),addEventListener(\"prerenderingchange\",p,!0),t((()=>{setTimeout((()=>{u=m()}))}))}return{get firstHiddenTime(){return u},onHidden(e){l.add(e)}}},g=e=>{document.prerendering?addEventListener(\"prerenderingchange\",(()=>e()),!0):e()},y=[1800,3e3],E=(e,s={})=>{g((()=>{const c=v();let a,d=r(\"FCP\");const f=h(\"paint\",(e=>{for(const t of e)\"first-contentful-paint\"===t.name&&(f.disconnect(),t.startTime<c.firstHiddenTime&&(d.value=Math.max(t.startTime-o(),0),d.entries.push(t),a(!0)))}));f&&(a=n(e,d,y,s.reportAllChanges),t((t=>{d=r(\"FCP\"),a=n(e,d,y,s.reportAllChanges),i((()=>{d.value=performance.now()-t.timeStamp,a(!0)}))})))}))},b=[.1,.25],L=(e,s={})=>{const o=v();E(f((()=>{let c,f=r(\"CLS\",0);const u=a(s,d),l=e=>{for(const t of e)u.h(t);u.i>f.value&&(f.value=u.i,f.entries=u.o,c())},m=h(\"layout-shift\",l);m&&(c=n(e,f,b,s.reportAllChanges),o.onHidden((()=>{l(m.takeRecords()),c(!0)})),t((()=>{u.i=0,f=r(\"CLS\",0),c=n(e,f,b,s.reportAllChanges),i((()=>c()))})),setTimeout(c))})))};let P=0,T=1/0,_=0;const M=e=>{for(const t of e)t.interactionId&&(T=Math.min(T,t.interactionId),_=Math.max(_,t.interactionId),P=_?(_-T)/7+1:0)};let w;const C=()=>w?P:performance.interactionCount??0,I=()=>{\"interactionCount\"in performance||w||(w=h(\"event\",M,{type:\"event\",buffered:!0,durationThreshold:0}))};let F=0;class k{u=[];l=new Map;m;p;v(){F=C(),this.u.length=0,this.l.clear()}L(){const e=Math.min(this.u.length-1,Math.floor((C()-F)/50));return this.u[e]}h(e){if(this.m?.(e),!e.interactionId&&\"first-input\"!==e.entryType)return;const t=this.u.at(-1);let n=this.l.get(e.interactionId);if(n||this.u.length<10||e.duration>t.P){if(n?e.duration>n.P?(n.entries=[e],n.P=e.duration):e.duration===n.P&&e.startTime===n.entries[0].startTime&&n.entries.push(e):(n={id:e.interactionId,entries:[e],P:e.duration},this.l.set(n.id,n),this.u.push(n)),this.u.sort(((e,t)=>t.P-e.P)),this.u.length>10){const e=this.u.splice(10);for(const t of e)this.l.delete(t.id)}this.p?.(n)}}}const A=e=>{const t=globalThis.requestIdleCallback||setTimeout;\"hidden\"===document.visibilityState?e():(e=f(e),addEventListener(\"visibilitychange\",e,{once:!0,capture:!0}),t((()=>{e(),removeEventListener(\"visibilitychange\",e,{capture:!0})})))},B=[200,500],S=(e,i={})=>{if(!globalThis.PerformanceEventTiming||!(\"interactionId\"in PerformanceEventTiming.prototype))return;const s=v();g((()=>{I();let o,c=r(\"INP\");const d=a(i,k),f=e=>{A((()=>{for(const t of e)d.h(t);const t=d.L();t&&t.P!==c.value&&(c.value=t.P,c.entries=t.entries,o())}))},u=h(\"event\",f,{durationThreshold:i.durationThreshold??40});o=n(e,c,B,i.reportAllChanges),u&&(u.observe({type:\"first-input\",buffered:!0}),s.onHidden((()=>{f(u.takeRecords()),o(!0)})),t((()=>{d.v(),c=r(\"INP\"),o=n(e,c,B,i.reportAllChanges)})))}))};class N{m;h(e){this.m?.(e)}}const q=[2500,4e3],x=(e,s={})=>{g((()=>{const c=v();let d,u=r(\"LCP\");const l=a(s,N),m=e=>{s.reportAllChanges||(e=e.slice(-1));for(const t of e)l.h(t),t.startTime<c.firstHiddenTime&&(u.value=Math.max(t.startTime-o(),0),u.entries=[t],d())},p=h(\"largest-contentful-paint\",m);if(p){d=n(e,u,q,s.reportAllChanges);const o=f((()=>{m(p.takeRecords()),p.disconnect(),d(!0)})),c=e=>{e.isTrusted&&(A(o),removeEventListener(e.type,c,{capture:!0}))};for(const e of[\"keydown\",\"click\",\"visibilitychange\"])addEventListener(e,c,{capture:!0});t((t=>{u=r(\"LCP\"),d=n(e,u,q,s.reportAllChanges),i((()=>{u.value=performance.now()-t.timeStamp,d(!0)}))}))}}))},H=[800,1800],O=e=>{document.prerendering?g((()=>O(e))):\"complete\"!==document.readyState?addEventListener(\"load\",(()=>O(e)),!0):setTimeout(e)},$=(e,i={})=>{let c=r(\"TTFB\"),a=n(e,c,H,i.reportAllChanges);O((()=>{const d=s();d&&(c.value=Math.max(d.responseStart-o(),0),c.entries=[d],a(!0),t((()=>{c=r(\"TTFB\",0),a=n(e,c,H,i.reportAllChanges),a(!0)})))}))};export{b as CLSThresholds,y as FCPThresholds,B as INPThresholds,q as LCPThresholds,H as TTFBThresholds,L as onCLS,E as onFCP,S as onINP,x as onLCP,$ as onTTFB};\n","import {\n EventType,\n Status,\n type IPerformanceData,\n type TOnReportPerformanceData,\n} from \"@lark-sentry/types\";\n\nimport {\n onCLS,\n onFCP,\n onINP,\n onLCP,\n onTTFB,\n type CLSMetric,\n type FCPMetric,\n type INPMetric,\n type LCPMetric,\n type TTFBMetric,\n} from \"web-vitals\";\n\nimport { getTime, isHTMLElement, metric2perfData } from \"@lark-sentry/utils\";\n\ntype TCallback = (val: number) => void;\n\nlet firstScreenPaint = 0;\nlet entries: {\n startTime: number;\n children: HTMLElement[];\n}[] = [];\nlet observer: MutationObserver | null = null;\nlet requestId = 0;\n\n// DOM 是否在视口内\n// https://developer.mozilla.org/zh-CN/docs/Web/API/Element/getBoundingClientRect\nfunction isInViewport(dom: HTMLElement) {\n const rect = dom.getBoundingClientRect();\n return (\n rect.right > 0 &&\n rect.bottom > 0 &&\n rect.left < globalThis.innerWidth &&\n rect.top < globalThis.innerHeight\n );\n}\n\nfunction getRenderTime(): number {\n if (entries.length === 0) {\n return 0;\n }\n return Math.max(...entries.map((entry) => entry.startTime));\n}\n\nfunction checkDOMChange(callback: TCallback) {\n // 取消上一个 requestAnimationFrame 传递的回调函数\n cancelAnimationFrame(requestId);\n // 请求浏览器在下一次重绘前, 调用传递的回调函数\n requestId = requestAnimationFrame(() => {\n if (document.readyState === \"complete\") {\n // 取消监听\n observer?.disconnect();\n firstScreenPaint = getRenderTime();\n entries = [];\n callback(firstScreenPaint);\n } else {\n checkDOMChange(callback);\n }\n });\n}\n\nfunction getFirstScreenPaint(callback: TCallback) {\n if (\"requestIdleCallback\" in globalThis) {\n requestIdleCallback((deadline) => {\n if (deadline.timeRemaining() > 0) {\n observeFirstScreenPaint(callback);\n }\n });\n } else {\n observeFirstScreenPaint(callback);\n }\n}\n\nfunction observeFirstScreenPaint(callback: TCallback) {\n const excludedDOMList = [\"link\", \"script\", \"style\"];\n observer = new MutationObserver((mutationList) => {\n checkDOMChange(callback);\n const entry: {\n startTime: number;\n children: HTMLElement[];\n } = { startTime: 0, children: [] };\n for (const mutation of mutationList) {\n if (!isHTMLElement(mutation.target)) {\n continue;\n }\n if (mutation.addedNodes.length && isInViewport(mutation.target)) {\n for (const node of Array.from(mutation.addedNodes)) {\n if (\n isHTMLElement(node) &&\n !excludedDOMList.includes(node.tagName.toLowerCase()) &&\n isInViewport(node)\n ) {\n entry.children.push(node);\n }\n }\n }\n }\n if (entry.children.length) {\n entries.push(entry);\n entry.startTime = performance.now();\n }\n });\n observer.observe(document, {\n childList: true,\n subtree: true,\n characterData: true,\n attributes: true,\n });\n}\n\nexport function getResourceList(): (PerformanceResourceTiming & {\n fromCache: boolean;\n})[] {\n const entryList = performance.getEntriesByType(\"resource\");\n const excludedInitiatorType = [\"fetch\", \"xmlhttprequest\", \"beacon\"];\n return entryList\n .filter((entry) => !excludedInitiatorType.includes(entry.initiatorType))\n .map((entry) => ({\n ...entry,\n fromCache: isFromCache(entry),\n }));\n}\n\nexport function isFromCache(entry: PerformanceResourceTiming): boolean {\n return (\n // transferSize 只读属性表示获取资源的大小\n // 获取资源的大小包括响应头 + 响应体\n entry.transferSize === 0 ||\n (entry.transferSize !== 0 && entry.encodedBodySize === 0)\n );\n}\n\nexport function getWebVitals(onReport: TOnReportPerformanceData) {\n onLCP((metric: LCPMetric) => {\n onReport(metric2perfData(metric));\n });\n\n onFCP((metric: FCPMetric) => {\n onReport(metric2perfData(metric));\n });\n\n onCLS((metric: CLSMetric) => {\n onReport(metric2perfData(metric));\n });\n\n onINP((metric: INPMetric) => {\n onReport(metric2perfData(metric));\n });\n\n onTTFB((metric: TTFBMetric) => {\n onReport(metric2perfData(metric));\n });\n\n getFirstScreenPaint((value: number) => {\n const perfData: IPerformanceData = {\n name: \"FSP\",\n value,\n id: crypto.randomUUID(),\n ...getTime(),\n type: EventType.Performance,\n status: Status.OK,\n message: \"First Screen Paint\",\n };\n onReport(perfData);\n });\n}\n","import {\n EventType,\n SentryPlugin,\n Status,\n type IPerformanceData,\n} from \"@lark-sentry/types\";\n\nimport reporter from \"@lark-sentry/reporter\";\n\nimport { getTime } from \"@lark-sentry/utils\";\n\nimport { getResourceList, getWebVitals } from \"./src/perf.js\";\n\nclass PerformancePlugin extends SentryPlugin {\n constructor() {\n super(EventType.Performance);\n }\n\n async init() {\n getWebVitals((data: IPerformanceData) => {\n reporter.send(data);\n });\n\n const observer = new PerformanceObserver((entryList) => {\n const longTaskData: IPerformanceData = {\n id: crypto.randomUUID(),\n name: \"LongTask\",\n type: EventType.Performance,\n ...getTime(),\n message: \"\",\n status: Status.OK,\n longTasks: entryList.getEntries(),\n };\n reporter.send(longTaskData);\n });\n observer.observe({ entryTypes: [\"longTask\".toLowerCase()] });\n\n globalThis.addEventListener(\"load\", () => {\n const resourceListData: IPerformanceData = {\n id: crypto.randomUUID(),\n name: \"ResourceList\",\n type: EventType.Performance,\n ...getTime(),\n message: \"\",\n status: Status.OK,\n resourceList: getResourceList(),\n };\n reporter.send(resourceListData);\n });\n\n if (\n \"measureUserAgentSpecificMemory\" in performance &&\n typeof performance.measureUserAgentSpecificMemory === \"function\"\n ) {\n const memoryData: IPerformanceData = {\n id: crypto.randomUUID(),\n name: \"Memory\",\n type: EventType.Performance,\n ...getTime(),\n message: \"performance.measureUserAgentSpecificMemory\",\n status: Status.OK,\n memory: await performance.measureUserAgentSpecificMemory(),\n };\n reporter.send(memoryData);\n }\n }\n}\n\nexport default PerformancePlugin;\n"],"names":["e","t","addEventListener","n","persisted","timeStamp","i","s","o","r","value","delta","rating","requestAnimationFrame","performance","getEntriesByType","responseStart","now","activationStart","document","prerendering","wasDiscarded","type","replace","name","entries","id","Date","Math","floor","random","navigationType","c","WeakMap","a","get","set","d","h","hadRecentInput","this","at","startTime","push","PerformanceObserver","supportedEntryTypes","includes","Promise","resolve","then","getEntries","observe","buffered","f","u","l","Set","m","visibilityState","p","isFinite","removeEventListener","v","globalThis","filter","setTimeout","firstHiddenTime","onHidden","add","g","y","E","disconnect","max","reportAllChanges","b","P","T","_","M","interactionId","min","w","C","interactionCount","F","k","Map","length","clear","L","entryType","duration","sort","splice","delete","A","requestIdleCallback","once","capture","B","S","PerformanceEventTiming","prototype","durationThreshold","takeRecords","N","q","H","O","readyState","firstScreenPaint","observer","requestId","isInViewport","dom","rect","getBoundingClientRect","right","bottom","left","innerWidth","top","innerHeight","checkDOMChange","callback","cancelAnimationFrame","map","entry","observeFirstScreenPaint","excludedDOMList","MutationObserver","mutationList","children","mutation","isHTMLElement","target","addedNodes","node","Array","from","tagName","toLowerCase","childList","subtree","characterData","attributes","getResourceList","entryList","excludedInitiatorType","initiatorType","fromCache","isFromCache","transferSize","encodedBodySize","getWebVitals","onReport","slice","isTrusted","onLCP","metric","metric2perfData","onFCP","onCLS","onINP","onTTFB","perfData","crypto","randomUUID","getTime","EventType","Performance","status","Status","OK","message","deadline","timeRemaining","PerformancePlugin","SentryPlugin","constructor","super","init","data","reporter","send","longTaskData","longTasks","entryTypes","resourceListData","resourceList","measureUserAgentSpecificMemory","memoryData","memory"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.min.js","sources":["../../../node_modules/.pnpm/web-vitals@5.1.0/node_modules/web-vitals/dist/web-vitals.js","../src/perf.ts","../index.ts"],"sourcesContent":["let e=-1;const t=t=>{addEventListener(\"pageshow\",(n=>{n.persisted&&(e=n.timeStamp,t(n))}),!0)},n=(e,t,n,i)=>{let s,o;return r=>{t.value>=0&&(r||i)&&(o=t.value-(s??0),(o||void 0===s)&&(s=t.value,t.delta=o,t.rating=((e,t)=>e>t[1]?\"poor\":e>t[0]?\"needs-improvement\":\"good\")(t.value,n),e(t)))}},i=e=>{requestAnimationFrame((()=>requestAnimationFrame((()=>e()))))},s=()=>{const e=performance.getEntriesByType(\"navigation\")[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},o=()=>{const e=s();return e?.activationStart??0},r=(t,n=-1)=>{const i=s();let r=\"navigate\";e>=0?r=\"back-forward-cache\":i&&(document.prerendering||o()>0?r=\"prerender\":document.wasDiscarded?r=\"restore\":i.type&&(r=i.type.replace(/_/g,\"-\")));return{name:t,value:n,rating:\"good\",delta:0,entries:[],id:`v5-${Date.now()}-${Math.floor(8999999999999*Math.random())+1e12}`,navigationType:r}},c=new WeakMap;function a(e,t){return c.get(e)||c.set(e,new t),c.get(e)}class d{t;i=0;o=[];h(e){if(e.hadRecentInput)return;const t=this.o[0],n=this.o.at(-1);this.i&&t&&n&&e.startTime-n.startTime<1e3&&e.startTime-t.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),this.t?.(e)}}const h=(e,t,n={})=>{try{if(PerformanceObserver.supportedEntryTypes.includes(e)){const i=new PerformanceObserver((e=>{Promise.resolve().then((()=>{t(e.getEntries())}))}));return i.observe({type:e,buffered:!0,...n}),i}}catch{}},f=e=>{let t=!1;return()=>{t||(e(),t=!0)}};let u=-1;const l=new Set,m=()=>\"hidden\"!==document.visibilityState||document.prerendering?1/0:0,p=e=>{if(\"hidden\"===document.visibilityState){if(\"visibilitychange\"===e.type)for(const e of l)e();isFinite(u)||(u=\"visibilitychange\"===e.type?e.timeStamp:0,removeEventListener(\"prerenderingchange\",p,!0))}},v=()=>{if(u<0){const e=o(),n=document.prerendering?void 0:globalThis.performance.getEntriesByType(\"visibility-state\").filter((t=>\"hidden\"===t.name&&t.startTime>e))[0]?.startTime;u=n??m(),addEventListener(\"visibilitychange\",p,!0),addEventListener(\"prerenderingchange\",p,!0),t((()=>{setTimeout((()=>{u=m()}))}))}return{get firstHiddenTime(){return u},onHidden(e){l.add(e)}}},g=e=>{document.prerendering?addEventListener(\"prerenderingchange\",(()=>e()),!0):e()},y=[1800,3e3],E=(e,s={})=>{g((()=>{const c=v();let a,d=r(\"FCP\");const f=h(\"paint\",(e=>{for(const t of e)\"first-contentful-paint\"===t.name&&(f.disconnect(),t.startTime<c.firstHiddenTime&&(d.value=Math.max(t.startTime-o(),0),d.entries.push(t),a(!0)))}));f&&(a=n(e,d,y,s.reportAllChanges),t((t=>{d=r(\"FCP\"),a=n(e,d,y,s.reportAllChanges),i((()=>{d.value=performance.now()-t.timeStamp,a(!0)}))})))}))},b=[.1,.25],L=(e,s={})=>{const o=v();E(f((()=>{let c,f=r(\"CLS\",0);const u=a(s,d),l=e=>{for(const t of e)u.h(t);u.i>f.value&&(f.value=u.i,f.entries=u.o,c())},m=h(\"layout-shift\",l);m&&(c=n(e,f,b,s.reportAllChanges),o.onHidden((()=>{l(m.takeRecords()),c(!0)})),t((()=>{u.i=0,f=r(\"CLS\",0),c=n(e,f,b,s.reportAllChanges),i((()=>c()))})),setTimeout(c))})))};let P=0,T=1/0,_=0;const M=e=>{for(const t of e)t.interactionId&&(T=Math.min(T,t.interactionId),_=Math.max(_,t.interactionId),P=_?(_-T)/7+1:0)};let w;const C=()=>w?P:performance.interactionCount??0,I=()=>{\"interactionCount\"in performance||w||(w=h(\"event\",M,{type:\"event\",buffered:!0,durationThreshold:0}))};let F=0;class k{u=[];l=new Map;m;p;v(){F=C(),this.u.length=0,this.l.clear()}L(){const e=Math.min(this.u.length-1,Math.floor((C()-F)/50));return this.u[e]}h(e){if(this.m?.(e),!e.interactionId&&\"first-input\"!==e.entryType)return;const t=this.u.at(-1);let n=this.l.get(e.interactionId);if(n||this.u.length<10||e.duration>t.P){if(n?e.duration>n.P?(n.entries=[e],n.P=e.duration):e.duration===n.P&&e.startTime===n.entries[0].startTime&&n.entries.push(e):(n={id:e.interactionId,entries:[e],P:e.duration},this.l.set(n.id,n),this.u.push(n)),this.u.sort(((e,t)=>t.P-e.P)),this.u.length>10){const e=this.u.splice(10);for(const t of e)this.l.delete(t.id)}this.p?.(n)}}}const A=e=>{const t=globalThis.requestIdleCallback||setTimeout;\"hidden\"===document.visibilityState?e():(e=f(e),addEventListener(\"visibilitychange\",e,{once:!0,capture:!0}),t((()=>{e(),removeEventListener(\"visibilitychange\",e,{capture:!0})})))},B=[200,500],S=(e,i={})=>{if(!globalThis.PerformanceEventTiming||!(\"interactionId\"in PerformanceEventTiming.prototype))return;const s=v();g((()=>{I();let o,c=r(\"INP\");const d=a(i,k),f=e=>{A((()=>{for(const t of e)d.h(t);const t=d.L();t&&t.P!==c.value&&(c.value=t.P,c.entries=t.entries,o())}))},u=h(\"event\",f,{durationThreshold:i.durationThreshold??40});o=n(e,c,B,i.reportAllChanges),u&&(u.observe({type:\"first-input\",buffered:!0}),s.onHidden((()=>{f(u.takeRecords()),o(!0)})),t((()=>{d.v(),c=r(\"INP\"),o=n(e,c,B,i.reportAllChanges)})))}))};class N{m;h(e){this.m?.(e)}}const q=[2500,4e3],x=(e,s={})=>{g((()=>{const c=v();let d,u=r(\"LCP\");const l=a(s,N),m=e=>{s.reportAllChanges||(e=e.slice(-1));for(const t of e)l.h(t),t.startTime<c.firstHiddenTime&&(u.value=Math.max(t.startTime-o(),0),u.entries=[t],d())},p=h(\"largest-contentful-paint\",m);if(p){d=n(e,u,q,s.reportAllChanges);const o=f((()=>{m(p.takeRecords()),p.disconnect(),d(!0)})),c=e=>{e.isTrusted&&(A(o),removeEventListener(e.type,c,{capture:!0}))};for(const e of[\"keydown\",\"click\",\"visibilitychange\"])addEventListener(e,c,{capture:!0});t((t=>{u=r(\"LCP\"),d=n(e,u,q,s.reportAllChanges),i((()=>{u.value=performance.now()-t.timeStamp,d(!0)}))}))}}))},H=[800,1800],O=e=>{document.prerendering?g((()=>O(e))):\"complete\"!==document.readyState?addEventListener(\"load\",(()=>O(e)),!0):setTimeout(e)},$=(e,i={})=>{let c=r(\"TTFB\"),a=n(e,c,H,i.reportAllChanges);O((()=>{const d=s();d&&(c.value=Math.max(d.responseStart-o(),0),c.entries=[d],a(!0),t((()=>{c=r(\"TTFB\",0),a=n(e,c,H,i.reportAllChanges),a(!0)})))}))};export{b as CLSThresholds,y as FCPThresholds,B as INPThresholds,q as LCPThresholds,H as TTFBThresholds,L as onCLS,E as onFCP,S as onINP,x as onLCP,$ as onTTFB};\n","import {\n EventType,\n type IPerformanceData,\n type TOnReportPerformanceData,\n} from \"@lark-sentry/types\";\n\nimport {\n onCLS,\n onFCP,\n onINP,\n onLCP,\n onTTFB,\n type CLSMetric,\n type FCPMetric,\n type INPMetric,\n type LCPMetric,\n type TTFBMetric,\n} from \"web-vitals\";\n\nimport {\n getBaseData,\n isHTMLElement,\n metric2perfData,\n} from \"@lark-sentry/utils\";\n\ntype TCallback = (val: number) => void;\n\nlet firstScreenPaint = 0;\nlet entries: {\n startTime: number;\n children: HTMLElement[];\n}[] = [];\nlet observer: MutationObserver | null = null;\nlet requestId = 0;\n\n// DOM 是否在视口内\n// https://developer.mozilla.org/zh-CN/docs/Web/API/Element/getBoundingClientRect\nfunction isInViewport(dom: HTMLElement) {\n const rect = dom.getBoundingClientRect();\n return (\n rect.right > 0 &&\n rect.bottom > 0 &&\n rect.left < globalThis.innerWidth &&\n rect.top < globalThis.innerHeight\n );\n}\n\nfunction getRenderTime(): number {\n if (entries.length === 0) {\n return 0;\n }\n return Math.max(...entries.map((entry) => entry.startTime));\n}\n\nfunction checkDOMChange(callback: TCallback) {\n // 取消上一个 requestAnimationFrame 传递的回调函数\n cancelAnimationFrame(requestId);\n // 请求浏览器在下一次重绘前, 调用传递的回调函数\n requestId = requestAnimationFrame(() => {\n if (document.readyState === \"complete\") {\n // 取消监听\n observer?.disconnect();\n firstScreenPaint = getRenderTime();\n entries = [];\n callback(firstScreenPaint);\n } else {\n checkDOMChange(callback);\n }\n });\n}\n\nfunction getFirstScreenPaint(callback: TCallback) {\n if (\"requestIdleCallback\" in globalThis) {\n requestIdleCallback((deadline) => {\n if (deadline.timeRemaining() > 0) {\n observeFirstScreenPaint(callback);\n }\n });\n } else {\n observeFirstScreenPaint(callback);\n }\n}\n\nfunction observeFirstScreenPaint(callback: TCallback) {\n const excludedDOMList = [\"link\", \"script\", \"style\"];\n observer = new MutationObserver((mutationList) => {\n checkDOMChange(callback);\n const entry: {\n startTime: number;\n children: HTMLElement[];\n } = { startTime: 0, children: [] };\n for (const mutation of mutationList) {\n if (!isHTMLElement(mutation.target)) {\n continue;\n }\n if (mutation.addedNodes.length && isInViewport(mutation.target)) {\n for (const node of Array.from(mutation.addedNodes)) {\n if (\n isHTMLElement(node) &&\n !excludedDOMList.includes(node.tagName.toLowerCase()) &&\n isInViewport(node)\n ) {\n entry.children.push(node);\n }\n }\n }\n }\n if (entry.children.length) {\n entries.push(entry);\n entry.startTime = performance.now();\n }\n });\n observer.observe(document, {\n childList: true,\n subtree: true,\n characterData: true,\n attributes: true,\n });\n}\n\nexport function getResourceList(): (PerformanceResourceTiming & {\n fromCache: boolean;\n})[] {\n const entryList = performance.getEntriesByType(\"resource\");\n const excludedInitiatorType = [\"fetch\", \"xmlhttprequest\", \"beacon\"];\n return entryList\n .filter((entry) => !excludedInitiatorType.includes(entry.initiatorType))\n .map((entry) => ({\n ...entry,\n fromCache: isFromCache(entry),\n }));\n}\n\nexport function isFromCache(entry: PerformanceResourceTiming): boolean {\n return (\n // transferSize 只读属性表示获取资源的大小\n // 获取资源的大小包括响应头 + 响应体\n entry.transferSize === 0 ||\n (entry.transferSize !== 0 && entry.encodedBodySize === 0)\n );\n}\n\nexport function getWebVitals(onReport: TOnReportPerformanceData) {\n onLCP((metric: LCPMetric) => {\n onReport(metric2perfData(metric));\n });\n\n onFCP((metric: FCPMetric) => {\n onReport(metric2perfData(metric));\n });\n\n onCLS((metric: CLSMetric) => {\n onReport(metric2perfData(metric));\n });\n\n onINP((metric: INPMetric) => {\n onReport(metric2perfData(metric));\n });\n\n onTTFB((metric: TTFBMetric) => {\n onReport(metric2perfData(metric));\n });\n\n getFirstScreenPaint((value: number) => {\n const perfData: IPerformanceData = {\n ...getBaseData(),\n name: \"FSP\",\n value,\n type: EventType.Performance,\n message: \"First Screen Paint\",\n };\n onReport(perfData);\n });\n}\n","import {\n EventType,\n SentryPlugin,\n type IPerformanceData,\n} from \"@lark-sentry/types\";\n\nimport reporter from \"@lark-sentry/reporter\";\n\nimport { getBaseData } from \"@lark-sentry/utils\";\n\nimport { getResourceList, getWebVitals } from \"./src/perf.js\";\n\nclass PerformancePlugin extends SentryPlugin {\n constructor() {\n super(EventType.Performance);\n }\n\n async init() {\n getWebVitals((data: IPerformanceData) => {\n reporter.send(data);\n });\n\n const observer = new PerformanceObserver((entryList) => {\n const longTaskData: IPerformanceData = {\n ...getBaseData(),\n name: \"LongTask\",\n type: EventType.Performance,\n longTasks: entryList.getEntries(),\n };\n reporter.send(longTaskData);\n });\n observer.observe({ entryTypes: [\"longTask\".toLowerCase()] });\n\n globalThis.addEventListener(\"load\", () => {\n const resourceListData: IPerformanceData = {\n ...getBaseData(),\n name: \"ResourceList\",\n type: EventType.Performance,\n resourceList: getResourceList(),\n };\n reporter.send(resourceListData);\n });\n\n if (\n \"measureUserAgentSpecificMemory\" in performance &&\n typeof performance.measureUserAgentSpecificMemory === \"function\"\n ) {\n const memoryData: IPerformanceData = {\n ...getBaseData(),\n name: \"Memory\",\n type: EventType.Performance,\n message: \"performance.measureUserAgentSpecificMemory\",\n memory: await performance.measureUserAgentSpecificMemory(),\n };\n reporter.send(memoryData);\n }\n }\n}\n\nexport default PerformancePlugin;\n"],"names":["e","t","addEventListener","n","persisted","timeStamp","i","s","o","r","value","delta","rating","requestAnimationFrame","performance","getEntriesByType","responseStart","now","activationStart","document","prerendering","wasDiscarded","type","replace","name","entries","id","Date","Math","floor","random","navigationType","c","WeakMap","a","get","set","d","h","hadRecentInput","this","at","startTime","push","PerformanceObserver","supportedEntryTypes","includes","Promise","resolve","then","getEntries","observe","buffered","f","u","l","Set","m","visibilityState","p","isFinite","removeEventListener","v","globalThis","filter","setTimeout","firstHiddenTime","onHidden","add","g","y","E","disconnect","max","reportAllChanges","b","P","T","_","M","interactionId","min","w","C","interactionCount","F","k","Map","length","clear","L","entryType","duration","sort","splice","delete","A","requestIdleCallback","once","capture","B","S","PerformanceEventTiming","prototype","durationThreshold","takeRecords","N","q","H","O","readyState","firstScreenPaint","observer","requestId","isInViewport","dom","rect","getBoundingClientRect","right","bottom","left","innerWidth","top","innerHeight","checkDOMChange","callback","cancelAnimationFrame","map","entry","observeFirstScreenPaint","excludedDOMList","MutationObserver","mutationList","children","mutation","isHTMLElement","target","addedNodes","node","Array","from","tagName","toLowerCase","childList","subtree","characterData","attributes","getResourceList","entryList","excludedInitiatorType","initiatorType","fromCache","isFromCache","transferSize","encodedBodySize","getWebVitals","onReport","slice","isTrusted","onLCP","metric","metric2perfData","onFCP","onCLS","onINP","onTTFB","perfData","getBaseData","EventType","Performance","message","deadline","timeRemaining","PerformancePlugin","SentryPlugin","constructor","super","init","data","reporter","send","longTaskData","longTasks","entryTypes","resourceListData","resourceList","measureUserAgentSpecificMemory","memoryData","memory"],"mappings":"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","x_google_ignoreList":[0]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lark-sentry/performance",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Sentry sdk performance",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -28,9 +28,9 @@
28
28
  "license": "MIT",
29
29
  "dependencies": {
30
30
  "web-vitals": "^5.1.0",
31
- "@lark-sentry/reporter": "^1.0.0",
32
- "@lark-sentry/core": "^1.0.0",
33
- "@lark-sentry/types": "^1.0.0",
34
- "@lark-sentry/utils": "^1.0.0"
31
+ "@lark-sentry/reporter": "^1.0.1",
32
+ "@lark-sentry/utils": "^1.0.1",
33
+ "@lark-sentry/types": "^1.0.1",
34
+ "@lark-sentry/core": "^1.0.0"
35
35
  }
36
36
  }