Product Decisions This Supports
- Profiling tooling strategy (build vs. buy vs. assemble): Whether to invest engineering time in a homegrown XHProf-based workflow (extension + this CLI viewer) versus paying for Tideways, Blackfire, or Datadog APM. This package is the "cheap/DIY" corner of that trade-off space, so it mainly serves as a cost anchor for the buy decision.
- Performance roadmap prioritization: If your stack already emits XHProf data, a CLI viewer lets an engineer rank hot paths (wall time, CPU, call counts) without standing up an APM vendor — useful evidence when arguing for a caching layer, query consolidation, or a queue offload in a quarter's roadmap.
- Local/offline profiling in dev and CI-adjacent environments: Supports decisions about whether profiling can happen on developer machines and in air-gapped or cost-constrained environments where shipping production traces to a SaaS vendor isn't acceptable.
- Technical debt and upgrade sequencing: Because the last release is 2018 with zero dependents, evaluating it forces an explicit answer to "what PHP version are we actually on, and when do we move to 8.x?" — valuable input to platform upgrade planning.
- Not supported: production always-on observability, team-wide dashboards, SLA/error-budget monitoring, or any decision requiring multi-user access control. This is a single-developer terminal tool.
When to Consider This Package
Consider it only when all of these hold:
- You are on a legacy PHP 7.x runtime where the XHProf extension is already installed or trivially installable, and you have no near-term plan to jump to PHP 8.
- You need occasional, ad-hoc, single-developer profiling — "why is this endpoint slow on my machine?" — not continuous monitoring.
- You want zero licensing cost and no data egress; profiles stay on the engineer's laptop.
- You accept that the tool is effectively unmaintained (last release 2018-03-04, 4 stars, 0 dependents, MIT) and are willing to vendor/fork it internally rather than rely on upstream.
- Somebody on the team already knows XHProf's output format, so the viewer is a convenience rather than a learning curve.
Look elsewhere when:
- PHP 8+ is on the roadmap. The 2018 vintage, zero-dependents status, and lack of recent releases make compatibility and PECL-extension availability a likely blocker; budget the migration as a cost of adoption.
- You need CI performance regression gates, flame graphs shared across the team, or historical trend comparison — use Blackfire, Tideways, or SPX.
- Supply-chain review matters: an unmaintained, 4-star package with no releases in seven years is a poor candidate for anything beyond optional, developer-local tooling; it should never sit in a production
composer install.
- You want vendor support, security patching, or a documented upgrade path — none exist here.
- Your bottleneck hypothesis is database or queue related; Laravel Telescope, Pulse, or query logging will answer those questions faster and with maintained code.
How to Pitch It (Stakeholders)
For executives: This is a small, free, MIT-licensed CLI utility for reading PHP profiler output. It is not a platform commitment — but it is also not a safe long-term dependency: last shipped in 2018, negligible community adoption, and no maintainer activity. Treat it as a reference point in the build-vs-buy conversation, not as an approved strategic tool. The real decision it informs is whether to fund a commercial APM/profiler; this package makes the "DIY" option's true cost visible (forking, patching, PHP-version babysitting) and in most cases that cost exceeds a Tideways or Blackfire seat.
For engineering: If your environment still runs the XHProf extension on PHP 7.x, this is a lightweight way to inspect profiles from the terminal with no vendor account and no data leaving the network. Pin it as a require-dev dependency at most, vendor or fork it, and don't build internal workflows on its CLI contract — it isn't going to change and it isn't going to be fixed. If you're already on PHP 8, skip it and use SPX or Xdebug's profiler with a maintained viewer.
Recommendation: Do not adopt as a dependency. Do use it as a one-hour evaluation artifact to justify (or rule out) paid profiling tooling, and log the conclusion in the platform-tooling decision record.