@rozenite/performance-monitor-plugin 1.9.0 → 1.11.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.
Files changed (38) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/devtools/App.html +2 -2
  3. package/dist/devtools/assets/{App-CcO8G7X1.css → App-Bm_UxxOC.css} +1 -1
  4. package/dist/devtools/assets/App-DaBYzvA5.js +66 -0
  5. package/dist/react-native/chunks/usePerformanceMonitorDevTools.require.cjs +1 -1
  6. package/dist/react-native/chunks/usePerformanceMonitorDevTools.require.js +125 -59
  7. package/dist/rozenite.json +1 -1
  8. package/package.json +6 -5
  9. package/src/react-native/__tests__/performance-monitor.test.ts +66 -0
  10. package/src/react-native/__tests__/serialize.test.ts +229 -0
  11. package/src/react-native/asserts.ts +21 -3
  12. package/src/react-native/performance-monitor.ts +74 -37
  13. package/src/react-native/serialize.ts +93 -0
  14. package/src/shared/types.ts +40 -1
  15. package/src/ui/App.css +410 -0
  16. package/src/ui/App.tsx +190 -63
  17. package/src/ui/__tests__/derive-startup-phases.test.ts +78 -0
  18. package/src/ui/__tests__/derive-startup-summary.test.ts +185 -0
  19. package/src/ui/__tests__/utils.test.ts +63 -0
  20. package/src/ui/__tests__/waterfall.test.ts +192 -0
  21. package/src/ui/components/DetailsSidebar.tsx +10 -30
  22. package/src/ui/components/ExportModal.tsx +68 -28
  23. package/src/ui/components/MarkDetails.tsx +1 -4
  24. package/src/ui/components/MeasureDetails.tsx +8 -0
  25. package/src/ui/components/MeasuresTable.tsx +11 -2
  26. package/src/ui/components/MetricDetails.tsx +1 -4
  27. package/src/ui/components/ReactNativeMarkDetails.tsx +44 -0
  28. package/src/ui/components/ReactNativeMarksTable.tsx +44 -0
  29. package/src/ui/components/ResourceDetails.tsx +137 -0
  30. package/src/ui/components/ResourcesTable.tsx +65 -0
  31. package/src/ui/components/SessionDuration.tsx +1 -4
  32. package/src/ui/components/StartupTab.tsx +138 -0
  33. package/src/ui/components/WaterfallView.tsx +285 -0
  34. package/src/ui/derive-startup-phases.ts +48 -0
  35. package/src/ui/derive-startup-summary.ts +101 -0
  36. package/src/ui/utils.ts +19 -4
  37. package/src/ui/waterfall.ts +576 -0
  38. package/dist/devtools/assets/App-e45yAmvz.js +0 -66
package/CHANGELOG.md CHANGED
@@ -1,5 +1,35 @@
1
1
  # @rozenite/performance-monitor-plugin
2
2
 
3
+ ## 1.11.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#283](https://github.com/callstackincubator/rozenite/pull/283) [`dc7cdce`](https://github.com/callstackincubator/rozenite/commit/dc7cdce3659df004b591ccb3e74c1f3c638702b9) Thanks [@burczu](https://github.com/burczu)! - Add first-class startup insights to the Performance Monitor plugin.
8
+
9
+ A new Startup tab (first in the tab order) shows Total startup time and the three key launch phases — Native Launch, JS Bundle, and Initial Mount — with proportional bars so you can see at a glance where startup time is spent. Phases that have not yet completed show as "In progress…"; phases absent from the event stream show as "—". The startup data is derived automatically from React Native's buffered native marks, so no extra instrumentation is required.
10
+
11
+ - [#285](https://github.com/callstackincubator/rozenite/pull/285) [`d2faeeb`](https://github.com/callstackincubator/rozenite/commit/d2faeeb13c0d2d3171bc21542d1b23810d9d51c1) Thanks [@draggie](https://github.com/draggie)! - Add a waterfall timeline view to Performance Monitor so you can inspect marks, measures, metrics, and resources in one chronological view.
12
+
13
+ ### Patch Changes
14
+
15
+ - Updated dependencies []:
16
+ - @rozenite/plugin-bridge@1.11.0
17
+
18
+ ## 1.10.0
19
+
20
+ ### Minor Changes
21
+
22
+ - [#264](https://github.com/callstackincubator/rozenite/pull/264) [`4c58099`](https://github.com/callstackincubator/rozenite/commit/4c5809934beb7cf139f7337da4706dbc50fe9434) Thanks [@burczu](https://github.com/burczu)! - Expand performance monitor coverage to `resource` and `react-native-mark` entries, and preserve `mark.detail`.
23
+
24
+ The panel now has dedicated tabs for **React Native Marks** (the native startup taxonomy like `nativeLaunchStart`, `runJSBundleStart`, …) and **Resources** (HTTP requests captured via `setResourceLoggingEnabled`). The Resources table shows Name / Type / Duration / Size, with the full `PerformanceResourceTiming` breakdown (sizes, all 12 timing phases, `serverTiming` / `workerTiming`) available in the details sidebar. Previously dropped `mark.detail` payloads are now preserved end-to-end and rendered in the Mark Details sidebar. The export modal can include both new entry types and reports their counts in `sessionInfo`.
25
+
26
+ ### Patch Changes
27
+
28
+ - [#269](https://github.com/callstackincubator/rozenite/pull/269) [`0442184`](https://github.com/callstackincubator/rozenite/commit/04421844d2f902ff484e6c73bbc25b50a25b55b2) Thanks [@burczu](https://github.com/burczu)! - Fix time display precision in the Performance Monitor panel. Durations under 1s now show as integer milliseconds (clock accuracy is 1ms, so `.toFixed(2)` was always faking precision). Durations ≥ 1s show 3 decimals (`1.234s`) for the same 1ms-precision invariant. Wall-clock timestamps (mark `Recorded at`, measure `Start Time` / `End Time`, session `Started`) include their millisecond component in a stable 24h `HH:MM:SS.mmm` format. Non-zero sub-millisecond durations display as `<1ms` instead of `0ms`, so a marker that fired isn't mistaken for "not measured."
29
+
30
+ - Updated dependencies []:
31
+ - @rozenite/plugin-bridge@1.10.0
32
+
3
33
  ## 1.9.0
4
34
 
5
35
  ### Patch Changes
@@ -22,8 +22,8 @@
22
22
  <script>
23
23
  var __ROZENITE_PANEL__ = true;
24
24
  </script>
25
- <script type="module" crossorigin src="../devtools/assets/App-e45yAmvz.js"></script>
26
- <link rel="stylesheet" crossorigin href="../devtools/assets/App-CcO8G7X1.css">
25
+ <script type="module" crossorigin src="../devtools/assets/App-DaBYzvA5.js"></script>
26
+ <link rel="stylesheet" crossorigin href="../devtools/assets/App-Bm_UxxOC.css">
27
27
  </head>
28
28
  <body>
29
29
  <div id="root"></div>