@scalebun/react-native 1.3.2 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/scalebun.full.js +62 -14
- package/dist/scalebun.full.js.map +1 -1
- package/dist/scalebun.slim.js +60 -13
- package/dist/scalebun.slim.js.map +1 -1
- package/lib/commonjs/analytics/EventTracker.js +5 -3
- package/lib/commonjs/analytics/EventTracker.js.map +1 -1
- package/lib/commonjs/analytics/eventLane.js +23 -0
- package/lib/commonjs/analytics/eventLane.js.map +1 -1
- package/lib/commonjs/core/constants/version.js +1 -1
- package/lib/commonjs/core/constants/version.js.map +1 -1
- package/lib/commonjs/core/context/device.js +18 -0
- package/lib/commonjs/core/context/device.js.map +1 -1
- package/lib/commonjs/debug/bootstrap.js +2 -1
- package/lib/commonjs/debug/bootstrap.js.map +1 -1
- package/lib/commonjs/debug/transport.js +2 -1
- package/lib/commonjs/debug/transport.js.map +1 -1
- package/lib/commonjs/features/journey/journeyManager.js +2 -1
- package/lib/commonjs/features/journey/journeyManager.js.map +1 -1
- package/lib/commonjs/features/performance/collectors/FrameMetricsCollector.js +27 -3
- package/lib/commonjs/features/performance/collectors/FrameMetricsCollector.js.map +1 -1
- package/lib/commonjs/features/performance/collectors/JsStallCollector.js +20 -1
- package/lib/commonjs/features/performance/collectors/JsStallCollector.js.map +1 -1
- package/lib/commonjs/public/ScaleBunFacade.js +10 -2
- package/lib/commonjs/public/ScaleBunFacade.js.map +1 -1
- package/lib/module/analytics/EventTracker.js +5 -3
- package/lib/module/analytics/EventTracker.js.map +1 -1
- package/lib/module/analytics/eventLane.js +22 -0
- package/lib/module/analytics/eventLane.js.map +1 -1
- package/lib/module/core/constants/version.js +1 -1
- package/lib/module/core/constants/version.js.map +1 -1
- package/lib/module/core/context/device.js +17 -0
- package/lib/module/core/context/device.js.map +1 -1
- package/lib/module/debug/bootstrap.js +2 -1
- package/lib/module/debug/bootstrap.js.map +1 -1
- package/lib/module/debug/transport.js +2 -1
- package/lib/module/debug/transport.js.map +1 -1
- package/lib/module/features/journey/journeyManager.js +2 -1
- package/lib/module/features/journey/journeyManager.js.map +1 -1
- package/lib/module/features/performance/collectors/FrameMetricsCollector.js +27 -3
- package/lib/module/features/performance/collectors/FrameMetricsCollector.js.map +1 -1
- package/lib/module/features/performance/collectors/JsStallCollector.js +20 -1
- package/lib/module/features/performance/collectors/JsStallCollector.js.map +1 -1
- package/lib/module/public/ScaleBunFacade.js +12 -4
- package/lib/module/public/ScaleBunFacade.js.map +1 -1
- package/lib/typescript/analytics/EventTracker.d.ts.map +1 -1
- package/lib/typescript/analytics/eventLane.d.ts +2 -0
- package/lib/typescript/analytics/eventLane.d.ts.map +1 -1
- package/lib/typescript/core/constants/version.d.ts +1 -1
- package/lib/typescript/core/constants/version.d.ts.map +1 -1
- package/lib/typescript/core/context/device.d.ts +13 -0
- package/lib/typescript/core/context/device.d.ts.map +1 -1
- package/lib/typescript/debug/bootstrap.d.ts.map +1 -1
- package/lib/typescript/debug/transport.d.ts.map +1 -1
- package/lib/typescript/features/journey/journeyManager.d.ts.map +1 -1
- package/lib/typescript/features/performance/collectors/FrameMetricsCollector.d.ts +14 -0
- package/lib/typescript/features/performance/collectors/FrameMetricsCollector.d.ts.map +1 -1
- package/lib/typescript/features/performance/collectors/JsStallCollector.d.ts +5 -0
- package/lib/typescript/features/performance/collectors/JsStallCollector.d.ts.map +1 -1
- package/lib/typescript/public/ScaleBunFacade.d.ts.map +1 -1
- package/lib/typescript/public/types.d.ts +1 -1
- package/lib/typescript/public/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/analytics/EventTracker.ts +5 -3
- package/src/analytics/eventLane.ts +22 -0
- package/src/core/constants/version.ts +1 -1
- package/src/core/context/device.ts +17 -0
- package/src/debug/bootstrap.ts +2 -1
- package/src/debug/transport.ts +2 -1
- package/src/features/journey/journeyManager.ts +2 -1
- package/src/features/performance/collectors/FrameMetricsCollector.ts +32 -3
- package/src/features/performance/collectors/JsStallCollector.ts +20 -1
- package/src/public/ScaleBunFacade.ts +12 -4
- package/src/public/types.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../src/debug/transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACH,KAAK,YAAY,EACjB,KAAK,cAAc,EAStB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../src/debug/transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journeyManager.d.ts","sourceRoot":"","sources":["../../../../src/features/journey/journeyManager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EACR,aAAa,EACb,WAAW,EAKd,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"journeyManager.d.ts","sourceRoot":"","sources":["../../../../src/features/journey/journeyManager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EACR,aAAa,EACb,WAAW,EAKd,MAAM,gBAAgB,CAAC;AAIxB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAsBtD,qBAAa,cAAc;IACvB,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,gBAAgB,CAAmB;IAG3C,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,cAAc,CAAM;IAC5B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,UAAU,CAAK;IAGvB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,YAAY,CAAS;IAG7B,OAAO,CAAC,MAAM,CAAC,SAAS,CAA+B;gBAE3C,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,aAAa;IAgB7D,qCAAqC;IACrC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,cAAc;IAOrF,qCAAqC;IACrC,MAAM,CAAC,aAAa,IAAI,IAAI;IAS5B,IAAI,WAAW,IAAI,OAAO,CAA8B;IACxD,IAAI,SAAS,IAAI,OAAO,CAA4B;IACpD,IAAI,KAAK,IAAI,WAAW,EAAE,CAAwB;IAClD,IAAI,aAAa,IAAI,MAAM,CAA2C;IACtE,IAAI,QAAQ,IAAI,eAAe,CAAiC;IAChE,IAAI,GAAG,IAAI,WAAW,CAA6B;IACnD,IAAI,UAAU,IAAI,gBAAgB,CAAkC;IAIpE,2EAA2E;IAC3E,UAAU,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,IAAI;IA8B/B,cAAc,IAAI,IAAI;IAgBtB,aAAa,IAAI,IAAI;IAYrB,sEAAsE;IAChE,WAAW,CACb,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,GACd,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAkF1E,WAAW,CACb,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAwC1E,UAAU,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAsHhE,OAAO,IAAI,IAAI;IAMf,QAAQ,IAAI,IAAI;IAUhB,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,WAAW;CAGtB"}
|
|
@@ -23,6 +23,20 @@ export declare class FrameMetricsCollector {
|
|
|
23
23
|
private appStateSubscription;
|
|
24
24
|
/** True while the native sampler is actually running (i.e. armed AND foregrounded). */
|
|
25
25
|
private sampling;
|
|
26
|
+
/** Timestamp of the last emitted window — drives the healthy-window heartbeat below. */
|
|
27
|
+
private lastEmitTs;
|
|
28
|
+
/**
|
|
29
|
+
* HEALTHY windows emit at a heartbeat, not per report interval.
|
|
30
|
+
*
|
|
31
|
+
* The native sampler reports every `reportIntervalMs` (5 s), and every window became a stored
|
|
32
|
+
* row — on a session hours long that is 720 rows/hour of "still 60 fps", which is how real
|
|
33
|
+
* sessions hit the dashboard's 2,000-row display cap with nothing to say. A window that shows
|
|
34
|
+
* ANY jank (dropped/frozen frames, meaningful slow-frame count, an FPS dip) always emits; a
|
|
35
|
+
* healthy window emits only when the heartbeat has elapsed, keeping the FPS series alive for
|
|
36
|
+
* the charts at 1/12th the volume. Capture cadence is unchanged — only identical-looking
|
|
37
|
+
* healthy rows are elided, and the first window after ANY emit gap states the recovery.
|
|
38
|
+
*/
|
|
39
|
+
private static readonly HEALTHY_HEARTBEAT_MS;
|
|
26
40
|
constructor(config: PerformanceConfig, onFrameMetrics: FrameMetricsCallback, contextProvider: () => PerfContext);
|
|
27
41
|
start(): void;
|
|
28
42
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FrameMetricsCollector.d.ts","sourceRoot":"","sources":["../../../../../src/features/performance/collectors/FrameMetricsCollector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAEhE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEnD,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAEtE,qBAAa,qBAAqB;IAC9B,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,eAAe,CAAoB;IAC3C,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,OAAO,CAAS;IACxB,0DAA0D;IAC1D,OAAO,CAAC,oBAAoB,CAAwC;IACpE,uFAAuF;IACvF,OAAO,CAAC,QAAQ,CAAS;
|
|
1
|
+
{"version":3,"file":"FrameMetricsCollector.d.ts","sourceRoot":"","sources":["../../../../../src/features/performance/collectors/FrameMetricsCollector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAEhE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEnD,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAEtE,qBAAa,qBAAqB;IAC9B,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,eAAe,CAAoB;IAC3C,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,OAAO,CAAS;IACxB,0DAA0D;IAC1D,OAAO,CAAC,oBAAoB,CAAwC;IACpE,uFAAuF;IACvF,OAAO,CAAC,QAAQ,CAAS;IACzB,wFAAwF;IACxF,OAAO,CAAC,UAAU,CAAK;IAEvB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAU;gBAGlD,MAAM,EAAE,iBAAiB,EACzB,cAAc,EAAE,oBAAoB,EACpC,eAAe,EAAE,MAAM,WAAW;IAOtC,KAAK,IAAI,IAAI;IA2Bb;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,OAAO,CAAC,oBAAoB;IAS5B,gGAAgG;IAChG,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,kBAAkB;IAa1B,IAAI,IAAI,IAAI;IAgBZ,OAAO,CAAC,yBAAyB;CAgDpC"}
|
|
@@ -30,6 +30,11 @@ export declare class JsStallCollector {
|
|
|
30
30
|
private maxStallMs;
|
|
31
31
|
private totalStallMs;
|
|
32
32
|
private recentStalls;
|
|
33
|
+
/** Per-run caps on INDIVIDUAL stall events — see the emit site. Summaries are uncapped. */
|
|
34
|
+
private static readonly EMITTED_STALLS_MAX;
|
|
35
|
+
private static readonly CRITICAL_OVERFLOW_MAX;
|
|
36
|
+
private emittedStalls;
|
|
37
|
+
private emittedCriticalOverflow;
|
|
33
38
|
constructor(config: PerformanceConfig, onStall: StallEventCallback, onSummary: StallSummaryCallback, contextProvider: () => PerfContext);
|
|
34
39
|
start(): void;
|
|
35
40
|
stop(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsStallCollector.d.ts","sourceRoot":"","sources":["../../../../../src/features/performance/collectors/JsStallCollector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAY,WAAW,EAAE,MAAM,WAAW,CAAC;AAGrF,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;AAC/D,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,cAAc,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,KAAK,IAAI,CAAC;AAI7F,qBAAa,gBAAgB;IACzB,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,eAAe,CAAoB;IAE3C,OAAO,CAAC,SAAS,CAA+C;IAChE,OAAO,CAAC,WAAW,CAA+C;IAClE,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,OAAO,CAAS;IAGxB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,YAAY,CAAwD;
|
|
1
|
+
{"version":3,"file":"JsStallCollector.d.ts","sourceRoot":"","sources":["../../../../../src/features/performance/collectors/JsStallCollector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAY,WAAW,EAAE,MAAM,WAAW,CAAC;AAGrF,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;AAC/D,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,cAAc,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,KAAK,IAAI,CAAC;AAI7F,qBAAa,gBAAgB;IACzB,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,eAAe,CAAoB;IAE3C,OAAO,CAAC,SAAS,CAA+C;IAChE,OAAO,CAAC,WAAW,CAA+C;IAClE,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,OAAO,CAAS;IAGxB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,YAAY,CAAwD;IAC5E,2FAA2F;IAC3F,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAO;IACjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAO;IACpD,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,uBAAuB,CAAK;gBAGhC,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,oBAAoB,EAC/B,eAAe,EAAE,MAAM,WAAW;IAQtC,KAAK,IAAI,IAAI;IAgDb,IAAI,IAAI,IAAI;IAYZ,OAAO,CAAC,YAAY;IAyCpB,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,aAAa;CAmBxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScaleBunFacade.d.ts","sourceRoot":"","sources":["../../../src/public/ScaleBunFacade.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAyB9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,KAAK,EACR,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACvB,MAAM,iCAAiC,CAAC;AAUzC,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAOvF,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAK3F,OAAO,KAAK,EACR,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACxB,MAAM,gCAAgC,CAAC;AAMxC,OAAO,EAA8C,KAAK,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAQ/G,OAAO,KAAK,EACR,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EAEpB,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,uBAAuB,EACvB,YAAY,EACf,MAAM,SAAS,CAAC;AAEjB,cAAM,cAAc;IAChB,OAAO,CAAC,WAAW,CAAS;IAC5B,gGAAgG;IAChG,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,mBAAmB,CAAmC;IAC9D,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,UAAU,CAAiC;IACnD,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,gBAAgB,CAAgC;IACxD,OAAO,CAAC,uBAAuB,CAA6B;IAC5D,OAAO,CAAC,YAAY,CAA4B;IAChD,yFAAyF;IACzF,OAAO,CAAC,aAAa,CAA6B;IAClD,oFAAoF;IACpF,OAAO,CAAC,iBAAiB,CAAuB;IAChD,uEAAuE;IACvE,OAAO,CAAC,gBAAgB,CAGR;IAChB,OAAO,CAAC,cAAc,CAA8B;IACpD,4GAA4G;IAC5G,OAAO,CAAC,yBAAyB,CAAuB;IACxD,sFAAsF;IACtF,OAAO,CAAC,YAAY,CAAsC;IAE1D;;;;OAIG;IACH,OAAO,CAAC,cAAc,CAKnB;IAEH,iEAAiE;IACjE,OAAO,CAAC,SAAS;IAajB;;;;;;;;;;;;;;;OAeG;IACU,IAAI,CAAC,SAAS,EAAE,oBAAoB,GAAG,kBAAkB,GAAG,GAAG;IAkG5E;;;;;;;;;OASG;IACH,OAAO,CAAC,cAAc;IA4BtB,OAAO,CAAC,gBAAgB;IAYxB,yEAAyE;IACzE,OAAO,CAAC,uBAAuB;
|
|
1
|
+
{"version":3,"file":"ScaleBunFacade.d.ts","sourceRoot":"","sources":["../../../src/public/ScaleBunFacade.ts"],"names":[],"mappings":"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"}
|
|
@@ -287,7 +287,7 @@ export interface SimplifiedInitConfig {
|
|
|
287
287
|
appId?: string;
|
|
288
288
|
/** SDK client key (SaaS mode). Also used to authenticate the envelope lane. */
|
|
289
289
|
clientKey?: string;
|
|
290
|
-
/** Platform
|
|
290
|
+
/** Platform OVERRIDE — auto-detected from Platform.OS when omitted (integrations should omit it). */
|
|
291
291
|
platform?: 'ios' | 'android' | 'web' | 'react_native';
|
|
292
292
|
/**
|
|
293
293
|
* Enable the Phase 1 envelope tracking lane (first_open/app_open/session_start/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/public/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/public/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -19,7 +19,9 @@
|
|
|
19
19
|
*/
|
|
20
20
|
|
|
21
21
|
import { createStorageBackend, StorageBackend } from '../storage/StorageBackend';
|
|
22
|
+
import { resolveEventPlatform } from '../core/context/device';
|
|
22
23
|
import { getDeviceId } from '../core/id/deviceId';
|
|
24
|
+
import { SDK_VERSION } from '../core/constants/version';
|
|
23
25
|
import { logger } from '../core/logger/internalLogger';
|
|
24
26
|
import { setNativeActiveSession } from '../features/crash/nativeCrashBridge';
|
|
25
27
|
import { hmacSha256Hex } from '../crypto/hmacSha256';
|
|
@@ -141,7 +143,7 @@ export class EventTracker {
|
|
|
141
143
|
constructor(config: EventTrackerConfig) {
|
|
142
144
|
this.storage = createStorageBackend();
|
|
143
145
|
this.cfg = {
|
|
144
|
-
platform:
|
|
146
|
+
platform: resolveEventPlatform(),
|
|
145
147
|
flushIntervalMs: DEFAULT_FLUSH_MS,
|
|
146
148
|
batchSize: DEFAULT_BATCH,
|
|
147
149
|
autoLifecycleEvents: true,
|
|
@@ -380,14 +382,14 @@ export class EventTracker {
|
|
|
380
382
|
event_name: eventName,
|
|
381
383
|
event_time: Date.now(),
|
|
382
384
|
app_id: this.cfg.appId,
|
|
383
|
-
platform: this.cfg.platform ??
|
|
385
|
+
platform: this.cfg.platform ?? resolveEventPlatform(),
|
|
384
386
|
installation_id: this.installationId,
|
|
385
387
|
anonymous_id: this.anonymousId,
|
|
386
388
|
session_id: canonicalSessionId || this.sessionId,
|
|
387
389
|
device_id: getDeviceId(),
|
|
388
390
|
// Phase 4: experiment stamps ride on every event; explicit props override.
|
|
389
391
|
properties: { ...this.stamps, ...(properties ?? {}) },
|
|
390
|
-
context: { sdk_version: ctx.sdk_version ??
|
|
392
|
+
context: { sdk_version: ctx.sdk_version ?? SDK_VERSION, ...ctx },
|
|
391
393
|
};
|
|
392
394
|
if (this.userId) env.user_id = this.userId;
|
|
393
395
|
if (this.cfg.appVersion) env.app_version = this.cfg.appVersion;
|
|
@@ -24,3 +24,25 @@ export function isSessionLaneEvent(name: string): boolean {
|
|
|
24
24
|
export function resolveEventLane(name: string): EventLane {
|
|
25
25
|
return isSessionLaneEvent(name) ? 'session' : 'analytics';
|
|
26
26
|
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Signals that stay IN-PROCESS: they fan out to the engage trigger engine, the perf collectors and
|
|
30
|
+
* the desktop debug stream, but are NOT uploaded as session events — because each one already has
|
|
31
|
+
* its own dedicated ingestion lane carrying strictly more data.
|
|
32
|
+
*
|
|
33
|
+
* `$network_request` is the founding member: NetworkFeature writes every request to the
|
|
34
|
+
* `network_requests` table via reportNetworkRequest (method/status/timing/sizes/headers), and ALSO
|
|
35
|
+
* tracked it — which uploaded a second copy as a USER_ACTION session event that nothing reads. The
|
|
36
|
+
* dashboard's inspector explicitly filters that echo out as noise, the heatmap route catalog
|
|
37
|
+
* documents it as pollution, and measured sessions carried ~15% of their event volume in it.
|
|
38
|
+
* (`$perf_event` was the same pattern, removed at its emit site — d81e0ab.)
|
|
39
|
+
*
|
|
40
|
+
* Rule for adding here: the signal must have a dedicated lane that every consumer reads. A signal
|
|
41
|
+
* whose ONLY record is the session event stream must never be added.
|
|
42
|
+
*/
|
|
43
|
+
const INTERNAL_ONLY_SIGNALS = new Set(['$network_request']);
|
|
44
|
+
|
|
45
|
+
/** Should this tracked event be uploaded to the session-events lane at all? */
|
|
46
|
+
export function isUploadedSessionEvent(name: string): boolean {
|
|
47
|
+
return !INTERNAL_ONLY_SIGNALS.has(name);
|
|
48
|
+
}
|
|
@@ -144,3 +144,20 @@ export function mergeDeviceContext(
|
|
|
144
144
|
): Record<string, unknown> {
|
|
145
145
|
return { ...(configured ?? {}), ...detected };
|
|
146
146
|
}
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* The analytics envelope lane's platform value, AUTO-DETECTED.
|
|
150
|
+
*
|
|
151
|
+
* The init config's `platform` field was documented as "Default: react_native" — so every
|
|
152
|
+
* integration that did not hand-write `platform: 'ios' | 'android'` stamped the literal
|
|
153
|
+
* `react_native` on all its analytics events, and the dashboard's platform filters (which split
|
|
154
|
+
* ios/android) silently excluded them. Asking the developer for a value the runtime knows is an
|
|
155
|
+
* integration tax with a failure mode; `Platform.OS` answers it exactly.
|
|
156
|
+
*
|
|
157
|
+
* `react_native` remains only for the genuinely-unknown case (RN unloadable, or an OS the wire
|
|
158
|
+
* enum does not carry) — an honest "RN, platform untold" rather than a confident wrong answer.
|
|
159
|
+
*/
|
|
160
|
+
export function resolveEventPlatform(): 'ios' | 'android' | 'web' | 'react_native' {
|
|
161
|
+
const os = resolvePlatformOS();
|
|
162
|
+
return os === 'ios' || os === 'android' || os === 'web' ? os : 'react_native';
|
|
163
|
+
}
|
package/src/debug/bootstrap.ts
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
import { DebugTransport, type DebugTransportConfig } from './transport';
|
|
18
18
|
import { DEFAULT_WS_PORT, DEBUG_READY_EMIT_DELAY_MS } from '../core/constants/timings';
|
|
19
|
+
import { SDK_VERSION } from '../core/constants/version';
|
|
19
20
|
import { DebugEventStream } from './stream';
|
|
20
21
|
import { CommandRegistry } from './commands';
|
|
21
22
|
import { PerfMonitor } from './perf';
|
|
@@ -262,7 +263,7 @@ export function enableDebug(config: DebugConfig): void {
|
|
|
262
263
|
journeyEnabled: _journeyConfig.enabled,
|
|
263
264
|
canScreenshot: true,
|
|
264
265
|
navMode: _autoScreenDetector ? 'auto' : 'beacon',
|
|
265
|
-
sdkVersion:
|
|
266
|
+
sdkVersion: SDK_VERSION,
|
|
266
267
|
});
|
|
267
268
|
__DEV__ && logger.debug('Emitted journey:debug_ready event to desktop');
|
|
268
269
|
} catch { /* no-throw */ }
|
package/src/debug/transport.ts
CHANGED
|
@@ -30,6 +30,7 @@ import {
|
|
|
30
30
|
TRANSPORT_RECONNECT_MAX_MS,
|
|
31
31
|
TRANSPORT_HIGH_LATENCY_WARN_MS,
|
|
32
32
|
} from '../core/constants/timings';
|
|
33
|
+
import { SDK_VERSION } from '../core/constants/version';
|
|
33
34
|
|
|
34
35
|
// ─── Types ──────────────────────────────────────────────────────────────────
|
|
35
36
|
|
|
@@ -272,7 +273,7 @@ export class DebugTransport {
|
|
|
272
273
|
timestamp: Date.now(),
|
|
273
274
|
sequence: this.nextSequence(),
|
|
274
275
|
payload: {
|
|
275
|
-
sdkVersion:
|
|
276
|
+
sdkVersion: SDK_VERSION,
|
|
276
277
|
appName: this.config.appName,
|
|
277
278
|
appVersion: this.config.appVersion,
|
|
278
279
|
bundleId: this.config.bundleId,
|
|
@@ -17,6 +17,7 @@ import type {
|
|
|
17
17
|
} from './journeyTypes';
|
|
18
18
|
import { DEFAULT_JOURNEY_CONFIG } from './journeyTypes';
|
|
19
19
|
import { GestureBuffer } from './gestureBuffer';
|
|
20
|
+
import { SDK_VERSION } from '../../core/constants/version';
|
|
20
21
|
import { GestureDetector } from './gestureDetector';
|
|
21
22
|
import { NavDetector } from './navDetector';
|
|
22
23
|
import { ScreenshotHelper } from './screenshotHelper';
|
|
@@ -435,7 +436,7 @@ export class JourneyManager {
|
|
|
435
436
|
journeyEnabled: this.config.enabled,
|
|
436
437
|
canScreenshot: this.screenshotHelper.canCapture,
|
|
437
438
|
navMode: this.navDetector.navMode,
|
|
438
|
-
sdkVersion:
|
|
439
|
+
sdkVersion: SDK_VERSION,
|
|
439
440
|
};
|
|
440
441
|
this._emitEvent(JOURNEY_EVENTS.DEBUG_READY, payload as unknown as Record<string, unknown>);
|
|
441
442
|
}
|
|
@@ -29,6 +29,21 @@ export class FrameMetricsCollector {
|
|
|
29
29
|
private appStateSubscription: NativeEventSubscription | null = null;
|
|
30
30
|
/** True while the native sampler is actually running (i.e. armed AND foregrounded). */
|
|
31
31
|
private sampling = false;
|
|
32
|
+
/** Timestamp of the last emitted window — drives the healthy-window heartbeat below. */
|
|
33
|
+
private lastEmitTs = 0;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* HEALTHY windows emit at a heartbeat, not per report interval.
|
|
37
|
+
*
|
|
38
|
+
* The native sampler reports every `reportIntervalMs` (5 s), and every window became a stored
|
|
39
|
+
* row — on a session hours long that is 720 rows/hour of "still 60 fps", which is how real
|
|
40
|
+
* sessions hit the dashboard's 2,000-row display cap with nothing to say. A window that shows
|
|
41
|
+
* ANY jank (dropped/frozen frames, meaningful slow-frame count, an FPS dip) always emits; a
|
|
42
|
+
* healthy window emits only when the heartbeat has elapsed, keeping the FPS series alive for
|
|
43
|
+
* the charts at 1/12th the volume. Capture cadence is unchanged — only identical-looking
|
|
44
|
+
* healthy rows are elided, and the first window after ANY emit gap states the recovery.
|
|
45
|
+
*/
|
|
46
|
+
private static readonly HEALTHY_HEARTBEAT_MS = 60_000;
|
|
32
47
|
|
|
33
48
|
constructor(
|
|
34
49
|
config: PerformanceConfig,
|
|
@@ -161,10 +176,24 @@ export class FrameMetricsCollector {
|
|
|
161
176
|
? Math.round((actualFrames / expectedFrames) * 60)
|
|
162
177
|
: 60;
|
|
163
178
|
|
|
179
|
+
const clampedFps = Math.min(60, Math.max(0, estimatedFps));
|
|
180
|
+
|
|
181
|
+
// Healthy-window heartbeat — see HEALTHY_HEARTBEAT_MS. Jank always emits.
|
|
182
|
+
const now = Date.now();
|
|
183
|
+
const healthy =
|
|
184
|
+
droppedFrames === 0 &&
|
|
185
|
+
frozenFrames === 0 &&
|
|
186
|
+
slowFrames <= 2 &&
|
|
187
|
+
clampedFps >= 55;
|
|
188
|
+
if (healthy && this.lastEmitTs !== 0 && now - this.lastEmitTs < FrameMetricsCollector.HEALTHY_HEARTBEAT_MS) {
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
this.lastEmitTs = now;
|
|
192
|
+
|
|
164
193
|
const event: FrameMetricsEvent = {
|
|
165
|
-
id: `frames-${
|
|
194
|
+
id: `frames-${now}-${Math.random().toString(36).substring(2, 8)}`,
|
|
166
195
|
type: 'frame_metrics',
|
|
167
|
-
timestamp:
|
|
196
|
+
timestamp: now,
|
|
168
197
|
schemaVersion: PERF_SCHEMA_VERSION,
|
|
169
198
|
context: this.contextProvider(),
|
|
170
199
|
windowMs,
|
|
@@ -172,7 +201,7 @@ export class FrameMetricsCollector {
|
|
|
172
201
|
droppedFrames,
|
|
173
202
|
slowFrames,
|
|
174
203
|
frozenFrames,
|
|
175
|
-
estimatedFps:
|
|
204
|
+
estimatedFps: clampedFps,
|
|
176
205
|
maxFrameTimeMs,
|
|
177
206
|
};
|
|
178
207
|
|
|
@@ -37,6 +37,11 @@ export class JsStallCollector {
|
|
|
37
37
|
private maxStallMs = 0;
|
|
38
38
|
private totalStallMs = 0;
|
|
39
39
|
private recentStalls: Array<{ timestamp: number; durationMs: number }> = [];
|
|
40
|
+
/** Per-run caps on INDIVIDUAL stall events — see the emit site. Summaries are uncapped. */
|
|
41
|
+
private static readonly EMITTED_STALLS_MAX = 200;
|
|
42
|
+
private static readonly CRITICAL_OVERFLOW_MAX = 100;
|
|
43
|
+
private emittedStalls = 0;
|
|
44
|
+
private emittedCriticalOverflow = 0;
|
|
40
45
|
|
|
41
46
|
constructor(
|
|
42
47
|
config: PerformanceConfig,
|
|
@@ -121,9 +126,23 @@ export class JsStallCollector {
|
|
|
121
126
|
this.recentStalls = this.recentStalls.slice(-MAX_STALL_RECORDS / 2);
|
|
122
127
|
}
|
|
123
128
|
|
|
124
|
-
// Emit individual stall events for severe stalls (>100ms)
|
|
129
|
+
// Emit individual stall events for severe stalls (>100ms) — per-run capped.
|
|
130
|
+
//
|
|
131
|
+
// On a chronically janky device this fired per stall for the whole session: hours of the
|
|
132
|
+
// same diagnosis, thousands of rows, and the session's perf tab pinned at its display cap.
|
|
133
|
+
// The first EMITTED_STALLS_MAX stalls carry the individual detail; after that only
|
|
134
|
+
// criticals (>500 ms) still emit, themselves capped, and everything keeps counting into
|
|
135
|
+
// the periodic summary (stallCount/maxStallMs/totalStallMs) so no stall goes unmeasured —
|
|
136
|
+
// only the thousandth copy of the same story goes unshipped.
|
|
125
137
|
if (durationMs > 100) {
|
|
126
138
|
const severity = this._classifySeverity(durationMs);
|
|
139
|
+
if (this.emittedStalls >= JsStallCollector.EMITTED_STALLS_MAX) {
|
|
140
|
+
if (severity !== 'critical') return;
|
|
141
|
+
if (this.emittedCriticalOverflow >= JsStallCollector.CRITICAL_OVERFLOW_MAX) return;
|
|
142
|
+
this.emittedCriticalOverflow++;
|
|
143
|
+
} else {
|
|
144
|
+
this.emittedStalls++;
|
|
145
|
+
}
|
|
127
146
|
const event: JsStallEvent = {
|
|
128
147
|
id: `stall-${timestamp}-${Math.random().toString(36).substring(2, 8)}`,
|
|
129
148
|
type: 'js_stall',
|
|
@@ -20,7 +20,7 @@ import { PersistentQueue } from '../pipeline/queue/persistentQueue';
|
|
|
20
20
|
import { MemoryBackend, createStorageBackend } from '../storage/StorageBackend';
|
|
21
21
|
import { HttpClient } from '../transport/http/httpClient';
|
|
22
22
|
import { getDeviceId } from '../core/id/deviceId';
|
|
23
|
-
import { mergeDeviceContext } from '../core/context/device';
|
|
23
|
+
import { mergeDeviceContext, resolveEventPlatform } from '../core/context/device';
|
|
24
24
|
import { coreContainer } from '../core/di/container';
|
|
25
25
|
import { flushQueue } from '../pipeline/queue/flushQueue';
|
|
26
26
|
import {
|
|
@@ -52,7 +52,7 @@ import {
|
|
|
52
52
|
emitAutomaticEvent,
|
|
53
53
|
type AutomaticEventName,
|
|
54
54
|
} from '../analytics/automaticEvents';
|
|
55
|
-
import { resolveEventLane } from '../analytics/eventLane';
|
|
55
|
+
import { resolveEventLane, isUploadedSessionEvent } from '../analytics/eventLane';
|
|
56
56
|
import { ConfigManager } from '../config/ConfigManager';
|
|
57
57
|
import { SDK_VERSION } from '../core/constants/version';
|
|
58
58
|
import { EngageTransport, type SubmitStage } from '../features/engage/EngageTransport';
|
|
@@ -347,7 +347,8 @@ class ScaleBunFacade {
|
|
|
347
347
|
appId,
|
|
348
348
|
clientKey,
|
|
349
349
|
apiBaseUrl,
|
|
350
|
-
|
|
350
|
+
// Auto-detected (Platform.OS) unless the integration overrides it — see resolveEventPlatform.
|
|
351
|
+
platform: rawConfig?.platform ?? resolveEventPlatform(),
|
|
351
352
|
appVersion: rawConfig?.appVersion,
|
|
352
353
|
osVersion: rawConfig?.osVersion,
|
|
353
354
|
autoLifecycleEvents: rawConfig?.autoLifecycleEvents !== false,
|
|
@@ -1224,7 +1225,14 @@ class ScaleBunFacade {
|
|
|
1224
1225
|
engageSignals.emit(name, payload);
|
|
1225
1226
|
|
|
1226
1227
|
const adapter = SessionManager.getExistingInstance()?.getBackendTransport();
|
|
1227
|
-
|
|
1228
|
+
// Internal-only signals ($network_request, …) fan out to engage/perf/debug below but
|
|
1229
|
+
// are never uploaded as session events — their data already travels on a dedicated
|
|
1230
|
+
// lane (see INTERNAL_ONLY_SIGNALS in analytics/eventLane). The uploaded copy was pure
|
|
1231
|
+
// duplication: ~15% of measured mobile event volume, filtered out as noise by every
|
|
1232
|
+
// dashboard reader.
|
|
1233
|
+
if (!isUploadedSessionEvent(name)) {
|
|
1234
|
+
// fall through to the in-process consumers
|
|
1235
|
+
} else if (this._clientKey && adapter) {
|
|
1228
1236
|
// SaaS mode → always-on analytics ingestion lane (NOT /sdk/events).
|
|
1229
1237
|
// sessionId is stamped by the lane at flush time, so the call-time
|
|
1230
1238
|
// value is a placeholder; endpoint id == body sessionId by construction.
|
package/src/public/types.ts
CHANGED
|
@@ -334,7 +334,7 @@ export interface SimplifiedInitConfig {
|
|
|
334
334
|
appId?: string;
|
|
335
335
|
/** SDK client key (SaaS mode). Also used to authenticate the envelope lane. */
|
|
336
336
|
clientKey?: string;
|
|
337
|
-
/** Platform
|
|
337
|
+
/** Platform OVERRIDE — auto-detected from Platform.OS when omitted (integrations should omit it). */
|
|
338
338
|
platform?: 'ios' | 'android' | 'web' | 'react_native';
|
|
339
339
|
/**
|
|
340
340
|
* Enable the Phase 1 envelope tracking lane (first_open/app_open/session_start/
|