stackmonitor/agent-laravel
StackMonitor Agent for Laravel: a lightweight package that connects your Laravel application to StackMonitor for monitoring and insights. Easy to install and configure, it reports runtime data from your app so you can keep an eye on performance and health in one place.
app/ code and private (non-packagist) Composer packages — rather than making you build custom scanners or commission a consultancy audit. The decision it informs is whether to adopt an off-the-shelf agent + dashboard instead of internal tooling.-1ubuntu2.20) separately from the base version. This matters because distro maintainers routinely backport security fixes without bumping the version number. The decision it informs: whether a given host is genuinely running an unpatched PHP or a distro-patched one, which changes the priority of "patch now" versus "plan the upgrade" in your roadmap.STACKMONITOR_AGENT_FILE_CONTENTS=true. That distinction is what lets a security review approve adoption in regulated environments, and it is a decision the PM should own rather than delegate.zip extension. The decision is whether the marginal accuracy of remote content analysis is worth a new egress path and a new extension dependency — for most teams, defaults stay off until a specific forecast gap appears.php_code.contents to be understood. This is a coordination cost to bake into the rollout plan, not a blocker. The same discipline applies to the v1.21.0 distro-build field: it is additive metadata, so roll the dashboard first if you want the richer version string and the hint/warning split reflected immediately.Adoption considerations surfaced by this release: reports read within 2 seconds per run, cached 10 minutes in the app's cache; a package that misses the window is deferred to a later report with a 20-second budget of its own. Combined with the 5,000-file cap per package and no following of symlinked folders inside packages, this produces eventually-complete, bounded inventories — the PM should treat early reports as partial for large monorepos and avoid publishing forecasts from the first run.
Consider it when:
app/ directory and private or forked Composer packages that packagist-based scanners cannot see — precisely the blind spot this release closes.Look elsewhere or defer when:
php_code.contents field is ignored until the dashboard knows it, so the feature is inert until then.For executives: This release closes the last blind spot in our PHP upgrade forecast. Until now the tooling could only reason about public open-source dependencies; the code we actually own and the private packages we maintain were invisible — which is where most upgrade risk and most engineering effort actually live. We now get a sized inventory of first-party and private-package PHP code, refreshed on a short cycle, without any source code leaving our servers. The latest version additionally tells us the exact build of PHP each host runs, including distribution patches, so we stop conflating "old version number" with "unpatched" — distro maintainers backport security fixes without renaming the version. Practically: it converts "the PHP upgrade will take a while" into a scoped, defensible estimate we can put in front of a steering committee, and it does so continuously so the estimate stays honest as the work proceeds. The upgrade from our current version is additive and needs no engineering project of its own.
For engineering: Integration is configuration, not code. The agent generates the per-package PHP inventory locally, caches it for 10 minutes, and fingerprints each file by path, size and date so unchanged code isn't re-processed. Reads are bounded at 2 seconds per report with a 20-second catch-up budget for packages that miss their slot, and each package is capped at 5,000 files, so the agent cannot become a latency source in your app. Optional source retrieval is off by default, requires the PHP zip extension, and is constrained to *.php files inside the package folder. v1.21.0 parses the distribution build suffix (-1ubuntu2.20) alongside the base version and ships it as a separate field — no configuration, no new dependency, and no change to the existing report contract beyond an added key. One coordination note: the dashboard must ship before the agent, or you'll be sending a field nothing consumes yet.
For security and compliance: The default is metadata-only — file paths, byte sizes, and a fingerprint derived from path, size and modification date. No file content leaves the host in this mode. Content transfer is a distinct, explicitly-flagged capability (STACKMONITOR_AGENT_FILE_CONTENTS), scoped to one package at a time, filtered to PHP files, contained within the package's own directory, and hard-capped at 5,000 files and 8 MB per archive. Both the metadata and content paths are auditable and reversible via configuration, which is why the recommendation is to adopt with content retrieval disabled and revisit only if a specific forecast gap requires it. On the new build-suffix reporting: this is version metadata the agent already reads from the local runtime, it adds no new egress, and it materially reduces false positives — distro-patched PHP is reported as a hint rather than a warning, so security triage is not paged for builds that already carry backported fixes.
How can I help you explore Laravel packages today?