A headless Chromium-based modular web performance metrics collector for in-depth frontend analysis.
Phantomas is a headless Chromium-based web performance metrics collector and monitoring tool built with Node.js. It analyzes web pages to generate detailed performance data, helping developers identify frontend bottlenecks and optimization opportunities. The tool uses a modular architecture where each metric is produced by a separate module, allowing for extensible and customizable performance analysis.
Frontend developers, performance engineers, and DevOps teams who need to automate and integrate web performance testing into their development workflows. It's particularly useful for those building performance budgets or conducting in-depth frontend analysis.
Developers choose Phantomas for its modular, event-driven approach that goes beyond basic performance timings to capture advanced metrics like CSS complexity and JavaScript behavior. Its ability to execute custom JavaScript in the page context and emit custom metrics provides flexibility that many other performance tools lack.
Headless Chromium-based web performance metrics collector and monitoring tool
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Each metric is generated by a separate module, allowing easy extension and customization of performance analysis, as emphasized in its event-driven architecture.
Captures detailed data like jQuery event bindings and CSS selector complexity via analyze-css integration, providing deeper optimization opportunities beyond basic timings.
Enables emitting custom metrics from page code using window.__phantomas helpers, offering flexibility for application-specific performance tracking directly from the browser context.
Supports mobile and tablet profiles by setting user agents and viewports, useful for testing responsive performance without external tools.
Delivers results in JSON format, facilitating easy integration with automated workflows, CI/CD pipelines, and other Node.js tools.
Requires Node.js 16+ and installs Chromium via puppeteer, which can be resource-intensive, slow on initial setup, and problematic in constrained environments.
To leverage its full potential, developers must understand the event-driven system, module hooks, and custom metric emission, which isn't beginner-friendly.
While it offers unique metrics, it lacks broader audits for SEO, accessibility, or PWA features compared to tools like Lighthouse, focusing mainly on performance.
Key information is spread across wiki pages, docs directories, and troubleshooting files, making it harder to find complete guidance without extensive digging.