Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Dev Env
  3. phantomas

phantomas

BSD-2-ClauseJavaScriptv2.25.0

A headless Chromium-based modular web performance metrics collector for in-depth frontend analysis.

Visit WebsiteGitHubGitHub
2.3k stars136 forks0 contributors

What is phantomas?

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.

Target Audience

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.

Value Proposition

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.

Overview

Headless Chromium-based web performance metrics collector and monitoring tool

Use Cases

Best For

  • Automating web performance regression testing in CI/CD pipelines
  • Building custom performance dashboards with detailed frontend metrics
  • Analyzing CSS complexity and selector performance on production websites
  • Emulating mobile device performance with configurable user agents and viewports
  • Integrating advanced performance analysis into Node.js-based development tools
  • Generating performance budgets by tracking specific metrics over time

Not Ideal For

  • Real-time performance monitoring dashboards that require continuous, streaming data updates
  • Teams preferring GUI-based tools like GTmetrix or PageSpeed Insights without writing code or scripts
  • Projects where only basic Core Web Vitals scores are needed, without deep CSS or JavaScript analysis
  • Environments with strict resource limitations, as it requires a full Chromium instance and Node.js runtime

Pros & Cons

Pros

Modular Metric Collection

Each metric is generated by a separate module, allowing easy extension and customization of performance analysis, as emphasized in its event-driven architecture.

Advanced Frontend Insights

Captures detailed data like jQuery event bindings and CSS selector complexity via analyze-css integration, providing deeper optimization opportunities beyond basic timings.

Custom JavaScript Metrics

Enables emitting custom metrics from page code using window.__phantomas helpers, offering flexibility for application-specific performance tracking directly from the browser context.

Device Emulation Support

Supports mobile and tablet profiles by setting user agents and viewports, useful for testing responsive performance without external tools.

JSON Output for Integration

Delivers results in JSON format, facilitating easy integration with automated workflows, CI/CD pipelines, and other Node.js tools.

Cons

Heavy Dependency Setup

Requires Node.js 16+ and installs Chromium via puppeteer, which can be resource-intensive, slow on initial setup, and problematic in constrained environments.

Steep Learning Curve

To leverage its full potential, developers must understand the event-driven system, module hooks, and custom metric emission, which isn't beginner-friendly.

Less Comprehensive Audits

While it offers unique metrics, it lacks broader audits for SEO, accessibility, or PWA features compared to tools like Lighthouse, focusing mainly on performance.

Documentation Fragmentation

Key information is spread across wiki pages, docs directories, and troubleshooting files, making it harder to find complete guidance without extensive digging.

Frequently Asked Questions

Quick Stats

Stars2,261
Forks136
Contributors0
Open Issues59
Last commit9 days ago
CreatedSince 2012

Tags

#developer-tools#jquery#puppeteer#webperformance#performance-analysis#web-performance#dom#automated-testing#nodejs#phantomas#performance-monitoring#headless-chromium#javascript#webperf#frontend-optimization#devtools#performance-metrics#metrics#css

Built With

N
Node.js
P
Puppeteer
D
Docker

Links & Resources

Website

Included in

Web Performance Optimization8.9kDev Env3.2k
Auto-fetched 4 hours ago

Related Projects

wrkwrk

Modern HTTP benchmarking tool

Stars40,352
Forks3,026
Last commit2 years ago
VegetaVegeta

HTTP load testing tool and library. It's over 9000!

Stars25,128
Forks1,417
Last commit5 months ago
boomboom

HTTP(S) load generator, ApacheBench (ab) replacement, written in Go

Stars4,702
Forks318
Last commit10 years ago
redis-fainaredis-faina

A query analyzer that parses Redis' MONITOR command for counter/timing stats about query patterns

Stars1,779
Forks279
Last commit6 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub