adonisjs-server-stats 1.5.3 → 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +28 -1
- 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 +116 -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 +33 -0
- package/dist/src/collectors/http_collector.d.ts.map +1 -1
- package/dist/src/collectors/http_collector.js +25 -6
- 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 +41 -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 +14 -10
- package/dist/src/controller/debug_controller.d.ts.map +1 -1
- package/dist/src/controller/debug_controller.js +96 -102
- 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/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 +196 -43
- 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/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 +103 -0
- package/dist/src/data/data_access.d.ts.map +1 -0
- package/dist/src/data/data_access.js +305 -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 +360 -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 +14 -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 +98 -0
- package/dist/src/provider/server_stats_provider.d.ts.map +1 -1
- package/dist/src/provider/server_stats_provider.js +340 -50
- 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/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-CkrIB4-j.js +149 -0
- package/dist/vue/CacheTab-BPisYYiQ.js +104 -0
- package/dist/vue/ConfigSection-gulpOiq1.js +576 -0
- package/dist/vue/ConfigTab-C8cafGUj.js +361 -0
- package/dist/vue/CustomPaneTab-J57ED_bh.js +172 -0
- package/dist/vue/EmailsSection-BlKvQDx8.js +206 -0
- package/dist/vue/EmailsTab-DhFhoNmU.js +157 -0
- package/dist/vue/EventsSection-BdzQvIVJ.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-DOzuMrG3.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-CNN4y92u.js +227 -0
- package/dist/vue/LogsTab-CJerb22r.js +122 -0
- package/dist/vue/OverviewSection-SITNR_dA.js +849 -0
- package/dist/vue/PaginationControls.vue_vue_type_script_setup_true_lang-CuN7g_8Z.js +50 -0
- package/dist/vue/QueriesSection-BAebAHkD.js +429 -0
- package/dist/vue/QueriesTab-C8_7oprC.js +107 -0
- package/dist/vue/RequestsSection-CIR0IX39.js +243 -0
- package/dist/vue/RoutesSection-j1U2oa0g.js +106 -0
- package/dist/vue/RoutesTab-Dz0MkZuF.js +80 -0
- package/dist/vue/TimelineSection-Dw980UPg.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-COgsk_nv.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 +68 -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;CA4E5C"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
2
2
|
import { performance } from 'node:perf_hooks';
|
|
3
3
|
import { getRequestMetrics } from '../collectors/http_collector.js';
|
|
4
|
+
import { log } from '../utils/logger.js';
|
|
4
5
|
/**
|
|
5
6
|
* AsyncLocalStorage that marks the current request as "excluded" from
|
|
6
7
|
* debug collection. Checked by QueryCollector and EventCollector to
|
|
@@ -15,6 +16,10 @@ const excludedRequestAls = new AsyncLocalStorage();
|
|
|
15
16
|
export function isExcludedRequest() {
|
|
16
17
|
return excludedRequestAls.getStore() === true;
|
|
17
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* Warn-once guard for shouldShow callback failures.
|
|
21
|
+
*/
|
|
22
|
+
let warnedShouldShow = false;
|
|
18
23
|
/**
|
|
19
24
|
* Module-level `shouldShow` callback, set by the provider at boot.
|
|
20
25
|
*/
|
|
@@ -70,14 +75,18 @@ export default class RequestTrackingMiddleware {
|
|
|
70
75
|
// runs BEFORE router middleware like initialize_auth_middleware and
|
|
71
76
|
// silentAuth — so ctx.auth isn't populated yet. The function is called
|
|
72
77
|
// at Edge render time (inside the controller), when auth is available.
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
78
|
+
const ctxView = ctx.view;
|
|
79
|
+
if (shouldShowFn && typeof ctxView?.share === 'function') {
|
|
80
|
+
ctxView.share({
|
|
76
81
|
__ssShowFn: () => {
|
|
77
82
|
try {
|
|
78
83
|
return shouldShowFn(ctx);
|
|
79
84
|
}
|
|
80
|
-
catch {
|
|
85
|
+
catch (err) {
|
|
86
|
+
if (!warnedShouldShow) {
|
|
87
|
+
warnedShouldShow = true;
|
|
88
|
+
log.warn('shouldShow callback threw — stats bar will be hidden: ' + err?.message);
|
|
89
|
+
}
|
|
81
90
|
return false;
|
|
82
91
|
}
|
|
83
92
|
},
|
|
@@ -86,8 +95,7 @@ export default class RequestTrackingMiddleware {
|
|
|
86
95
|
// Skip tracing and dashboard persistence for the debug panel's own requests
|
|
87
96
|
// (e.g. /admin/api/debug/*, /admin/api/server-stats) so they don't flood
|
|
88
97
|
// the timeline. HTTP metrics (req/s, avg latency) are still recorded.
|
|
89
|
-
const skipTracing = excludedPrefixes.
|
|
90
|
-
excludedPrefixes.some((prefix) => requestUrl.startsWith(prefix));
|
|
98
|
+
const skipTracing = excludedPrefixes.some((prefix) => requestUrl.startsWith(prefix));
|
|
91
99
|
const runRequest = async () => {
|
|
92
100
|
try {
|
|
93
101
|
await next();
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ServerStats } from '../types.js';
|
|
2
2
|
import type { ConfigProvider } from '@adonisjs/core/types';
|
|
3
|
-
|
|
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,32 @@ export default class ServerStatsProvider {
|
|
|
13
13
|
private flushTimer;
|
|
14
14
|
private statsController;
|
|
15
15
|
private debugController;
|
|
16
|
+
private apiController;
|
|
17
|
+
private pinoHookActive;
|
|
18
|
+
private edgePluginActive;
|
|
19
|
+
private prometheusActive;
|
|
20
|
+
private transmitAvailable;
|
|
21
|
+
private transmitChannels;
|
|
22
|
+
private resolvedConfig;
|
|
23
|
+
private resolvedCollectors;
|
|
16
24
|
constructor(app: ApplicationService);
|
|
17
25
|
boot(): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Read start/kernel.ts and detect auth-related middleware in server.use()
|
|
28
|
+
* or router.use() blocks. Returns import paths of problematic middleware.
|
|
29
|
+
*
|
|
30
|
+
* Ignores initialize_auth_middleware (no DB query — just sets up ctx.auth).
|
|
31
|
+
*/
|
|
32
|
+
private detectGlobalAuthMiddleware;
|
|
33
|
+
/**
|
|
34
|
+
* Hook into the AdonisJS logger's Pino stream to feed log entries
|
|
35
|
+
* directly into the LogStreamService — no file path needed.
|
|
36
|
+
*
|
|
37
|
+
* Uses `Symbol.for('pino.stream')` (documented Pino API) to access
|
|
38
|
+
* the underlying destination stream, then wraps its `write` method
|
|
39
|
+
* to tee entries into the log collector.
|
|
40
|
+
*/
|
|
41
|
+
private hookPinoLogger;
|
|
18
42
|
ready(): Promise<void>;
|
|
19
43
|
private setupDevToolbar;
|
|
20
44
|
/**
|
|
@@ -25,6 +49,80 @@ export default class ServerStatsProvider {
|
|
|
25
49
|
* This method creates the controller so those routes become functional.
|
|
26
50
|
*/
|
|
27
51
|
private setupDashboard;
|
|
52
|
+
/** Return diagnostics state for the Internals endpoint. */
|
|
53
|
+
getDiagnostics(): {
|
|
54
|
+
timers: {
|
|
55
|
+
collectionInterval: {
|
|
56
|
+
active: boolean;
|
|
57
|
+
intervalMs: number;
|
|
58
|
+
};
|
|
59
|
+
dashboardBroadcast: {
|
|
60
|
+
active: boolean;
|
|
61
|
+
intervalMs: number;
|
|
62
|
+
};
|
|
63
|
+
debugBroadcast: {
|
|
64
|
+
active: boolean;
|
|
65
|
+
debounceMs: number;
|
|
66
|
+
};
|
|
67
|
+
persistFlush: {
|
|
68
|
+
active: boolean;
|
|
69
|
+
intervalMs: number;
|
|
70
|
+
};
|
|
71
|
+
retentionCleanup: {
|
|
72
|
+
active: boolean;
|
|
73
|
+
intervalMs: number;
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
transmit: {
|
|
77
|
+
available: boolean;
|
|
78
|
+
channels: string[];
|
|
79
|
+
};
|
|
80
|
+
integrations: {
|
|
81
|
+
prometheus: {
|
|
82
|
+
active: boolean;
|
|
83
|
+
};
|
|
84
|
+
pinoHook: {
|
|
85
|
+
active: boolean;
|
|
86
|
+
mode: string;
|
|
87
|
+
};
|
|
88
|
+
edgePlugin: {
|
|
89
|
+
active: boolean;
|
|
90
|
+
};
|
|
91
|
+
cacheInspector: {
|
|
92
|
+
available: boolean;
|
|
93
|
+
};
|
|
94
|
+
queueInspector: {
|
|
95
|
+
available: boolean;
|
|
96
|
+
};
|
|
97
|
+
};
|
|
98
|
+
config: {
|
|
99
|
+
intervalMs: number;
|
|
100
|
+
transport: "transmit" | "none";
|
|
101
|
+
channelName: string;
|
|
102
|
+
endpoint: string | false;
|
|
103
|
+
skipInTest: boolean;
|
|
104
|
+
hasOnStatsCallback: boolean;
|
|
105
|
+
hasShouldShowCallback: boolean;
|
|
106
|
+
};
|
|
107
|
+
devToolbar: {
|
|
108
|
+
enabled: boolean;
|
|
109
|
+
maxQueries: number;
|
|
110
|
+
maxEvents: number;
|
|
111
|
+
maxEmails: number;
|
|
112
|
+
maxTraces: number;
|
|
113
|
+
slowQueryThresholdMs: number;
|
|
114
|
+
tracing: boolean;
|
|
115
|
+
dashboard: boolean;
|
|
116
|
+
dashboardPath: string;
|
|
117
|
+
debugEndpoint: string;
|
|
118
|
+
retentionDays: number;
|
|
119
|
+
dbPath: string;
|
|
120
|
+
persistDebugData: string | boolean;
|
|
121
|
+
renderer: "preact" | "vue";
|
|
122
|
+
excludeFromTracing: string[];
|
|
123
|
+
customPaneCount: number;
|
|
124
|
+
};
|
|
125
|
+
};
|
|
28
126
|
shutdown(): Promise<void>;
|
|
29
127
|
}
|
|
30
128
|
//# sourceMappingURL=server_stats_provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server_stats_provider.d.ts","sourceRoot":"","sources":["../../../src/provider/server_stats_provider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server_stats_provider.d.ts","sourceRoot":"","sources":["../../../src/provider/server_stats_provider.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAQ9D,MAAM,CAAC,OAAO,OAAO,mBAAmB;IAwB1B,SAAS,CAAC,GAAG,EAAE,kBAAkB;IAvB7C,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,mBAAmB,CAAmC;IAC9D,OAAO,CAAC,kBAAkB,CAAgC;IAC1D,OAAO,CAAC,uBAAuB,CAA8C;IAC7E,OAAO,CAAC,mBAAmB,CAA6C;IACxE,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,eAAe,CAAqC;IAC5D,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,aAAa,CAA6B;IAGlD,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,gBAAgB,CAAiB;IACzC,OAAO,CAAC,gBAAgB,CAAiB;IACzC,OAAO,CAAC,iBAAiB,CAAiB;IAC1C,OAAO,CAAC,gBAAgB,CAAe;IACvC,OAAO,CAAC,cAAc,CAAyC;IAC/D,OAAO,CAAC,kBAAkB,CAAwB;gBAE5B,GAAG,EAAE,kBAAkB;IAEvC,IAAI;IAwGV;;;;;OAKG;IACH,OAAO,CAAC,0BAA0B;IAmDlC;;;;;;;OAOG;YACW,cAAc;IAqCtB,KAAK;YAkIG,eAAe;IAmG7B;;;;;;OAMG;YACW,cAAc;IA0I5B,2DAA2D;IAC3D,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2ER,QAAQ;CAwCf"}
|