adonisjs-server-stats 1.6.14 → 1.9.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 (69) hide show
  1. package/README.md +24 -8
  2. package/dist/core/index.js +248 -245
  3. package/dist/core/log-utils.d.ts +14 -0
  4. package/dist/react/{CacheSection-DGxMDlWK.js → CacheSection-xH75hwXu.js} +1 -1
  5. package/dist/react/{CacheTab-CnVW5PLs.js → CacheTab-DYmsZJJ1.js} +1 -1
  6. package/dist/react/{ConfigSection-DPcrfqXY.js → ConfigSection-D8BO1Ry9.js} +1 -1
  7. package/dist/react/{ConfigTab-BSWq_o2p.js → ConfigTab-CcN-tfjv.js} +1 -1
  8. package/dist/react/{CustomPaneTab-xjkYwTvH.js → CustomPaneTab-D7_o3Ec6.js} +1 -1
  9. package/dist/react/{EmailsSection-CSyTg1aX.js → EmailsSection-BzlsTdPs.js} +1 -1
  10. package/dist/react/{EmailsTab-Dh2YSa_f.js → EmailsTab-Uh2CQY3o.js} +44 -22
  11. package/dist/react/{EventsSection-C1pbJDfW.js → EventsSection-CGQWiIdV.js} +1 -1
  12. package/dist/react/{EventsTab-eCh02cdd.js → EventsTab-CC6DQzEm.js} +1 -1
  13. package/dist/react/{JobsSection-CLAin5vU.js → JobsSection-D7AHQmZi.js} +1 -1
  14. package/dist/react/{JobsTab-Dl5nrj2z.js → JobsTab-B3Lfdqed.js} +1 -1
  15. package/dist/react/LogsSection-Cly1dpvS.js +227 -0
  16. package/dist/react/LogsTab-BbYK-iyh.js +103 -0
  17. package/dist/react/{OverviewSection-nm3xdACz.js → OverviewSection-CkBGFEWq.js} +1 -1
  18. package/dist/react/{QueriesSection-DB12HMfQ.js → QueriesSection-CfCpnNUD.js} +1 -1
  19. package/dist/react/{QueriesTab-fyBB1u_Y.js → QueriesTab-DbBmAqzO.js} +1 -1
  20. package/dist/react/{RequestsSection-DTqB81ac.js → RequestsSection-Cb5a6MlT.js} +1 -1
  21. package/dist/react/{RoutesSection-DJWa4NPV.js → RoutesSection-CRqF-cNM.js} +1 -1
  22. package/dist/react/{RoutesTab-D3l8TOpu.js → RoutesTab-Bwreij3e.js} +1 -1
  23. package/dist/react/{TimelineSection-C4d-jRX1.js → TimelineSection-B2y06kRE.js} +1 -1
  24. package/dist/react/{TimelineTab-C5TFaSmQ.js → TimelineTab-6hthfdBB.js} +1 -1
  25. package/dist/react/{index-UdTfSvtO.js → index-CecA4IdQ.js} +394 -393
  26. package/dist/react/index.js +1 -1
  27. package/dist/react/react/components/shared/JsonViewer.d.ts +2 -1
  28. package/dist/react/style.css +1 -1
  29. package/dist/src/controller/debug_controller.js +10 -9
  30. package/dist/src/dashboard/dashboard_store.js +10 -6
  31. package/dist/src/data/data_access.js +12 -1
  32. package/dist/src/debug/email_collector.d.ts +11 -1
  33. package/dist/src/debug/email_collector.js +31 -1
  34. package/dist/src/debug/types.d.ts +1 -1
  35. package/dist/src/edge/client/dashboard.js +2 -2
  36. package/dist/src/edge/client/debug-panel-deferred.js +1 -1
  37. package/dist/src/edge/client-vue/dashboard.js +4 -4
  38. package/dist/src/edge/client-vue/debug-panel-deferred.js +3 -3
  39. package/dist/src/provider/server_stats_provider.d.ts +31 -0
  40. package/dist/src/provider/server_stats_provider.js +244 -5
  41. package/dist/src/routes/register_routes.js +2 -2
  42. package/dist/src/styles/components.css +84 -0
  43. package/dist/vue/{CacheSection-C788Yfai.js → CacheSection-Cx-hj09X.js} +2 -2
  44. package/dist/vue/{ConfigSection-CRzYxqW2.js → ConfigSection-CMXyryf6.js} +1 -1
  45. package/dist/vue/{EmailsSection-C8JFMtW7.js → EmailsSection-DgKl9xGT.js} +1 -1
  46. package/dist/vue/EmailsTab-CNyEODVB.js +177 -0
  47. package/dist/vue/{EventsSection-C4wXUgxG.js → EventsSection-BNMCAim1.js} +2 -2
  48. package/dist/vue/{EventsTab-DQ4Nd6AK.js → EventsTab-BBM7olXF.js} +1 -1
  49. package/dist/vue/{JobsSection-CsKWTjgN.js → JobsSection-CCMgMlxd.js} +2 -2
  50. package/dist/vue/{JobsTab-BCvhOARO.js → JobsTab-WFnxPdN7.js} +1 -1
  51. package/dist/vue/{JsonViewer.vue_vue_type_script_setup_true_lang-Vsqar1zx.js → JsonViewer.vue_vue_type_script_setup_true_lang-Bid05zpm.js} +25 -23
  52. package/dist/vue/LogsSection-CvOnTxUu.js +252 -0
  53. package/dist/vue/LogsTab-Bg3o0Mm6.js +147 -0
  54. package/dist/vue/{OverviewSection-CbMdAido.js → OverviewSection-CHgaKtUR.js} +1 -1
  55. package/dist/vue/{QueriesSection-BPiv7u3r.js → QueriesSection-BnHRD98z.js} +1 -1
  56. package/dist/vue/{RequestsSection-LtImH4rD.js → RequestsSection-B-uSlM0f.js} +1 -1
  57. package/dist/vue/{RoutesSection-CrxOxmzx.js → RoutesSection-BrceOcKQ.js} +1 -1
  58. package/dist/vue/{TimelineSection-DLxMW2J_.js → TimelineSection-CfvnA2Oo.js} +1 -1
  59. package/dist/vue/components/DebugPanel/tabs/EmailsTab.vue.d.ts +2 -0
  60. package/dist/vue/components/shared/JsonViewer.vue.d.ts +3 -0
  61. package/dist/vue/{index-qCQpBftQ.js → index-oLxS08vN.js} +56 -54
  62. package/dist/vue/index.js +1 -1
  63. package/dist/vue/style.css +1 -1
  64. package/package.json +1 -1
  65. package/dist/react/LogsSection-C1p81fXO.js +0 -212
  66. package/dist/react/LogsTab-D-kR7PjX.js +0 -88
  67. package/dist/vue/EmailsTab-DhFhoNmU.js +0 -157
  68. package/dist/vue/LogsSection-BFVjSZ24.js +0 -227
  69. package/dist/vue/LogsTab-DpEQ7euu.js +0 -122
package/README.md CHANGED
@@ -62,14 +62,7 @@ npm install adonisjs-server-stats
62
62
  ```ts
63
63
  // adonisrc.ts
64
64
  providers: [
65
- {
66
- file: () => import('adonisjs-server-stats/provider'),
67
- environment: ['web'],
68
- },
69
- {
70
- file: () => import('adonisjs-server-stats/log-stream/provider'),
71
- environment: ['web'],
72
- },
65
+ () => import('adonisjs-server-stats/provider'),
73
66
  ]
74
67
  ```
75
68
 
@@ -644,6 +637,29 @@ The debug toolbar captures all emails sent via AdonisJS mail (`mail:sending`, `m
644
637
  > },
645
638
  > ```
646
639
 
640
+ ### Cross-Process Email Capture (Queue Workers)
641
+
642
+ AdonisJS mail events (`mail:sending`, `mail:sent`, etc.) are process-local. If your app sends emails from **Bull queue workers** or other separate processes, the web server's email collector never sees them.
643
+
644
+ The provider handles this automatically via a **Redis pub/sub bridge**:
645
+
646
+ 1. In queue workers (`console` environment), the provider only starts a lightweight email bridge publisher — no debug store, routes, or dashboard overhead
647
+ 2. When an email is sent, the event is published to a Redis pub/sub channel
648
+ 3. In the web server (`web` environment), the provider subscribes to the same channel and ingests the email into both the debug panel and the dashboard
649
+
650
+ **Requirements:**
651
+ - `@adonisjs/redis` must be installed and configured (used for pub/sub between processes)
652
+ - The provider must be registered **without** an `environment` restriction so it loads in all environments:
653
+
654
+ ```ts
655
+ // adonisrc.ts
656
+ providers: [
657
+ () => import('adonisjs-server-stats/provider'), // runs in web + console
658
+ ]
659
+ ```
660
+
661
+ > **Note:** If you previously used separate `adonisjs-server-stats/email-bridge/provider` and `adonisjs-server-stats/log-stream/provider` registrations, you can replace all three with the single provider above. The email bridge and log stream functionality are now built into the main provider.
662
+
647
663
  ### Persistent Debug Data
648
664
 
649
665
  Enable `toolbar.persist: true` (or the legacy `devToolbar.persistDebugData: true`) to save queries, events, and emails to `.adonisjs/server-stats/debug-data.json`. You can customize the path via `advanced.persistPath`. Data is: