adonisjs-server-stats 1.10.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 (248) hide show
  1. package/README.md +23 -14
  2. package/dist/core/config-utils.d.ts +8 -0
  3. package/dist/core/constants.d.ts +4 -0
  4. package/dist/core/dashboard-data-controller.d.ts +16 -0
  5. package/dist/core/dashboard-data-helpers.d.ts +12 -0
  6. package/dist/core/debug-data-controller.d.ts +4 -0
  7. package/dist/core/define-config-helpers.d.ts +25 -0
  8. package/dist/core/feature-detect-helpers.d.ts +36 -0
  9. package/dist/core/field-resolvers.d.ts +64 -0
  10. package/dist/core/formatters-helpers.d.ts +23 -0
  11. package/dist/core/formatters.d.ts +15 -0
  12. package/dist/core/index.d.ts +1 -1
  13. package/dist/core/index.js +599 -509
  14. package/dist/core/log-utils-helpers.d.ts +13 -0
  15. package/dist/core/metrics.d.ts +3 -28
  16. package/dist/core/pagination.d.ts +0 -9
  17. package/dist/core/server-stats-controller.d.ts +6 -0
  18. package/dist/core/transmit-helpers.d.ts +7 -0
  19. package/dist/core/types-dashboard.d.ts +178 -0
  20. package/dist/core/types-diagnostics.d.ts +85 -0
  21. package/dist/core/types.d.ts +10 -442
  22. package/dist/react/CacheSection-BYN53kYO.js +135 -0
  23. package/dist/react/CacheStatsBar-CRodCOeP.js +27 -0
  24. package/dist/react/CacheTab-DOhuK05d.js +106 -0
  25. package/dist/react/{ConfigSection-DfFd-WRq.js → ConfigSection-B9EHh4Rp.js} +1 -1
  26. package/dist/react/{ConfigTab-Bdg8YMer.js → ConfigTab-C8kriE2b.js} +1 -1
  27. package/dist/react/CustomPaneTab-CvzQS_Wh.js +99 -0
  28. package/dist/react/EmailPreviewOverlay-BmXOAvqG.js +58 -0
  29. package/dist/react/EmailsSection-BJyFJf7A.js +226 -0
  30. package/dist/react/EmailsTab-Ch8jp10B.js +110 -0
  31. package/dist/react/{EventsSection-ByQ-9blq.js → EventsSection-DJPwHeT8.js} +28 -27
  32. package/dist/react/EventsTab-B-FoehXC.js +58 -0
  33. package/dist/react/{FilterBar-DQRXpWrb.js → FilterBar-CQ7bD669.js} +15 -15
  34. package/dist/react/{InternalsContent-DBzsI0CG.js → InternalsContent-O8ino9oM.js} +133 -109
  35. package/dist/react/InternalsSection-B6VlVx5f.js +22 -0
  36. package/dist/react/InternalsTab-CkEKpRMU.js +17 -0
  37. package/dist/react/JobStatsBar-C7RslAFE.js +30 -0
  38. package/dist/react/JobsSection-DWF4i1t_.js +167 -0
  39. package/dist/react/JobsTab-DqnifQXV.js +129 -0
  40. package/dist/react/LogEntryRow-CMMkqA9M.js +43 -0
  41. package/dist/react/LogsSection-C1xC5aP4.js +198 -0
  42. package/dist/react/LogsTab-CS4sLfLw.js +79 -0
  43. package/dist/react/{OverviewSection-C4T1ur51.js → OverviewSection-CxvfOR0v.js} +70 -80
  44. package/dist/react/QueriesSection-CrMdU5Ax.js +458 -0
  45. package/dist/react/{QueriesTab-osLUWd4L.js → QueriesTab-x85PjkyS.js} +38 -40
  46. package/dist/react/RequestsSection-DETN9oZb.js +321 -0
  47. package/dist/react/{RoutesSection-BUSkM6PY.js → RoutesSection-CmorkJeC.js} +2 -2
  48. package/dist/react/RoutesTab-CbzBOzpc.js +68 -0
  49. package/dist/react/SplitPaneWrapper-BiIgT4ND.js +49 -0
  50. package/dist/react/TimeAgoCell-o3KigGfM.js +8 -0
  51. package/dist/react/{TimelineTab-Covg5weo.js → TimelineTab-Ue9tUD_n.js} +76 -102
  52. package/dist/react/index-DwDK-4oX.js +1121 -0
  53. package/dist/react/index.js +6 -6
  54. package/dist/react/react/components/shared/CacheStatsBar.d.ts +13 -0
  55. package/dist/react/react/components/shared/EmailPreviewOverlay.d.ts +29 -0
  56. package/dist/react/react/components/{Dashboard/shared → shared}/FilterBar.d.ts +4 -3
  57. package/dist/react/react/components/shared/JobStatsBar.d.ts +12 -0
  58. package/dist/react/react/components/shared/LogEntryRow.d.ts +9 -0
  59. package/dist/react/react/components/shared/RelatedLogs.d.ts +2 -2
  60. package/dist/react/react/components/shared/SplitPaneWrapper.d.ts +7 -0
  61. package/dist/react/react/components/shared/TimeAgoCell.d.ts +17 -0
  62. package/dist/react/react/hooks/useDashboardData.d.ts +4 -8
  63. package/dist/react/react/hooks/useDiagnosticsData.d.ts +14 -0
  64. package/dist/react/style.css +1 -1
  65. package/dist/src/collectors/app_collector.d.ts +0 -8
  66. package/dist/src/collectors/app_collector.js +45 -52
  67. package/dist/src/collectors/auto_detect.d.ts +0 -23
  68. package/dist/src/collectors/auto_detect.js +33 -55
  69. package/dist/src/collectors/db_pool_collector.d.ts +14 -16
  70. package/dist/src/collectors/db_pool_collector.js +72 -57
  71. package/dist/src/collectors/log_collector.d.ts +0 -47
  72. package/dist/src/collectors/log_collector.js +36 -65
  73. package/dist/src/collectors/queue_collector.d.ts +0 -20
  74. package/dist/src/collectors/queue_collector.js +60 -76
  75. package/dist/src/collectors/redis_collector.d.ts +10 -10
  76. package/dist/src/collectors/redis_collector.js +69 -66
  77. package/dist/src/config/deprecation_migration.d.ts +7 -0
  78. package/dist/src/config/deprecation_migration.js +201 -0
  79. package/dist/src/controller/debug_controller.d.ts +1 -1
  80. package/dist/src/controller/debug_controller.js +87 -81
  81. package/dist/src/dashboard/cache_handlers.d.ts +14 -0
  82. package/dist/src/dashboard/cache_handlers.js +52 -0
  83. package/dist/src/dashboard/chart_aggregator.d.ts +0 -7
  84. package/dist/src/dashboard/chart_aggregator.js +68 -50
  85. package/dist/src/dashboard/coalesce_cache.d.ts +25 -0
  86. package/dist/src/dashboard/coalesce_cache.js +47 -0
  87. package/dist/src/dashboard/dashboard_controller.d.ts +11 -37
  88. package/dist/src/dashboard/dashboard_controller.js +51 -544
  89. package/dist/src/dashboard/dashboard_page_assets.d.ts +17 -0
  90. package/dist/src/dashboard/dashboard_page_assets.js +51 -0
  91. package/dist/src/dashboard/dashboard_store.d.ts +19 -218
  92. package/dist/src/dashboard/dashboard_store.js +115 -1116
  93. package/dist/src/dashboard/dashboard_types.d.ts +83 -0
  94. package/dist/src/dashboard/dashboard_types.js +4 -0
  95. package/dist/src/dashboard/detail_queries.d.ts +19 -0
  96. package/dist/src/dashboard/detail_queries.js +98 -0
  97. package/dist/src/dashboard/email_event_builder.d.ts +8 -0
  98. package/dist/src/dashboard/email_event_builder.js +65 -0
  99. package/dist/src/dashboard/explain_query.d.ts +8 -0
  100. package/dist/src/dashboard/explain_query.js +22 -0
  101. package/dist/src/dashboard/filter_handlers.d.ts +23 -0
  102. package/dist/src/dashboard/filter_handlers.js +56 -0
  103. package/dist/src/dashboard/filtered_queries.d.ts +15 -0
  104. package/dist/src/dashboard/filtered_queries.js +155 -0
  105. package/dist/src/dashboard/flush_manager.d.ts +25 -0
  106. package/dist/src/dashboard/flush_manager.js +107 -0
  107. package/dist/src/dashboard/format_helpers.d.ts +126 -0
  108. package/dist/src/dashboard/format_helpers.js +140 -0
  109. package/dist/src/dashboard/inspector_manager.d.ts +36 -0
  110. package/dist/src/dashboard/inspector_manager.js +102 -0
  111. package/dist/src/dashboard/integrations/config_inspector.js +11 -13
  112. package/dist/src/dashboard/integrations/queue_inspector.d.ts +3 -3
  113. package/dist/src/dashboard/integrations/queue_inspector.js +13 -10
  114. package/dist/src/dashboard/jobs_handlers.d.ts +14 -0
  115. package/dist/src/dashboard/jobs_handlers.js +61 -0
  116. package/dist/src/dashboard/knex_factory.d.ts +18 -0
  117. package/dist/src/dashboard/knex_factory.js +91 -0
  118. package/dist/src/dashboard/migrator.js +30 -159
  119. package/dist/src/dashboard/migrator_tables.d.ts +19 -0
  120. package/dist/src/dashboard/migrator_tables.js +153 -0
  121. package/dist/src/dashboard/overview_queries.d.ts +66 -0
  122. package/dist/src/dashboard/overview_queries.js +155 -0
  123. package/dist/src/dashboard/overview_query_runners.d.ts +25 -0
  124. package/dist/src/dashboard/overview_query_runners.js +84 -0
  125. package/dist/src/dashboard/overview_store_queries.d.ts +40 -0
  126. package/dist/src/dashboard/overview_store_queries.js +69 -0
  127. package/dist/src/dashboard/paginate_helper.d.ts +12 -0
  128. package/dist/src/dashboard/paginate_helper.js +33 -0
  129. package/dist/src/dashboard/query_explain_handler.d.ts +10 -0
  130. package/dist/src/dashboard/query_explain_handler.js +80 -0
  131. package/dist/src/dashboard/read_queries.d.ts +32 -0
  132. package/dist/src/dashboard/read_queries.js +107 -0
  133. package/dist/src/dashboard/saved_filter_queries.d.ts +10 -0
  134. package/dist/src/dashboard/saved_filter_queries.js +24 -0
  135. package/dist/src/dashboard/storage_stats.d.ts +41 -0
  136. package/dist/src/dashboard/storage_stats.js +81 -0
  137. package/dist/src/dashboard/write_queue.d.ts +106 -0
  138. package/dist/src/dashboard/write_queue.js +225 -0
  139. package/dist/src/data/data_access.d.ts +2 -39
  140. package/dist/src/data/data_access.js +17 -193
  141. package/dist/src/data/data_access_helpers.d.ts +130 -0
  142. package/dist/src/data/data_access_helpers.js +212 -0
  143. package/dist/src/debug/debug_store.js +37 -32
  144. package/dist/src/debug/email_collector.d.ts +1 -10
  145. package/dist/src/debug/email_collector.js +78 -81
  146. package/dist/src/debug/event_collector.d.ts +0 -9
  147. package/dist/src/debug/event_collector.js +79 -62
  148. package/dist/src/debug/query_collector.js +23 -19
  149. package/dist/src/debug/route_inspector.d.ts +1 -5
  150. package/dist/src/debug/route_inspector.js +50 -51
  151. package/dist/src/debug/trace_collector.d.ts +9 -1
  152. package/dist/src/debug/trace_collector.js +21 -15
  153. package/dist/src/debug/types.d.ts +1 -1
  154. package/dist/src/define_config.d.ts +0 -65
  155. package/dist/src/define_config.js +93 -333
  156. package/dist/src/edge/client/dashboard.js +2 -2
  157. package/dist/src/edge/client/debug-panel-deferred.js +1 -1
  158. package/dist/src/edge/client/stats-bar.js +1 -1
  159. package/dist/src/edge/client-vue/dashboard.js +5 -5
  160. package/dist/src/edge/client-vue/debug-panel-deferred.js +4 -4
  161. package/dist/src/edge/client-vue/stats-bar.js +3 -3
  162. package/dist/src/edge/plugin.d.ts +0 -16
  163. package/dist/src/edge/plugin.js +57 -64
  164. package/dist/src/engine/request_metrics.d.ts +1 -0
  165. package/dist/src/engine/request_metrics.js +32 -42
  166. package/dist/src/middleware/request_tracking_middleware.d.ts +2 -8
  167. package/dist/src/middleware/request_tracking_middleware.js +65 -93
  168. package/dist/src/provider/auth_middleware_detector.d.ts +16 -0
  169. package/dist/src/provider/auth_middleware_detector.js +97 -0
  170. package/dist/src/provider/boot_helpers.d.ts +20 -0
  171. package/dist/src/provider/boot_helpers.js +91 -0
  172. package/dist/src/provider/boot_initializer.d.ts +28 -0
  173. package/dist/src/provider/boot_initializer.js +35 -0
  174. package/dist/src/provider/dashboard_init.d.ts +30 -0
  175. package/dist/src/provider/dashboard_init.js +138 -0
  176. package/dist/src/provider/dashboard_setup.d.ts +25 -0
  177. package/dist/src/provider/dashboard_setup.js +78 -0
  178. package/dist/src/provider/diagnostics.d.ts +134 -0
  179. package/dist/src/provider/diagnostics.js +127 -0
  180. package/dist/src/provider/email_bridge.d.ts +43 -0
  181. package/dist/src/provider/email_bridge.js +80 -0
  182. package/dist/src/provider/email_helpers.d.ts +13 -0
  183. package/dist/src/provider/email_helpers.js +68 -0
  184. package/dist/src/provider/pino_hook.d.ts +17 -0
  185. package/dist/src/provider/pino_hook.js +35 -0
  186. package/dist/src/provider/provider_helpers_extra.d.ts +47 -0
  187. package/dist/src/provider/provider_helpers_extra.js +177 -0
  188. package/dist/src/provider/server_stats_provider.d.ts +39 -85
  189. package/dist/src/provider/server_stats_provider.js +132 -951
  190. package/dist/src/provider/shutdown_helpers.d.ts +43 -0
  191. package/dist/src/provider/shutdown_helpers.js +70 -0
  192. package/dist/src/provider/toolbar_setup.d.ts +57 -0
  193. package/dist/src/provider/toolbar_setup.js +141 -0
  194. package/dist/src/routes/dashboard_routes.d.ts +14 -0
  195. package/dist/src/routes/dashboard_routes.js +197 -0
  196. package/dist/src/routes/debug_routes.d.ts +14 -0
  197. package/dist/src/routes/debug_routes.js +101 -0
  198. package/dist/src/routes/register_routes.d.ts +0 -78
  199. package/dist/src/routes/register_routes.js +22 -352
  200. package/dist/src/routes/stats_routes.d.ts +5 -0
  201. package/dist/src/routes/stats_routes.js +14 -0
  202. package/dist/src/styles/components.css +163 -0
  203. package/dist/src/styles/dashboard.css +13 -105
  204. package/dist/src/styles/debug-panel.css +2 -53
  205. package/dist/src/styles/utilities.css +3 -1
  206. package/dist/src/types.d.ts +305 -14
  207. package/dist/vue/{CacheSection-oFAJL3mo.js → CacheSection-DT2Mwf_s.js} +1 -1
  208. package/dist/vue/{ConfigSection-BhfJ4KqL.js → ConfigSection-BwKwS9lh.js} +1 -1
  209. package/dist/vue/CustomPaneTab-Hr1IBHfz.js +172 -0
  210. package/dist/vue/{EmailsSection-BcNyhyHs.js → EmailsSection-B65g0FVS.js} +1 -1
  211. package/dist/vue/{EventsSection-r60Q5Lmu.js → EventsSection-CxqtVF-o.js} +1 -1
  212. package/dist/vue/{JobsSection-BHL-hkQw.js → JobsSection-rMIyMb-g.js} +1 -1
  213. package/dist/vue/{LogsSection-DRMGzJmg.js → LogsSection-DmmZVJ7D.js} +9 -3
  214. package/dist/vue/{LogsTab-Bg3o0Mm6.js → LogsTab-47zEK7jL.js} +4 -1
  215. package/dist/vue/{OverviewSection-CXh6Ja1B.js → OverviewSection-BMabyqw-.js} +49 -50
  216. package/dist/vue/{QueriesSection-IodIsCJ-.js → QueriesSection-BfDFwGqH.js} +44 -45
  217. package/dist/vue/{QueriesTab-C8_7oprC.js → QueriesTab-DuTG7cpC.js} +30 -31
  218. package/dist/vue/RelatedLogs.vue_vue_type_script_setup_true_lang-Py1iu9GU.js +77 -0
  219. package/dist/vue/{RequestsSection-BPuMdmMc.js → RequestsSection-CTu4jPZ_.js} +143 -147
  220. package/dist/vue/{RoutesSection-NKo3Rbq3.js → RoutesSection-zQZDedL7.js} +1 -1
  221. package/dist/vue/TimelineTab-DHfXsX7t.js +334 -0
  222. package/dist/vue/components/shared/RelatedLogs.vue.d.ts +1 -4
  223. package/dist/vue/composables/useDashboardData.d.ts +12 -23
  224. package/dist/vue/index-CM3yNVUR.js +1232 -0
  225. package/dist/vue/index.js +1 -1
  226. package/dist/vue/style.css +1 -1
  227. package/package.json +1 -1
  228. package/dist/react/CacheSection-UCMptWyn.js +0 -146
  229. package/dist/react/CacheTab-CA8LB1J5.js +0 -123
  230. package/dist/react/CustomPaneTab-Bxtv_8Rw.js +0 -104
  231. package/dist/react/EmailsSection-CM7stSyh.js +0 -262
  232. package/dist/react/EmailsTab-BDhEiomM.js +0 -153
  233. package/dist/react/EventsTab-CMfY98Rl.js +0 -63
  234. package/dist/react/InternalsSection-t7ihcWO-.js +0 -32
  235. package/dist/react/InternalsTab-Oij0A2fN.js +0 -30
  236. package/dist/react/JobsSection-DF3qEv9O.js +0 -187
  237. package/dist/react/JobsTab-BbrBWIOb.js +0 -141
  238. package/dist/react/LogsSection-DcFTZY7b.js +0 -227
  239. package/dist/react/LogsTab-CicucmVk.js +0 -103
  240. package/dist/react/QueriesSection-PswteoF9.js +0 -461
  241. package/dist/react/RelatedLogs-DFDOyUMr.js +0 -40
  242. package/dist/react/RequestsSection-Nag30rEA.js +0 -341
  243. package/dist/react/RoutesTab-DgVzd2PZ.js +0 -74
  244. package/dist/react/index-Cflz9Ebj.js +0 -1069
  245. package/dist/vue/CustomPaneTab-BJxT5Dp7.js +0 -172
  246. package/dist/vue/RelatedLogs.vue_vue_type_script_setup_true_lang-CB2_TzYW.js +0 -84
  247. package/dist/vue/TimelineTab-zj5Z5OdT.js +0 -338
  248. package/dist/vue/index-Dtgysd26.js +0 -1229
@@ -1,8 +1,9 @@
1
1
  import { jsx as s, jsxs as e } from "react/jsx-runtime";
2
- import { useState as E, useRef as X, useEffect as P, useCallback as z } from "react";
3
- import { formatDuration as $, timeAgo as ss, formatTime as es, durationSeverity as as } from "adonisjs-server-stats/core";
4
- import { a as B, S } from "./index-Cflz9Ebj.js";
5
- const ls = [
2
+ import { useState as T, useRef as P, useEffect as ss, useCallback as O } from "react";
3
+ import { resolveMetric as k, formatDuration as S, durationClassName as U, resolveEventName as es, resolveNormalizedSql as as } from "adonisjs-server-stats/core";
4
+ import { a as z, b as M } from "./index-DwDK-4oX.js";
5
+ import { T as ls } from "./TimeAgoCell-o3KigGfM.js";
6
+ const rs = [
6
7
  { value: "5m", label: "5m" },
7
8
  { value: "15m", label: "15m" },
8
9
  { value: "30m", label: "30m" },
@@ -11,8 +12,8 @@ const ls = [
11
12
  { value: "24h", label: "24h" },
12
13
  { value: "7d", label: "7d" }
13
14
  ];
14
- function rs({ value: r, onChange: i, className: c = "" }) {
15
- return /* @__PURE__ */ s("div", { className: `ss-dash-btn-group ${c}`, children: ls.map((n) => /* @__PURE__ */ s(
15
+ function ts({ value: r, onChange: i, className: c = "" }) {
16
+ return /* @__PURE__ */ s("div", { className: `ss-dash-btn-group ${c}`, children: rs.map((n) => /* @__PURE__ */ s(
16
17
  "button",
17
18
  {
18
19
  type: "button",
@@ -23,7 +24,7 @@ function rs({ value: r, onChange: i, className: c = "" }) {
23
24
  n.value
24
25
  )) });
25
26
  }
26
- function ts(r, i) {
27
+ function ds(r, i) {
27
28
  if (r <= 0) return [0];
28
29
  const c = r / i, n = Math.pow(10, Math.floor(Math.log10(c))), u = c / n;
29
30
  let o;
@@ -32,7 +33,7 @@ function ts(r, i) {
32
33
  for (let v = o; v <= r + o * 0.5; v += o) a.push(Math.round(v));
33
34
  return a.length === 0 && a.push(Math.ceil(r)), a;
34
35
  }
35
- function O(r) {
36
+ function I(r) {
36
37
  try {
37
38
  return new Date(r).toLocaleTimeString("en-US", {
38
39
  hour12: !1,
@@ -43,7 +44,7 @@ function O(r) {
43
44
  return "";
44
45
  }
45
46
  }
46
- function U(r) {
47
+ function G(r) {
47
48
  if (r.length === 0) return "";
48
49
  if (r.length === 1) return `M${r[0].x},${r[0].y}`;
49
50
  let i = `M${r[0].x.toFixed(1)},${r[0].y.toFixed(1)}`;
@@ -53,37 +54,27 @@ function U(r) {
53
54
  }
54
55
  return i;
55
56
  }
56
- function I(r) {
57
- const i = as(r);
58
- return i === "very-slow" ? "ss-dash-very-slow" : i === "slow" ? "ss-dash-slow" : "";
59
- }
60
- function ds({ chartPoints: r }) {
61
- const i = { top: 12, right: 12, bottom: 28, left: 38 }, c = 220, n = X(null), [u, o] = E(0);
62
- P(() => {
57
+ function is({ chartPoints: r }) {
58
+ const i = { top: 12, right: 12, bottom: 28, left: 38 }, c = 220, n = P(null), [u, o] = T(0);
59
+ ss(() => {
63
60
  const d = n.current;
64
61
  if (!d) return;
65
62
  o(d.clientWidth);
66
63
  const t = new ResizeObserver((w) => {
67
- for (const C of w)
68
- o(C.contentRect.width);
64
+ for (const D of w)
65
+ o(D.contentRect.width);
69
66
  });
70
67
  return t.observe(d), () => t.disconnect();
71
68
  }, []);
72
- const a = u || 600, v = a - i.left - i.right, f = c - i.top - i.bottom, x = i.top + f, b = r.map((d) => {
73
- const t = d;
74
- return (d.requestCount ?? 0) + (Number(t.request_count) || 0) || d.total || 0;
75
- }), y = r.map((d) => {
76
- const t = d;
77
- return (d.errorCount ?? 0) + (Number(t.error_count) || 0);
78
- }), T = Math.max(...b, 1), g = Math.ceil(T * 1.1), N = y.some((d) => d > 0), k = ts(g, 4), M = k.length > 0 ? k[k.length - 1] : g, R = (d) => i.left + d / Math.max(r.length - 1, 1) * v, q = (d) => i.top + f - d / (M || 1) * f, l = r.map((d, t) => ({ x: R(t), y: q(b[t]) })), h = r.map((d, t) => ({ x: R(t), y: q(y[t]) })), m = U(l), L = N ? U(h) : "", F = l.length > 1 ? `${m} L${l[l.length - 1].x.toFixed(1)},${x} L${l[0].x.toFixed(1)},${x} Z` : "", j = N && h.length > 1 ? `${L} L${h[h.length - 1].x.toFixed(1)},${x} L${h[0].x.toFixed(1)},${x} Z` : "", G = Math.min(10, r.length), K = Math.max(1, Math.ceil(r.length / G)), [p, Q] = E({ visible: !1, x: 0, idx: -1 }), V = z(
69
+ const a = u || 600, v = a - i.left - i.right, f = c - i.top - i.bottom, x = i.top + f, b = r.map((d) => k(d, "requestCount", "request_count") || d.total || 0), N = r.map((d) => k(d, "errorCount", "error_count")), F = Math.max(...b, 1), g = Math.ceil(F * 1.1), y = N.some((d) => d > 0), R = ds(g, 4), C = R.length > 0 ? R[R.length - 1] : g, q = (d) => i.left + d / Math.max(r.length - 1, 1) * v, $ = (d) => i.top + f - d / (C || 1) * f, l = r.map((d, t) => ({ x: q(t), y: $(b[t]) })), h = r.map((d, t) => ({ x: q(t), y: $(N[t]) })), m = G(l), L = y ? G(h) : "", j = l.length > 1 ? `${m} L${l[l.length - 1].x.toFixed(1)},${x} L${l[0].x.toFixed(1)},${x} Z` : "", Q = y && h.length > 1 ? `${L} L${h[h.length - 1].x.toFixed(1)},${x} L${h[0].x.toFixed(1)},${x} Z` : "", K = Math.min(10, r.length), V = Math.max(1, Math.ceil(r.length / K)), [p, A] = T({ visible: !1, x: 0, idx: -1 }), Y = O(
79
70
  (d) => {
80
71
  const t = l[d].x;
81
- Q({ visible: !0, x: t, idx: d });
72
+ A({ visible: !0, x: t, idx: d });
82
73
  },
83
74
  [l]
84
- ), Y = z(() => {
85
- Q({ visible: !1, x: 0, idx: -1 });
86
- }, []), _ = 120, Z = p.visible ? Math.max(_ / 2, Math.min(p.x, a - _ / 2)) : 0;
75
+ ), Z = O(() => {
76
+ A({ visible: !1, x: 0, idx: -1 });
77
+ }, []), _ = 120, J = p.visible ? Math.max(_ / 2, Math.min(p.x, a - _ / 2)) : 0;
87
78
  return /* @__PURE__ */ e("div", { ref: n, style: { position: "relative" }, children: [
88
79
  /* @__PURE__ */ e("svg", { viewBox: `0 0 ${a} ${c}`, className: "ss-dash-chart-svg", children: [
89
80
  /* @__PURE__ */ e("defs", { children: [
@@ -96,8 +87,8 @@ function ds({ chartPoints: r }) {
96
87
  /* @__PURE__ */ s("stop", { offset: "100%", stopColor: "var(--ss-red-fg)", stopOpacity: 0.02 })
97
88
  ] })
98
89
  ] }),
99
- k.map((d) => {
100
- const t = q(d);
90
+ R.map((d) => {
91
+ const t = $(d);
101
92
  return /* @__PURE__ */ e("g", { children: [
102
93
  /* @__PURE__ */ s(
103
94
  "line",
@@ -125,7 +116,7 @@ function ds({ chartPoints: r }) {
125
116
  )
126
117
  ] }, `ytick-${d}`);
127
118
  }),
128
- F && /* @__PURE__ */ s("path", { d: F, fill: "url(#ss-cg-total)" }),
119
+ j && /* @__PURE__ */ s("path", { d: j, fill: "url(#ss-cg-total)" }),
129
120
  m && /* @__PURE__ */ s(
130
121
  "path",
131
122
  {
@@ -137,7 +128,7 @@ function ds({ chartPoints: r }) {
137
128
  strokeLinecap: "round"
138
129
  }
139
130
  ),
140
- j && /* @__PURE__ */ s("path", { d: j, fill: "url(#ss-cg-error)" }),
131
+ Q && /* @__PURE__ */ s("path", { d: Q, fill: "url(#ss-cg-error)" }),
141
132
  L && /* @__PURE__ */ s(
142
133
  "path",
143
134
  {
@@ -151,59 +142,59 @@ function ds({ chartPoints: r }) {
151
142
  }
152
143
  ),
153
144
  r.map((d, t) => {
154
- const w = b[t], C = y[t], D = l[t].x, J = l[t].y, A = v / (r.length || 1), W = p.visible && p.idx === t, H = p.visible && p.idx !== t;
145
+ const w = b[t], D = N[t], E = l[t].x, X = l[t].y, W = v / (r.length || 1), H = p.visible && p.idx === t, B = p.visible && p.idx !== t;
155
146
  return /* @__PURE__ */ e("g", { children: [
156
147
  /* @__PURE__ */ s(
157
148
  "rect",
158
149
  {
159
- x: D - A / 2,
150
+ x: E - W / 2,
160
151
  y: i.top,
161
- width: A,
152
+ width: W,
162
153
  height: f,
163
154
  fill: "transparent",
164
155
  className: "ss-dash-chart-hover-zone",
165
156
  "data-idx": t,
166
- onMouseEnter: () => V(t),
167
- onMouseLeave: Y
157
+ onMouseEnter: () => Y(t),
158
+ onMouseLeave: Z
168
159
  }
169
160
  ),
170
161
  w > 0 && /* @__PURE__ */ s(
171
162
  "circle",
172
163
  {
173
- cx: D,
174
- cy: J,
175
- r: W ? 4 : 2.5,
164
+ cx: E,
165
+ cy: X,
166
+ r: H ? 4 : 2.5,
176
167
  fill: "var(--ss-accent)",
177
168
  stroke: "var(--ss-surface)",
178
169
  strokeWidth: 1,
179
170
  className: "ss-dash-chart-dot",
180
171
  "data-idx": t,
181
- opacity: H ? 0.3 : 1
172
+ opacity: B ? 0.3 : 1
182
173
  }
183
174
  ),
184
- C > 0 && /* @__PURE__ */ s(
175
+ D > 0 && /* @__PURE__ */ s(
185
176
  "circle",
186
177
  {
187
- cx: D,
178
+ cx: E,
188
179
  cy: h[t].y,
189
- r: W ? 3.5 : 2,
180
+ r: H ? 3.5 : 2,
190
181
  fill: "var(--ss-red-fg)",
191
182
  stroke: "var(--ss-surface)",
192
183
  strokeWidth: 1,
193
184
  className: "ss-dash-chart-dot ss-dash-chart-dot-err",
194
185
  "data-idx": t,
195
- opacity: H ? 0.3 : 1
186
+ opacity: B ? 0.3 : 1
196
187
  }
197
188
  )
198
189
  ] }, t);
199
190
  }),
200
191
  r.map((d, t) => {
201
- if (t % K !== 0 && t !== r.length - 1) return null;
202
- const w = O(d.bucket);
192
+ if (t % V !== 0 && t !== r.length - 1) return null;
193
+ const w = I(d.bucket);
203
194
  return w ? /* @__PURE__ */ s(
204
195
  "text",
205
196
  {
206
- x: R(t),
197
+ x: q(t),
207
198
  y: c - 6,
208
199
  textAnchor: "middle",
209
200
  fill: "var(--ss-dim)",
@@ -219,27 +210,27 @@ function ds({ chartPoints: r }) {
219
210
  {
220
211
  className: "ss-dash-chart-tooltip",
221
212
  style: {
222
- left: Z,
213
+ left: J,
223
214
  top: i.top - 4,
224
215
  transform: "translate(-50%, -100%)"
225
216
  },
226
217
  children: [
227
- /* @__PURE__ */ s("div", { children: O(r[p.idx].bucket) }),
218
+ /* @__PURE__ */ s("div", { children: I(r[p.idx].bucket) }),
228
219
  /* @__PURE__ */ e("div", { children: [
229
220
  "Requests: ",
230
221
  b[p.idx]
231
222
  ] }),
232
- y[p.idx] > 0 && /* @__PURE__ */ e("div", { style: { color: "var(--ss-red-fg)" }, children: [
223
+ N[p.idx] > 0 && /* @__PURE__ */ e("div", { style: { color: "var(--ss-red-fg)" }, children: [
233
224
  "Errors: ",
234
- y[p.idx]
225
+ N[p.idx]
235
226
  ] })
236
227
  ]
237
228
  }
238
229
  )
239
230
  ] });
240
231
  }
241
- function hs({ options: r = {} }) {
242
- const [i, c] = E("1h"), { data: n, isLoading: u } = B("overview", r), { data: o } = B("overview/chart", {
232
+ function us({ options: r = {} }) {
233
+ const [i, c] = T("1h"), { data: n, isLoading: u } = z("overview", r), { data: o } = z("overview/chart", {
243
234
  ...r,
244
235
  timeRange: i
245
236
  });
@@ -261,7 +252,7 @@ function hs({ options: r = {} }) {
261
252
  jobQueueStatus: null,
262
253
  statusDistribution: { "2xx": 0, "3xx": 0, "4xx": 0, "5xx": 0 },
263
254
  slowestQueries: []
264
- }, v = a, f = a.avgResponseTime || Number(v.avg_response_time) || 0, x = a.p95ResponseTime || Number(v.p95_response_time) || 0, b = a.requestsPerMinute || Number(v.requests_per_minute) || 0, y = a.errorRate || Number(v.error_rate) || 0, g = (a.totalRequests || Number(v.total_requests) || 0) > 0, N = o?.buckets || [], k = a.sparklines?.avgResponseTime ?? N.map((l) => l.avgDuration ?? 0), M = a.sparklines?.p95ResponseTime ?? N.map((l) => l.p95Duration ?? 0), R = a.sparklines?.requestsPerMinute ?? N.map((l) => l.requestCount ?? 0), q = a.sparklines?.errorRate ?? N.map((l) => l.errorCount ?? 0);
255
+ }, v = a, f = k(v, "avgResponseTime", "avg_response_time"), x = k(v, "p95ResponseTime", "p95_response_time"), b = k(v, "requestsPerMinute", "requests_per_minute"), N = k(v, "errorRate", "error_rate"), g = k(v, "totalRequests", "total_requests") > 0, y = o?.buckets || [], R = a.sparklines?.avgResponseTime ?? y.map((l) => l.avgDuration ?? 0), C = a.sparklines?.p95ResponseTime ?? y.map((l) => l.p95Duration ?? 0), q = a.sparklines?.requestsPerMinute ?? y.map((l) => l.requestCount ?? 0), $ = a.sparklines?.errorRate ?? y.map((l) => l.errorCount ?? 0);
265
256
  return /* @__PURE__ */ e("div", { className: "ss-dash-overview", children: [
266
257
  /* @__PURE__ */ e("div", { className: "ss-dash-cards", children: [
267
258
  /* @__PURE__ */ e("div", { className: "ss-dash-card", children: [
@@ -270,10 +261,10 @@ function hs({ options: r = {} }) {
270
261
  "div",
271
262
  {
272
263
  className: `ss-dash-card-value ${g ? f > 500 ? "ss-dash-red" : f > 200 ? "ss-dash-amber" : "ss-dash-accent" : "ss-dash-dim"}`,
273
- children: g ? $(f) : "-"
264
+ children: g ? S(f) : "-"
274
265
  }
275
266
  ),
276
- /* @__PURE__ */ s("div", { className: "ss-dash-sparkline", children: /* @__PURE__ */ s(S, { data: k, color: "#34d399", width: 160, height: 40 }) })
267
+ /* @__PURE__ */ s("div", { className: "ss-dash-sparkline", children: /* @__PURE__ */ s(M, { data: R, color: "#34d399", width: 160, height: 40 }) })
277
268
  ] }),
278
269
  /* @__PURE__ */ e("div", { className: "ss-dash-card", children: [
279
270
  /* @__PURE__ */ s("div", { className: "ss-dash-card-title", children: "P95 Response Time" }),
@@ -281,40 +272,40 @@ function hs({ options: r = {} }) {
281
272
  "div",
282
273
  {
283
274
  className: `ss-dash-card-value ${g ? x > 500 ? "ss-dash-red" : x > 200 ? "ss-dash-amber" : "ss-dash-accent" : "ss-dash-dim"}`,
284
- children: g ? $(x) : "-"
275
+ children: g ? S(x) : "-"
285
276
  }
286
277
  ),
287
- /* @__PURE__ */ s("div", { className: "ss-dash-sparkline", children: /* @__PURE__ */ s(S, { data: M, color: "#60a5fa", width: 160, height: 40 }) })
278
+ /* @__PURE__ */ s("div", { className: "ss-dash-sparkline", children: /* @__PURE__ */ s(M, { data: C, color: "#60a5fa", width: 160, height: 40 }) })
288
279
  ] }),
289
280
  /* @__PURE__ */ e("div", { className: "ss-dash-card", children: [
290
281
  /* @__PURE__ */ s("div", { className: "ss-dash-card-title", children: "Requests / min" }),
291
282
  /* @__PURE__ */ s("div", { className: `ss-dash-card-value ${g ? "ss-dash-accent" : "ss-dash-dim"}`, children: g ? b.toFixed(1) : "-" }),
292
- /* @__PURE__ */ s("div", { className: "ss-dash-sparkline", children: /* @__PURE__ */ s(S, { data: R, color: "#34d399", width: 160, height: 40 }) })
283
+ /* @__PURE__ */ s("div", { className: "ss-dash-sparkline", children: /* @__PURE__ */ s(M, { data: q, color: "#34d399", width: 160, height: 40 }) })
293
284
  ] }),
294
285
  /* @__PURE__ */ e("div", { className: "ss-dash-card", children: [
295
286
  /* @__PURE__ */ s("div", { className: "ss-dash-card-title", children: "Error Rate" }),
296
287
  /* @__PURE__ */ s(
297
288
  "div",
298
289
  {
299
- className: `ss-dash-card-value ${g ? y > 5 ? "ss-dash-red" : y > 1 ? "ss-dash-amber" : "ss-dash-accent" : "ss-dash-dim"}`,
300
- children: g ? `${y.toFixed(1)}%` : "-"
290
+ className: `ss-dash-card-value ${g ? N > 5 ? "ss-dash-red" : N > 1 ? "ss-dash-amber" : "ss-dash-accent" : "ss-dash-dim"}`,
291
+ children: g ? `${N.toFixed(1)}%` : "-"
301
292
  }
302
293
  ),
303
- /* @__PURE__ */ s("div", { className: "ss-dash-sparkline", children: /* @__PURE__ */ s(S, { data: q, color: "#f87171", width: 160, height: 40 }) })
294
+ /* @__PURE__ */ s("div", { className: "ss-dash-sparkline", children: /* @__PURE__ */ s(M, { data: $, color: "#f87171", width: 160, height: 40 }) })
304
295
  ] })
305
296
  ] }),
306
297
  /* @__PURE__ */ e("div", { className: "ss-dash-chart-container", children: [
307
298
  /* @__PURE__ */ e("div", { className: "ss-dash-chart-header", children: [
308
299
  /* @__PURE__ */ s("span", { className: "ss-dash-chart-title", children: "Request Volume" }),
309
- /* @__PURE__ */ s(rs, { value: i, onChange: c })
300
+ /* @__PURE__ */ s(ts, { value: i, onChange: c })
310
301
  ] }),
311
- /* @__PURE__ */ s("div", { className: "ss-dash-chart", id: "ss-dash-chart-area", children: N.length === 0 ? /* @__PURE__ */ s("div", { className: "ss-dash-empty", style: { minHeight: "120px" }, children: "No data for this range" }) : /* @__PURE__ */ s(ds, { chartPoints: N }) }),
302
+ /* @__PURE__ */ s("div", { className: "ss-dash-chart", id: "ss-dash-chart-area", children: y.length === 0 ? /* @__PURE__ */ s("div", { className: "ss-dash-empty", style: { minHeight: "120px" }, children: "No data for this range" }) : /* @__PURE__ */ s(is, { chartPoints: y }) }),
312
303
  /* @__PURE__ */ e("div", { className: "ss-dash-chart-legend", id: "ss-dash-chart-legend", children: [
313
304
  /* @__PURE__ */ e("span", { className: "ss-dash-chart-legend-item", children: [
314
305
  /* @__PURE__ */ s("span", { className: "ss-dash-legend-dot", style: { background: "var(--ss-accent)" } }),
315
306
  "Requests"
316
307
  ] }),
317
- N.some((l) => (l.errorCount ?? 0) > 0) && /* @__PURE__ */ e("span", { className: "ss-dash-chart-legend-item", children: [
308
+ y.some((l) => (l.errorCount ?? 0) > 0) && /* @__PURE__ */ e("span", { className: "ss-dash-chart-legend-item", children: [
318
309
  /* @__PURE__ */ s("span", { className: "ss-dash-legend-dot", style: { background: "var(--ss-red-fg)" } }),
319
310
  "Errors"
320
311
  ] })
@@ -335,8 +326,8 @@ function hs({ options: r = {} }) {
335
326
  /* @__PURE__ */ s(
336
327
  "span",
337
328
  {
338
- className: `ss-dash-secondary-list-value ss-dash-duration ${I(l.avgDuration)}`,
339
- children: $(l.avgDuration)
329
+ className: `ss-dash-secondary-list-value ss-dash-duration ${U(l.avgDuration)}`,
330
+ children: S(l.avgDuration)
340
331
  }
341
332
  )
342
333
  ]
@@ -353,7 +344,7 @@ function hs({ options: r = {} }) {
353
344
  ] }),
354
345
  /* @__PURE__ */ e("li", { children: [
355
346
  /* @__PURE__ */ s("span", { children: "Avg Duration" }),
356
- /* @__PURE__ */ s("span", { className: "ss-dash-secondary-list-value", children: $(a.queryStats.avgDuration) })
347
+ /* @__PURE__ */ s("span", { className: "ss-dash-secondary-list-value", children: S(a.queryStats.avgDuration) })
357
348
  ] }),
358
349
  /* @__PURE__ */ e("li", { children: [
359
350
  /* @__PURE__ */ s("span", { children: "Queries / Request" }),
@@ -366,12 +357,11 @@ function hs({ options: r = {} }) {
366
357
  a.recentErrors.length === 0 ? /* @__PURE__ */ s("div", { className: "ss-dash-empty", style: { minHeight: "60px" }, children: "No recent errors" }) : /* @__PURE__ */ s("ul", { className: "ss-dash-secondary-list", children: a.recentErrors.map((l, h) => /* @__PURE__ */ s("li", { children: /* @__PURE__ */ e("a", { href: `#logs?id=${l.id ?? ""}`, className: "ss-dash-widget-row-link", children: [
367
358
  /* @__PURE__ */ s("span", { style: { color: "var(--ss-red-fg)" }, title: l.message, children: l.message }),
368
359
  l.timestamp && /* @__PURE__ */ s(
369
- "span",
360
+ ls,
370
361
  {
362
+ ts: l.timestamp,
371
363
  className: "ss-dash-secondary-list-value",
372
- style: { color: "var(--ss-dim)" },
373
- title: es(l.timestamp),
374
- children: ss(l.timestamp)
364
+ style: { color: "var(--ss-dim)" }
375
365
  }
376
366
  )
377
367
  ] }) }, h)) })
@@ -379,7 +369,7 @@ function hs({ options: r = {} }) {
379
369
  /* @__PURE__ */ e("div", { className: "ss-dash-secondary-card", children: [
380
370
  /* @__PURE__ */ s("div", { className: "ss-dash-secondary-card-title", children: /* @__PURE__ */ s("a", { href: "#events", className: "ss-dash-widget-link", children: "Top Events" }) }),
381
371
  a.topEvents.length === 0 ? /* @__PURE__ */ s("div", { className: "ss-dash-empty", style: { minHeight: "60px" }, children: "No events yet" }) : /* @__PURE__ */ s("ul", { className: "ss-dash-secondary-list", children: a.topEvents.slice(0, 5).map((l, h) => {
382
- const m = l.name || l.eventName || l.event_name || l.event || "";
372
+ const m = es(l);
383
373
  return /* @__PURE__ */ s("li", { children: /* @__PURE__ */ e(
384
374
  "a",
385
375
  {
@@ -510,7 +500,7 @@ function hs({ options: r = {} }) {
510
500
  /* @__PURE__ */ e("div", { className: "ss-dash-secondary-card", children: [
511
501
  /* @__PURE__ */ s("div", { className: "ss-dash-secondary-card-title", children: /* @__PURE__ */ s("a", { href: "#queries", className: "ss-dash-widget-link", children: "Slowest Queries" }) }),
512
502
  a.slowestQueries.length === 0 ? /* @__PURE__ */ s("div", { className: "ss-dash-empty", style: { minHeight: "60px" }, children: "No query data yet" }) : /* @__PURE__ */ s("ul", { className: "ss-dash-secondary-list", children: a.slowestQueries.slice(0, 5).map((l, h) => {
513
- const m = l.sqlNormalized || l.normalizedSql || l.sql_normalized || l.sql || "-";
503
+ const m = as(l) || "-";
514
504
  return /* @__PURE__ */ s("li", { children: /* @__PURE__ */ e(
515
505
  "a",
516
506
  {
@@ -521,8 +511,8 @@ function hs({ options: r = {} }) {
521
511
  /* @__PURE__ */ s(
522
512
  "span",
523
513
  {
524
- className: `ss-dash-secondary-list-value ss-dash-duration ${I(l.avgDuration)}`,
525
- children: $(l.avgDuration)
514
+ className: `ss-dash-secondary-list-value ss-dash-duration ${U(l.avgDuration)}`,
515
+ children: S(l.avgDuration)
526
516
  }
527
517
  )
528
518
  ]
@@ -534,6 +524,6 @@ function hs({ options: r = {} }) {
534
524
  ] });
535
525
  }
536
526
  export {
537
- hs as OverviewSection,
538
- hs as default
527
+ us as OverviewSection,
528
+ us as default
539
529
  };