adonisjs-server-stats 1.5.4 → 1.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +351 -171
- package/dist/configure.d.ts.map +1 -1
- package/dist/core/api-client.d.ts +73 -0
- package/dist/core/api-client.d.ts.map +1 -0
- package/dist/core/config-utils.d.ts +109 -0
- package/dist/core/config-utils.d.ts.map +1 -0
- package/dist/core/constants.d.ts +11 -0
- package/dist/core/constants.d.ts.map +1 -0
- package/dist/core/dashboard-api.d.ts +65 -0
- package/dist/core/dashboard-api.d.ts.map +1 -0
- package/dist/core/dashboard-data-controller.d.ts +157 -0
- package/dist/core/dashboard-data-controller.d.ts.map +1 -0
- package/dist/core/debug-data-controller.d.ts +89 -0
- package/dist/core/debug-data-controller.d.ts.map +1 -0
- package/dist/core/feature-detect.d.ts +67 -0
- package/dist/core/feature-detect.d.ts.map +1 -0
- package/dist/core/formatters.d.ts +189 -0
- package/dist/core/formatters.d.ts.map +1 -0
- package/dist/core/history-buffer.d.ts +23 -0
- package/dist/core/history-buffer.d.ts.map +1 -0
- package/dist/core/icons.d.ts +36 -0
- package/dist/core/icons.d.ts.map +1 -0
- package/dist/core/index.d.ts +39 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +1961 -0
- package/dist/core/internals-utils.d.ts +71 -0
- package/dist/core/internals-utils.d.ts.map +1 -0
- package/dist/core/job-utils.d.ts +45 -0
- package/dist/core/job-utils.d.ts.map +1 -0
- package/dist/core/log-utils.d.ts +34 -0
- package/dist/core/log-utils.d.ts.map +1 -0
- package/dist/core/metrics.d.ts +41 -0
- package/dist/core/metrics.d.ts.map +1 -0
- package/dist/core/pagination.d.ts +128 -0
- package/dist/core/pagination.d.ts.map +1 -0
- package/dist/core/query-utils.d.ts +35 -0
- package/dist/core/query-utils.d.ts.map +1 -0
- package/dist/core/resizable-columns.d.ts +18 -0
- package/dist/core/resizable-columns.d.ts.map +1 -0
- package/dist/core/routes.d.ts +12 -0
- package/dist/core/routes.d.ts.map +1 -0
- package/dist/core/server-stats-controller.d.ts +106 -0
- package/dist/core/server-stats-controller.d.ts.map +1 -0
- package/dist/core/sparkline.d.ts +80 -0
- package/dist/core/sparkline.d.ts.map +1 -0
- package/dist/core/theme.d.ts +42 -0
- package/dist/core/theme.d.ts.map +1 -0
- package/dist/core/trace-utils.d.ts +62 -0
- package/dist/core/trace-utils.d.ts.map +1 -0
- package/dist/core/transmit-adapter.d.ts +59 -0
- package/dist/core/transmit-adapter.d.ts.map +1 -0
- package/dist/core/types.d.ts +619 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/react/CacheSection-DGxMDlWK.js +146 -0
- package/dist/react/CacheTab-CnVW5PLs.js +123 -0
- package/dist/react/ConfigContent-CnsEI4j3.js +397 -0
- package/dist/react/ConfigSection-DPcrfqXY.js +11 -0
- package/dist/react/ConfigTab-BSWq_o2p.js +15 -0
- package/dist/react/CustomPaneTab-xjkYwTvH.js +104 -0
- package/dist/react/DataTable-YyShr5B-.js +55 -0
- package/dist/react/EmailsSection-CSyTg1aX.js +262 -0
- package/dist/react/EmailsTab-Dh2YSa_f.js +131 -0
- package/dist/react/EventsSection-C1pbJDfW.js +86 -0
- package/dist/react/EventsTab-eCh02cdd.js +63 -0
- package/dist/react/FilterBar-DQRXpWrb.js +50 -0
- package/dist/react/InternalsContent-DBzsI0CG.js +346 -0
- package/dist/react/InternalsSection-t7ihcWO-.js +32 -0
- package/dist/react/InternalsTab-Oij0A2fN.js +30 -0
- package/dist/react/JobsSection-CLAin5vU.js +187 -0
- package/dist/react/JobsTab-Dl5nrj2z.js +141 -0
- package/dist/react/LogsSection-C1p81fXO.js +212 -0
- package/dist/react/LogsTab-D-kR7PjX.js +88 -0
- package/dist/react/OverviewSection-nm3xdACz.js +539 -0
- package/dist/react/Pagination-BkmzUDY8.js +64 -0
- package/dist/react/QueriesSection-DB12HMfQ.js +461 -0
- package/dist/react/QueriesTab-fyBB1u_Y.js +90 -0
- package/dist/react/RequestsSection-DTqB81ac.js +209 -0
- package/dist/react/RoutesSection-DJWa4NPV.js +74 -0
- package/dist/react/RoutesTab-D3l8TOpu.js +74 -0
- package/dist/react/TimelineSection-C4d-jRX1.js +158 -0
- package/dist/react/TimelineTab-C5TFaSmQ.js +193 -0
- package/dist/react/WaterfallChart-Cj73WdfM.js +100 -0
- package/dist/react/core/api-client.d.ts +73 -0
- package/dist/react/core/api-client.d.ts.map +1 -0
- package/dist/react/core/config-utils.d.ts +109 -0
- package/dist/react/core/config-utils.d.ts.map +1 -0
- package/dist/react/core/constants.d.ts +11 -0
- package/dist/react/core/constants.d.ts.map +1 -0
- package/dist/react/core/dashboard-api.d.ts +65 -0
- package/dist/react/core/dashboard-api.d.ts.map +1 -0
- package/dist/react/core/dashboard-data-controller.d.ts +157 -0
- package/dist/react/core/dashboard-data-controller.d.ts.map +1 -0
- package/dist/react/core/debug-data-controller.d.ts +89 -0
- package/dist/react/core/debug-data-controller.d.ts.map +1 -0
- package/dist/react/core/feature-detect.d.ts +67 -0
- package/dist/react/core/feature-detect.d.ts.map +1 -0
- package/dist/react/core/formatters.d.ts +189 -0
- package/dist/react/core/formatters.d.ts.map +1 -0
- package/dist/react/core/history-buffer.d.ts +23 -0
- package/dist/react/core/history-buffer.d.ts.map +1 -0
- package/dist/react/core/icons.d.ts +36 -0
- package/dist/react/core/icons.d.ts.map +1 -0
- package/dist/react/core/index.d.ts +39 -0
- package/dist/react/core/index.d.ts.map +1 -0
- package/dist/react/core/internals-utils.d.ts +71 -0
- package/dist/react/core/internals-utils.d.ts.map +1 -0
- package/dist/react/core/job-utils.d.ts +45 -0
- package/dist/react/core/job-utils.d.ts.map +1 -0
- package/dist/react/core/log-utils.d.ts +34 -0
- package/dist/react/core/log-utils.d.ts.map +1 -0
- package/dist/react/core/metrics.d.ts +41 -0
- package/dist/react/core/metrics.d.ts.map +1 -0
- package/dist/react/core/pagination.d.ts +128 -0
- package/dist/react/core/pagination.d.ts.map +1 -0
- package/dist/react/core/query-utils.d.ts +35 -0
- package/dist/react/core/query-utils.d.ts.map +1 -0
- package/dist/react/core/resizable-columns.d.ts +18 -0
- package/dist/react/core/resizable-columns.d.ts.map +1 -0
- package/dist/react/core/routes.d.ts +12 -0
- package/dist/react/core/routes.d.ts.map +1 -0
- package/dist/react/core/server-stats-controller.d.ts +106 -0
- package/dist/react/core/server-stats-controller.d.ts.map +1 -0
- package/dist/react/core/sparkline.d.ts +80 -0
- package/dist/react/core/sparkline.d.ts.map +1 -0
- package/dist/react/core/theme.d.ts +42 -0
- package/dist/react/core/theme.d.ts.map +1 -0
- package/dist/react/core/trace-utils.d.ts +62 -0
- package/dist/react/core/trace-utils.d.ts.map +1 -0
- package/dist/react/core/transmit-adapter.d.ts +59 -0
- package/dist/react/core/transmit-adapter.d.ts.map +1 -0
- package/dist/react/core/types.d.ts +619 -0
- package/dist/react/core/types.d.ts.map +1 -0
- package/dist/react/index-UdTfSvtO.js +1074 -0
- package/dist/react/index.js +18 -0
- package/dist/react/react/components/Dashboard/DashboardPage.d.ts +17 -0
- package/dist/react/react/components/Dashboard/DashboardPage.d.ts.map +1 -0
- package/dist/react/react/components/Dashboard/sections/CacheSection.d.ts +7 -0
- package/dist/react/react/components/Dashboard/sections/CacheSection.d.ts.map +1 -0
- package/dist/react/react/components/Dashboard/sections/ConfigSection.d.ts +7 -0
- package/dist/react/react/components/Dashboard/sections/ConfigSection.d.ts.map +1 -0
- package/dist/react/react/components/Dashboard/sections/EmailsSection.d.ts +7 -0
- package/dist/react/react/components/Dashboard/sections/EmailsSection.d.ts.map +1 -0
- package/dist/react/react/components/Dashboard/sections/EventsSection.d.ts +7 -0
- package/dist/react/react/components/Dashboard/sections/EventsSection.d.ts.map +1 -0
- package/dist/react/react/components/Dashboard/sections/InternalsSection.d.ts +14 -0
- package/dist/react/react/components/Dashboard/sections/InternalsSection.d.ts.map +1 -0
- package/dist/react/react/components/Dashboard/sections/JobsSection.d.ts +7 -0
- package/dist/react/react/components/Dashboard/sections/JobsSection.d.ts.map +1 -0
- package/dist/react/react/components/Dashboard/sections/LogsSection.d.ts +7 -0
- package/dist/react/react/components/Dashboard/sections/LogsSection.d.ts.map +1 -0
- package/dist/react/react/components/Dashboard/sections/OverviewSection.d.ts +7 -0
- package/dist/react/react/components/Dashboard/sections/OverviewSection.d.ts.map +1 -0
- package/dist/react/react/components/Dashboard/sections/QueriesSection.d.ts +7 -0
- package/dist/react/react/components/Dashboard/sections/QueriesSection.d.ts.map +1 -0
- package/dist/react/react/components/Dashboard/sections/RequestsSection.d.ts +7 -0
- package/dist/react/react/components/Dashboard/sections/RequestsSection.d.ts.map +1 -0
- package/dist/react/react/components/Dashboard/sections/RoutesSection.d.ts +7 -0
- package/dist/react/react/components/Dashboard/sections/RoutesSection.d.ts.map +1 -0
- package/dist/react/react/components/Dashboard/sections/TimelineSection.d.ts +9 -0
- package/dist/react/react/components/Dashboard/sections/TimelineSection.d.ts.map +1 -0
- package/dist/react/react/components/Dashboard/shared/DataTable.d.ts +27 -0
- package/dist/react/react/components/Dashboard/shared/DataTable.d.ts.map +1 -0
- package/dist/react/react/components/Dashboard/shared/FilterBar.d.ts +17 -0
- package/dist/react/react/components/Dashboard/shared/FilterBar.d.ts.map +1 -0
- package/dist/react/react/components/Dashboard/shared/Pagination.d.ts +13 -0
- package/dist/react/react/components/Dashboard/shared/Pagination.d.ts.map +1 -0
- package/dist/react/react/components/Dashboard/shared/TimeRangeSelector.d.ts +12 -0
- package/dist/react/react/components/Dashboard/shared/TimeRangeSelector.d.ts.map +1 -0
- package/dist/react/react/components/Dashboard/shared/WaterfallChart.d.ts +16 -0
- package/dist/react/react/components/Dashboard/shared/WaterfallChart.d.ts.map +1 -0
- package/dist/react/react/components/DebugPanel/DebugPanel.d.ts +16 -0
- package/dist/react/react/components/DebugPanel/DebugPanel.d.ts.map +1 -0
- package/dist/react/react/components/DebugPanel/tabs/CacheTab.d.ts +8 -0
- package/dist/react/react/components/DebugPanel/tabs/CacheTab.d.ts.map +1 -0
- package/dist/react/react/components/DebugPanel/tabs/ConfigTab.d.ts +8 -0
- package/dist/react/react/components/DebugPanel/tabs/ConfigTab.d.ts.map +1 -0
- package/dist/react/react/components/DebugPanel/tabs/CustomPaneTab.d.ts +14 -0
- package/dist/react/react/components/DebugPanel/tabs/CustomPaneTab.d.ts.map +1 -0
- package/dist/react/react/components/DebugPanel/tabs/EmailsTab.d.ts +7 -0
- package/dist/react/react/components/DebugPanel/tabs/EmailsTab.d.ts.map +1 -0
- package/dist/react/react/components/DebugPanel/tabs/EventsTab.d.ts +7 -0
- package/dist/react/react/components/DebugPanel/tabs/EventsTab.d.ts.map +1 -0
- package/dist/react/react/components/DebugPanel/tabs/InternalsTab.d.ts +12 -0
- package/dist/react/react/components/DebugPanel/tabs/InternalsTab.d.ts.map +1 -0
- package/dist/react/react/components/DebugPanel/tabs/JobsTab.d.ts +9 -0
- package/dist/react/react/components/DebugPanel/tabs/JobsTab.d.ts.map +1 -0
- package/dist/react/react/components/DebugPanel/tabs/LogsTab.d.ts +7 -0
- package/dist/react/react/components/DebugPanel/tabs/LogsTab.d.ts.map +1 -0
- package/dist/react/react/components/DebugPanel/tabs/QueriesTab.d.ts +7 -0
- package/dist/react/react/components/DebugPanel/tabs/QueriesTab.d.ts.map +1 -0
- package/dist/react/react/components/DebugPanel/tabs/RoutesTab.d.ts +8 -0
- package/dist/react/react/components/DebugPanel/tabs/RoutesTab.d.ts.map +1 -0
- package/dist/react/react/components/DebugPanel/tabs/TimelineTab.d.ts +7 -0
- package/dist/react/react/components/DebugPanel/tabs/TimelineTab.d.ts.map +1 -0
- package/dist/react/react/components/StatsBar/MetricCard.d.ts +21 -0
- package/dist/react/react/components/StatsBar/MetricCard.d.ts.map +1 -0
- package/dist/react/react/components/StatsBar/Sparkline.d.ts +15 -0
- package/dist/react/react/components/StatsBar/Sparkline.d.ts.map +1 -0
- package/dist/react/react/components/StatsBar/StatsBar.d.ts +22 -0
- package/dist/react/react/components/StatsBar/StatsBar.d.ts.map +1 -0
- package/dist/react/react/components/shared/Badge.d.ts +32 -0
- package/dist/react/react/components/shared/Badge.d.ts.map +1 -0
- package/dist/react/react/components/shared/ConfigContent.d.ts +13 -0
- package/dist/react/react/components/shared/ConfigContent.d.ts.map +1 -0
- package/dist/react/react/components/shared/InternalsContent.d.ts +10 -0
- package/dist/react/react/components/shared/InternalsContent.d.ts.map +1 -0
- package/dist/react/react/components/shared/JsonViewer.d.ts +12 -0
- package/dist/react/react/components/shared/JsonViewer.d.ts.map +1 -0
- package/dist/react/react/components/shared/ThemeToggle.d.ts +13 -0
- package/dist/react/react/components/shared/ThemeToggle.d.ts.map +1 -0
- package/dist/react/react/components/shared/Tooltip.d.ts +16 -0
- package/dist/react/react/components/shared/Tooltip.d.ts.map +1 -0
- package/dist/react/react/hooks/useApiClient.d.ts +10 -0
- package/dist/react/react/hooks/useApiClient.d.ts.map +1 -0
- package/dist/react/react/hooks/useDashboardApiBase.d.ts +19 -0
- package/dist/react/react/hooks/useDashboardApiBase.d.ts.map +1 -0
- package/dist/react/react/hooks/useDashboardData.d.ts +27 -0
- package/dist/react/react/hooks/useDashboardData.d.ts.map +1 -0
- package/dist/react/react/hooks/useDebugData.d.ts +17 -0
- package/dist/react/react/hooks/useDebugData.d.ts.map +1 -0
- package/dist/react/react/hooks/useFeatures.d.ts +13 -0
- package/dist/react/react/hooks/useFeatures.d.ts.map +1 -0
- package/dist/react/react/hooks/useResizableTable.d.ts +13 -0
- package/dist/react/react/hooks/useResizableTable.d.ts.map +1 -0
- package/dist/react/react/hooks/useServerStats.d.ts +21 -0
- package/dist/react/react/hooks/useServerStats.d.ts.map +1 -0
- package/dist/react/react/hooks/useTheme.d.ts +12 -0
- package/dist/react/react/hooks/useTheme.d.ts.map +1 -0
- package/dist/react/react/index.d.ts +14 -0
- package/dist/react/react/index.d.ts.map +1 -0
- package/dist/react/style.css +1 -0
- package/dist/react/useApiClient-BVtNCmnL.js +9 -0
- package/dist/react/useDashboardApiBase-Bi36pJ2L.js +14 -0
- package/dist/react/useResizableTable-CNJmACdt.js +13 -0
- package/dist/src/collectors/app_collector.d.ts.map +1 -1
- package/dist/src/collectors/app_collector.js +30 -2
- package/dist/src/collectors/auto_detect.d.ts +31 -0
- package/dist/src/collectors/auto_detect.d.ts.map +1 -0
- package/dist/src/collectors/auto_detect.js +120 -0
- package/dist/src/collectors/collector.d.ts +17 -0
- package/dist/src/collectors/collector.d.ts.map +1 -1
- package/dist/src/collectors/db_pool_collector.d.ts.map +1 -1
- package/dist/src/collectors/db_pool_collector.js +35 -1
- package/dist/src/collectors/http_collector.d.ts +4 -3
- package/dist/src/collectors/http_collector.d.ts.map +1 -1
- package/dist/src/collectors/http_collector.js +28 -11
- package/dist/src/collectors/index.d.ts +2 -0
- package/dist/src/collectors/index.d.ts.map +1 -1
- package/dist/src/collectors/index.js +1 -0
- package/dist/src/collectors/log_collector.d.ts +11 -4
- package/dist/src/collectors/log_collector.d.ts.map +1 -1
- package/dist/src/collectors/log_collector.js +51 -5
- package/dist/src/collectors/process_collector.d.ts.map +1 -1
- package/dist/src/collectors/process_collector.js +4 -0
- package/dist/src/collectors/queue_collector.d.ts.map +1 -1
- package/dist/src/collectors/queue_collector.js +55 -1
- package/dist/src/collectors/redis_collector.d.ts.map +1 -1
- package/dist/src/collectors/redis_collector.js +42 -3
- package/dist/src/collectors/system_collector.d.ts.map +1 -1
- package/dist/src/collectors/system_collector.js +4 -0
- package/dist/src/controller/api_controller.d.ts +101 -0
- package/dist/src/controller/api_controller.d.ts.map +1 -0
- package/dist/src/controller/api_controller.js +131 -0
- package/dist/src/controller/debug_controller.d.ts +19 -10
- package/dist/src/controller/debug_controller.d.ts.map +1 -1
- package/dist/src/controller/debug_controller.js +118 -101
- package/dist/src/core/theme.d.ts +42 -0
- package/dist/src/core/theme.d.ts.map +1 -0
- package/dist/src/core/theme.js +115 -0
- package/dist/src/dashboard/chart_aggregator.d.ts.map +1 -1
- package/dist/src/dashboard/chart_aggregator.js +3 -2
- package/dist/src/dashboard/dashboard_controller.d.ts +10 -14
- package/dist/src/dashboard/dashboard_controller.d.ts.map +1 -1
- package/dist/src/dashboard/dashboard_controller.js +132 -250
- package/dist/src/dashboard/dashboard_store.d.ts +62 -19
- package/dist/src/dashboard/dashboard_store.d.ts.map +1 -1
- package/dist/src/dashboard/dashboard_store.js +242 -53
- package/dist/src/dashboard/integrations/cache_inspector.d.ts +19 -1
- package/dist/src/dashboard/integrations/cache_inspector.d.ts.map +1 -1
- package/dist/src/dashboard/integrations/config_inspector.d.ts +1 -1
- package/dist/src/dashboard/integrations/config_inspector.d.ts.map +1 -1
- package/dist/src/dashboard/integrations/config_inspector.js +3 -2
- package/dist/src/dashboard/integrations/queue_inspector.d.ts +55 -10
- package/dist/src/dashboard/integrations/queue_inspector.d.ts.map +1 -1
- package/dist/src/dashboard/integrations/queue_inspector.js +70 -24
- package/dist/src/dashboard/migrator.d.ts +5 -0
- package/dist/src/dashboard/migrator.d.ts.map +1 -1
- package/dist/src/dashboard/migrator.js +44 -9
- package/dist/src/dashboard/models/stats_event.d.ts +1 -1
- package/dist/src/dashboard/models/stats_event.d.ts.map +1 -1
- package/dist/src/dashboard/models/stats_log.d.ts +1 -1
- package/dist/src/dashboard/models/stats_log.d.ts.map +1 -1
- package/dist/src/dashboard/models/stats_query.d.ts +1 -1
- package/dist/src/dashboard/models/stats_query.d.ts.map +1 -1
- package/dist/src/dashboard/models/stats_saved_filter.d.ts +1 -1
- package/dist/src/dashboard/models/stats_saved_filter.d.ts.map +1 -1
- package/dist/src/dashboard/models/stats_trace.d.ts +2 -1
- package/dist/src/dashboard/models/stats_trace.d.ts.map +1 -1
- package/dist/src/data/data_access.d.ts +105 -0
- package/dist/src/data/data_access.d.ts.map +1 -0
- package/dist/src/data/data_access.js +310 -0
- package/dist/src/data/index.d.ts +3 -0
- package/dist/src/data/index.d.ts.map +1 -0
- package/dist/src/data/index.js +1 -0
- package/dist/src/debug/debug_store.d.ts +20 -1
- package/dist/src/debug/debug_store.d.ts.map +1 -1
- package/dist/src/debug/debug_store.js +43 -15
- package/dist/src/debug/email_collector.d.ts +6 -2
- package/dist/src/debug/email_collector.d.ts.map +1 -1
- package/dist/src/debug/email_collector.js +3 -0
- package/dist/src/debug/event_collector.d.ts +6 -2
- package/dist/src/debug/event_collector.d.ts.map +1 -1
- package/dist/src/debug/event_collector.js +12 -8
- package/dist/src/debug/query_collector.d.ts +6 -2
- package/dist/src/debug/query_collector.d.ts.map +1 -1
- package/dist/src/debug/query_collector.js +3 -0
- package/dist/src/debug/ring_buffer.d.ts +1 -0
- package/dist/src/debug/ring_buffer.d.ts.map +1 -1
- package/dist/src/debug/ring_buffer.js +5 -2
- package/dist/src/debug/route_inspector.d.ts +2 -2
- package/dist/src/debug/route_inspector.d.ts.map +1 -1
- package/dist/src/debug/route_inspector.js +4 -3
- package/dist/src/debug/trace_collector.d.ts +7 -3
- package/dist/src/debug/trace_collector.d.ts.map +1 -1
- package/dist/src/debug/trace_collector.js +7 -5
- package/dist/src/debug/types.d.ts +107 -2
- package/dist/src/debug/types.d.ts.map +1 -1
- package/dist/src/debug/types.js +1 -1
- package/dist/src/define_config.d.ts +49 -5
- package/dist/src/define_config.d.ts.map +1 -1
- package/dist/src/define_config.js +361 -4
- package/dist/src/edge/bootstrap.d.ts +17 -0
- package/dist/src/edge/bootstrap.d.ts.map +1 -0
- package/dist/src/edge/bootstrap.js +29 -0
- package/dist/src/edge/client/dashboard.js +2 -3619
- package/dist/src/edge/client/debug-panel-deferred.js +1 -0
- package/dist/src/edge/client/debug-panel.js +1 -2140
- package/dist/src/edge/client/stats-bar.js +1 -801
- package/dist/src/edge/client-vue/dashboard.js +5 -0
- package/dist/src/edge/client-vue/debug-panel-deferred.js +4 -0
- package/dist/src/edge/client-vue/debug-panel.js +4 -0
- package/dist/src/edge/client-vue/stats-bar.js +4 -0
- package/dist/src/edge/plugin.d.ts +35 -2
- package/dist/src/edge/plugin.d.ts.map +1 -1
- package/dist/src/edge/plugin.js +30 -66
- package/dist/src/edge/types.d.ts +46 -0
- package/dist/src/edge/types.d.ts.map +1 -0
- package/dist/src/edge/types.js +4 -0
- package/dist/src/edge/views/dashboard.edge +1 -358
- package/dist/src/edge/views/debug-panel.edge +2 -154
- package/dist/src/edge/views/stats-bar.edge +15 -48
- package/dist/src/engine/stats_engine.d.ts +18 -0
- package/dist/src/engine/stats_engine.d.ts.map +1 -1
- package/dist/src/engine/stats_engine.js +45 -2
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/log_stream/log_stream_provider.d.ts.map +1 -1
- package/dist/src/log_stream/log_stream_provider.js +21 -4
- package/dist/src/log_stream/log_stream_service.d.ts +8 -1
- package/dist/src/log_stream/log_stream_service.d.ts.map +1 -1
- package/dist/src/log_stream/log_stream_service.js +27 -3
- package/dist/src/middleware/request_tracking_middleware.d.ts +1 -1
- package/dist/src/middleware/request_tracking_middleware.d.ts.map +1 -1
- package/dist/src/middleware/request_tracking_middleware.js +21 -6
- package/dist/src/prometheus/prometheus_collector.d.ts +2 -1
- package/dist/src/prometheus/prometheus_collector.d.ts.map +1 -1
- package/dist/src/provider/server_stats_provider.d.ts +100 -0
- package/dist/src/provider/server_stats_provider.d.ts.map +1 -1
- package/dist/src/provider/server_stats_provider.js +460 -104
- package/dist/src/routes/access_middleware.d.ts +2 -1
- package/dist/src/routes/access_middleware.d.ts.map +1 -1
- package/dist/src/routes/access_middleware.js +7 -1
- package/dist/src/routes/index.d.ts +4 -0
- package/dist/src/routes/index.d.ts.map +1 -0
- package/dist/src/routes/index.js +1 -0
- package/dist/src/routes/register_routes.d.ts +103 -0
- package/dist/src/routes/register_routes.d.ts.map +1 -0
- package/dist/src/routes/register_routes.js +356 -0
- package/dist/src/routes/router_types.d.ts +29 -0
- package/dist/src/routes/router_types.d.ts.map +1 -0
- package/dist/src/routes/router_types.js +1 -0
- package/dist/src/stubs/config.stub +12 -32
- package/dist/src/styles/components.css +1048 -0
- package/dist/src/{edge/client → styles}/dashboard.css +299 -736
- package/dist/src/{edge/client → styles}/debug-panel.css +117 -633
- package/dist/src/{edge/client → styles}/stats-bar.css +28 -10
- package/dist/src/styles/tokens.css +153 -0
- package/dist/src/styles/utilities.css +75 -0
- package/dist/src/types.d.ts +119 -16
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/app_import.d.ts +23 -0
- package/dist/src/utils/app_import.d.ts.map +1 -0
- package/dist/src/utils/app_import.js +44 -0
- package/dist/src/utils/json_helpers.d.ts +2 -2
- package/dist/src/utils/json_helpers.d.ts.map +1 -1
- package/dist/src/utils/logger.d.ts +17 -0
- package/dist/src/utils/logger.d.ts.map +1 -0
- package/dist/src/utils/logger.js +27 -0
- package/dist/src/utils/mail_helpers.d.ts +1 -1
- package/dist/src/utils/mail_helpers.d.ts.map +1 -1
- package/dist/src/utils/mail_helpers.js +1 -1
- package/dist/vue/CacheSection-C788Yfai.js +149 -0
- package/dist/vue/CacheTab-BPisYYiQ.js +104 -0
- package/dist/vue/ConfigSection-CRzYxqW2.js +576 -0
- package/dist/vue/ConfigTab-C8cafGUj.js +361 -0
- package/dist/vue/CustomPaneTab-BJxT5Dp7.js +172 -0
- package/dist/vue/EmailsSection-C8JFMtW7.js +206 -0
- package/dist/vue/EmailsTab-DhFhoNmU.js +157 -0
- package/dist/vue/EventsSection-C4wXUgxG.js +107 -0
- package/dist/vue/EventsTab-DQ4Nd6AK.js +97 -0
- package/dist/vue/FilterBar.vue_vue_type_script_setup_true_lang-ClJ37hhT.js +62 -0
- package/dist/vue/InternalsSection-BJUXE-5F.js +468 -0
- package/dist/vue/InternalsTab-DEMjqtlw.js +471 -0
- package/dist/vue/JobsSection-CsKWTjgN.js +187 -0
- package/dist/vue/JobsTab-BCvhOARO.js +117 -0
- package/dist/vue/JsonViewer.vue_vue_type_script_setup_true_lang-Vsqar1zx.js +67 -0
- package/dist/vue/LogsSection-BFVjSZ24.js +227 -0
- package/dist/vue/LogsTab-DpEQ7euu.js +122 -0
- package/dist/vue/OverviewSection-CbMdAido.js +849 -0
- package/dist/vue/PaginationControls.vue_vue_type_script_setup_true_lang-CuN7g_8Z.js +50 -0
- package/dist/vue/QueriesSection-BPiv7u3r.js +429 -0
- package/dist/vue/QueriesTab-C8_7oprC.js +107 -0
- package/dist/vue/RequestsSection-LtImH4rD.js +243 -0
- package/dist/vue/RoutesSection-CrxOxmzx.js +106 -0
- package/dist/vue/RoutesTab-Dz0MkZuF.js +80 -0
- package/dist/vue/TimelineSection-DLxMW2J_.js +186 -0
- package/dist/vue/TimelineTab-Db6lKKsD.js +250 -0
- package/dist/vue/WaterfallChart.vue_vue_type_script_setup_true_lang-tZ13cNj1.js +118 -0
- package/dist/vue/components/Dashboard/DashboardPage.vue.d.ts +18 -0
- package/dist/vue/components/Dashboard/DashboardPage.vue.d.ts.map +1 -0
- package/dist/vue/components/Dashboard/sections/CacheSection.vue.d.ts +5 -0
- package/dist/vue/components/Dashboard/sections/CacheSection.vue.d.ts.map +1 -0
- package/dist/vue/components/Dashboard/sections/ConfigSection.vue.d.ts +3 -0
- package/dist/vue/components/Dashboard/sections/ConfigSection.vue.d.ts.map +1 -0
- package/dist/vue/components/Dashboard/sections/EmailsSection.vue.d.ts +5 -0
- package/dist/vue/components/Dashboard/sections/EmailsSection.vue.d.ts.map +1 -0
- package/dist/vue/components/Dashboard/sections/EventsSection.vue.d.ts +5 -0
- package/dist/vue/components/Dashboard/sections/EventsSection.vue.d.ts.map +1 -0
- package/dist/vue/components/Dashboard/sections/InternalsSection.vue.d.ts +3 -0
- package/dist/vue/components/Dashboard/sections/InternalsSection.vue.d.ts.map +1 -0
- package/dist/vue/components/Dashboard/sections/JobsSection.vue.d.ts +5 -0
- package/dist/vue/components/Dashboard/sections/JobsSection.vue.d.ts.map +1 -0
- package/dist/vue/components/Dashboard/sections/LogsSection.vue.d.ts +3 -0
- package/dist/vue/components/Dashboard/sections/LogsSection.vue.d.ts.map +1 -0
- package/dist/vue/components/Dashboard/sections/OverviewSection.vue.d.ts +5 -0
- package/dist/vue/components/Dashboard/sections/OverviewSection.vue.d.ts.map +1 -0
- package/dist/vue/components/Dashboard/sections/QueriesSection.vue.d.ts +45 -0
- package/dist/vue/components/Dashboard/sections/QueriesSection.vue.d.ts.map +1 -0
- package/dist/vue/components/Dashboard/sections/RequestsSection.vue.d.ts +5 -0
- package/dist/vue/components/Dashboard/sections/RequestsSection.vue.d.ts.map +1 -0
- package/dist/vue/components/Dashboard/sections/RoutesSection.vue.d.ts +5 -0
- package/dist/vue/components/Dashboard/sections/RoutesSection.vue.d.ts.map +1 -0
- package/dist/vue/components/Dashboard/sections/TimelineSection.vue.d.ts +11 -0
- package/dist/vue/components/Dashboard/sections/TimelineSection.vue.d.ts.map +1 -0
- package/dist/vue/components/Dashboard/shared/FilterBar.vue.d.ts +29 -0
- package/dist/vue/components/Dashboard/shared/FilterBar.vue.d.ts.map +1 -0
- package/dist/vue/components/Dashboard/shared/PaginationControls.vue.d.ts +12 -0
- package/dist/vue/components/Dashboard/shared/PaginationControls.vue.d.ts.map +1 -0
- package/dist/vue/components/Dashboard/shared/TimeRangeSelector.vue.d.ts +11 -0
- package/dist/vue/components/Dashboard/shared/TimeRangeSelector.vue.d.ts.map +1 -0
- package/dist/vue/components/Dashboard/shared/WaterfallChart.vue.d.ts +10 -0
- package/dist/vue/components/Dashboard/shared/WaterfallChart.vue.d.ts.map +1 -0
- package/dist/vue/components/DebugPanel/DebugPanel.vue.d.ts +21 -0
- package/dist/vue/components/DebugPanel/DebugPanel.vue.d.ts.map +1 -0
- package/dist/vue/components/DebugPanel/tabs/CacheTab.vue.d.ts +12 -0
- package/dist/vue/components/DebugPanel/tabs/CacheTab.vue.d.ts.map +1 -0
- package/dist/vue/components/DebugPanel/tabs/ConfigTab.vue.d.ts +11 -0
- package/dist/vue/components/DebugPanel/tabs/ConfigTab.vue.d.ts.map +1 -0
- package/dist/vue/components/DebugPanel/tabs/CustomPaneTab.vue.d.ts +11 -0
- package/dist/vue/components/DebugPanel/tabs/CustomPaneTab.vue.d.ts.map +1 -0
- package/dist/vue/components/DebugPanel/tabs/EmailsTab.vue.d.ts +12 -0
- package/dist/vue/components/DebugPanel/tabs/EmailsTab.vue.d.ts.map +1 -0
- package/dist/vue/components/DebugPanel/tabs/EventsTab.vue.d.ts +12 -0
- package/dist/vue/components/DebugPanel/tabs/EventsTab.vue.d.ts.map +1 -0
- package/dist/vue/components/DebugPanel/tabs/InternalsTab.vue.d.ts +11 -0
- package/dist/vue/components/DebugPanel/tabs/InternalsTab.vue.d.ts.map +1 -0
- package/dist/vue/components/DebugPanel/tabs/JobsTab.vue.d.ts +13 -0
- package/dist/vue/components/DebugPanel/tabs/JobsTab.vue.d.ts.map +1 -0
- package/dist/vue/components/DebugPanel/tabs/LogsTab.vue.d.ts +15 -0
- package/dist/vue/components/DebugPanel/tabs/LogsTab.vue.d.ts.map +1 -0
- package/dist/vue/components/DebugPanel/tabs/QueriesTab.vue.d.ts +12 -0
- package/dist/vue/components/DebugPanel/tabs/QueriesTab.vue.d.ts.map +1 -0
- package/dist/vue/components/DebugPanel/tabs/RoutesTab.vue.d.ts +12 -0
- package/dist/vue/components/DebugPanel/tabs/RoutesTab.vue.d.ts.map +1 -0
- package/dist/vue/components/DebugPanel/tabs/TimelineTab.vue.d.ts +15 -0
- package/dist/vue/components/DebugPanel/tabs/TimelineTab.vue.d.ts.map +1 -0
- package/dist/vue/components/StatsBar/MetricCard.vue.d.ts +19 -0
- package/dist/vue/components/StatsBar/MetricCard.vue.d.ts.map +1 -0
- package/dist/vue/components/StatsBar/Sparkline.vue.d.ts +17 -0
- package/dist/vue/components/StatsBar/Sparkline.vue.d.ts.map +1 -0
- package/dist/vue/components/StatsBar/StatsBar.vue.d.ts +22 -0
- package/dist/vue/components/StatsBar/StatsBar.vue.d.ts.map +1 -0
- package/dist/vue/components/shared/JsonViewer.vue.d.ts +13 -0
- package/dist/vue/components/shared/JsonViewer.vue.d.ts.map +1 -0
- package/dist/vue/components/shared/ThemeToggle.vue.d.ts +8 -0
- package/dist/vue/components/shared/ThemeToggle.vue.d.ts.map +1 -0
- package/dist/vue/composables/useApiClient.d.ts +9 -0
- package/dist/vue/composables/useApiClient.d.ts.map +1 -0
- package/dist/vue/composables/useDashboardData.d.ts +53 -0
- package/dist/vue/composables/useDashboardData.d.ts.map +1 -0
- package/dist/vue/composables/useDebugData.d.ts +25 -0
- package/dist/vue/composables/useDebugData.d.ts.map +1 -0
- package/dist/vue/composables/useFeatures.d.ts +80 -0
- package/dist/vue/composables/useFeatures.d.ts.map +1 -0
- package/dist/vue/composables/useResizableTable.d.ts +16 -0
- package/dist/vue/composables/useResizableTable.d.ts.map +1 -0
- package/dist/vue/composables/useServerStats.d.ts +104 -0
- package/dist/vue/composables/useServerStats.d.ts.map +1 -0
- package/dist/vue/composables/useTheme.d.ts +6 -0
- package/dist/vue/composables/useTheme.d.ts.map +1 -0
- package/dist/vue/index-qCQpBftQ.js +1233 -0
- package/dist/vue/index.d.ts +10 -0
- package/dist/vue/index.d.ts.map +1 -0
- package/dist/vue/index.js +11 -0
- package/dist/vue/style.css +1 -0
- package/dist/vue/useApiClient-BQQ9CF-q.js +10 -0
- package/dist/vue/useResizableTable-BoivAevK.js +17 -0
- package/package.json +72 -10
- package/dist/src/dashboard/dashboard_routes.d.ts +0 -16
- package/dist/src/dashboard/dashboard_routes.d.ts.map +0 -1
- package/dist/src/dashboard/dashboard_routes.js +0 -77
- package/dist/src/routes/debug_routes.d.ts +0 -14
- package/dist/src/routes/debug_routes.d.ts.map +0 -1
- package/dist/src/routes/debug_routes.js +0 -42
- package/dist/src/routes/stats_routes.d.ts +0 -14
- package/dist/src/routes/stats_routes.d.ts.map +0 -1
- 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":"
|
|
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
|
-
|
|
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
|
}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -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
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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":"
|
|
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
|
-
|
|
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
|
|
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":"
|
|
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
|
-
|
|
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:
|
|
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":"
|
|
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;CAoF5C"}
|
|
@@ -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
|
*/
|
|
@@ -62,7 +67,14 @@ export default class RequestTrackingMiddleware {
|
|
|
62
67
|
await next();
|
|
63
68
|
return;
|
|
64
69
|
}
|
|
70
|
+
// Gracefully handle the startup window before collectors initialize.
|
|
71
|
+
// The provider defers initialization via setImmediate, so early
|
|
72
|
+
// requests may arrive before httpCollector() has been called.
|
|
65
73
|
const metrics = getRequestMetrics();
|
|
74
|
+
if (!metrics) {
|
|
75
|
+
await next();
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
66
78
|
const start = performance.now();
|
|
67
79
|
metrics.incrementActiveConnections();
|
|
68
80
|
// Share a lazy shouldShow evaluator with Edge for @serverStats() tag.
|
|
@@ -70,14 +82,18 @@ export default class RequestTrackingMiddleware {
|
|
|
70
82
|
// runs BEFORE router middleware like initialize_auth_middleware and
|
|
71
83
|
// silentAuth — so ctx.auth isn't populated yet. The function is called
|
|
72
84
|
// at Edge render time (inside the controller), when auth is available.
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
85
|
+
const ctxView = ctx.view;
|
|
86
|
+
if (shouldShowFn && typeof ctxView?.share === 'function') {
|
|
87
|
+
ctxView.share({
|
|
76
88
|
__ssShowFn: () => {
|
|
77
89
|
try {
|
|
78
90
|
return shouldShowFn(ctx);
|
|
79
91
|
}
|
|
80
|
-
catch {
|
|
92
|
+
catch (err) {
|
|
93
|
+
if (!warnedShouldShow) {
|
|
94
|
+
warnedShouldShow = true;
|
|
95
|
+
log.warn('shouldShow callback threw — stats bar will be hidden: ' + err?.message);
|
|
96
|
+
}
|
|
81
97
|
return false;
|
|
82
98
|
}
|
|
83
99
|
},
|
|
@@ -86,8 +102,7 @@ export default class RequestTrackingMiddleware {
|
|
|
86
102
|
// Skip tracing and dashboard persistence for the debug panel's own requests
|
|
87
103
|
// (e.g. /admin/api/debug/*, /admin/api/server-stats) so they don't flood
|
|
88
104
|
// the timeline. HTTP metrics (req/s, avg latency) are still recorded.
|
|
89
|
-
const skipTracing = excludedPrefixes.
|
|
90
|
-
excludedPrefixes.some((prefix) => requestUrl.startsWith(prefix));
|
|
105
|
+
const skipTracing = excludedPrefixes.some((prefix) => requestUrl.startsWith(prefix));
|
|
91
106
|
const runRequest = async () => {
|
|
92
107
|
try {
|
|
93
108
|
await next();
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ServerStats } from '../types.js';
|
|
2
2
|
import type { ConfigProvider } from '@adonisjs/core/types';
|
|
3
|
-
|
|
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;
|
|
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,18 @@ export default class ServerStatsProvider {
|
|
|
13
13
|
private flushTimer;
|
|
14
14
|
private statsController;
|
|
15
15
|
private debugController;
|
|
16
|
+
private apiController;
|
|
17
|
+
private dashboardDepsAvailable;
|
|
18
|
+
private pinoHookActive;
|
|
19
|
+
private edgePluginActive;
|
|
20
|
+
private prometheusActive;
|
|
21
|
+
private transmitAvailable;
|
|
22
|
+
private transmitChannels;
|
|
23
|
+
private resolvedConfig;
|
|
24
|
+
private resolvedCollectors;
|
|
16
25
|
constructor(app: ApplicationService);
|
|
17
26
|
boot(): Promise<void>;
|
|
27
|
+
private initializeBoot;
|
|
18
28
|
/**
|
|
19
29
|
* Read start/kernel.ts and detect auth-related middleware in server.use()
|
|
20
30
|
* or router.use() blocks. Returns import paths of problematic middleware.
|
|
@@ -22,7 +32,23 @@ export default class ServerStatsProvider {
|
|
|
22
32
|
* Ignores initialize_auth_middleware (no DB query — just sets up ctx.auth).
|
|
23
33
|
*/
|
|
24
34
|
private detectGlobalAuthMiddleware;
|
|
35
|
+
/**
|
|
36
|
+
* Hook into the AdonisJS logger's Pino stream to feed log entries
|
|
37
|
+
* directly into the LogStreamService — no file path needed.
|
|
38
|
+
*
|
|
39
|
+
* Uses `Symbol.for('pino.stream')` (documented Pino API) to access
|
|
40
|
+
* the underlying destination stream, then wraps its `write` method
|
|
41
|
+
* to tee entries into the log collector.
|
|
42
|
+
*/
|
|
43
|
+
private hookPinoLogger;
|
|
25
44
|
ready(): Promise<void>;
|
|
45
|
+
private initializeServerStats;
|
|
46
|
+
/**
|
|
47
|
+
* Set up the stats collection interval, transmit broadcasting,
|
|
48
|
+
* and Prometheus integration. Extracted from initializeServerStats
|
|
49
|
+
* so the ready log fires promptly.
|
|
50
|
+
*/
|
|
51
|
+
private setupStatsInterval;
|
|
26
52
|
private setupDevToolbar;
|
|
27
53
|
/**
|
|
28
54
|
* Initialize the full-page dashboard: SQLite store, controller,
|
|
@@ -32,6 +58,80 @@ export default class ServerStatsProvider {
|
|
|
32
58
|
* This method creates the controller so those routes become functional.
|
|
33
59
|
*/
|
|
34
60
|
private setupDashboard;
|
|
61
|
+
/** Return diagnostics state for the Internals endpoint. */
|
|
62
|
+
getDiagnostics(): {
|
|
63
|
+
timers: {
|
|
64
|
+
collectionInterval: {
|
|
65
|
+
active: boolean;
|
|
66
|
+
intervalMs: number;
|
|
67
|
+
};
|
|
68
|
+
dashboardBroadcast: {
|
|
69
|
+
active: boolean;
|
|
70
|
+
intervalMs: number;
|
|
71
|
+
};
|
|
72
|
+
debugBroadcast: {
|
|
73
|
+
active: boolean;
|
|
74
|
+
debounceMs: number;
|
|
75
|
+
};
|
|
76
|
+
persistFlush: {
|
|
77
|
+
active: boolean;
|
|
78
|
+
intervalMs: number;
|
|
79
|
+
};
|
|
80
|
+
retentionCleanup: {
|
|
81
|
+
active: boolean;
|
|
82
|
+
intervalMs: number;
|
|
83
|
+
};
|
|
84
|
+
};
|
|
85
|
+
transmit: {
|
|
86
|
+
available: boolean;
|
|
87
|
+
channels: string[];
|
|
88
|
+
};
|
|
89
|
+
integrations: {
|
|
90
|
+
prometheus: {
|
|
91
|
+
active: boolean;
|
|
92
|
+
};
|
|
93
|
+
pinoHook: {
|
|
94
|
+
active: boolean;
|
|
95
|
+
mode: string;
|
|
96
|
+
};
|
|
97
|
+
edgePlugin: {
|
|
98
|
+
active: boolean;
|
|
99
|
+
};
|
|
100
|
+
cacheInspector: {
|
|
101
|
+
available: boolean;
|
|
102
|
+
};
|
|
103
|
+
queueInspector: {
|
|
104
|
+
available: boolean;
|
|
105
|
+
};
|
|
106
|
+
};
|
|
107
|
+
config: {
|
|
108
|
+
intervalMs: number;
|
|
109
|
+
transport: "transmit" | "none";
|
|
110
|
+
channelName: string;
|
|
111
|
+
endpoint: string | false;
|
|
112
|
+
skipInTest: boolean;
|
|
113
|
+
hasOnStatsCallback: boolean;
|
|
114
|
+
hasShouldShowCallback: boolean;
|
|
115
|
+
};
|
|
116
|
+
devToolbar: {
|
|
117
|
+
enabled: boolean;
|
|
118
|
+
maxQueries: number;
|
|
119
|
+
maxEvents: number;
|
|
120
|
+
maxEmails: number;
|
|
121
|
+
maxTraces: number;
|
|
122
|
+
slowQueryThresholdMs: number;
|
|
123
|
+
tracing: boolean;
|
|
124
|
+
dashboard: boolean;
|
|
125
|
+
dashboardPath: string;
|
|
126
|
+
debugEndpoint: string;
|
|
127
|
+
retentionDays: number;
|
|
128
|
+
dbPath: string;
|
|
129
|
+
persistDebugData: string | boolean;
|
|
130
|
+
renderer: "preact" | "vue";
|
|
131
|
+
excludeFromTracing: string[];
|
|
132
|
+
customPaneCount: number;
|
|
133
|
+
};
|
|
134
|
+
};
|
|
35
135
|
shutdown(): Promise<void>;
|
|
36
136
|
}
|
|
37
137
|
//# 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":"
|
|
1
|
+
{"version":3,"file":"server_stats_provider.d.ts","sourceRoot":"","sources":["../../../src/provider/server_stats_provider.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAQ9D,MAAM,CAAC,OAAO,OAAO,mBAAmB;IA2B1B,SAAS,CAAC,GAAG,EAAE,kBAAkB;IA1B7C,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,sBAAsB,CAAgB;IAG9C,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;YAcI,cAAc;IA8I5B;;;;;OAKG;IACH,OAAO,CAAC,0BAA0B;IAmDlC;;;;;;;OAOG;YACW,cAAc;IAqCtB,KAAK;YAuBG,qBAAqB;IA6FnC;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;YA2DZ,eAAe;IA8G7B;;;;;;OAMG;YACW,cAAc;IA0L5B,2DAA2D;IAC3D,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2ER,QAAQ;CAwCf"}
|