Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Health Digest Laravel Package

felipearnold/laravel-health-digest

Scheduled health digests for Laravel apps: run your checks and get concise summaries by email or Slack, so failures and trends are easy to spot without digging through logs. Lightweight, configurable, and quick to wire into any Laravel project.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit

  • Observability/diagnostics package for Laravel applications running Livewire 4, hooking the request lifecycle to log slow component interactions. Non-invasive, append-only instrumentation — it observes, it does not sit in the request path in a way that changes application behavior.
  • Strongest fit is teams running Filament admin panels (pages, resources, relation managers), which is precisely the surface this release targets: class-based components named by FQCN, and wire:model interactions (search, filters, pagination) that carry no method call.
  • Delivers component-level attribution for "the admin panel is slow" reports, which is a real gap between generic APM traces and framework logs.

Integration feasibility

  • Standard Laravel package shape: Composer install, config publish, service provider registration. No migrations or schema changes implied — this is log-output based, so integration effort is low.
  • Requires Livewire 4 naming semantics; on older Livewire the FQCN path will not be exercised and the fix delivers no benefit.
  • Configuration surface implied: a name filter (allowlist) and a slowness threshold. Both are cheap to set but need an owner.

Technical risk

  • Pre-1.0 (v0.3.1). Semver permits breaking changes in 0.x minors; treat every minor as a review item rather than a routine bump.
  • Log volume growth: property enumeration multiplies line length and count on components with many wire:model bindings, and names now run up to 200 characters.
  • Data exposure is bounded but real — property names are emitted, not values. Names reveal schema and feature surface (e.g., tableSearch, statusFilter) and logs are typically shipped to third-party aggregators. Confirm log channel and retention before production.
  • Filter regressions cause silent blind spots, not errors. This release is itself a fix for that failure mode (class-based components logged as livewire unknown), which argues for a synthetic check rather than trusting the filter.
  • Unvalidated: whether 200 characters plus \ interacts with downstream log parsers, and whether truncation is silent.

Key questions

  • Which Livewire and Filament versions are explicitly supported and tested?
  • Is the slow threshold configurable, and is there sampling or rate limiting?
  • What happens to names exceeding 200 characters — truncation, drop, or pass-through?
  • Are log lines structured (context array) or interpolated strings? This determines parser safety and injectability.
  • Is the name filter pattern-matched safely, and does allowing \ widen it beyond component names?
  • Is there a documented upgrade policy, or should we pin exact versions?

Integration Approach

Stack fit

  • Laravel with Livewire 4 and a Filament admin panel is the ideal target — the two changes in this release exist specifically for that combination.
  • Lower value for API-first or Blade-only applications with little Livewire surface; the instrumentation would have nothing meaningful to observe.

Migration path

  • No prior assessment exists and no legacy install is implied, so this is a greenfield adoption: install and pin (0.3.1 exact, or ^0.3.0 with a committed lockfile).
  • If an earlier 0.x is already present in an environment, v0.3.1 is additive per the notes — no deprecations or removals declared. Verify the name filter config does not need re-tightening now that backslashes are accepted.

Compatibility

  • Primary compatibility axis is the Livewire major version and Filament's page class naming. Secondary axis is the log pipeline: any Grok/regex parsing of livewire <name>[<props>] must be checked against the longer names and bracketed property list before rollout.

Sequencing

  1. Confirm Livewire/Filament versions against the package's support matrix.
  2. Install in staging with an isolated log channel; do not share the application log.
  3. Enable the name filter for one Filament panel and one resource.
  4. Baseline slow-request counts for one week to size volume and cost.
  5. Tune threshold and sampling; validate parser compatibility against real lines.
  6. Promote to production with a dashboard and an alert on anomalous volume, including a check for livewire unknown reappearing.

Operational Impact

Maintenance

  • Small code footprint and low maintenance, but the 0.x version line means a recurring review cost on each release. Config (filter list, threshold) should live in version control with a named owner.

Support

  • Responsive changelog (a targeted fix plus a targeted feature in one patch), but no stated LTS or support commitment. Single-maintainer risk is plausible; identify a fallback before dependency — Laravel Telescope, a custom middleware timer, or direct Livewire lifecycle hooks.

Scaling

  • Cost scales with request volume × slow-request rate, plus a multiplier from property enumeration. At high traffic, route output to an async/queued channel and enable sampling rather than reducing the filter.

Failure modes

  • Log pipeline backpressure or disk exhaustion if writing to local files.
  • Unbounded property lists on components with many bindings, inflating individual lines.
  • Silent filter regression producing livewire unknown blind spots — the exact defect fixed here.
  • Injection or parser breakage if names/property names contain delimiters such as [, ], or newlines.
  • Version drift: an unannounced Livewire naming change re-breaks attribution with no error.

Ramp-up

  • Low. A Laravel developer can install and validate in under a day; the real effort is interpreting output and tuning the filter and threshold. Ship a one-page runbook covering where logs go, how to read livewire <FQCN>[<props>], and how to add a component to the filter.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle