- What is eyewitness/eye and what does it actually do?
- eyewitness/eye is a thin first-party SDK that connects a Laravel 5 application to the hosted Eyewitness.io monitoring service. It registers a service provider, config stub, and request/exception/query listeners that ship telemetry to a remote endpoint, which then presents errors in a clean, searchable dashboard. It sits in the same category as Laravel Telescope, Sentry, Inspector, or New Relic, but the package is only a client, so the real value lives in the remote service it talks to.
- Does eyewitness/eye support Laravel 6, 7, 8, 9, 10, 11, or 12?
- No. The package targets Laravel 5.x only, and its composer constraints plus the contracts it hooks, including exception handler report/render signatures, pre-5.5 provider registration, and container bindings, were all changed materially in later releases. Porting it to a modern Laravel version is a fork, not a config change. If you are on Laravel 6 or newer, use Telescope, Sentry, or Inspector instead.
- How do I install eyewitness/eye in a Laravel 5 app?
- Install it with composer require eyewitness/eye, publish the config file, and set your Eyewitness.io API key in the .env file. On Laravel 5.5 and later package auto-discovery registers the service provider, while on 5.0 through 5.4 you must add the provider manually in config/app.php. The install itself is mechanically trivial, but watch for a Guzzle major-version conflict, which is the most likely install blocker and can pin your framework and PHP versions.
- How do I test eyewitness/eye locally without sending data to production?
- The package ships no documented test mode or fake transport, so the practical approach is to point the config at a local stub endpoint or to bind a fake implementation behind your own TelemetryReporter interface. Confirm that outbound calls are no-ops in your test environment before running the suite. Also verify the client does not throw when the endpoint is unreachable, since that would break tests and real requests alike.
- Is the Eyewitness.io ingestion endpoint still running?
- That is unverified and is the first thing to establish before adopting the package. eyewitness/eye is a client with no server of its own, so feasibility is gated entirely on the Eyewitness.io service still being live, credentialed, and contractually usable. Ask the vendor to confirm the endpoint is operational and will remain so for the life of your contract.
- What data does eyewitness/eye send to the remote endpoint?
- It ships exception payloads, and depending on configuration may also include request data, SQL queries, headers, and user identifiers, all of which routinely contain PII, tokens, and query fragments. The package does not document this data flow, so a code read and a data-flow review are required before it touches production. Confirm what leaves the process, and whether a DPA, retention policy, and regional data residency guarantees exist.
- Does eyewitness/eye fail open or fail closed when the network is down?
- This must be verified in the source because the package does not document the behavior. Most SDKs in this category fail open and silently no-op on network errors, but if this one fails closed, a dead endpoint could throw inside your request lifecycle and take the app down. Test it against an unreachable host before trusting it in production.
- Is eyewitness/eye safe to run in production?
- Treat it as high technical risk: zero stars, zero dependents, no community validation, no external bug reports, and nobody else exercising the code path in production means you would be the only operator. It also makes outbound network calls from inside the request lifecycle and reads exception payloads that may contain sensitive data. Audit the code and review the data flow first, or fork it into your own namespace before deploying.
- What are the best alternatives to eyewitness/eye for Laravel monitoring?
- Laravel Telescope is the first-party, self-hosted option for local and small-scale debugging, though it is not designed as hosted APM. Sentry, Inspector, and New Relic are mature hosted services with active maintenance, documentation, and support for current Laravel versions. Any of these is a better long-term destination than an abandoned Laravel 5-only SDK.
- Can I fork eyewitness/eye and maintain it myself?
- Yes, and that is generally the recommended shape: fork it into an internal namespace such as internal/telemetry-eyewitness rather than depending on eyewitness/eye from Packagist, which removes abandoned-upstream risk and lets you patch PHP and Laravel compatibility yourself. Verify the license grants fork and self-maintenance rights first. Wrapping the client behind an internal TelemetryReporter interface makes a later swap to Telescope or Sentry a binding change rather than a refactor.