adonisjs-server-stats 1.5.3 → 1.6.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.
Files changed (519) hide show
  1. package/README.md +351 -171
  2. package/dist/configure.d.ts.map +1 -1
  3. package/dist/core/api-client.d.ts +73 -0
  4. package/dist/core/api-client.d.ts.map +1 -0
  5. package/dist/core/config-utils.d.ts +109 -0
  6. package/dist/core/config-utils.d.ts.map +1 -0
  7. package/dist/core/constants.d.ts +11 -0
  8. package/dist/core/constants.d.ts.map +1 -0
  9. package/dist/core/dashboard-api.d.ts +65 -0
  10. package/dist/core/dashboard-api.d.ts.map +1 -0
  11. package/dist/core/dashboard-data-controller.d.ts +157 -0
  12. package/dist/core/dashboard-data-controller.d.ts.map +1 -0
  13. package/dist/core/debug-data-controller.d.ts +89 -0
  14. package/dist/core/debug-data-controller.d.ts.map +1 -0
  15. package/dist/core/feature-detect.d.ts +67 -0
  16. package/dist/core/feature-detect.d.ts.map +1 -0
  17. package/dist/core/formatters.d.ts +189 -0
  18. package/dist/core/formatters.d.ts.map +1 -0
  19. package/dist/core/history-buffer.d.ts +23 -0
  20. package/dist/core/history-buffer.d.ts.map +1 -0
  21. package/dist/core/icons.d.ts +36 -0
  22. package/dist/core/icons.d.ts.map +1 -0
  23. package/dist/core/index.d.ts +39 -0
  24. package/dist/core/index.d.ts.map +1 -0
  25. package/dist/core/index.js +1961 -0
  26. package/dist/core/internals-utils.d.ts +71 -0
  27. package/dist/core/internals-utils.d.ts.map +1 -0
  28. package/dist/core/job-utils.d.ts +45 -0
  29. package/dist/core/job-utils.d.ts.map +1 -0
  30. package/dist/core/log-utils.d.ts +34 -0
  31. package/dist/core/log-utils.d.ts.map +1 -0
  32. package/dist/core/metrics.d.ts +41 -0
  33. package/dist/core/metrics.d.ts.map +1 -0
  34. package/dist/core/pagination.d.ts +128 -0
  35. package/dist/core/pagination.d.ts.map +1 -0
  36. package/dist/core/query-utils.d.ts +35 -0
  37. package/dist/core/query-utils.d.ts.map +1 -0
  38. package/dist/core/resizable-columns.d.ts +18 -0
  39. package/dist/core/resizable-columns.d.ts.map +1 -0
  40. package/dist/core/routes.d.ts +12 -0
  41. package/dist/core/routes.d.ts.map +1 -0
  42. package/dist/core/server-stats-controller.d.ts +106 -0
  43. package/dist/core/server-stats-controller.d.ts.map +1 -0
  44. package/dist/core/sparkline.d.ts +80 -0
  45. package/dist/core/sparkline.d.ts.map +1 -0
  46. package/dist/core/theme.d.ts +42 -0
  47. package/dist/core/theme.d.ts.map +1 -0
  48. package/dist/core/trace-utils.d.ts +62 -0
  49. package/dist/core/trace-utils.d.ts.map +1 -0
  50. package/dist/core/transmit-adapter.d.ts +59 -0
  51. package/dist/core/transmit-adapter.d.ts.map +1 -0
  52. package/dist/core/types.d.ts +619 -0
  53. package/dist/core/types.d.ts.map +1 -0
  54. package/dist/react/CacheSection-DGxMDlWK.js +146 -0
  55. package/dist/react/CacheTab-CnVW5PLs.js +123 -0
  56. package/dist/react/ConfigContent-CnsEI4j3.js +397 -0
  57. package/dist/react/ConfigSection-DPcrfqXY.js +11 -0
  58. package/dist/react/ConfigTab-BSWq_o2p.js +15 -0
  59. package/dist/react/CustomPaneTab-xjkYwTvH.js +104 -0
  60. package/dist/react/DataTable-YyShr5B-.js +55 -0
  61. package/dist/react/EmailsSection-CSyTg1aX.js +262 -0
  62. package/dist/react/EmailsTab-Dh2YSa_f.js +131 -0
  63. package/dist/react/EventsSection-C1pbJDfW.js +86 -0
  64. package/dist/react/EventsTab-eCh02cdd.js +63 -0
  65. package/dist/react/FilterBar-DQRXpWrb.js +50 -0
  66. package/dist/react/InternalsContent-DBzsI0CG.js +346 -0
  67. package/dist/react/InternalsSection-t7ihcWO-.js +32 -0
  68. package/dist/react/InternalsTab-Oij0A2fN.js +30 -0
  69. package/dist/react/JobsSection-CLAin5vU.js +187 -0
  70. package/dist/react/JobsTab-Dl5nrj2z.js +141 -0
  71. package/dist/react/LogsSection-C1p81fXO.js +212 -0
  72. package/dist/react/LogsTab-D-kR7PjX.js +88 -0
  73. package/dist/react/OverviewSection-nm3xdACz.js +539 -0
  74. package/dist/react/Pagination-BkmzUDY8.js +64 -0
  75. package/dist/react/QueriesSection-DB12HMfQ.js +461 -0
  76. package/dist/react/QueriesTab-fyBB1u_Y.js +90 -0
  77. package/dist/react/RequestsSection-DTqB81ac.js +209 -0
  78. package/dist/react/RoutesSection-DJWa4NPV.js +74 -0
  79. package/dist/react/RoutesTab-D3l8TOpu.js +74 -0
  80. package/dist/react/TimelineSection-C4d-jRX1.js +158 -0
  81. package/dist/react/TimelineTab-C5TFaSmQ.js +193 -0
  82. package/dist/react/WaterfallChart-Cj73WdfM.js +100 -0
  83. package/dist/react/core/api-client.d.ts +73 -0
  84. package/dist/react/core/api-client.d.ts.map +1 -0
  85. package/dist/react/core/config-utils.d.ts +109 -0
  86. package/dist/react/core/config-utils.d.ts.map +1 -0
  87. package/dist/react/core/constants.d.ts +11 -0
  88. package/dist/react/core/constants.d.ts.map +1 -0
  89. package/dist/react/core/dashboard-api.d.ts +65 -0
  90. package/dist/react/core/dashboard-api.d.ts.map +1 -0
  91. package/dist/react/core/dashboard-data-controller.d.ts +157 -0
  92. package/dist/react/core/dashboard-data-controller.d.ts.map +1 -0
  93. package/dist/react/core/debug-data-controller.d.ts +89 -0
  94. package/dist/react/core/debug-data-controller.d.ts.map +1 -0
  95. package/dist/react/core/feature-detect.d.ts +67 -0
  96. package/dist/react/core/feature-detect.d.ts.map +1 -0
  97. package/dist/react/core/formatters.d.ts +189 -0
  98. package/dist/react/core/formatters.d.ts.map +1 -0
  99. package/dist/react/core/history-buffer.d.ts +23 -0
  100. package/dist/react/core/history-buffer.d.ts.map +1 -0
  101. package/dist/react/core/icons.d.ts +36 -0
  102. package/dist/react/core/icons.d.ts.map +1 -0
  103. package/dist/react/core/index.d.ts +39 -0
  104. package/dist/react/core/index.d.ts.map +1 -0
  105. package/dist/react/core/internals-utils.d.ts +71 -0
  106. package/dist/react/core/internals-utils.d.ts.map +1 -0
  107. package/dist/react/core/job-utils.d.ts +45 -0
  108. package/dist/react/core/job-utils.d.ts.map +1 -0
  109. package/dist/react/core/log-utils.d.ts +34 -0
  110. package/dist/react/core/log-utils.d.ts.map +1 -0
  111. package/dist/react/core/metrics.d.ts +41 -0
  112. package/dist/react/core/metrics.d.ts.map +1 -0
  113. package/dist/react/core/pagination.d.ts +128 -0
  114. package/dist/react/core/pagination.d.ts.map +1 -0
  115. package/dist/react/core/query-utils.d.ts +35 -0
  116. package/dist/react/core/query-utils.d.ts.map +1 -0
  117. package/dist/react/core/resizable-columns.d.ts +18 -0
  118. package/dist/react/core/resizable-columns.d.ts.map +1 -0
  119. package/dist/react/core/routes.d.ts +12 -0
  120. package/dist/react/core/routes.d.ts.map +1 -0
  121. package/dist/react/core/server-stats-controller.d.ts +106 -0
  122. package/dist/react/core/server-stats-controller.d.ts.map +1 -0
  123. package/dist/react/core/sparkline.d.ts +80 -0
  124. package/dist/react/core/sparkline.d.ts.map +1 -0
  125. package/dist/react/core/theme.d.ts +42 -0
  126. package/dist/react/core/theme.d.ts.map +1 -0
  127. package/dist/react/core/trace-utils.d.ts +62 -0
  128. package/dist/react/core/trace-utils.d.ts.map +1 -0
  129. package/dist/react/core/transmit-adapter.d.ts +59 -0
  130. package/dist/react/core/transmit-adapter.d.ts.map +1 -0
  131. package/dist/react/core/types.d.ts +619 -0
  132. package/dist/react/core/types.d.ts.map +1 -0
  133. package/dist/react/index-UdTfSvtO.js +1074 -0
  134. package/dist/react/index.js +18 -0
  135. package/dist/react/react/components/Dashboard/DashboardPage.d.ts +17 -0
  136. package/dist/react/react/components/Dashboard/DashboardPage.d.ts.map +1 -0
  137. package/dist/react/react/components/Dashboard/sections/CacheSection.d.ts +7 -0
  138. package/dist/react/react/components/Dashboard/sections/CacheSection.d.ts.map +1 -0
  139. package/dist/react/react/components/Dashboard/sections/ConfigSection.d.ts +7 -0
  140. package/dist/react/react/components/Dashboard/sections/ConfigSection.d.ts.map +1 -0
  141. package/dist/react/react/components/Dashboard/sections/EmailsSection.d.ts +7 -0
  142. package/dist/react/react/components/Dashboard/sections/EmailsSection.d.ts.map +1 -0
  143. package/dist/react/react/components/Dashboard/sections/EventsSection.d.ts +7 -0
  144. package/dist/react/react/components/Dashboard/sections/EventsSection.d.ts.map +1 -0
  145. package/dist/react/react/components/Dashboard/sections/InternalsSection.d.ts +14 -0
  146. package/dist/react/react/components/Dashboard/sections/InternalsSection.d.ts.map +1 -0
  147. package/dist/react/react/components/Dashboard/sections/JobsSection.d.ts +7 -0
  148. package/dist/react/react/components/Dashboard/sections/JobsSection.d.ts.map +1 -0
  149. package/dist/react/react/components/Dashboard/sections/LogsSection.d.ts +7 -0
  150. package/dist/react/react/components/Dashboard/sections/LogsSection.d.ts.map +1 -0
  151. package/dist/react/react/components/Dashboard/sections/OverviewSection.d.ts +7 -0
  152. package/dist/react/react/components/Dashboard/sections/OverviewSection.d.ts.map +1 -0
  153. package/dist/react/react/components/Dashboard/sections/QueriesSection.d.ts +7 -0
  154. package/dist/react/react/components/Dashboard/sections/QueriesSection.d.ts.map +1 -0
  155. package/dist/react/react/components/Dashboard/sections/RequestsSection.d.ts +7 -0
  156. package/dist/react/react/components/Dashboard/sections/RequestsSection.d.ts.map +1 -0
  157. package/dist/react/react/components/Dashboard/sections/RoutesSection.d.ts +7 -0
  158. package/dist/react/react/components/Dashboard/sections/RoutesSection.d.ts.map +1 -0
  159. package/dist/react/react/components/Dashboard/sections/TimelineSection.d.ts +9 -0
  160. package/dist/react/react/components/Dashboard/sections/TimelineSection.d.ts.map +1 -0
  161. package/dist/react/react/components/Dashboard/shared/DataTable.d.ts +27 -0
  162. package/dist/react/react/components/Dashboard/shared/DataTable.d.ts.map +1 -0
  163. package/dist/react/react/components/Dashboard/shared/FilterBar.d.ts +17 -0
  164. package/dist/react/react/components/Dashboard/shared/FilterBar.d.ts.map +1 -0
  165. package/dist/react/react/components/Dashboard/shared/Pagination.d.ts +13 -0
  166. package/dist/react/react/components/Dashboard/shared/Pagination.d.ts.map +1 -0
  167. package/dist/react/react/components/Dashboard/shared/TimeRangeSelector.d.ts +12 -0
  168. package/dist/react/react/components/Dashboard/shared/TimeRangeSelector.d.ts.map +1 -0
  169. package/dist/react/react/components/Dashboard/shared/WaterfallChart.d.ts +16 -0
  170. package/dist/react/react/components/Dashboard/shared/WaterfallChart.d.ts.map +1 -0
  171. package/dist/react/react/components/DebugPanel/DebugPanel.d.ts +16 -0
  172. package/dist/react/react/components/DebugPanel/DebugPanel.d.ts.map +1 -0
  173. package/dist/react/react/components/DebugPanel/tabs/CacheTab.d.ts +8 -0
  174. package/dist/react/react/components/DebugPanel/tabs/CacheTab.d.ts.map +1 -0
  175. package/dist/react/react/components/DebugPanel/tabs/ConfigTab.d.ts +8 -0
  176. package/dist/react/react/components/DebugPanel/tabs/ConfigTab.d.ts.map +1 -0
  177. package/dist/react/react/components/DebugPanel/tabs/CustomPaneTab.d.ts +14 -0
  178. package/dist/react/react/components/DebugPanel/tabs/CustomPaneTab.d.ts.map +1 -0
  179. package/dist/react/react/components/DebugPanel/tabs/EmailsTab.d.ts +7 -0
  180. package/dist/react/react/components/DebugPanel/tabs/EmailsTab.d.ts.map +1 -0
  181. package/dist/react/react/components/DebugPanel/tabs/EventsTab.d.ts +7 -0
  182. package/dist/react/react/components/DebugPanel/tabs/EventsTab.d.ts.map +1 -0
  183. package/dist/react/react/components/DebugPanel/tabs/InternalsTab.d.ts +12 -0
  184. package/dist/react/react/components/DebugPanel/tabs/InternalsTab.d.ts.map +1 -0
  185. package/dist/react/react/components/DebugPanel/tabs/JobsTab.d.ts +9 -0
  186. package/dist/react/react/components/DebugPanel/tabs/JobsTab.d.ts.map +1 -0
  187. package/dist/react/react/components/DebugPanel/tabs/LogsTab.d.ts +7 -0
  188. package/dist/react/react/components/DebugPanel/tabs/LogsTab.d.ts.map +1 -0
  189. package/dist/react/react/components/DebugPanel/tabs/QueriesTab.d.ts +7 -0
  190. package/dist/react/react/components/DebugPanel/tabs/QueriesTab.d.ts.map +1 -0
  191. package/dist/react/react/components/DebugPanel/tabs/RoutesTab.d.ts +8 -0
  192. package/dist/react/react/components/DebugPanel/tabs/RoutesTab.d.ts.map +1 -0
  193. package/dist/react/react/components/DebugPanel/tabs/TimelineTab.d.ts +7 -0
  194. package/dist/react/react/components/DebugPanel/tabs/TimelineTab.d.ts.map +1 -0
  195. package/dist/react/react/components/StatsBar/MetricCard.d.ts +21 -0
  196. package/dist/react/react/components/StatsBar/MetricCard.d.ts.map +1 -0
  197. package/dist/react/react/components/StatsBar/Sparkline.d.ts +15 -0
  198. package/dist/react/react/components/StatsBar/Sparkline.d.ts.map +1 -0
  199. package/dist/react/react/components/StatsBar/StatsBar.d.ts +22 -0
  200. package/dist/react/react/components/StatsBar/StatsBar.d.ts.map +1 -0
  201. package/dist/react/react/components/shared/Badge.d.ts +32 -0
  202. package/dist/react/react/components/shared/Badge.d.ts.map +1 -0
  203. package/dist/react/react/components/shared/ConfigContent.d.ts +13 -0
  204. package/dist/react/react/components/shared/ConfigContent.d.ts.map +1 -0
  205. package/dist/react/react/components/shared/InternalsContent.d.ts +10 -0
  206. package/dist/react/react/components/shared/InternalsContent.d.ts.map +1 -0
  207. package/dist/react/react/components/shared/JsonViewer.d.ts +12 -0
  208. package/dist/react/react/components/shared/JsonViewer.d.ts.map +1 -0
  209. package/dist/react/react/components/shared/ThemeToggle.d.ts +13 -0
  210. package/dist/react/react/components/shared/ThemeToggle.d.ts.map +1 -0
  211. package/dist/react/react/components/shared/Tooltip.d.ts +16 -0
  212. package/dist/react/react/components/shared/Tooltip.d.ts.map +1 -0
  213. package/dist/react/react/hooks/useApiClient.d.ts +10 -0
  214. package/dist/react/react/hooks/useApiClient.d.ts.map +1 -0
  215. package/dist/react/react/hooks/useDashboardApiBase.d.ts +19 -0
  216. package/dist/react/react/hooks/useDashboardApiBase.d.ts.map +1 -0
  217. package/dist/react/react/hooks/useDashboardData.d.ts +27 -0
  218. package/dist/react/react/hooks/useDashboardData.d.ts.map +1 -0
  219. package/dist/react/react/hooks/useDebugData.d.ts +17 -0
  220. package/dist/react/react/hooks/useDebugData.d.ts.map +1 -0
  221. package/dist/react/react/hooks/useFeatures.d.ts +13 -0
  222. package/dist/react/react/hooks/useFeatures.d.ts.map +1 -0
  223. package/dist/react/react/hooks/useResizableTable.d.ts +13 -0
  224. package/dist/react/react/hooks/useResizableTable.d.ts.map +1 -0
  225. package/dist/react/react/hooks/useServerStats.d.ts +21 -0
  226. package/dist/react/react/hooks/useServerStats.d.ts.map +1 -0
  227. package/dist/react/react/hooks/useTheme.d.ts +12 -0
  228. package/dist/react/react/hooks/useTheme.d.ts.map +1 -0
  229. package/dist/react/react/index.d.ts +14 -0
  230. package/dist/react/react/index.d.ts.map +1 -0
  231. package/dist/react/style.css +1 -0
  232. package/dist/react/useApiClient-BVtNCmnL.js +9 -0
  233. package/dist/react/useDashboardApiBase-Bi36pJ2L.js +14 -0
  234. package/dist/react/useResizableTable-CNJmACdt.js +13 -0
  235. package/dist/src/collectors/app_collector.d.ts.map +1 -1
  236. package/dist/src/collectors/app_collector.js +28 -1
  237. package/dist/src/collectors/auto_detect.d.ts +31 -0
  238. package/dist/src/collectors/auto_detect.d.ts.map +1 -0
  239. package/dist/src/collectors/auto_detect.js +116 -0
  240. package/dist/src/collectors/collector.d.ts +17 -0
  241. package/dist/src/collectors/collector.d.ts.map +1 -1
  242. package/dist/src/collectors/db_pool_collector.d.ts.map +1 -1
  243. package/dist/src/collectors/db_pool_collector.js +33 -0
  244. package/dist/src/collectors/http_collector.d.ts.map +1 -1
  245. package/dist/src/collectors/http_collector.js +25 -6
  246. package/dist/src/collectors/index.d.ts +2 -0
  247. package/dist/src/collectors/index.d.ts.map +1 -1
  248. package/dist/src/collectors/index.js +1 -0
  249. package/dist/src/collectors/log_collector.d.ts +11 -4
  250. package/dist/src/collectors/log_collector.d.ts.map +1 -1
  251. package/dist/src/collectors/log_collector.js +51 -5
  252. package/dist/src/collectors/process_collector.d.ts.map +1 -1
  253. package/dist/src/collectors/process_collector.js +4 -0
  254. package/dist/src/collectors/queue_collector.d.ts.map +1 -1
  255. package/dist/src/collectors/queue_collector.js +55 -1
  256. package/dist/src/collectors/redis_collector.d.ts.map +1 -1
  257. package/dist/src/collectors/redis_collector.js +41 -3
  258. package/dist/src/collectors/system_collector.d.ts.map +1 -1
  259. package/dist/src/collectors/system_collector.js +4 -0
  260. package/dist/src/controller/api_controller.d.ts +101 -0
  261. package/dist/src/controller/api_controller.d.ts.map +1 -0
  262. package/dist/src/controller/api_controller.js +131 -0
  263. package/dist/src/controller/debug_controller.d.ts +14 -10
  264. package/dist/src/controller/debug_controller.d.ts.map +1 -1
  265. package/dist/src/controller/debug_controller.js +96 -102
  266. package/dist/src/core/theme.d.ts +42 -0
  267. package/dist/src/core/theme.d.ts.map +1 -0
  268. package/dist/src/core/theme.js +115 -0
  269. package/dist/src/dashboard/chart_aggregator.d.ts.map +1 -1
  270. package/dist/src/dashboard/dashboard_controller.d.ts +10 -14
  271. package/dist/src/dashboard/dashboard_controller.d.ts.map +1 -1
  272. package/dist/src/dashboard/dashboard_controller.js +132 -250
  273. package/dist/src/dashboard/dashboard_store.d.ts +62 -19
  274. package/dist/src/dashboard/dashboard_store.d.ts.map +1 -1
  275. package/dist/src/dashboard/dashboard_store.js +196 -43
  276. package/dist/src/dashboard/integrations/cache_inspector.d.ts +19 -1
  277. package/dist/src/dashboard/integrations/cache_inspector.d.ts.map +1 -1
  278. package/dist/src/dashboard/integrations/config_inspector.d.ts +1 -1
  279. package/dist/src/dashboard/integrations/config_inspector.d.ts.map +1 -1
  280. package/dist/src/dashboard/integrations/config_inspector.js +3 -2
  281. package/dist/src/dashboard/integrations/queue_inspector.d.ts +55 -10
  282. package/dist/src/dashboard/integrations/queue_inspector.d.ts.map +1 -1
  283. package/dist/src/dashboard/integrations/queue_inspector.js +70 -24
  284. package/dist/src/dashboard/models/stats_event.d.ts +1 -1
  285. package/dist/src/dashboard/models/stats_event.d.ts.map +1 -1
  286. package/dist/src/dashboard/models/stats_log.d.ts +1 -1
  287. package/dist/src/dashboard/models/stats_log.d.ts.map +1 -1
  288. package/dist/src/dashboard/models/stats_query.d.ts +1 -1
  289. package/dist/src/dashboard/models/stats_query.d.ts.map +1 -1
  290. package/dist/src/dashboard/models/stats_saved_filter.d.ts +1 -1
  291. package/dist/src/dashboard/models/stats_saved_filter.d.ts.map +1 -1
  292. package/dist/src/dashboard/models/stats_trace.d.ts +2 -1
  293. package/dist/src/dashboard/models/stats_trace.d.ts.map +1 -1
  294. package/dist/src/data/data_access.d.ts +103 -0
  295. package/dist/src/data/data_access.d.ts.map +1 -0
  296. package/dist/src/data/data_access.js +305 -0
  297. package/dist/src/data/index.d.ts +3 -0
  298. package/dist/src/data/index.d.ts.map +1 -0
  299. package/dist/src/data/index.js +1 -0
  300. package/dist/src/debug/debug_store.d.ts +20 -1
  301. package/dist/src/debug/debug_store.d.ts.map +1 -1
  302. package/dist/src/debug/debug_store.js +43 -15
  303. package/dist/src/debug/email_collector.d.ts +6 -2
  304. package/dist/src/debug/email_collector.d.ts.map +1 -1
  305. package/dist/src/debug/email_collector.js +3 -0
  306. package/dist/src/debug/event_collector.d.ts +6 -2
  307. package/dist/src/debug/event_collector.d.ts.map +1 -1
  308. package/dist/src/debug/event_collector.js +12 -8
  309. package/dist/src/debug/query_collector.d.ts +6 -2
  310. package/dist/src/debug/query_collector.d.ts.map +1 -1
  311. package/dist/src/debug/query_collector.js +3 -0
  312. package/dist/src/debug/ring_buffer.d.ts +1 -0
  313. package/dist/src/debug/ring_buffer.d.ts.map +1 -1
  314. package/dist/src/debug/ring_buffer.js +5 -2
  315. package/dist/src/debug/route_inspector.d.ts +2 -2
  316. package/dist/src/debug/route_inspector.d.ts.map +1 -1
  317. package/dist/src/debug/route_inspector.js +4 -3
  318. package/dist/src/debug/trace_collector.d.ts +7 -3
  319. package/dist/src/debug/trace_collector.d.ts.map +1 -1
  320. package/dist/src/debug/trace_collector.js +7 -5
  321. package/dist/src/debug/types.d.ts +107 -2
  322. package/dist/src/debug/types.d.ts.map +1 -1
  323. package/dist/src/debug/types.js +1 -1
  324. package/dist/src/define_config.d.ts +49 -5
  325. package/dist/src/define_config.d.ts.map +1 -1
  326. package/dist/src/define_config.js +360 -4
  327. package/dist/src/edge/bootstrap.d.ts +17 -0
  328. package/dist/src/edge/bootstrap.d.ts.map +1 -0
  329. package/dist/src/edge/bootstrap.js +29 -0
  330. package/dist/src/edge/client/dashboard.js +2 -3619
  331. package/dist/src/edge/client/debug-panel-deferred.js +1 -0
  332. package/dist/src/edge/client/debug-panel.js +1 -2140
  333. package/dist/src/edge/client/stats-bar.js +1 -801
  334. package/dist/src/edge/client-vue/dashboard.js +5 -0
  335. package/dist/src/edge/client-vue/debug-panel-deferred.js +4 -0
  336. package/dist/src/edge/client-vue/debug-panel.js +4 -0
  337. package/dist/src/edge/client-vue/stats-bar.js +4 -0
  338. package/dist/src/edge/plugin.d.ts +35 -2
  339. package/dist/src/edge/plugin.d.ts.map +1 -1
  340. package/dist/src/edge/plugin.js +30 -66
  341. package/dist/src/edge/types.d.ts +46 -0
  342. package/dist/src/edge/types.d.ts.map +1 -0
  343. package/dist/src/edge/types.js +4 -0
  344. package/dist/src/edge/views/dashboard.edge +1 -358
  345. package/dist/src/edge/views/debug-panel.edge +2 -154
  346. package/dist/src/edge/views/stats-bar.edge +15 -48
  347. package/dist/src/engine/stats_engine.d.ts +18 -0
  348. package/dist/src/engine/stats_engine.d.ts.map +1 -1
  349. package/dist/src/engine/stats_engine.js +45 -2
  350. package/dist/src/index.d.ts +1 -1
  351. package/dist/src/index.d.ts.map +1 -1
  352. package/dist/src/log_stream/log_stream_provider.d.ts.map +1 -1
  353. package/dist/src/log_stream/log_stream_provider.js +21 -4
  354. package/dist/src/log_stream/log_stream_service.d.ts +8 -1
  355. package/dist/src/log_stream/log_stream_service.d.ts.map +1 -1
  356. package/dist/src/log_stream/log_stream_service.js +27 -3
  357. package/dist/src/middleware/request_tracking_middleware.d.ts +1 -1
  358. package/dist/src/middleware/request_tracking_middleware.d.ts.map +1 -1
  359. package/dist/src/middleware/request_tracking_middleware.js +14 -6
  360. package/dist/src/prometheus/prometheus_collector.d.ts +2 -1
  361. package/dist/src/prometheus/prometheus_collector.d.ts.map +1 -1
  362. package/dist/src/provider/server_stats_provider.d.ts +98 -0
  363. package/dist/src/provider/server_stats_provider.d.ts.map +1 -1
  364. package/dist/src/provider/server_stats_provider.js +340 -50
  365. package/dist/src/routes/access_middleware.d.ts +2 -1
  366. package/dist/src/routes/access_middleware.d.ts.map +1 -1
  367. package/dist/src/routes/access_middleware.js +7 -1
  368. package/dist/src/routes/index.d.ts +4 -0
  369. package/dist/src/routes/index.d.ts.map +1 -0
  370. package/dist/src/routes/index.js +1 -0
  371. package/dist/src/routes/register_routes.d.ts +103 -0
  372. package/dist/src/routes/register_routes.d.ts.map +1 -0
  373. package/dist/src/routes/register_routes.js +356 -0
  374. package/dist/src/routes/router_types.d.ts +29 -0
  375. package/dist/src/routes/router_types.d.ts.map +1 -0
  376. package/dist/src/routes/router_types.js +1 -0
  377. package/dist/src/stubs/config.stub +12 -32
  378. package/dist/src/styles/components.css +1048 -0
  379. package/dist/src/{edge/client → styles}/dashboard.css +299 -736
  380. package/dist/src/{edge/client → styles}/debug-panel.css +117 -633
  381. package/dist/src/{edge/client → styles}/stats-bar.css +28 -10
  382. package/dist/src/styles/tokens.css +153 -0
  383. package/dist/src/styles/utilities.css +75 -0
  384. package/dist/src/types.d.ts +119 -16
  385. package/dist/src/types.d.ts.map +1 -1
  386. package/dist/src/utils/json_helpers.d.ts +2 -2
  387. package/dist/src/utils/json_helpers.d.ts.map +1 -1
  388. package/dist/src/utils/logger.d.ts +17 -0
  389. package/dist/src/utils/logger.d.ts.map +1 -0
  390. package/dist/src/utils/logger.js +27 -0
  391. package/dist/src/utils/mail_helpers.d.ts +1 -1
  392. package/dist/src/utils/mail_helpers.d.ts.map +1 -1
  393. package/dist/src/utils/mail_helpers.js +1 -1
  394. package/dist/vue/CacheSection-CkrIB4-j.js +149 -0
  395. package/dist/vue/CacheTab-BPisYYiQ.js +104 -0
  396. package/dist/vue/ConfigSection-gulpOiq1.js +576 -0
  397. package/dist/vue/ConfigTab-C8cafGUj.js +361 -0
  398. package/dist/vue/CustomPaneTab-J57ED_bh.js +172 -0
  399. package/dist/vue/EmailsSection-BlKvQDx8.js +206 -0
  400. package/dist/vue/EmailsTab-DhFhoNmU.js +157 -0
  401. package/dist/vue/EventsSection-BdzQvIVJ.js +107 -0
  402. package/dist/vue/EventsTab-DQ4Nd6AK.js +97 -0
  403. package/dist/vue/FilterBar.vue_vue_type_script_setup_true_lang-ClJ37hhT.js +62 -0
  404. package/dist/vue/InternalsSection-BJUXE-5F.js +468 -0
  405. package/dist/vue/InternalsTab-DEMjqtlw.js +471 -0
  406. package/dist/vue/JobsSection-DOzuMrG3.js +187 -0
  407. package/dist/vue/JobsTab-BCvhOARO.js +117 -0
  408. package/dist/vue/JsonViewer.vue_vue_type_script_setup_true_lang-Vsqar1zx.js +67 -0
  409. package/dist/vue/LogsSection-CNN4y92u.js +227 -0
  410. package/dist/vue/LogsTab-CJerb22r.js +122 -0
  411. package/dist/vue/OverviewSection-SITNR_dA.js +849 -0
  412. package/dist/vue/PaginationControls.vue_vue_type_script_setup_true_lang-CuN7g_8Z.js +50 -0
  413. package/dist/vue/QueriesSection-BAebAHkD.js +429 -0
  414. package/dist/vue/QueriesTab-C8_7oprC.js +107 -0
  415. package/dist/vue/RequestsSection-CIR0IX39.js +243 -0
  416. package/dist/vue/RoutesSection-j1U2oa0g.js +106 -0
  417. package/dist/vue/RoutesTab-Dz0MkZuF.js +80 -0
  418. package/dist/vue/TimelineSection-Dw980UPg.js +186 -0
  419. package/dist/vue/TimelineTab-Db6lKKsD.js +250 -0
  420. package/dist/vue/WaterfallChart.vue_vue_type_script_setup_true_lang-tZ13cNj1.js +118 -0
  421. package/dist/vue/components/Dashboard/DashboardPage.vue.d.ts +18 -0
  422. package/dist/vue/components/Dashboard/DashboardPage.vue.d.ts.map +1 -0
  423. package/dist/vue/components/Dashboard/sections/CacheSection.vue.d.ts +5 -0
  424. package/dist/vue/components/Dashboard/sections/CacheSection.vue.d.ts.map +1 -0
  425. package/dist/vue/components/Dashboard/sections/ConfigSection.vue.d.ts +3 -0
  426. package/dist/vue/components/Dashboard/sections/ConfigSection.vue.d.ts.map +1 -0
  427. package/dist/vue/components/Dashboard/sections/EmailsSection.vue.d.ts +5 -0
  428. package/dist/vue/components/Dashboard/sections/EmailsSection.vue.d.ts.map +1 -0
  429. package/dist/vue/components/Dashboard/sections/EventsSection.vue.d.ts +5 -0
  430. package/dist/vue/components/Dashboard/sections/EventsSection.vue.d.ts.map +1 -0
  431. package/dist/vue/components/Dashboard/sections/InternalsSection.vue.d.ts +3 -0
  432. package/dist/vue/components/Dashboard/sections/InternalsSection.vue.d.ts.map +1 -0
  433. package/dist/vue/components/Dashboard/sections/JobsSection.vue.d.ts +5 -0
  434. package/dist/vue/components/Dashboard/sections/JobsSection.vue.d.ts.map +1 -0
  435. package/dist/vue/components/Dashboard/sections/LogsSection.vue.d.ts +3 -0
  436. package/dist/vue/components/Dashboard/sections/LogsSection.vue.d.ts.map +1 -0
  437. package/dist/vue/components/Dashboard/sections/OverviewSection.vue.d.ts +5 -0
  438. package/dist/vue/components/Dashboard/sections/OverviewSection.vue.d.ts.map +1 -0
  439. package/dist/vue/components/Dashboard/sections/QueriesSection.vue.d.ts +45 -0
  440. package/dist/vue/components/Dashboard/sections/QueriesSection.vue.d.ts.map +1 -0
  441. package/dist/vue/components/Dashboard/sections/RequestsSection.vue.d.ts +5 -0
  442. package/dist/vue/components/Dashboard/sections/RequestsSection.vue.d.ts.map +1 -0
  443. package/dist/vue/components/Dashboard/sections/RoutesSection.vue.d.ts +5 -0
  444. package/dist/vue/components/Dashboard/sections/RoutesSection.vue.d.ts.map +1 -0
  445. package/dist/vue/components/Dashboard/sections/TimelineSection.vue.d.ts +11 -0
  446. package/dist/vue/components/Dashboard/sections/TimelineSection.vue.d.ts.map +1 -0
  447. package/dist/vue/components/Dashboard/shared/FilterBar.vue.d.ts +29 -0
  448. package/dist/vue/components/Dashboard/shared/FilterBar.vue.d.ts.map +1 -0
  449. package/dist/vue/components/Dashboard/shared/PaginationControls.vue.d.ts +12 -0
  450. package/dist/vue/components/Dashboard/shared/PaginationControls.vue.d.ts.map +1 -0
  451. package/dist/vue/components/Dashboard/shared/TimeRangeSelector.vue.d.ts +11 -0
  452. package/dist/vue/components/Dashboard/shared/TimeRangeSelector.vue.d.ts.map +1 -0
  453. package/dist/vue/components/Dashboard/shared/WaterfallChart.vue.d.ts +10 -0
  454. package/dist/vue/components/Dashboard/shared/WaterfallChart.vue.d.ts.map +1 -0
  455. package/dist/vue/components/DebugPanel/DebugPanel.vue.d.ts +21 -0
  456. package/dist/vue/components/DebugPanel/DebugPanel.vue.d.ts.map +1 -0
  457. package/dist/vue/components/DebugPanel/tabs/CacheTab.vue.d.ts +12 -0
  458. package/dist/vue/components/DebugPanel/tabs/CacheTab.vue.d.ts.map +1 -0
  459. package/dist/vue/components/DebugPanel/tabs/ConfigTab.vue.d.ts +11 -0
  460. package/dist/vue/components/DebugPanel/tabs/ConfigTab.vue.d.ts.map +1 -0
  461. package/dist/vue/components/DebugPanel/tabs/CustomPaneTab.vue.d.ts +11 -0
  462. package/dist/vue/components/DebugPanel/tabs/CustomPaneTab.vue.d.ts.map +1 -0
  463. package/dist/vue/components/DebugPanel/tabs/EmailsTab.vue.d.ts +12 -0
  464. package/dist/vue/components/DebugPanel/tabs/EmailsTab.vue.d.ts.map +1 -0
  465. package/dist/vue/components/DebugPanel/tabs/EventsTab.vue.d.ts +12 -0
  466. package/dist/vue/components/DebugPanel/tabs/EventsTab.vue.d.ts.map +1 -0
  467. package/dist/vue/components/DebugPanel/tabs/InternalsTab.vue.d.ts +11 -0
  468. package/dist/vue/components/DebugPanel/tabs/InternalsTab.vue.d.ts.map +1 -0
  469. package/dist/vue/components/DebugPanel/tabs/JobsTab.vue.d.ts +13 -0
  470. package/dist/vue/components/DebugPanel/tabs/JobsTab.vue.d.ts.map +1 -0
  471. package/dist/vue/components/DebugPanel/tabs/LogsTab.vue.d.ts +15 -0
  472. package/dist/vue/components/DebugPanel/tabs/LogsTab.vue.d.ts.map +1 -0
  473. package/dist/vue/components/DebugPanel/tabs/QueriesTab.vue.d.ts +12 -0
  474. package/dist/vue/components/DebugPanel/tabs/QueriesTab.vue.d.ts.map +1 -0
  475. package/dist/vue/components/DebugPanel/tabs/RoutesTab.vue.d.ts +12 -0
  476. package/dist/vue/components/DebugPanel/tabs/RoutesTab.vue.d.ts.map +1 -0
  477. package/dist/vue/components/DebugPanel/tabs/TimelineTab.vue.d.ts +15 -0
  478. package/dist/vue/components/DebugPanel/tabs/TimelineTab.vue.d.ts.map +1 -0
  479. package/dist/vue/components/StatsBar/MetricCard.vue.d.ts +19 -0
  480. package/dist/vue/components/StatsBar/MetricCard.vue.d.ts.map +1 -0
  481. package/dist/vue/components/StatsBar/Sparkline.vue.d.ts +17 -0
  482. package/dist/vue/components/StatsBar/Sparkline.vue.d.ts.map +1 -0
  483. package/dist/vue/components/StatsBar/StatsBar.vue.d.ts +22 -0
  484. package/dist/vue/components/StatsBar/StatsBar.vue.d.ts.map +1 -0
  485. package/dist/vue/components/shared/JsonViewer.vue.d.ts +13 -0
  486. package/dist/vue/components/shared/JsonViewer.vue.d.ts.map +1 -0
  487. package/dist/vue/components/shared/ThemeToggle.vue.d.ts +8 -0
  488. package/dist/vue/components/shared/ThemeToggle.vue.d.ts.map +1 -0
  489. package/dist/vue/composables/useApiClient.d.ts +9 -0
  490. package/dist/vue/composables/useApiClient.d.ts.map +1 -0
  491. package/dist/vue/composables/useDashboardData.d.ts +53 -0
  492. package/dist/vue/composables/useDashboardData.d.ts.map +1 -0
  493. package/dist/vue/composables/useDebugData.d.ts +25 -0
  494. package/dist/vue/composables/useDebugData.d.ts.map +1 -0
  495. package/dist/vue/composables/useFeatures.d.ts +80 -0
  496. package/dist/vue/composables/useFeatures.d.ts.map +1 -0
  497. package/dist/vue/composables/useResizableTable.d.ts +16 -0
  498. package/dist/vue/composables/useResizableTable.d.ts.map +1 -0
  499. package/dist/vue/composables/useServerStats.d.ts +104 -0
  500. package/dist/vue/composables/useServerStats.d.ts.map +1 -0
  501. package/dist/vue/composables/useTheme.d.ts +6 -0
  502. package/dist/vue/composables/useTheme.d.ts.map +1 -0
  503. package/dist/vue/index-COgsk_nv.js +1233 -0
  504. package/dist/vue/index.d.ts +10 -0
  505. package/dist/vue/index.d.ts.map +1 -0
  506. package/dist/vue/index.js +11 -0
  507. package/dist/vue/style.css +1 -0
  508. package/dist/vue/useApiClient-BQQ9CF-q.js +10 -0
  509. package/dist/vue/useResizableTable-BoivAevK.js +17 -0
  510. package/package.json +68 -10
  511. package/dist/src/dashboard/dashboard_routes.d.ts +0 -16
  512. package/dist/src/dashboard/dashboard_routes.d.ts.map +0 -1
  513. package/dist/src/dashboard/dashboard_routes.js +0 -77
  514. package/dist/src/routes/debug_routes.d.ts +0 -14
  515. package/dist/src/routes/debug_routes.d.ts.map +0 -1
  516. package/dist/src/routes/debug_routes.js +0 -42
  517. package/dist/src/routes/stats_routes.d.ts +0 -14
  518. package/dist/src/routes/stats_routes.d.ts.map +0 -1
  519. package/dist/src/routes/stats_routes.js +0 -27
@@ -1,5 +1,15 @@
1
1
  import type { MetricCollector } from '../collectors/collector.js';
2
2
  import type { MetricValue } from '../types.js';
3
+ /**
4
+ * Health status for an individual collector.
5
+ */
6
+ export interface CollectorHealth {
7
+ name: string;
8
+ label: string;
9
+ status: 'healthy' | 'errored' | 'stopped';
10
+ lastError: string | null;
11
+ lastErrorAt: number | null;
12
+ }
3
13
  /**
4
14
  * Central orchestrator that runs all configured collectors in parallel
5
15
  * and merges their results into a single flat record.
@@ -17,6 +27,7 @@ import type { MetricValue } from '../types.js';
17
27
  export declare class StatsEngine {
18
28
  private collectors;
19
29
  private latestStats;
30
+ private collectorHealth;
20
31
  constructor(collectors: MetricCollector[]);
21
32
  /**
22
33
  * Initialize all collectors.
@@ -47,5 +58,12 @@ export declare class StatsEngine {
47
58
  * Returns an empty object if `collect()` has not been called yet.
48
59
  */
49
60
  getLatestStats(): Record<string, MetricValue>;
61
+ /** Returns health status for all collectors. */
62
+ getCollectorHealth(): CollectorHealth[];
63
+ /** Returns collector-specific configuration for all collectors. */
64
+ getCollectorConfigs(): Array<{
65
+ name: string;
66
+ config: Record<string, unknown>;
67
+ }>;
50
68
  }
51
69
  //# sourceMappingURL=stats_engine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stats_engine.d.ts","sourceRoot":"","sources":["../../../src/engine/stats_engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C;;;;;;;;;;;;;GAaG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,WAAW,CAAkC;gBAEzC,UAAU,EAAE,eAAe,EAAE;IAIzC;;;;;OAKG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B;;;;;OAKG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B;;;;;;;OAOG;IACG,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAerD;;;;OAIG;IACH,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC;CAG9C"}
1
+ {"version":3,"file":"stats_engine.d.ts","sourceRoot":"","sources":["../../../src/engine/stats_engine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAA;IACzC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3B;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,eAAe,CAA0C;gBAErD,UAAU,EAAE,eAAe,EAAE;IAczC;;;;;OAKG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAa5B;;;;;OAKG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAU3B;;;;;;;OAOG;IACG,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAgCrD;;;;OAIG;IACH,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC;IAI7C,gDAAgD;IAChD,kBAAkB,IAAI,eAAe,EAAE;IAIvC,mEAAmE;IACnE,mBAAmB,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;CAMhF"}
@@ -1,3 +1,4 @@
1
+ import { log } from '../utils/logger.js';
1
2
  /**
2
3
  * Central orchestrator that runs all configured collectors in parallel
3
4
  * and merges their results into a single flat record.
@@ -15,8 +16,18 @@
15
16
  export class StatsEngine {
16
17
  collectors;
17
18
  latestStats = {};
19
+ collectorHealth = new Map();
18
20
  constructor(collectors) {
19
21
  this.collectors = collectors;
22
+ for (const collector of collectors) {
23
+ this.collectorHealth.set(collector.name, {
24
+ name: collector.name,
25
+ label: collector.label ?? collector.name,
26
+ status: 'healthy',
27
+ lastError: null,
28
+ lastErrorAt: null,
29
+ });
30
+ }
20
31
  }
21
32
  /**
22
33
  * Initialize all collectors.
@@ -28,6 +39,9 @@ export class StatsEngine {
28
39
  for (const collector of this.collectors) {
29
40
  await collector.start?.();
30
41
  }
42
+ if (this.collectors.length > 0) {
43
+ log.list('collectors started:', this.collectors.map((c) => c.label ?? c.name));
44
+ }
31
45
  }
32
46
  /**
33
47
  * Shut down all collectors.
@@ -39,6 +53,9 @@ export class StatsEngine {
39
53
  for (const collector of this.collectors) {
40
54
  await collector.stop?.();
41
55
  }
56
+ for (const health of this.collectorHealth.values()) {
57
+ health.status = 'stopped';
58
+ }
42
59
  }
43
60
  /**
44
61
  * Run all collectors in parallel, merge their results, and return
@@ -51,9 +68,24 @@ export class StatsEngine {
51
68
  async collect() {
52
69
  const results = await Promise.all(this.collectors.map(async (collector) => {
53
70
  try {
54
- return await collector.collect();
71
+ const result = await collector.collect();
72
+ const health = this.collectorHealth.get(collector.name);
73
+ if (health) {
74
+ health.status = 'healthy';
75
+ }
76
+ return result;
55
77
  }
56
- catch {
78
+ catch (err) {
79
+ const health = this.collectorHealth.get(collector.name);
80
+ if (health) {
81
+ const wasHealthy = health.status !== 'errored';
82
+ health.status = 'errored';
83
+ health.lastError = err.message;
84
+ health.lastErrorAt = Date.now();
85
+ if (wasHealthy) {
86
+ log.warn(`collector "${collector.name}" threw during collect() — ${err.message}`);
87
+ }
88
+ }
57
89
  return {};
58
90
  }
59
91
  }));
@@ -68,4 +100,15 @@ export class StatsEngine {
68
100
  getLatestStats() {
69
101
  return this.latestStats;
70
102
  }
103
+ /** Returns health status for all collectors. */
104
+ getCollectorHealth() {
105
+ return Array.from(this.collectorHealth.values());
106
+ }
107
+ /** Returns collector-specific configuration for all collectors. */
108
+ getCollectorConfigs() {
109
+ return this.collectors.map((collector) => ({
110
+ name: collector.name,
111
+ config: collector.getConfig?.() ?? {},
112
+ }));
113
+ }
71
114
  }
@@ -4,7 +4,7 @@ export { RequestMetrics } from './engine/request_metrics.js';
4
4
  export { trace } from './debug/trace_collector.js';
5
5
  export { DashboardStore } from './dashboard/dashboard_store.js';
6
6
  export type { MetricCollector } from './collectors/collector.js';
7
- export type { MetricValue, ServerStats, ServerStatsConfig, LogStats, DevToolbarOptions, } from './types.js';
7
+ export type { MetricValue, ServerStats, ServerStatsConfig, ResolvedServerStatsConfig, LogStats, DevToolbarOptions, ToolbarConfig, DashboardConfig, AdvancedConfig, } from './types.js';
8
8
  export type { DebugPane, DebugPaneColumn, DebugPaneFormatType, DebugPaneSearch, BadgeColor, QueryRecord, EventRecord, EmailRecord, RouteRecord, TraceSpan, TraceRecord, DevToolbarConfig, } from './debug/types.js';
9
9
  export type { RequestFilters, QueryFilters, EventFilters, EmailFilters, LogFilters, TraceFilters, PaginatedResult, } from './dashboard/dashboard_store.js';
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,YAAY,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,YAAY,EACV,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,QAAQ,EACR,iBAAiB,GAClB,MAAM,YAAY,CAAA;AACnB,YAAY,EACV,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,UAAU,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,WAAW,EACX,SAAS,EACT,WAAW,EACX,gBAAgB,GACjB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EACV,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,eAAe,GAChB,MAAM,gCAAgC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,YAAY,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,YAAY,EACV,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,yBAAyB,EACzB,QAAQ,EACR,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,cAAc,GACf,MAAM,YAAY,CAAA;AACnB,YAAY,EACV,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,UAAU,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,WAAW,EACX,SAAS,EACT,WAAW,EACX,gBAAgB,GACjB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EACV,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,eAAe,GAChB,MAAM,gCAAgC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"log_stream_provider.d.ts","sourceRoot":"","sources":["../../../src/log_stream/log_stream_provider.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAE9D,MAAM,CAAC,OAAO,OAAO,iBAAiB;IAGxB,SAAS,CAAC,GAAG,EAAE,kBAAkB;IAF7C,OAAO,CAAC,OAAO,CAAgC;gBAEzB,GAAG,EAAE,kBAAkB;IAEvC,KAAK;IAwBL,QAAQ;CAGf"}
1
+ {"version":3,"file":"log_stream_provider.d.ts","sourceRoot":"","sources":["../../../src/log_stream/log_stream_provider.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAO9D,MAAM,CAAC,OAAO,OAAO,iBAAiB;IAGxB,SAAS,CAAC,GAAG,EAAE,kBAAkB;IAF7C,OAAO,CAAC,OAAO,CAAgC;gBAEzB,GAAG,EAAE,kBAAkB;IAEvC,KAAK;IAwCL,QAAQ;CAGf"}
@@ -1,3 +1,5 @@
1
+ import { getLogStreamService } from '../collectors/log_collector.js';
2
+ import { log } from '../utils/logger.js';
1
3
  import { LogStreamService } from './log_stream_service.js';
2
4
  export default class LogStreamProvider {
3
5
  app;
@@ -10,21 +12,36 @@ export default class LogStreamProvider {
10
12
  return;
11
13
  let transmit;
12
14
  try {
13
- transmit = await this.app.container.make('transmit');
15
+ transmit = (await this.app.container.make('transmit'));
14
16
  }
15
17
  catch {
18
+ log.info('@adonisjs/transmit not available — live log streaming disabled');
16
19
  return;
17
20
  }
18
- const logPath = this.app.makePath('logs', 'adonisjs.log');
19
21
  const channelName = this.app.config.get('server_stats.logChannelName', 'admin/logs');
20
- this.service = new LogStreamService(logPath, (entry) => {
22
+ const broadcast = (entry) => {
21
23
  try {
22
24
  transmit.broadcast(channelName, JSON.parse(JSON.stringify(entry)));
23
25
  }
24
26
  catch {
25
27
  // Silently ignore broadcast errors
26
28
  }
27
- });
29
+ };
30
+ // If logCollector() is already hooked into Pino (zero-config),
31
+ // piggyback on its stream instead of creating a file poller.
32
+ const existing = getLogStreamService();
33
+ if (existing) {
34
+ const internal = existing;
35
+ const origOnEntry = internal.onEntry;
36
+ internal.onEntry = (entry) => {
37
+ origOnEntry?.(entry);
38
+ broadcast(entry);
39
+ };
40
+ return;
41
+ }
42
+ // Fallback: poll the log file directly
43
+ const logPath = this.app.makePath('logs', 'adonisjs.log');
44
+ this.service = new LogStreamService(logPath, broadcast);
28
45
  await this.service.start();
29
46
  }
30
47
  async shutdown() {
@@ -6,7 +6,14 @@ export declare class LogStreamService {
6
6
  private intervalId;
7
7
  private logPath;
8
8
  private onEntry?;
9
- constructor(logPath: string, onEntry?: (entry: Record<string, unknown>) => void);
9
+ constructor(logPath?: string, onEntry?: (entry: Record<string, unknown>) => void);
10
+ /**
11
+ * Ingest a parsed log entry directly (no file needed).
12
+ *
13
+ * Used by the Pino stream interceptor to feed entries
14
+ * in real-time without file polling.
15
+ */
16
+ ingest(entry: Record<string, unknown>): void;
10
17
  getLogStats(): LogStats;
11
18
  start(): Promise<void>;
12
19
  stop(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"log_stream_service.d.ts","sourceRoot":"","sources":["../../../src/log_stream/log_stream_service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAkB3C,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAY3E;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,QAAQ,CAAI;IACpB,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,OAAO,CAAC,CAA0C;gBAE9C,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI;IAK/E,WAAW,IAAI,QAAQ;IA2BjB,KAAK;IAYX,IAAI;YAOU,cAAc;CA4B7B"}
1
+ {"version":3,"file":"log_stream_service.d.ts","sourceRoot":"","sources":["../../../src/log_stream/log_stream_service.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAoB3C,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAY3E;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,QAAQ,CAAI;IACpB,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,OAAO,CAAC,CAA0C;gBAE9C,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI;IAKhF;;;;;OAKG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAMrC,WAAW,IAAI,QAAQ;IA2BjB,KAAK;IAkBX,IAAI;YAOU,cAAc;CAiC7B"}
@@ -1,4 +1,6 @@
1
1
  import { open, stat } from 'node:fs/promises';
2
+ import { log } from '../utils/logger.js';
3
+ let warnedPollFailure = false;
2
4
  const LEVEL_NAMES = {
3
5
  10: 'trace',
4
6
  20: 'debug',
@@ -30,9 +32,20 @@ export class LogStreamService {
30
32
  logPath;
31
33
  onEntry;
32
34
  constructor(logPath, onEntry) {
33
- this.logPath = logPath;
35
+ this.logPath = logPath ?? null;
34
36
  this.onEntry = onEntry;
35
37
  }
38
+ /**
39
+ * Ingest a parsed log entry directly (no file needed).
40
+ *
41
+ * Used by the Pino stream interceptor to feed entries
42
+ * in real-time without file polling.
43
+ */
44
+ ingest(entry) {
45
+ const level = typeof entry.level === 'number' ? entry.level : 30;
46
+ this.recentEntries.push({ time: Date.now(), level });
47
+ this.onEntry?.(entry);
48
+ }
36
49
  getLogStats() {
37
50
  const now = Date.now();
38
51
  const cutoff = now - ROLLING_WINDOW_MS;
@@ -58,6 +71,10 @@ export class LogStreamService {
58
71
  };
59
72
  }
60
73
  async start() {
74
+ if (!this.logPath) {
75
+ // Stream-only mode — entries arrive via ingest(), no file polling
76
+ return;
77
+ }
61
78
  // Initialize with current file size so we only process new entries
62
79
  try {
63
80
  const stats = await stat(this.logPath);
@@ -67,6 +84,7 @@ export class LogStreamService {
67
84
  // File doesn't exist yet
68
85
  }
69
86
  this.intervalId = setInterval(() => this.pollNewEntries(), 2000);
87
+ log.info('log stream watching: ' + this.logPath);
70
88
  }
71
89
  stop() {
72
90
  if (this.intervalId) {
@@ -75,7 +93,10 @@ export class LogStreamService {
75
93
  }
76
94
  }
77
95
  async pollNewEntries() {
96
+ if (!this.logPath)
97
+ return;
78
98
  try {
99
+ warnedPollFailure = false;
79
100
  const stats = await stat(this.logPath);
80
101
  // File was truncated/rotated — reset
81
102
  if (stats.size < this.lastSize) {
@@ -96,8 +117,11 @@ export class LogStreamService {
96
117
  }
97
118
  }
98
119
  }
99
- catch {
100
- // Silently ignore — file may not exist yet
120
+ catch (err) {
121
+ if (!warnedPollFailure) {
122
+ warnedPollFailure = true;
123
+ log.warn('log stream: cannot read log file — ' + err?.message);
124
+ }
101
125
  }
102
126
  }
103
127
  }
@@ -8,7 +8,7 @@ import type { NextFn } from '@adonisjs/core/types/http';
8
8
  * self-generated data.
9
9
  */
10
10
  export declare function isExcludedRequest(): boolean;
11
- export declare function setShouldShow(fn: ((ctx: any) => boolean) | null): void;
11
+ export declare function setShouldShow(fn: ((ctx: HttpContext) => boolean) | null): void;
12
12
  export declare function setTraceCollector(collector: TraceCollector | null): void;
13
13
  export declare function setDashboardPath(path: string | null): void;
14
14
  export declare function setExcludedPrefixes(prefixes: string[]): void;
@@ -1 +1 @@
1
- {"version":3,"file":"request_tracking_middleware.d.ts","sourceRoot":"","sources":["../../../src/middleware/request_tracking_middleware.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AASvD;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAOD,wBAAgB,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,IAAI,QAE/D;AAOD,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI,QAEjE;AAQD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,QAEnD;AASD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAErD;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,WAAW,CAAA;CACpB;AAQD,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,CAAC,GAAG,IAAI,QAEpF;AAED,MAAM,CAAC,OAAO,OAAO,yBAAyB;IACtC,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM;CAuE5C"}
1
+ {"version":3,"file":"request_tracking_middleware.d.ts","sourceRoot":"","sources":["../../../src/middleware/request_tracking_middleware.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAcvD;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAYD,wBAAgB,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,GAAG,IAAI,QAEvE;AAOD,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI,QAEjE;AAQD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,QAEnD;AASD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAErD;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,WAAW,CAAA;CACpB;AAQD,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,CAAC,GAAG,IAAI,QAEpF;AAED,MAAM,CAAC,OAAO,OAAO,yBAAyB;IACtC,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM;CA4E5C"}
@@ -1,6 +1,7 @@
1
1
  import { AsyncLocalStorage } from 'node:async_hooks';
2
2
  import { performance } from 'node:perf_hooks';
3
3
  import { getRequestMetrics } from '../collectors/http_collector.js';
4
+ import { log } from '../utils/logger.js';
4
5
  /**
5
6
  * AsyncLocalStorage that marks the current request as "excluded" from
6
7
  * debug collection. Checked by QueryCollector and EventCollector to
@@ -15,6 +16,10 @@ const excludedRequestAls = new AsyncLocalStorage();
15
16
  export function isExcludedRequest() {
16
17
  return excludedRequestAls.getStore() === true;
17
18
  }
19
+ /**
20
+ * Warn-once guard for shouldShow callback failures.
21
+ */
22
+ let warnedShouldShow = false;
18
23
  /**
19
24
  * Module-level `shouldShow` callback, set by the provider at boot.
20
25
  */
@@ -70,14 +75,18 @@ export default class RequestTrackingMiddleware {
70
75
  // runs BEFORE router middleware like initialize_auth_middleware and
71
76
  // silentAuth — so ctx.auth isn't populated yet. The function is called
72
77
  // at Edge render time (inside the controller), when auth is available.
73
- if (shouldShowFn && typeof ctx.view?.share === 'function') {
74
- ;
75
- ctx.view.share({
78
+ const ctxView = ctx.view;
79
+ if (shouldShowFn && typeof ctxView?.share === 'function') {
80
+ ctxView.share({
76
81
  __ssShowFn: () => {
77
82
  try {
78
83
  return shouldShowFn(ctx);
79
84
  }
80
- catch {
85
+ catch (err) {
86
+ if (!warnedShouldShow) {
87
+ warnedShouldShow = true;
88
+ log.warn('shouldShow callback threw — stats bar will be hidden: ' + err?.message);
89
+ }
81
90
  return false;
82
91
  }
83
92
  },
@@ -86,8 +95,7 @@ export default class RequestTrackingMiddleware {
86
95
  // Skip tracing and dashboard persistence for the debug panel's own requests
87
96
  // (e.g. /admin/api/debug/*, /admin/api/server-stats) so they don't flood
88
97
  // the timeline. HTTP metrics (req/s, avg latency) are still recorded.
89
- const skipTracing = excludedPrefixes.length > 0 &&
90
- excludedPrefixes.some((prefix) => requestUrl.startsWith(prefix));
98
+ const skipTracing = excludedPrefixes.some((prefix) => requestUrl.startsWith(prefix));
91
99
  const runRequest = async () => {
92
100
  try {
93
101
  await next();
@@ -1,6 +1,7 @@
1
1
  import type { ServerStats } from '../types.js';
2
2
  import type { ConfigProvider } from '@adonisjs/core/types';
3
- export declare function serverStatsCollector(): ConfigProvider<any>;
3
+ import type { Collector } from '@julr/adonisjs-prometheus/collectors/collector';
4
+ export declare function serverStatsCollector(): ConfigProvider<Collector>;
4
5
  export declare const ServerStatsCollector: {
5
6
  instance: {
6
7
  update(stats: Partial<ServerStats>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"prometheus_collector.d.ts","sourceRoot":"","sources":["../../../src/prometheus/prometheus_collector.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D,wBAAgB,oBAAoB,IAAI,cAAc,CAAC,GAAG,CAAC,CA6M1D;AAED,eAAO,MAAM,oBAAoB,EAAE;IACjC,QAAQ,EAAE;QAAE,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAA;CAG/D,CAAA"}
1
+ {"version":3,"file":"prometheus_collector.d.ts","sourceRoot":"","sources":["../../../src/prometheus/prometheus_collector.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAA;AAI/E,wBAAgB,oBAAoB,IAAI,cAAc,CAAC,SAAS,CAAC,CA+MhE;AAED,eAAO,MAAM,oBAAoB,EAAE;IACjC,QAAQ,EAAE;QAAE,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAA;CAG/D,CAAA"}
@@ -13,8 +13,32 @@ export default class ServerStatsProvider {
13
13
  private flushTimer;
14
14
  private statsController;
15
15
  private debugController;
16
+ private apiController;
17
+ private pinoHookActive;
18
+ private edgePluginActive;
19
+ private prometheusActive;
20
+ private transmitAvailable;
21
+ private transmitChannels;
22
+ private resolvedConfig;
23
+ private resolvedCollectors;
16
24
  constructor(app: ApplicationService);
17
25
  boot(): Promise<void>;
26
+ /**
27
+ * Read start/kernel.ts and detect auth-related middleware in server.use()
28
+ * or router.use() blocks. Returns import paths of problematic middleware.
29
+ *
30
+ * Ignores initialize_auth_middleware (no DB query — just sets up ctx.auth).
31
+ */
32
+ private detectGlobalAuthMiddleware;
33
+ /**
34
+ * Hook into the AdonisJS logger's Pino stream to feed log entries
35
+ * directly into the LogStreamService — no file path needed.
36
+ *
37
+ * Uses `Symbol.for('pino.stream')` (documented Pino API) to access
38
+ * the underlying destination stream, then wraps its `write` method
39
+ * to tee entries into the log collector.
40
+ */
41
+ private hookPinoLogger;
18
42
  ready(): Promise<void>;
19
43
  private setupDevToolbar;
20
44
  /**
@@ -25,6 +49,80 @@ export default class ServerStatsProvider {
25
49
  * This method creates the controller so those routes become functional.
26
50
  */
27
51
  private setupDashboard;
52
+ /** Return diagnostics state for the Internals endpoint. */
53
+ getDiagnostics(): {
54
+ timers: {
55
+ collectionInterval: {
56
+ active: boolean;
57
+ intervalMs: number;
58
+ };
59
+ dashboardBroadcast: {
60
+ active: boolean;
61
+ intervalMs: number;
62
+ };
63
+ debugBroadcast: {
64
+ active: boolean;
65
+ debounceMs: number;
66
+ };
67
+ persistFlush: {
68
+ active: boolean;
69
+ intervalMs: number;
70
+ };
71
+ retentionCleanup: {
72
+ active: boolean;
73
+ intervalMs: number;
74
+ };
75
+ };
76
+ transmit: {
77
+ available: boolean;
78
+ channels: string[];
79
+ };
80
+ integrations: {
81
+ prometheus: {
82
+ active: boolean;
83
+ };
84
+ pinoHook: {
85
+ active: boolean;
86
+ mode: string;
87
+ };
88
+ edgePlugin: {
89
+ active: boolean;
90
+ };
91
+ cacheInspector: {
92
+ available: boolean;
93
+ };
94
+ queueInspector: {
95
+ available: boolean;
96
+ };
97
+ };
98
+ config: {
99
+ intervalMs: number;
100
+ transport: "transmit" | "none";
101
+ channelName: string;
102
+ endpoint: string | false;
103
+ skipInTest: boolean;
104
+ hasOnStatsCallback: boolean;
105
+ hasShouldShowCallback: boolean;
106
+ };
107
+ devToolbar: {
108
+ enabled: boolean;
109
+ maxQueries: number;
110
+ maxEvents: number;
111
+ maxEmails: number;
112
+ maxTraces: number;
113
+ slowQueryThresholdMs: number;
114
+ tracing: boolean;
115
+ dashboard: boolean;
116
+ dashboardPath: string;
117
+ debugEndpoint: string;
118
+ retentionDays: number;
119
+ dbPath: string;
120
+ persistDebugData: string | boolean;
121
+ renderer: "preact" | "vue";
122
+ excludeFromTracing: string[];
123
+ customPaneCount: number;
124
+ };
125
+ };
28
126
  shutdown(): Promise<void>;
29
127
  }
30
128
  //# sourceMappingURL=server_stats_provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server_stats_provider.d.ts","sourceRoot":"","sources":["../../../src/provider/server_stats_provider.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAE9D,MAAM,CAAC,OAAO,OAAO,mBAAmB;IAc1B,SAAS,CAAC,GAAG,EAAE,kBAAkB;IAb7C,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,mBAAmB,CAAmC;IAC9D,OAAO,CAAC,kBAAkB,CAAgC;IAC1D,OAAO,CAAC,uBAAuB,CAA8C;IAC7E,OAAO,CAAC,mBAAmB,CAA6C;IACxE,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,eAAe,CAAqC;IAC5D,OAAO,CAAC,eAAe,CAA+B;gBAEhC,GAAG,EAAE,kBAAkB;IAEvC,IAAI;IAqFJ,KAAK;YAuFG,eAAe;IAwF7B;;;;;;OAMG;YACW,cAAc;IAoGtB,QAAQ;CAwCf"}
1
+ {"version":3,"file":"server_stats_provider.d.ts","sourceRoot":"","sources":["../../../src/provider/server_stats_provider.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAQ9D,MAAM,CAAC,OAAO,OAAO,mBAAmB;IAwB1B,SAAS,CAAC,GAAG,EAAE,kBAAkB;IAvB7C,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,mBAAmB,CAAmC;IAC9D,OAAO,CAAC,kBAAkB,CAAgC;IAC1D,OAAO,CAAC,uBAAuB,CAA8C;IAC7E,OAAO,CAAC,mBAAmB,CAA6C;IACxE,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,eAAe,CAAqC;IAC5D,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,aAAa,CAA6B;IAGlD,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,gBAAgB,CAAiB;IACzC,OAAO,CAAC,gBAAgB,CAAiB;IACzC,OAAO,CAAC,iBAAiB,CAAiB;IAC1C,OAAO,CAAC,gBAAgB,CAAe;IACvC,OAAO,CAAC,cAAc,CAAyC;IAC/D,OAAO,CAAC,kBAAkB,CAAwB;gBAE5B,GAAG,EAAE,kBAAkB;IAEvC,IAAI;IAwGV;;;;;OAKG;IACH,OAAO,CAAC,0BAA0B;IAmDlC;;;;;;;OAOG;YACW,cAAc;IAqCtB,KAAK;YAkIG,eAAe;IAmG7B;;;;;;OAMG;YACW,cAAc;IA0I5B,2DAA2D;IAC3D,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2ER,QAAQ;CAwCf"}