Web vitals: prefer external RUM

This commit is contained in:
adilallo
2026-04-21 07:08:31 -06:00
parent aaa3e4d654
commit 2d58887a15
17 changed files with 713 additions and 372 deletions
@@ -0,0 +1,24 @@
{
"_comment": "Admin Web Vitals dashboard copy",
"title": "Web Vitals Dashboard",
"historicalMetricsTitle": "Historical Metrics",
"performanceGuidelinesTitle": "Performance Guidelines",
"valueLabel": "Value",
"ratingLabel": "Rating",
"countLabel": "Count",
"averageLabel": "Average",
"rangeLabel": "Range",
"goodLabel": "Good",
"needsImprovementLabel": "Needs Improvement",
"poorLabel": "Poor",
"externalNoticeTitle": "Server-side aggregates",
"externalNoticeBody": "Production uses external storage for web vitals. Historical totals are not kept in this app; use your log pipeline or metrics dashboard. Live values below still reflect this browser session.",
"externalDashboardLinkLabel": "Open metrics dashboard",
"guidelines": {
"lcp": "LCP: Good < 2.5s, Needs Improvement 2.54s, Poor > 4s",
"fid": "FID: Good < 100ms, Needs Improvement 100300ms, Poor > 300ms",
"cls": "CLS: Good < 0.1, Needs Improvement 0.10.25, Poor > 0.25",
"fcp": "FCP: Good < 1.8s, Needs Improvement 1.83s, Poor > 3s",
"ttfb": "TTFB: Good < 800ms, Needs Improvement 8001800ms, Poor > 1800ms"
}
}
+4
View File
@@ -11,9 +11,11 @@ import menuBar from "./components/menuBar.json";
import quoteBlock from "./components/quoteBlock.json";
import ruleCard from "./components/ruleCard.json";
import ruleStack from "./components/ruleStack.json";
import webVitalsDashboard from "./components/webVitalsDashboard.json";
import home from "./pages/home.json";
import templates from "./pages/templates.json";
import learn from "./pages/learn.json";
import monitor from "./pages/monitor.json";
import login from "./pages/login.json";
import profile from "./pages/profile.json";
import navigation from "./navigation.json";
@@ -62,10 +64,12 @@ export default {
quoteBlock,
ruleCard,
ruleStack,
webVitalsDashboard,
pages: {
home,
templates,
learn,
monitor,
login,
profile,
},
+46
View File
@@ -0,0 +1,46 @@
{
"_comment": "Admin /monitor performance page",
"title": "Performance Monitoring",
"description": "Real-time monitoring of Core Web Vitals and performance metrics for Community Rule 3.0",
"performanceTargets": {
"title": "Performance Targets",
"loadTime": "Load Time",
"loadTimeTarget": "< 2 seconds",
"lcp": "LCP",
"lcpTarget": "< 2.5s",
"fid": "FID",
"fidTarget": "< 100ms",
"cls": "CLS",
"clsTarget": "< 0.1",
"lighthouse": "Lighthouse Score",
"lighthouseTarget": "> 90"
},
"optimizationStatus": {
"title": "Optimization Status",
"codeSplitting": "Code Splitting & Dynamic Imports",
"reactMemo": "React.memo Optimizations",
"imageOptimization": "Image Optimization",
"fontPreloading": "Font Preloading",
"bundleAnalysis": "Bundle Analysis",
"errorBoundaries": "Error Boundaries"
},
"monitoringCommands": {
"title": "Monitoring Commands",
"bundleAnalyze": {
"title": "Bundle analysis",
"command": "npm run bundle:analyze"
},
"e2ePerformance": {
"title": "E2E performance (Core Web Vitals)",
"command": "npm run e2e:performance"
},
"lhciDesktop": {
"title": "Lighthouse CI (desktop preset)",
"command": "npm run lhci:desktop"
},
"performanceBudget": {
"title": "Lighthouse CI with performance budgets",
"command": "npm run performance:budget"
}
}
}